diff --git a/common/libs/func_custom_pkgs b/common/libs/func_custom_pkgs index d865f98..b13a891 100644 --- a/common/libs/func_custom_pkgs +++ b/common/libs/func_custom_pkgs @@ -7,112 +7,58 @@ wrt_CustomTools_target() { # Add any users supplied scripts #----------------------------------# PREV="" - echo " Adding custom packages... ${BOLD}START${OFF}" + echo "${tab_}${GREEN}Processing... ${L_arrow}CUSTOM_TOOLS ${R_arrow}" - # Create the custom_tools scripts directory - mkdir -p custom-tools + for file in custom-tools/* ; do + # Keep the script file name + this_script=`basename $file` - for file in $JHALFSDIR/custom-commands/*; do - if [[ `basename ${file}` = "*" ]]; then - break + # Grab the phase name to be used with INSTALL_LOG and tracking dir touch + name=`grep "^PKG_PHASE=" ${file} | sed -e 's@PKG_PHASE=@@'` + # Grab also the package version + pkg_ver=`grep "^VERSION=" ${file} | sed -e 's@VERSION=@@'` + + # Append each name of the script files to a list (this will become + # the names of the targets in the Makefile) + custom_list="$custom_list ${this_script}" + + #--------------------------------------------------------------------# + # >>>>>>>> START BUILDING A Makefile ENTRY <<<<<<<< # + #--------------------------------------------------------------------# + # + # Drop in the name of the target on a new line, and the previous target + # as a dependency. Also call the echo_message function. + wrt_target "${this_script}" "$PREV" + + # Touch timestamp file if installed files logs will be created. + if [ "$name" != "" ] && [ "${INSTALL_LOG}" = "y" ] ; then + wrt_TouchTimestamp fi - source $file - this_script=$(basename ${file}) - echo "$tab_${GREEN}Adding${OFF} ${this_script}" - # Create a Makefile entry - if [[ "x${PKG}" = "x" ]]; then - # Create an entry for a self contained cmd script that does not - # reference a package tarball - case $PROGNAME in - clfs2 | clfs3 ) - LUSER_wrt_target "${this_script}" "$PREV" - LUSER_wrt_RunAsUser "custom-tools/${this_script}" - ;; - *) - CHROOT_wrt_target "${this_script}" "$PREV" - CHROOT_wrt_RunAsRoot "custom-tools/${this_script}" - ;; - esac - wrt_touch + # Run the script. + wrt_RunScript "$file" - # Create the build script file -( cat <<- xEOFx -#!/bin/bash -set -e - -`cat tmp` -exit -xEOFx -) > custom-tools/${this_script} + # Write installed files log + if [ "$name" != "" ] && [ "${INSTALL_LOG}" = "y" ] ; then + wrt_LogNewFiles "$name" + fi + # Touch the tracking file. + if [ "$PROGNAME" = "clfs2" ]; then + echo -e "\t@touch \$(MOUNT_PT)$TRACKING_DIR/${name}-${pkg_ver}" >> $MKFILE.tmp else - # Create an entry for package - case $PROGNAME in - clfs2 | clfs3 ) - LUSER_wrt_target "${this_script}" "$PREV" - LUSER_wrt_unpack "${PKG_FILE}" - LUSER_wrt_RunAsUser "custom-tools/${this_script}" - LUSER_RemoveBuildDirs "${PKG}" - echo -e "\t@touch \$(MOUNT_PT)$TRACKING_DIR/${PKG}-${PKG_VERSION}" >> $MKFILE.tmp - ;; - *) - CHROOT_wrt_target "${this_script}" "$PREV" - CHROOT_Unpack "${PKG_FILE}" - CHROOT_wrt_RunAsRoot "custom-tools/${this_script}" - CHROOT_wrt_RemoveBuildDirs "${PKG}" - echo -e "\t@touch $TRACKING_DIR/${PKG}-${PKG_VERSION}" >> $MKFILE.tmp - ;; - esac - wrt_touch - - # Create the build script file -( cat <<- xEOFx -#!/bin/bash -set -e - -cd \$PKGDIR -`cat tmp` -exit -xEOFx -) > custom-tools/$this_script + echo -e "\t@touch $TRACKING_DIR/${name}-${pkg_ver}" >> $MKFILE.tmp fi - rm -f tmp - PREV=$this_script - custom_list="${custom_list} ${this_script}" + # Include a touch of the target name so make can check + # if it's already been made. + wrt_touch + # + #--------------------------------------------------------------------# + # >>>>>>>> END OF Makefile ENTRY <<<<<<<< # + #--------------------------------------------------------------------# + + # Keep the script file name for Makefile dependencies. + PREV=${this_script} done - - # Make the scripts executable. - chmod +x custom-tools/* - - echo " Adding custom packages... ${BOLD}DONE${OFF}" -} - - -#----------------------------------# -add_CustomToolsURLS() { # Add any users supplied scripts URL information -#----------------------------------# - local BLFS_SERVER="${SERVER}/pub/blfs/conglomeration/" - local this_script - local URL PKG PKG_VERSION PKG_FILE MD5 - - > urls.lst.tmp - for this_script in $JHALFSDIR/custom-commands/*; do - if [[ `basename ${this_script}` = "*" ]]; then - CUSTOM_TOOLS="n" - break - fi - source $this_script - # A cmd only script had no PKG defined - [[ "x${PKG}" = "x" ]] && continue - - echo "${URL} ${BLFS_SERVER}${PKG}/${PKG_FILE} ${MD5}" >> urls.lst.tmp - # Add any patches.. - for PATCH in PATCH{1..10}; do - [[ -n ${!PATCH} ]] && echo "dummy-url ${!PATCH}" >> urls.lst.tmp - done - done - cat urls.lst.tmp >> $BUILDDIR/sources/urls.lst - rm urls.lst.tmp } diff --git a/jhalfs b/jhalfs index c902122..9bfa01d 100755 --- a/jhalfs +++ b/jhalfs @@ -337,13 +337,6 @@ if [[ "$REBUILD_MAKEFILE" = "n" ]] ; then fi # - # Copy custom tools config files, if requested - if [[ "${CUSTOM_TOOLS}" = "y" ]]; then - echo "Copying custom tool scripts to $JHALFSDIR" - mkdir -p $JHALFSDIR/custom-commands - cp -f custom/config/* $JHALFSDIR/custom-commands - fi - # # Install blfs-tool, if requested. if [[ "${BLFS_TOOL}" = "y" ]] ; then # Install the files