Author: pierre Date: Sun Jun 19 07:41:18 2016 New Revision: 3865 Log: Merge trunk up to revision 3864
Modified: jhalfs/branches/new_features/BLFS/Makefile jhalfs/branches/new_features/BLFS/gen-makefile.sh jhalfs/branches/new_features/BLFS/gen-special.sh jhalfs/branches/new_features/Config.in jhalfs/branches/new_features/common/libs/func_book_parser jhalfs/branches/new_features/common/libs/func_check_version.sh jhalfs/branches/new_features/common/libs/func_download_pkgs jhalfs/branches/new_features/common/libs/func_validate_configs.sh jhalfs/branches/new_features/common/packages.xsl jhalfs/branches/new_features/common/urls.xsl jhalfs/branches/new_features/jhalfs Modified: jhalfs/branches/new_features/BLFS/Makefile ============================================================================== --- jhalfs/branches/new_features/BLFS/Makefile Mon Jun 13 09:51:45 2016 (r3864) +++ jhalfs/branches/new_features/BLFS/Makefile Sun Jun 19 07:41:18 2016 (r3865) @@ -5,6 +5,16 @@ # $Id$ +ifeq ($(REV),) + REV = sysv +endif + +ifneq ($(REV),sysv) + ifneq ($(REV),systemd) + $(error The REV variable is $(REV), but can only be 'sysv' or 'systemd') + endif +endif + ifdef V Q = else @@ -97,10 +107,16 @@ $(Q)$(TOPDIR)/gen-special.sh $(BLFS_FULL) $@ $(BLFS_FULL): $(BLFS_XML) $(BLFS_XML)/general.ent $(ALLXML) $(ALLXSL) - @echo "Validating the book..." $(Q)[ -d $(RENDERTMP) ] || mkdir -p $(RENDERTMP) - $(Q)xmllint --nonet --noent --xinclude --postvalid \ - -o $@ $(BLFS_XML)/index.xml + @echo "Adjusting for revision $(REV)..." + $(Q)xsltproc --nonet --xinclude \ + --stringparam profile.revision $(REV) \ + --output $(RENDERTMP)/blfs-prof.xml \ + $(BLFS_XML)/stylesheets/lfs-xsl/profile.xsl \ + $(BLFS_XML)/index.xml + @echo "Validating the book..." + $(Q)xmllint --nonet --noent --postvalid \ + -o $@ $(RENDERTMP)/blfs-prof.xml all: update $(BOOK_XML) Modified: jhalfs/branches/new_features/BLFS/gen-makefile.sh ============================================================================== --- jhalfs/branches/new_features/BLFS/gen-makefile.sh Mon Jun 13 09:51:45 2016 (r3864) +++ jhalfs/branches/new_features/BLFS/gen-makefile.sh Sun Jun 19 07:41:18 2016 (r3865) @@ -156,11 +156,19 @@ } if [[ ! -d ${BUILD_SCRIPTS} ]] ; then - echo -e "\n\tThe \'${BUILD_SCRIPTS}\' directory has not been found.\n" + echo -e "\n\tThe '${BUILD_SCRIPTS}' directory has not been found.\n" + exit 1 +fi + +# Let us make a clean base, but first ensure that we are +# not emptying a useful directory. +MYDIR=$(pwd) +MYDIR=$(basename $MYDIR) +if [ "${MYDIR#work}" = "${MYDIR}" ] ; then + echo -e \\n\\tDirectory ${BOLD}$MYDIR${OFF} does not begin with \"work\"\\n exit 1 fi -# Let us make a clean base: rm -rf * generate_Makefile Modified: jhalfs/branches/new_features/BLFS/gen-special.sh ============================================================================== --- jhalfs/branches/new_features/BLFS/gen-special.sh Mon Jun 13 09:51:45 2016 (r3864) +++ jhalfs/branches/new_features/BLFS/gen-special.sh Sun Jun 19 07:41:18 2016 (r3865) @@ -34,7 +34,7 @@ if test -z "${BLFS_DIR}"; then BLFS_DIR=$(cd $(dirname ${BLFS_XML})/.. ; pwd);fi # Packages whose version does not begin with a number -EXCEPTIONS=$(grep 'ENTITY.*version[ ]*"[^0-9"&.].*[0-9]' $BLFS_XML | +EXCEPTIONS=$(grep 'ENTITY.*version[ ]*"[^0-9"&.].*[0-9]' ${BLFS_DIR}/packages.ent | sed 's@^[^"]*"\([^"]*\)".*@\1@') # Non-versioned packages: Modified: jhalfs/branches/new_features/Config.in ============================================================================== --- jhalfs/branches/new_features/Config.in Mon Jun 13 09:51:45 2016 (r3864) +++ jhalfs/branches/new_features/Config.in Sun Jun 19 07:41:18 2016 (r3865) @@ -8,7 +8,10 @@ #-- Select the BOOK/Build style you wish to configure. config BOOK_LFS - bool "Linux From Scratch" + bool "Linux From Scratch System V" + + config BOOK_LFS_SYSD + bool "Linux From Scratch systemd" config BOOK_CLFS bool "Cross-Compiled Linux From Scratch" @@ -23,9 +26,14 @@ # bool "Hardened Linux From Scratch" endchoice + config INITSYS + string + default "sysv" if BOOK_LFS + default "systemd" if BOOK_LFS_SYSD + config PROGNAME string - default "lfs" if BOOK_LFS + default "lfs" if BOOK_LFS || BOOK_LFS_SYSD default "clfs" if BOOK_CLFS default "clfs2" if BOOK_CLFS2 default "clfs3" if BOOK_CLFS3 @@ -39,11 +47,11 @@ #--- Book version choice prompt "Release" - default relSVN if BOOK_LFS || BOOK_HLFS + default relSVN if BOOK_LFS || BOOK_HLFS || BOOK_LFS_SYSD default relGIT if BOOK_CLFS || BOOK_CLFS2 || BOOK_CLFS3 config relSVN bool "SVN" - depends on BOOK_LFS || BOOK_HLFS + depends on BOOK_LFS || BOOK_HLFS || BOOK_LFS_SYSD help #-- Current development version as in trunk @@ -624,7 +632,7 @@ config DEF_USER string - default "lfs" if BOOK_LFS + default "lfs" if BOOK_LFS || BOOK_LFS_SYSD default "clfs" if BOOK_CLFS || BOOK_CLFS2 || BOOK_CLFS3 default "hlfs" if BOOK_HLFS @@ -826,7 +834,7 @@ #--- Package Management config PKGMNGT bool "Package management" - depends BOOK_LFS + depends BOOK_LFS || BOOK_LFS_SYSD default n help #-- Use package management Modified: jhalfs/branches/new_features/common/libs/func_book_parser ============================================================================== --- jhalfs/branches/new_features/common/libs/func_book_parser Mon Jun 13 09:51:45 2016 (r3864) +++ jhalfs/branches/new_features/common/libs/func_book_parser Sun Jun 19 07:41:18 2016 (r3865) @@ -8,7 +8,7 @@ cd $JHALFSDIR if [ -z $WORKING_COPY ] ; then - # Check for Subversion instead of just letting the script hit 'svn' and fail. +# Check for Subversion instead of just letting the script hit 'svn' and fail. test `type -p svn` || eval "echo \"This feature requires Subversion.\" exit 1" echo -n "Downloading the $PROGNAME document, $LFSVRS version... " @@ -23,9 +23,11 @@ # Grab a fresh book if it's missing, otherwise, update it from the # repo. If we've already extracted the commands, move on to getting the # sources. - if [ $PROGNAME == "lfs" ] || [ $PROGNAME == "hlfs" ] && [ ! -d ${PROGNAME}-${LFSVRS}/.svn ]; then + if [ $PROGNAME == "lfs" ] || [ $PROGNAME == "hlfs" ] && + [ ! -d ${PROGNAME}-${LFSVRS}/.svn ]; then svn co $SVN/${svn_root}/${TREE} ${PROGNAME}-$LFSVRS >>$LOGDIR/$LOG 2>&1 - elif [ $PROGNAME == "clfs" ] || [ $PROGNAME == "clfs2" ] || [ $PROGNAME == "clfs3" ] && [ ! -d ${PROGNAME}-${LFSVRS}/.git ]; then + elif [ $PROGNAME == "clfs" ] || [ $PROGNAME == "clfs2" ] || + [ $PROGNAME == "clfs3" ] && [ ! -d ${PROGNAME}-${LFSVRS}/.git ]; then echo $TREE git clone $GIT ${PROGNAME}-$LFSVRS >>$LOGDIR/$LOG 2>&1 if [ ! $TREE == "development" ]; then @@ -60,6 +62,13 @@ case $PROGNAME in clfs*) VERSION=$(xmllint --noent $BOOK/BOOK/prologue/$ARCH/bookinfo.xml 2>/dev/null | grep subtitle | sed -e 's/^.*ion //' -e 's/<\/.*//') ;; + lfs) + if [ "$INITSYS" = "sysv" ] ; then + VERSION=$(grep 'ENTITY version ' $BOOK/general.ent| cut -d\" -f2) + else + VERSION=$(grep 'ENTITY versiond' $BOOK/general.ent| cut -d\" -f2) + fi + ;; *) VERSION=$(xmllint --noent $BOOK/prologue/bookinfo.xml 2>/dev/null | grep subtitle | sed -e 's/^.*ion //' -e 's/<\/.*//') ;; esac @@ -72,57 +81,66 @@ case ${PROGNAME} in clfs) echo -n " ${L_arrow}${BOLD}$ARCH${R_arrow} target architecture... " - xsltproc --nonet \ - --xinclude \ - --stringparam method $METHOD \ - --stringparam testsuite $TEST \ + xsltproc --nonet \ + --xinclude \ + --stringparam method $METHOD \ + --stringparam testsuite $TEST \ --stringparam bomb-testsuite $BOMB_TEST \ - --stringparam vim-lang $VIMLANG \ - --stringparam timezone $TIMEZONE \ - --stringparam page $PAGE \ - --stringparam lang $LANG \ - --stringparam sparc $SPARC64_PROC \ - --stringparam x86 $TARGET \ - --stringparam mips $TARGET \ - -o ./${PROGNAME}-commands/ $XSL $BOOK/BOOK/$ARCH-index.xml >>$LOGDIR/$LOG 2>&1 + --stringparam vim-lang $VIMLANG \ + --stringparam timezone $TIMEZONE \ + --stringparam page $PAGE \ + --stringparam lang $LANG \ + --stringparam sparc $SPARC64_PROC \ + --stringparam x86 $TARGET \ + --stringparam mips $TARGET \ + -o ./${PROGNAME}-commands/ \ + $XSL \ + $BOOK/BOOK/$ARCH-index.xml >>$LOGDIR/$LOG 2>&1 ;; clfs2) echo -n " ${L_arrow}${BOLD}$ARCH${R_arrow} target architecture... " - xsltproc --nonet \ - --xinclude \ - --stringparam vim-lang $VIMLANG \ + xsltproc --nonet \ + --xinclude \ + --stringparam vim-lang $VIMLANG \ --stringparam timezone $TIMEZONE \ - --stringparam page $PAGE \ - --stringparam lang $LANG \ - -o ./${PROGNAME}-commands/ $XSL $BOOK/BOOK/$ARCH-index.xml >>$LOGDIR/$LOG 2>&1 + --stringparam page $PAGE \ + --stringparam lang $LANG \ + --output ./${PROGNAME}-commands/ \ + $XSL \ + $BOOK/BOOK/$ARCH-index.xml >>$LOGDIR/$LOG 2>&1 ;; clfs3) echo -n " ${L_arrow}${BOLD}$ARCH${R_arrow} target architecture... " - xsltproc --nonet \ - --xinclude \ - --stringparam endian x$ENDIAN \ + xsltproc --nonet \ + --xinclude \ + --stringparam endian x$ENDIAN \ --stringparam timezone $TIMEZONE \ - --stringparam page $PAGE \ - --stringparam lang $LANG \ - -o ./${PROGNAME}-commands/ $XSL $BOOK/BOOK/$ARCH-index.xml >>$LOGDIR/$LOG 2>&1 + --stringparam page $PAGE \ + --stringparam lang $LANG \ + --output ./${PROGNAME}-commands/ \ + $XSL \ + $BOOK/BOOK/$ARCH-index.xml >>$LOGDIR/$LOG 2>&1 ;; hlfs) echo -n " ${L_arrow}${BOLD}$MODEL + $KERNEL${R_arrow} HLFS flavour... " - xsltproc --nonet \ - --xinclude \ - --stringparam model $MODEL \ - --stringparam kernel $KERNEL \ - --stringparam testsuite $TEST \ - --stringparam bomb-testsuite $BOMB_TEST \ - --stringparam features x$SSP$ASLR$PAX$HARDENED_TMP$WARNINGS$MISC$BLOWFISH \ - --stringparam timezone $TIMEZONE \ - --stringparam page $PAGE \ - --stringparam lang $LANG \ - --stringparam grsecurity_host $GRSECURITY_HOST \ - -o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1 + xsltproc --nonet \ + --xinclude \ + --stringparam model $MODEL \ + --stringparam kernel $KERNEL \ + --stringparam testsuite $TEST \ + --stringparam bomb-testsuite $BOMB_TEST \ + --stringparam features \ + x$SSP$ASLR$PAX$HARDENED_TMP$WARNINGS$MISC$BLOWFISH \ + --stringparam timezone $TIMEZONE \ + --stringparam page $PAGE \ + --stringparam lang $LANG \ + --stringparam grsecurity_host $GRSECURITY_HOST \ + --output ./${PROGNAME}-commands/ \ + $XSL \ + $BOOK/index.xml >>$LOGDIR/$LOG 2>&1 ;; lfs) echo -n " ${L_arrow}${BOLD}LFS${R_arrow} build... " @@ -131,8 +149,15 @@ bash process-scripts.sh >> $LOGDIR/$LOG 2>&1 fi popd > /dev/null + + xsltproc --nonet \ + --xinclude \ + --output /tmp/lfs-full.xml \ + --stringparam profile.revision $INITSYS \ + $BOOK/stylesheets/lfs-xsl/profile.xsl \ + $BOOK/index.xml + xsltproc --nonet \ - --xinclude \ --stringparam testsuite $TEST \ --stringparam bomb-testsuite $BOMB_TEST \ --stringparam vim-lang $VIMLANG \ @@ -150,7 +175,11 @@ --stringparam domain $DOMAIN \ --stringparam nameserver1 $DNS1 \ --stringparam nameserver2 $DNS2 \ - -o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1 + --output ./${PROGNAME}-commands/ \ + $XSL \ + /tmp/lfs-full.xml >>$LOGDIR/$LOG 2>&1 + + rm /tmp/lfs-full.xml ;; *) echo -n " ${L_arrow}${PROGNAME}${R_arrow} book invalid, terminate build... " exit 1 ;; @@ -181,20 +210,25 @@ echo -n "... " case ${PROGNAME} in clfs*) - xsltproc --nonet --xinclude -o pkg_tarball_list packages.xsl \ + xsltproc --nonet --xinclude \ + -o pkg_tarball_list \ + packages.xsl \ $BOOK/BOOK/materials/${ARCH}-chapter.xml >>$LOGDIR/$LOG 2>&1 ;; hlfs) - xsltproc --nonet --xinclude \ - --stringparam model $MODEL \ + xsltproc --nonet --xinclude \ + --stringparam model $MODEL \ --stringparam kernel $KERNEL \ - -o pkg_tarball_list packages.xsl \ + --output pkg_tarball_list \ + packages.xsl \ $BOOK/chapter04/chapter04.xml >>$LOGDIR/$LOG 2>&1 ;; lfs) - xsltproc --nonet --xinclude \ - --stringparam pkgmngt $PKGMNGT \ - -o pkg_tarball_list packages.xsl \ + xsltproc --nonet --xinclude \ + --stringparam pkgmngt $PKGMNGT \ + --stringparam revision $INITSYS \ + --output pkg_tarball_list \ + packages.xsl \ $BOOK/chapter03/chapter03.xml >>$LOGDIR/$LOG 2>&1 ;; *) Modified: jhalfs/branches/new_features/common/libs/func_check_version.sh ============================================================================== --- jhalfs/branches/new_features/common/libs/func_check_version.sh Mon Jun 13 09:51:45 2016 (r3864) +++ jhalfs/branches/new_features/common/libs/func_check_version.sh Sun Jun 19 07:41:18 2016 (r3865) @@ -88,12 +88,9 @@ check_prerequisites() { # #----------------------------# - case $PROGNAME in - clfs | clfs2 | clfs3) HOSTREQS="BOOK/prologue/common/hostreqs.xml" ;; - *) HOSTREQS="prologue/hostreqs.xml" ;; - esac + HOSTREQS=$(find $BOOK -name hostreqs.xml) - eval $(xsltproc $COMMON_DIR/hostreqs.xsl $BOOK/$HOSTREQS) + eval $(xsltproc $COMMON_DIR/hostreqs.xsl $HOSTREQS) # Avoid translation of version strings local LC_ALL=C export LC_ALL Modified: jhalfs/branches/new_features/common/libs/func_download_pkgs ============================================================================== --- jhalfs/branches/new_features/common/libs/func_download_pkgs Mon Jun 13 09:51:45 2016 (r3864) +++ jhalfs/branches/new_features/common/libs/func_download_pkgs Sun Jun 19 07:41:18 2016 (r3865) @@ -150,31 +150,35 @@ case ${PROGNAME} in clfs*) echo -n "Creating CLFS <${ARCH}> specific URLs file" - xsltproc --nonet --xinclude \ - --stringparam server $SERVER \ - --stringparam family clfs \ - -o $BUILDDIR/sources/urls.lst urls.xsl \ + xsltproc --nonet --xinclude \ + --stringparam server $SERVER \ + --stringparam family clfs \ + -o $BUILDDIR/sources/urls.lst \ + urls.xsl \ $BOOK/BOOK/materials/$ARCH-chapter.xml >>$LOGDIR/$LOG 2>&1 echo " ...OK" ;; hlfs) echo -n "Creating HLFS <${MODEL}> + <${KERNEL}> specific URLs file" - xsltproc --nonet --xinclude \ - --stringparam server $SERVER \ - --stringparam family lfs \ - --stringparam model $MODEL \ - --stringparam kernel $KERNEL \ - -o $BUILDDIR/sources/urls.lst urls.xsl \ + xsltproc --nonet --xinclude \ + --stringparam server $SERVER \ + --stringparam family lfs \ + --stringparam model $MODEL \ + --stringparam kernel $KERNEL \ + -o $BUILDDIR/sources/urls.lst \ + urls.xsl \ $BOOK/chapter04/chapter04.xml >>$LOGDIR/$LOG 2>&1 echo " ...OK" ;; lfs) echo -n "Creating LFS specific URLs file" - xsltproc --nonet --xinclude \ - --stringparam server $SERVER \ - --stringparam family lfs \ - --stringparam pkgmngt $PKGMNGT \ - -o ../sources/urls.lst urls.xsl \ + xsltproc --nonet --xinclude \ + --stringparam server $SERVER \ + --stringparam family lfs \ + --stringparam pkgmngt $PKGMNGT \ + --stringparam revision $INITSYS \ + --output ../sources/urls.lst \ + urls.xsl \ $BOOK/chapter03/chapter03.xml >>$LOGDIR/$LOG 2>&1 echo " ...OK" ;; Modified: jhalfs/branches/new_features/common/libs/func_validate_configs.sh ============================================================================== --- jhalfs/branches/new_features/common/libs/func_validate_configs.sh Mon Jun 13 09:51:45 2016 (r3864) +++ jhalfs/branches/new_features/common/libs/func_validate_configs.sh Sun Jun 19 07:41:18 2016 (r3865) @@ -31,7 +31,7 @@ local -r ADVANCED_common="REPORT REBUILD_MAKEFILE" # BOOK Settings by book - local -r LFS_book="$BOOK_common BLFS_TOOL" + local -r LFS_book="$BOOK_common INITSYS BLFS_TOOL" #local -r HLFS_added="SET_SSP SET_ASLR SET_PAX SET_HARDENED_TMP SET_WARNINGS \ # SET_MISC SET_BLOWFISH" local -r HLFS_added="" Modified: jhalfs/branches/new_features/common/packages.xsl ============================================================================== --- jhalfs/branches/new_features/common/packages.xsl Mon Jun 13 09:51:45 2016 (r3864) +++ jhalfs/branches/new_features/common/packages.xsl Sun Jun 19 07:41:18 2016 (r3865) @@ -8,13 +8,16 @@ <xsl:output method="text"/> <!-- The libc model used for HLFS --> - <xsl:param name="model" select="glibc"/> + <xsl:param name="model" select="'glibc'"/> <!-- The kernel series used for HLFS --> - <xsl:param name="kernel" select="2.6"/> + <xsl:param name="kernel" select="'2.6'"/> - <!-- Should we include a package manager --> - <xsl:param name="pkgmngt" select="n"/> + <!-- Should we include a package manager? --> + <xsl:param name="pkgmngt" select="'n'"/> + + <!-- The system for LFS: sysv of systemd --> + <xsl:param name="revision" select="'sysv'"/> <xsl:template match="/"> <xsl:apply-templates select="//para"/> @@ -28,6 +31,8 @@ <xsl:if test="contains(string(),'Download:') and (ancestor::varlistentry[@condition=$model] or not(ancestor::varlistentry[@condition])) and + (ancestor::varlistentry[@revision=$revision] + or not(ancestor::varlistentry[@revision])) and (ancestor::varlistentry[@vendor=$kernel] or not(ancestor::varlistentry[@vendor]))"> <xsl:call-template name="package_name"> Modified: jhalfs/branches/new_features/common/urls.xsl ============================================================================== --- jhalfs/branches/new_features/common/urls.xsl Mon Jun 13 09:51:45 2016 (r3864) +++ jhalfs/branches/new_features/common/urls.xsl Sun Jun 19 07:41:18 2016 (r3865) @@ -14,16 +14,20 @@ <xsl:param name="family">lfs</xsl:param> <!-- The libc model used for HLFS --> - <xsl:param name="model" select="glibc"/> + <xsl:param name="model" select="'glibc'"/> <!-- The kernel series used for HLFS --> - <xsl:param name="kernel" select="2.6"/> + <xsl:param name="kernel" select="'2.6'"/> <!-- Do we use a package manager? --> - <xsl:param name="pkgmngt" select="n"/> + <xsl:param name="pkgmngt" select="'n'"/> + + <!-- The system for LFS: sysv of systemd --> + <xsl:param name="revision" select="'sysv'"/> <xsl:template match="/"> - <xsl:apply-templates select="//ulink"/> + <xsl:apply-templates select="//varlistentry[@revision=$revision + or not(@revision)]//ulink"/> <xsl:if test="$pkgmngt='y'"> <xsl:apply-templates select="document('packageManager.xml')//ulink"/> Modified: jhalfs/branches/new_features/jhalfs ============================================================================== --- jhalfs/branches/new_features/jhalfs Mon Jun 13 09:51:45 2016 (r3864) +++ jhalfs/branches/new_features/jhalfs Sun Jun 19 07:41:18 2016 (r3865) @@ -441,8 +441,15 @@ case $PROGNAME in clfs* ) VERSION=$(xmllint --noent $JHALFSDIR/$BOOK/prologue/$ARCH/bookinfo.xml 2>/dev/null | grep subtitle | sed -e 's/^.*ion //' -e 's/<\/.*//') ;; + lfs) + if [[ "$INITSYS" = "sysv" ]] ; then + VERSION=$(grep 'ENTITY version ' $JHALFSDIR/$BOOK/general.ent| cut -d\" -f2) + else + VERSION=$(grep 'ENTITY versiond' $JHALFSDIR/$BOOK/general.ent| cut -d\" -f2) + fi + ;; *) - VERSION=$(xmllint --noent $JHALFSDIR/$BOOK/prologue/bookinfo.xml 2>/dev/null | grep subtitle | sed -e 's/^.*ion //' -e 's/<\/.*//') ;; + VERSION=$(xmllint --noent $JHALFSDIR/$BOOK/prologue/bookinfo.xml 2>/dev/null | grep subtitle | sed -e 's/^.*ion //' -e 's/<\/.*//') ;; esac fi -- http://lists.linuxfromscratch.org/listinfo/alfs-log Unsubscribe: See the above information page