Tuesday, June 3, 2008

Building BLFS packages with jhalfs

I keep getting one step closer to using jhalfs to automate installation of some BLFS packages. I have determined from SupportedBooks that jhalfs-2.2.tar.bz2 can help automate builds from the stable Beyond Linux From Scratch book BLFS 6.2.0.

As a regular user, unpack the tarball and then change into the directory:
tar -xjf jhalfs-2.2.tar.bz2
cd jhalfs-2.2

Next, launch make and select the book version:
make

Once the book version is setup, you select EXIT, and it will do some work, and then it will launch a screen where you can select a package to build. At this time, I will again select EXIT. But it will have created a directory blfs_root in the user's home directory.
One can later change directory to $HOME/blfs_root and launch make:
cd ~
make

Based on the README files, I suspect there could be some tweaking required. The screens shown are in curses so they can also run even before there is any gui desktop.

Only one software package or meta-package is allowed to be built at one time.

By default, it is intended for this to be done as a regular user. As it stands with jhalfs, sudo must be installed first and must allow the regular user to gain superuser priviledges. Accordingly, I installed sudo manually from the BLFS book. The first package I wanted to install was cdrecord which is found under multimedia. It seemed to build fine, but then it stopped with an error. I suspected the failure had something to do with sudo. Anyway, I went ahead and installed cdrecord manually from the BLFS book. Thus far, I have not seen any great advantage in using jhalfs to build BLFS packages.

I discovered that you have to watch for the password prompt from sudo and type the password. If you aren't watching, the progress bar will overwrite the password prompt and the sudo login will fail and eventually time out, causing make to error. For this reason, I am going to try it as root so as not to be required to enter a password at an unimaginable time.

Well, I did try it as root and successfully installed cpio using jhalfs. So there you go; taking it from the top as root instead of as a regular user and it works.

Or, for sudo-lubbers, here is a trick that can work if you don't want to carefully watch the screen for the password prompt:
On another screen, watch the log for the completion which may be recognised as a message like "make[1]: Leaving directory" followed by no further activity. At that point, go over to the screen where make is running and type the password for sudo. You will probably wind up typing the password promt another time because they put another sudo command "sudo ldconfig" at the end. This last "sudo ldconfig" will very likely fail because /sbin is not usually in the regular user's path.
To watch the log, change directory into the same directory where you typed make on the first screen and type
tail -f logs/*
When finished watching the log, CTRL-C breaks out of tail -f.
I have never have had very much affection for sudo.
I just noticed somewhere that there is a possiblility to get this option:
Build as User (you want build as a normal user using sudo)
otherwise sudo is not needed (you want build as root)

Perhaps in the future, jhalfs could be developed into a tool that could perform like the software installers in many distributions. Plowing through the workings of jhalfs itself can provide some insight and education.
Sometime, I plan to take these experiments further.

Screenshots by scrot-0.8 from linuxbrit

1 Comments:

Blogger sacarde said...

BLFS-jhalfs

I use lfs-livecd ...

- mount lfs-partition (created yesterday from jhalfs-lfs) to /build_dir

- download jhalfs from svn to /jhalfs

- configure jhalfs for BLFS-svn ( http://sacarde.interfree.it/blfs-1.jpg )

- select only Xorg ( http://sacarde.interfree.it/configuration-blfs.txt )

- start procedure, but it stop here:
http://sacarde.interfree.it/errore2-blfs.jpg


have you to suggest me a procedure to work BLFS ?


thanks

August 29, 2010 at 6:07 AM  

Post a Comment

Subscribe to Post Comments [Atom]

Click blog title for the latest post