Changeset 2507cf7


Ignore:
Timestamp:
03/08/2012 05:42:55 PM (12 years ago)
Author:
Pierre Labastie <pierre@…>
Branches:
ablfs
Children:
9a865396
Parents:
34986b8
Message:

Major change for the inclusion of blfs-tool dependencies:

  • build them before custom tools
  • use instructions in the BLFS book instead of harcoded ones
  • use the dependency tracker of the tool itself (kind of bootstrap)
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • BLFS/envars.conf

    r34986b8 r2507cf7  
    9999
    100100source /etc/profile
    101 
  • Config.in

    r34986b8 r2507cf7  
    566566                default y
    567567
    568                 config  DEP_UNZIP
    569                 bool    "UnZip (required to install DocBook XML DTD)"
    570                 default y
    571                 depends on DEP_DBXML
    572 
    573568                #config DEP_DBXSL
    574569                #bool   "DocBook XSL (required)"
     
    576571
    577572                config  DEP_LYNX
    578                 bool    "lynx (required)"
     573                bool    "lynx (optional, for reading the generated book)"
    579574                default y
    580575
     
    591586                default y
    592587                help
    593                         #-- You MUST install the gpm bootscript manually
    594                         #   and create its configuration file.
    595                         #
    596                         #   An alternative is to unselect this option and
    597                         #   install gpm, its configuration file, and its
    598                         #   bootscript using the custom tools support.
     588                        #-- if you install gpm, it will be started
     589                        #   automatically on boot. You'll have to edit
     590                        #   /etc/sysconfig/mouse for your system
    599591
    600592                config  DEP_SVN
     
    602594                default n
    603595                help
    604                         #-- Subversion-1.3.1 will be installed. This version is
    605                         #   old but does not rely on additional packages to be
    606                         #   built.
    607                         #
    608                         #   If you are happy with this old version and don't
    609                         #   need extra features, select this option.
     596                        #-- Subversion is needed for updating the book
     597                        #   sources. It is built without ssl support,
     598                        #   so you may have to rebuild it afterwards.
     599
    610600        endmenu
    611601        #--- End blfs-tool Support
  • LFS/master.sh

    r34986b8 r2507cf7  
    409409  # Add the CUSTOM_TOOLS targets, if needed
    410410  [[ "$CUSTOM_TOOLS" = "y" ]] && wrt_CustomTools_target
    411   # Add the BLFS_TOOL targets, if needed
    412   [[ "$BLFS_TOOL" = "y" ]] && wrt_blfs_tool_targets
    413411
    414412  # Add a header, some variables and include the function file
     
    441439    cat << EOF
    442440
    443 all:    ck_UID mk_SETUP mk_LUSER mk_SUDO mk_CHROOT mk_BOOT create-sbu_du-report mk_CUSTOM_TOOLS mk_BLFS_TOOL
     441all:    ck_UID mk_SETUP mk_LUSER mk_SUDO mk_CHROOT mk_BOOT create-sbu_du-report mk_BLFS_TOOL mk_CUSTOM_TOOLS
    444442        @sudo make do_housekeeping
    445443        @echo "$VERSION - jhalfs build" > lfs-release && \\
     
    488486        @touch \$@
    489487
    490 mk_CUSTOM_TOOLS: create-sbu_du-report
     488mk_BLFS_TOOL: create-sbu_du-report
     489        @if [ "\$(ADD_BLFS_TOOLS)" = "y" ]; then \\
     490          \$(call sh_echo_PHASE,Building BLFS_TOOL); \\
     491          (sudo \$(CHROOT2) "make -C $BLFS_ROOT/work"); \\
     492        fi;
     493        @touch \$@
     494
     495mk_CUSTOM_TOOLS: mk_BLFS_TOOL
    491496        @if [ "\$(ADD_CUSTOM_TOOLS)" = "y" ]; then \\
    492497          \$(call sh_echo_PHASE,Building CUSTOM_TOOLS); \\
    493498          sudo mkdir -p ${BUILDDIR}${TRACKING_DIR}; \\
    494499          (sudo \$(CHROOT2) "cd \$(SCRIPT_ROOT) && make BREAKPOINT=\$(BREAKPOINT) CUSTOM_TOOLS"); \\
    495         fi;
    496         @touch \$@
    497 
    498 mk_BLFS_TOOL: mk_CUSTOM_TOOLS
    499         @if [ "\$(ADD_BLFS_TOOLS)" = "y" ]; then \\
    500           \$(call sh_echo_PHASE,Building BLFS_TOOL); \\
    501           sudo mkdir -p $BUILDDIR$TRACKING_DIR; \\
    502           (sudo \$(CHROOT2) "cd \$(SCRIPT_ROOT) && make BREAKPOINT=\$(BREAKPOINT) BLFS_TOOL"); \\
    503500        fi;
    504501        @touch \$@
     
    532529BOOT:         $chapter78
    533530CUSTOM_TOOLS: $custom_list
    534 BLFS_TOOL:    $blfs_tool
    535531
    536532
  • common/common-functions

    r34986b8 r2507cf7  
    107107
    108108
    109 [[ $VERBOSITY2 > 0 ]] && echo -n "Loading <func_blfs_deps>..."
    110 source $COMMON_DIR/libs/func_blfs_deps
    111 [[ $? > 0 ]] && echo "file libs/func_blfs_deps did not load.." && exit 1
    112 [[ $VERBOSITY2 > 0 ]] && echo "OK"
    113 
    114109[[ $VERBOSITY2 > 0 ]] && echo -n "    ..."
  • common/libs/func_book_parser

    r34986b8 r2507cf7  
    156156  esac
    157157
    158   [[ "${BLFS_TOOL}" = "y" ]] && copy_blfs_deps_scripts
    159 
    160158  echo "done"
    161159
  • common/libs/func_download_pkgs

    r34986b8 r2507cf7  
    198198  cd $BUILDDIR/sources
    199199
    200   if [[ "${BLFS_TOOL}" = "y" ]]; then
    201     add_blfs_deps_urls
    202   fi
    203 
    204200  if [[ "${CUSTOM_TOOLS}" = "y" ]]; then
    205201    add_CustomToolsURLS
  • common/libs/func_validate_configs.sh

    r34986b8 r2507cf7  
    5858  # Additional variables (add DEP_DBXSL when required again)
    5959  local -r blfs_tool_PARAM_LIST="BLFS_BRANCH_ID BLFS_ROOT BLFS_XML TRACKING_DIR \
    60                                  DEP_LIBXML DEP_LIBXSLT DEP_TIDY DEP_UNZIP \
     60                                 DEP_LIBXML DEP_LIBXSLT DEP_TIDY \
    6161                                 DEP_DBXML DEP_LYNX DEP_SUDO DEP_WGET \
    6262                                 DEP_SVN DEP_GPM"
  • jhalfs

    r34986b8 r2507cf7  
    177177BOOK=${BOOK:=$PROGNAME-$LFSVRS}
    178178
     179
     180#--- Envars not sourced from configuration
     181case $PROGNAME in
     182# TODO: clfs is now on git
     183#  clfs* ) declare -r SVN="http://svn.cross-lfs.org/svn/repos" ;;
     184      * ) declare -r SVN="svn://svn.linuxfromscratch.org" ;;
     185esac
     186declare -r LOG=000-masterscript.log
     187  # Needed for fetching BLFS book sources when building CLFS
     188declare -r SVN_2="svn://svn.linuxfromscratch.org"
     189
     190# Set true internal variables
     191COMMON_DIR="common"
     192PACKAGE_DIR=$(echo $PROGNAME | tr '[a-z]' '[A-Z]')
     193MODULE=$PACKAGE_DIR/master.sh
     194PKGMNGTDIR="pkgmngt"
     195# The name packageManager.xml is hardcoded in *.xsl, so no variable.
     196
     197[[ $VERBOSITY > 0 ]] && echo -n "Loading common-functions module..."
     198source $COMMON_DIR/common-functions
     199[[ $? > 0 ]] && echo " $COMMON_DIR/common-functions did not load.." && exit
     200[[ $VERBOSITY > 0 ]] && echo "OK"
     201[[ $VERBOSITY > 0 ]] && echo -n "Loading code module <$MODULE>..."
     202source $MODULE
     203[[ $? > 0 ]] && echo "$MODULE did not load.." && exit 2
     204[[ $VERBOSITY > 0 ]] && echo "OK"
     205#
     206[[ $VERBOSITY > 0 ]] && echo "${SD_BORDER}${nl_}"
     207
     208
     209#*******************************************************************#
     210[[ $VERBOSITY > 0 ]] && echo -n "Loading function <func_check_version.sh>..."
     211source $COMMON_DIR/libs/func_check_version.sh
     212[[ $? > 0 ]] && echo " function module did not load.." && exit 2
     213[[ $VERBOSITY > 0 ]] && echo "OK"
     214
     215[[ $VERBOSITY > 0 ]] && echo -n "Loading function <func_validate_configs.sh>..."
     216source $COMMON_DIR/libs/func_validate_configs.sh
     217[[ $? > 0 ]] && echo " function module did not load.." && exit 2
     218[[ $VERBOSITY > 0 ]] && echo "OK"
     219
     220[[ $VERBOSITY > 0 ]] && echo -n "Loading function <func_custom_pkgs>..."
     221source $COMMON_DIR/libs/func_custom_pkgs
     222[[ $? > 0 ]] && echo " function module did not load.." && exit 2
     223[[ $VERBOSITY > 0 ]] && echo "OK"
     224
     225
     226[[ $VERBOSITY > 0 ]] && echo "${SD_BORDER}${nl_}"
     227
    179228# blfs-tool envars
    180229BLFS_TOOL=${BLFS_TOOL:-n}
     
    189238              * )  BLFS_TREE=tags/${BLFS_BRANCH_ID} ;;
    190239  esac
    191   # Dependencies envars, easier to update.
    192   # Tidy and Unzip version are harcoded also in wrt_blfs_tool_targets()
    193     # libxml2
    194   LIBXML_PKG="libxml2-2.7.8.tar.gz"
    195   LIBXML_URL="ftp://xmlsoft.org/libxml2/${LIBXML_PKG}"
    196   LIBXML_MD5="8127a65e8c3b08856093099b52599c86"
    197     # libxslt
    198   LIBXSLT_PKG="libxslt-1.1.26.tar.gz"
    199   LIBXSLT_URL="ftp://xmlsoft.org/libxslt/${LIBXSLT_PKG}"
    200   LIBXSLT_MD5="e61d0364a30146aaa3001296f853b2b9"
    201     # tidy
    202   TIDY_PKG="tidy-cvs_20101110.tar.bz2"
    203   TIDY_URL="http://anduin.linuxfromscratch.org/sources/BLFS/svn/t/${TIDY_PKG}"
    204   TIDY_MD5="dd1fe109b4259ad3f364b175787ad5e9"
    205     # unzip
    206   UNZIP_PKG="unzip60.tar.gz"
    207   UNZIP_URL="http://downloads.sourceforge.net/infozip/${UNZIP_PKG}"
    208   UNZIP_MD5="62b490407489521db863b523a7f86375"
    209     # DocBook XML DTD
    210   DBXML_PKG="docbook-xml-4.5.zip"
    211   DBXML_URL="http://www.docbook.org/xml/4.5/${DBXML_PKG}"
    212   DBXML_MD5="03083e288e87a7e829e437358da7ef9e"
    213     # DocBook XSL
    214 #   DBXSL_PKG="docbook-xsl-1.69.1.tar.bz2"
    215 #   DBXSL_URL="http://prdownloads.sourceforge.net/docbook/${DBXSL_PKG}"
    216 #   DBXSL_MD5="6ebd29a67f2dcc3f2220f475ee6f6552"
    217     # Lynx
    218   LYNX_PKG="lynx2.8.8dev.10.tar.bz2"
    219   LYNX_URL="http://lynx.isc.org/current/${LYNX_PKG}"
    220   LYNX_MD5="1c9ef3746520c69914b461f88de6b12e"
    221     # sudo
    222   SUDO_PKG="sudo-1.8.2.tar.gz"
    223   SUDO_URL="http://www.sudo.ws/sudo/dist/${SUDO_PKG}"
    224   SUDO_MD5="000f458e7391be9fdf459a9ad6a4912a"
    225     # wget
    226   WGET_PKG="wget-1.13.4.tar.xz"
    227   WGET_URL="ftp://ftp.gnu.org/gnu/wget/${WGET_PKG}"
    228   WGET_MD5="7f518b3a71e9efd330e9a0c3714f8463"
    229     # SQLite (for subversion)
    230   SQLITE_PKG="sqlite-autoconf-3071000.tar.gz"
    231   SQLITE_URL="http://sqlite.org/${SQLITE_PKG}"
    232   SQLITE_MD5="9ed2ca93577b58cfa0d01f64b9312ab9"
    233     # Apache Portable Runtime (for subversion)
    234   APR_PKG="apr-1.4.5.tar.bz2"
    235   APR_URL="http://mirror.speednetwork.de/apache/apr/$APR_PKG"
    236   APR_MD5="8b53f5a5669d0597f2da889a2f576eb6"
    237     # APR config patch
    238   APR_PATCH_1="apr-1.4.5-config.patch"
    239   APR_PATCH_1_URL="file:///sources/local-patches/${APR_PATCH_1}"
    240   APR_PATCH_1_MD5="fff6eddf998f4e956915f8053c15e41e"
    241     # Apache Portable Runtime Utilities (for subversion)
    242   APR_U_PKG="apr-util-1.4.1.tar.bz2"
    243   APR_U_URL="http://mirrors.ircam.fr/pub/apache/apr/$APR_U_PKG"
    244   APR_U_MD5="52b31b33fb1aa16e65ddaefc76e41151"
    245     # APR-util config patch
    246   APR_U_PATCH_1="apr-util-1.4.1-config.patch"
    247   APR_U_PATCH_1_URL="file:///sources/local-patches/${APR_U_PATCH_1}"
    248   APR_U_PATCH_1_MD5="4c07cb0d298ae9ddc75cd2d5acdedb2b"
    249     # Subversion
    250   SVN_PKG="subversion-1.7.1.tar.bz2"
    251   SVN_URL="http://archive.apache.org/dist/subversion/${SVN_PKG}"
    252   SVN_MD5="8a4fa74385df85a9702141b6b68b8307"
    253     # GPM
    254   GPM_PKG="gpm-1.20.6.tar.bz2"
    255   GPM_URL="http://www.nico.schottelius.org/software/gpm/archives/$GPM_PKG"
    256   GPM_MD5="6b534da16dc1b28ba828dea89e520f6f"
    257 fi
    258 
    259 #--- Envars not sourced from configuration
    260 case $PROGNAME in
    261 # TODO: clfs is now on git
    262 #  clfs* ) declare -r SVN="http://svn.cross-lfs.org/svn/repos" ;;
    263       * ) declare -r SVN="svn://svn.linuxfromscratch.org" ;;
    264 esac
    265 declare -r LOG=000-masterscript.log
    266   # Needed for fetching BLFS book sources when building CLFS
    267 declare -r SVN_2="svn://svn.linuxfromscratch.org"
    268 
    269 # Set true internal variables
    270 COMMON_DIR="common"
    271 PACKAGE_DIR=$(echo $PROGNAME | tr '[a-z]' '[A-Z]')
    272 MODULE=$PACKAGE_DIR/master.sh
    273 PKGMNGTDIR="pkgmngt"
    274 # The name packageManager.xml is hardcoded in *.xsl, so no variable.
    275 
    276 [[ $VERBOSITY > 0 ]] && echo -n "Loading common-functions module..."
    277 source $COMMON_DIR/common-functions
    278 [[ $? > 0 ]] && echo " $COMMON_DIR/common-functions did not load.." && exit
    279 [[ $VERBOSITY > 0 ]] && echo "OK"
    280 [[ $VERBOSITY > 0 ]] && echo -n "Loading code module <$MODULE>..."
    281 source $MODULE
    282 [[ $? > 0 ]] && echo "$MODULE did not load.." && exit 2
    283 [[ $VERBOSITY > 0 ]] && echo "OK"
    284 #
    285 [[ $VERBOSITY > 0 ]] && echo "${SD_BORDER}${nl_}"
    286 
    287 
    288 #*******************************************************************#
    289 [[ $VERBOSITY > 0 ]] && echo -n "Loading function <func_check_version.sh>..."
    290 source $COMMON_DIR/libs/func_check_version.sh
    291 [[ $? > 0 ]] && echo " function module did not load.." && exit 2
    292 [[ $VERBOSITY > 0 ]] && echo "OK"
    293 
    294 [[ $VERBOSITY > 0 ]] && echo -n "Loading function <func_validate_configs.sh>..."
    295 source $COMMON_DIR/libs/func_validate_configs.sh
    296 [[ $? > 0 ]] && echo " function module did not load.." && exit 2
    297 [[ $VERBOSITY > 0 ]] && echo "OK"
    298 
    299 [[ $VERBOSITY > 0 ]] && echo -n "Loading function <func_custom_pkgs>..."
    300 source $COMMON_DIR/libs/func_custom_pkgs
    301 [[ $? > 0 ]] && echo " function module did not load.." && exit 2
    302 [[ $VERBOSITY > 0 ]] && echo "OK"
    303 
    304 
    305 [[ $VERBOSITY > 0 ]] && echo "${SD_BORDER}${nl_}"
    306 
     240  [[ $VERBOSITY > 0 ]] && echo -n "Loading blfs tools installation function..."
     241  source $COMMON_DIR/libs/func_install_blfs
     242  [[ $? > 0 ]] && echo "function module did not load.." && exit 1
     243  [[ $VERBOSITY > 0 ]] && echo "OK"
     244fi
    307245
    308246###################################
     
    387325  [[ "$GETPKG" = "y" ]] && cp $COMMON_DIR/urls.xsl  $JHALFSDIR/
    388326  #
    389   # Copy APR patches, if needed
    390   [[ "$DEP_SVN" = "y" ]] &&
    391          cp $COMMON_DIR/blfs-tool-deps/apr*.patch  $BUILDDIR/sources
    392   #
    393327  # Create the test-log directory, if needed
    394328  [[ "$TEST" != "0" ]] && [[ ! -d $TESTLOGDIR ]] && install -d -m 1777 $TESTLOGDIR
     
    414348  fi
    415349  #
    416 
    417350  # Copy custom tools config files, if requested
    418351  if [[ "${CUSTOM_TOOLS}" = "y" ]]; then
     
    424357  # Install blfs-tool, if requested.
    425358  if [[ "${BLFS_TOOL}" = "y" ]] ; then
    426     # Install the files
    427     [[ ! -d ${BUILDDIR}${BLFS_ROOT} ]] && mkdir -p ${BUILDDIR}${BLFS_ROOT}
    428     cp -r BLFS/* ${BUILDDIR}${BLFS_ROOT}
    429     cp -r menu ${BUILDDIR}${BLFS_ROOT}
    430     cp $COMMON_DIR/progress_bar.sh ${BUILDDIR}${BLFS_ROOT}
    431     cp README.BLFS ${BUILDDIR}${BLFS_ROOT}
    432     # Clean-up
    433     make -C ${BUILDDIR}${BLFS_ROOT}/menu clean
    434     rm -rf ${BUILDDIR}${BLFS_ROOT}/libs/.svn
    435     rm -rf ${BUILDDIR}${BLFS_ROOT}/xsl/.svn
    436     rm -rf ${BUILDDIR}${BLFS_ROOT}/menu/.svn
    437     rm -rf ${BUILDDIR}${BLFS_ROOT}/menu/lxdialog/.svn
    438     # Set some harcoded envars to their proper values
    439     sed -i 's,tracking-dir,'$TRACKING_DIR',' ${BUILDDIR}${BLFS_ROOT}/{Makefile,gen-makefile.sh}
    440     # Copy the dependencies build scripts
    441     cp -r $COMMON_DIR/blfs-tool-deps $JHALFSDIR/
    442     rm -rf $JHALFSDIR/blfs-tool-deps/.svn
     359    echo Downloading and validating the BLFS book
     360    echo '(may take some time...)'
     361    install_blfs_tools 2>&1 | tee -a $LOGDIR/$LOG
    443362  fi
    444363  #
     
    446365  get_book
    447366  echo "${SD_BORDER}${nl_}"
    448 
    449   # Get the BLFS book, if requested.
    450   if [[ "${BLFS_TOOL}" = "y" ]] ; then
    451     echo -n "Downloading the BLFS document, $BLFS_BRANCH_ID version... "
    452     if [[ ! -d ${BUILDDIR}${BLFS_ROOT}/${BLFS_XML} ]] ; then
    453       mkdir -p ${BUILDDIR}${BLFS_ROOT}/${BLFS_XML}
    454       svn co $SVN_2/BLFS/$BLFS_TREE ${BUILDDIR}${BLFS_ROOT}/${BLFS_XML} >>$LOGDIR/$LOG 2>&1
    455     else
    456       pushd ${BUILDDIR}${BLFS_ROOT}/${BLFS_XML} 1> /dev/null
    457         svn up >>$LOGDIR/$LOG 2>&1
    458       popd 1> /dev/null
    459     fi
    460     echo -ne "done\n"
    461     echo "${SD_BORDER}${nl_}"
    462   fi
    463367
    464368fi
Note: See TracChangeset for help on using the changeset viewer.