diff --git a/CLFS/master.sh b/CLFS/master.sh index 6417ff1..d25aa56 100644 --- a/CLFS/master.sh +++ b/CLFS/master.sh @@ -378,7 +378,7 @@ boot_Makefiles() { # *grub | *aboot | *colo | *silo | *arcload | *lilo | *introduction ) continue ;; *how-to-view*) continue ;; *whatnext*) continue ;; - *fstab) [[ ! -z ${FSTAB} ]] && + *fstab) [[ -z "${FSTAB}" ]] || [[ ${FSTAB} == $BUILDDIR/sources/fstab ]] || cp ${FSTAB} $BUILDDIR/sources/fstab ;; *kernel) # if there is no kernel config file do not build the kernel @@ -499,7 +499,7 @@ boot_Makefiles() { # *changingowner) wrt_RunAsRoot "${file}" ;; *devices) wrt_RunAsRoot "${file}" ;; *fstab) - if [[ -n "$FSTAB" ]]; then + if [[ -n "${FSTAB}" ]]; then LUSER_wrt_CopyFstab else LUSER_wrt_RunAsUser "${file}" @@ -734,10 +734,10 @@ bootscripts_Makefiles() { # this_script=`basename $file` case $this_script in - *udev) continue ;; # This is not a script but a commentary, we want udev-rules + *udev) continue ;; # This is not a script but a comment, we want udev-rules *console*) continue ;; # Use the files that came with the bootscripts # fstab is now here (for 3.x.y) - *fstab) [[ ! -z ${FSTAB} ]] && + *fstab) [[ -z "${FSTAB}" ]] || [[ ${FSTAB} == $BUILDDIR/sources/fstab ]] || cp ${FSTAB} $BUILDDIR/sources/fstab ;; *) ;; @@ -912,7 +912,7 @@ bootable_Makefiles() { # # A little housekeeping on the scripts case $this_script in *grub | *aboot | *colo | *silo | *arcload | *lilo | *reboot* ) continue ;; - *fstab) [[ ! -z ${FSTAB} ]] && + *fstab) [[ -z "${FSTAB}" ]] || [[ ${FSTAB} == $BUILDDIR/sources/fstab ]] || cp ${FSTAB} $BUILDDIR/sources/fstab ;; *kernel) # if there is no kernel config file do not build the kernel diff --git a/LFS/master.sh b/LFS/master.sh index f80cf57..69ddc28 100644 --- a/LFS/master.sh +++ b/LFS/master.sh @@ -312,7 +312,7 @@ chapter78_Makefiles() { # If no .config file is supplied, the kernel build is skipped case ${this_script} in *grub) continue ;; - *fstab) [[ ! -z ${FSTAB} ]] && + *fstab) [[ -z "${FSTAB}" ]] || [[ ${FSTAB} == $BUILDDIR/sources/fstab ]] || cp ${FSTAB} $BUILDDIR/sources/fstab ;; *kernel) [[ -z ${CONFIG} ]] && continue @@ -366,7 +366,7 @@ chapter78_Makefiles() { # Check if we have a real /etc/fstab file case "${this_script}" in - *fstab) if [[ -n $FSTAB ]]; then + *fstab) if [[ -n "$FSTAB" ]]; then CHROOT_wrt_CopyFstab else CHROOT_wrt_RunAsRoot "$file" diff --git a/README.PACKAGE_MANAGEMENT b/README.PACKAGE_MANAGEMENT index 02f8cad..e8187b6 100644 --- a/README.PACKAGE_MANAGEMENT +++ b/README.PACKAGE_MANAGEMENT @@ -5,14 +5,14 @@ BY : Pierre Labastie (work in progress) There are several hints discussing package management for LFS, but nothing under jhalfs. There used to be a patch for PACO that I cannot - find now. This is a modification, which allows to use a package manager - inside jhalfs. I hope it is flexible enough to support several package - managers. My implementation uses dpkg, from Debian, in a very crude way. - Debian has a sophisticated package management system, which I have not - tried to use here. For example, it should be usable with Pacman from - Arch Linux (http://www.archlinux.org), as far as I remember from my old - days with DIYL. I am sorry to say I have (almost) no experience with - rpm, so I cannot tell whether it would fit. + find now. This is a modification ("DESTDIR install" automation), which + allows to use a package manager inside jhalfs. I hope it is flexible enough + to support several package managers, at least among those who use DESTDIR + install. My initial implementation used dpkg, from Debian, in a very + crude way (Debian has a sophisticated package management system, which + I have not tried to use here). There is also a port to Pacman from + Arch Linux (http://www.archlinux.org). I am sorry to say I have (almost) + no experience with rpm, so I cannot tell whether it would fit. 2. OVERVIEW OF THE SYSTEM: @@ -56,4 +56,6 @@ BY : Pierre Labastie (work in progress) upgrade. The user has to write his own `packInstall' function. The shell function should be defined in a file named `packInstall.sh', residing in the `pkgmngt' directory. A template is provided, as well as two example - scripts for dpkg and pacman. + scripts for dpkg and pacman. Note that, due to the way pacman checks the + available space on disk, the root directory in chroot must be a mount point, + otherwise the installation of packages fails. diff --git a/pkgmngt/packageManager.xml.dpkg b/pkgmngt/packageManager.xml.dpkg index 85628ce..48f4a7a 100644 --- a/pkgmngt/packageManager.xml.dpkg +++ b/pkgmngt/packageManager.xml.dpkg @@ -9,10 +9,10 @@ - - + + - + @@ -111,7 +111,7 @@ --disable-nls --disable-dselect \ --disable-start-stop-daemon \ --disable-update-alternatives \ - --without-zlib --with-liblzma=static --without-selinux + --without-zlib --with-liblzma=static --without-libselinux The meaning of the configure options: @@ -157,10 +157,10 @@ - --without-selinux + --without-libselinux Disable building for selinux, which - is not used woth LFS/BLFS. + is not used with LFS/BLFS. @@ -275,7 +275,7 @@ touch /var/log/dpkg.log --disable-dselect \ --disable-start-stop-daemon \ --disable-update-alternatives \ - --without-selinux + --without-libselinux The meaning of the configure options: @@ -304,7 +304,7 @@ touch /var/log/dpkg.log - --without-selinux + --without-libselinux Selinux is not used in LFS. diff --git a/pkgmngt/packageManager.xml.pacman b/pkgmngt/packageManager.xml.pacman index b4aa660..4864cdc 100644 --- a/pkgmngt/packageManager.xml.pacman +++ b/pkgmngt/packageManager.xml.pacman @@ -22,7 +22,7 @@ Do not change anything, except the url and the md5 checksum. --> MD5 sum: e9aa6dec29920eba8ef706ea5823bad7 Download: MD5 sum: efad5a503f66329bb9d2f4308b5de98a - Download: + Download: MD5 sum: 063c8b0ff6bdf903dc235445525627cd @@ -43,6 +43,7 @@ instruction contains file="name.html" --> ./configure --prefix=/tools \ --without-bz2lib \ + --without-xml2 \ --enable-bsdtar=static \ --enable-bsdcpio=static make @@ -75,6 +76,7 @@ put line breaks before and after your instructions. without remap attribute are considered configuration instructions and executed last. You can also use remap="adjust" for the same purpose. --> ./configure --prefix=/tools \ + --without-openssl \ PKG_CONFIG_PATH=/tools/lib/pkgconfig \ DUPATH=/tools/bin/du