[ale] library package management on LFS with stow

Chris Fowler cfowler at outpostsentinel.com
Wed Sep 21 17:46:58 EDT 2016


I'm getting my a$$ kicked, but I'm stubborn. 

I'm building LFS 7.10 on 3 architectures. I went the package management route using GNU stow. In chapter 6 I'm at 99.9% stowed. The only real files are config file in /etc. Everything is in /usr/pkg/$(uname -m)/<pkg name>. 

As you can imagine this has been a real pain. :) 
Stow is strict and has no concept of pre and post operations. I've wrapped it. In BLFS I installed 122 perl modules all stowed. I've even booted this system so I know it works. 


I got bit today. My script to compress man pages did something wrong during 6.20 for ncurses and I did not notice till 6.60. I re-ran my compilation script which destows the package. BOOM! bash and awk failed due to missing ncurses library. Those packages were compiled later in chapter 6. 

I've fixed, but I need to fix my wrapper. How do I go about upgrading a library? Should I stow (create links) for the upgrade into a temp directory, use LD_LIBRARY_PATH then remove old and replace with new? Maybe static awk and static bash? I already have a busybox static binary that I can use, but many configure scripts will choke on the limited options for those applets. 

As I look at the scripts I've created to do all this I'm thinking I am re-creating RPM. The LFS manual does not go into detail on package management. 
Stow is very strict. On x86_64 /lib64 -> /lib will stow an attempt to stow in /lib64 because it is owned by /lib and there no way I can tell stow that system links lik that should be okay. I could modify stow. 

Chris 




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ale.org/pipermail/ale/attachments/20160921/40d12826/attachment.html>


More information about the Ale mailing list