diff --git a/common/libs/func_install_blfs b/common/libs/func_install_blfs index 5f30d32..5f094d9 100644 --- a/common/libs/func_install_blfs +++ b/common/libs/func_install_blfs @@ -147,9 +147,13 @@ rm -v $BUILDDIR$BLFS_ROOT/download_script # Suppresses unneeded parts of the scriptlets if [ "$DEP_LIBXSLT" = y ]; then - # libxslt pulls docbook-xsl in. Sorry for sed synthax. - # I do not know how to delete lines between 2 addresses excluding those - # two lines. + # libxslt pulls docbook-xsl in, which populates the catalog with annoying + # **EDITME** references. Fortunately, those lines are regognizable because + # they occur between lines containing '/etc/xml/catalog' at the end of the + # line (without '&&'). I have not found a simple way to delete lines + # between 2 addresses, excluding either the first or the last one. So use + # a loop for accumulating lines and deleting at the end. + # Sorry for sed synthax. sed -i '\@^[[:space:]]*/etc/xml/catalog$@{ n :a @@ -161,7 +165,7 @@ d}' \ $BUILDDIR$BLFS_ROOT/scripts/*docbook-xsl fi if [ "$DEP_SUDO" = y ]; then - sed -i '/pam.d/i mkdir -p /etc/pam.d' $BUILDDIR$BLFS_ROOT/scripts/*sudo + sed -i '/cat.*pam.d/i mkdir -p /etc/pam.d' $BUILDDIR$BLFS_ROOT/scripts/*sudo fi if [ "$DEP_SVN" = y ]; then sed -i -e /javahl/d -e /swig/d $BUILDDIR$BLFS_ROOT/scripts/*subversion @@ -177,6 +181,9 @@ fi mkdir -p $BUILDDIR$BLFS_ROOT/work pushd $BUILDDIR$BLFS_ROOT/work ../gen-makefile.sh +# The generated Makefile updates the tracking file after each package +# installation, using libxslt, which is not installed yet. So move +# updating to the end of the process, adding an 'update' target sed -i -e '/xsltproc/,+6d' \ -e '/^all/s@$@ update@' \ -e 's/touch/@touch/' Makefile