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