[lfs-support] Scripting the LFS Book - Jason P Sage - FTP File Links

Firerat firer4t at googlemail.com
Fri Jan 6 04:35:54 PST 2012

On Fri, Jan 6, 2012 at 9:15 AM, <jasonpsage at jegas.com> wrote:

> >> I know there is ALFS and JALFS or whatever and I might refer and or use
> >> those but for me, I personally
> >> like the book layout, so I'm making scripts for each CHUNK along the
> >> way.
> >>
> >>
> >> --Jason P Sage
> >>
> >Have you read the Hint "More Control and Package Management using Package
> >Users (v1.2)"
> >(www.linuxfromscratch.org/hints/read.html).? Also look into the enclosed
> >script; somebody send it to me,
> >but I don't remember who. There was also a discussion about this topic
> >last year or the year before
> >on this support-site.
> Thank you for thinking of me. This is one of those areas I've been
> thinking about heaviliy inbewteen just trying to get a bootable system!
> Seriously - I appreciate you pointing that out.
> It's funny, I run a channel on http://www.justin.tv/jegasllc/ - and
> today a student popped in and asked what I was working on ( Linux From
> Scratch of Course) he got excited about it and wanted me to keep him
> updated ho I was making out and wants to beta test! Gosh I love moments
> like that. I give the kid credit too - just got a 99% on a Linux Exam
> for a Certification he's shooting for (Good JOB!)
> Anyways.. I've been asked in the mailing list about my scripts too...
> even offered help so I'm starting to cobble together some data on one of
> my servers so others can look at, comment on and otherwise yank some
> bandwidth.
> If this get's more traction of something, I'll put it on a dedicated
> server in the cloud like the one that runs http://www.jegas.com
> For now though, I'm just using servers and pc's that are an arm reach
> away as I'm still just on a learning/development kick with an long term
> goal to have my own distro that isn't from some pre-done blood line. I'm
> greatful you and T1 exist - but after examining both - I think being
> taught how to roll your own Linux in a way that can help one become self
> sufficient at it if they choose .. well.. I just find that attractive.
> I placed the script you sent me here:
> ftp://jegas.net/os/lfs/misc/pkgmgt/package_build.txt
> (I'll take it offline if you prefer) I intend to go back and read it
> more later. I already gave it a once over. I also read the portion in
> the LFS 7.0 book about package management and the pro's and con's of the
> differing systems)
> I also published all the files I'm using from the wget list on my
> server. I had to make a couple changes to the original wget list
> provided when servers were down for maintenance or whatever. Finally I
> just grabbed them all and put them on my server. I also have two
> similiar named scripts in my collection - one that uses the traditional
> download sources for all the files, and the other one just grabs from my
> ftp://jegas.net server.
> And here - are my scripts so far - NOTE you'll find the LFS book, ALFS
> and BLFS in there - and the Jegas
> folder is where the README text file is and the scripts etc.
> I hope someone finds this useful/entertaining in some way.(13meg)
>                    ftp://jegas.net/os/lfs/misc/lfs7.jegas.0.1.tar.gz
> --Jason P Sage
Hi Jason,
I will have a proper look at that script at some point,
I must get round to working on my own scripts again soon, it has been too

I currently have two ( WIP )
overkill, but I have thrown them up on github

both are kinda Alpha, however the LFS is probably quite stable

basically grab the svn book and make it, along with make dump-commands
are setup correctly in the scripts ( good idea to look a timezone and paper
size too )

simply run the script

it will output $LFS/chapter05.sh $LFS/chapter06.sh, along with chroot
scripts and chapter05-asroot.sh  in ~/

now execute $LFS/chapter05.sh
providing you have d/l all the files in the wget list to $LFS/sources , it
will start building
once that has finished, as root execute ~/chapter05-asroot.sh , which does
all the chown, kernlfs and chroot
once you have entered the chroot execute /chapter06.sh
This is where the 'magic' happens, I wanted to use
so my script sets that up
basically chapter06.sh is run as root ( in the chroot )
it writes the package's install script to
it then adds the pkguser, su into it

I tweaked the pkguser's bash_profile, it tests for the script
 /etc/pkgusr/scripts/<packagename>.sh and executes it

on success it touches ~/.<packagename> ( the bash_profile skips the install
script if that file exists ) the pkguser exits and the main script resumes
if for what ever reason the package failed to install, the main script
picks up on this and exits...
ready for you to fix it ;D ( either mv the install script out of the way or
touch the ~<packagename>/.<packagename>
when you run the Main script again it will skip everything that has already
been installed.

The AutoBLFS is a little more complicated , but I feel the script is
technically better
LFS is pretty straight forward in that it is linear whereas blfs is full of
dependencies and isn't , for the lack of a better phrase 'ordered'
However I think I have managed to pull it off, the generated script will
check and install any missing dependencies ( and dependencies of the
dependencies ) prior to the target package, it should even manage to deal
with PerlModules ( I think I fixed that )
In BLFS files are downloaded as required ( which may lead to issues with
broken links )
NOTE, it is an early version, and has not had a great deal of testing
atm it doesn't consider recommended packages, for that I will have to sit
down and work through some kind of config for the packageX OR packageY and
I also wanted to start grouping things with pkguser groups ( x , kde ,
networking , gnome etc. )

sorry I don't think I have explain all that too well, I hadn't planned on
'releasing' it just yet so I haven't documented it
But ( if you can follow my messy wip bash scripting style ) , you may find
some useful 'tricks' for your own scripts

Oh, in the AutoLFS WriteScript () {}  is where I do tweaks to make the
'scripting' work, I build 64bit, so atm gmp is 'hardcoded' to strip out the
32bit config, check the case gmp)

and, as I said the AutoBLFS hasn't had a great deal of testing I'm sure it
will fail in many areas , either typos in the book, general script
unfriendly commands, things that just need tweaking
for more_control_and_pkg_man, or that my script is just pooched

hmm, just remembered the blfs-bootscripts also needs to be dealt with and
it could do with some ' clean up ' routine for when space is tight.

atm, it is a little hacky leaving .files all over the place as flags, I'll
probably add a proper logfile to keep it tidy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfromscratch.org/pipermail/lfs-support/attachments/20120106/88ceb4bb/attachment.html>

More information about the lfs-support mailing list