On 1/31/20 3:52 PM, Ken Moffat via blfs-support wrote:
On Fri, Jan 31, 2020 at 07:25:45AM -0500, Scott Andrews via blfs-support wrote:
I am not to the point where I am building gimp as of now, but these issues
are the exact reason that I use a package manager and build in a clean
chroot environment.  I can then control which the packages that get linked
togetether.
If you mean that for your clean chroot you build each package
individually, and remove its installed files when building a package
which does not knowingly use it, (so when you build gimp all of
python3, meson, ninja are not in the chroot) then yes.

That approach also means you must yourself identify dependencies
which are not mentioned in BLFS because they are present on a
completed LFS system.

I think that is the approach which fedora take, although they "throw
in the kitchen sink" in adding almost all possible dependencies.

ĸen


My definition of a clean chroot is building chapter 6 when chrooted into an chrooted overlayfs that only has the chapter 5 build packages in it. the mount poinut /mnt/lfs is not needed. When building a BLFS it is built in a chrooted overlayfs with the chapter 6 packages and the required dependecies as well as recommended packages..  This gives me an rpm package that is only linked to the chapter 6 files and the dependencies.  It cannot link to any other files/packages tat "just happen to be installed" which will give you unwanted linkages.

Here is an over view of the process:

I create an overlayfs in which it has the following filesystemin my home directory:

    HOST - contains raspbian buster lite,  doesn't matter what the host system actually is you just need one

    TOOLCHAIN - where chapter 5 packages will be installed to

    LFS - where chapter 6 packages will go

    WORK  - empty filesystem for overlayfs to store it stuff to

    CHROOT - mount point for overlayfs

then

    mount -t overlay overlay -o lowerdir=HOST,upperdir=TOOLCHAIN,workdir=WORK CHROOT

     mount Virtual Kernel File Systems to CHROOT

    chroot CHROOT env -i HOME=$$HOME TERM=$$TERM PATH=/bin:/usr/bin:/sbin:/usr/sbin PS1='(Overlay) \u:\w\$$ ' /bin/bash --noprofile --norc --login +h

copy in my build system and setup for the chapter 5 build using the CHROOT directory

build chapter5

exit chroot

umount overfs

then

    mount -t overlay overlay -o lowerdir=TOOLCHAIN,upperdir=LFS,workdir=WORK CHROOT

     mount Virtual Kernel File Systems to CHROOT

    chroot CHROOT env -i HOME=$$HOME TERM=$$TERM PATH=/bin:/usr/bin:/sbin:/usr/sbin PS1='(Overlay) \u:\w\$$ ' /bin/bash --noprofile --norc --login +h

setup for chapter 6 build

build chapter 6

to build BLFS

mkdir BLFS

    mount -t overlay overlay -o lowerdir=LFS,upperdir=BLFS,workdir=WORK CHROOT

     mount Virtual Kernel File Systems to CHROOT

    chroot CHROOT env -i HOME=$$HOME TERM=$$TERM PATH=/bin:/usr/bin:/sbin:/usr/sbin PS1='(Overlay) \u:\w\$$ ' /bin/bash --noprofile --norc --login +h

setup for package build

add dependencies

build package

exit

clean BLFS filesystem of all files except my build system and rpm packages

do the next package

Yes I have this automated


I will put the complete build overlay environment setup scripts on github after I am sure I have the "fleas" worked out.  That should be soon as chapter 6 step is completed.  Granted it will be for the Raspberry pi platform, strip that part out and tickle it for an ADM build and it will work for the intell/AMD platform.



--
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to