Changeset 045b2dc for common


Ignore:
Timestamp:
10/02/2006 07:32:06 PM (18 years ago)
Author:
Manuel Canales Esparcia <manuel@…>
Branches:
2.3, 2.3.x, 2.4, ablfs, ablfs-more, legacy, new_features, trunk
Children:
f5fc83d
Parents:
6f75d64
Message:

Merged r3043:3145 from experimental:
New Makefile code and other improvements.

Location:
common
Files:
3 added
7 edited
6 moved

Legend:

Unmodified
Added
Removed
  • common/common-functions

    r6f75d64 r045b2dc  
    3030
    3131
    32 
    33 #----------------------------------#
    34 wrt_target() {                     # Create target and initialize log file
    35 #----------------------------------#
    36   local i=$1
    37   local PREV=$2
    38   case $i in
    39     iteration* ) local LOGFILE=$this_script.log ;;
    40              * ) local LOGFILE=$this_script ;;
    41   esac
    42 (
    43 cat << EOF
    44 
    45 $i:  $PREV
    46         @\$(call echo_message, Building)
    47         @./progress_bar.sh \$@ \$\$PPID &
    48         @echo -e "\n\`date\`\n\nKB: \`du -skx --exclude=${SCRIPT_ROOT} \$(MOUNT_PT)\`\n" >logs/$LOGFILE
    49 EOF
    50 ) >> $MKFILE.tmp
    51 }
    52 
    53 
    54 #----------------------------------#
    55 wrt_target_boot() {                # Create target and initialize log file
    56 #----------------------------------#
    57   local i=$1
    58   local PREV=$2
    59   case $i in
    60     iteration* ) local LOGFILE=$this_script.log ;;
    61              * ) local LOGFILE=$this_script ;;
    62   esac
    63 (
    64 cat << EOF
    65 
    66 $i:  $PREV
    67         @\$(call echo_message, Building)
    68         @./progress_bar.sh \$@ \$\$PPID &
    69         @echo -e "\n\`date\`\n\nKB: \`du -skx --exclude=${SCRIPT_ROOT}\`\n" >logs/$LOGFILE
    70 EOF
    71 ) >> $MKFILE.tmp
    72 }
    73 
    74 #----------------------------#
    75 get_package_tarball_name() { #
    76 #----------------------------#
     32#------------------------------------------------------#
     33#        NEW Makefile scripting functions              #
     34#------------------------------------------------------#
     35
     36
     37unset get_package_tarball_name
     38#----------------------------------#
     39get_package_tarball_name() {       #
     40#----------------------------------#
    7741  local script_name=$1
    7842
     
    8953
    9054
    91 #----------------------------------#
    92 wrt_test_log() {                   # Initialize testsuite log file
    93 #----------------------------------#
    94   local TESTLOGFILE=$1
    95 (
    96 cat  << EOF
    97         @echo "export TEST_LOG=$TESTLOGDIR/$TESTLOGFILE" >> envars && \\
    98         su - \$(LUSER) -c "echo -e '\n\`date\`\n' >$TESTLOGDIR/$TESTLOGFILE"
    99 EOF
    100 ) >> $MKFILE.tmp
    101 }
    102 
    103 #----------------------------------#
    104 wrt_test_log2() {                  #
    105 #----------------------------------#
    106   local TESTLOGFILE=$1
    107 (
    108 cat  << EOF
    109         @echo "export TEST_LOG=/$SCRIPT_ROOT/test-logs/$TESTLOGFILE" >> envars && \\
    110         echo -e "\n\`date\`\n" >test-logs/$TESTLOGFILE
    111 EOF
    112 ) >> $MKFILE.tmp
    113 }
    114 
    115 #----------------------------------#
    116 wrt_target_vars() {                # Target vars for hlfs (cross-build method)
    117 #----------------------------------#
    118 (
    119 cat  << EOF
    120         @echo "export target=$(uname -m)-${TARGET}" >> envars && \\
    121         echo "export ldso=/lib/${LOADER}" >> envars
    122 EOF
    123 ) >> $MKFILE.tmp
    124 
    125 }
    126 
    127 
    128 #----------------------------------#
    129 wrt_copy_fstab() {                 #
    130 #----------------------------------#
    131   local i=$1
    132 (
    133     cat << EOF
    134         @cp -v $FSTAB \$(MOUNT_PT)/etc/fstab >>logs/$i 2>&1
    135 EOF
    136 ) >> $MKFILE.tmp
    137 }
    138 
    139 
    140 #----------------------------------#
    141 wrt_copy_fstab2() {                #
    142 #----------------------------------#
    143   local i=$1
    144 (
    145     cat << EOF
    146         @cp -v /sources/fstab /etc/fstab >>logs/$i 2>&1
    147 EOF
    148 ) >> $MKFILE.tmp
    149 }
    150 
    151 
    152 #----------------------------------#
    153 wrt_report() {                     #
    154 #----------------------------------#
    155 (
    156 cat << EOF
    157 
    158 create-sbu_du-report:  $PREV
    159         @\$(call echo_message, Building)
    160         @./create-sbu_du-report.sh logs $VERSION
    161         @\$(call echo_report,$VERSION-SBU_DU-$(date --iso-8601).report)
    162         @touch  \$@
    163 EOF
    164 ) >> $MKFILE.tmp
    165 
    166 chapter789="$chapter789 create-sbu_du-report"
    167 }
    168 
    169 unset wrt_unpack
    170 #----------------------------------#
    171 wrt_unpack() {                     # Unpack and set 'ROOT' var
    172 #----------------------------------#
    173   local FILE=$1
    174   local optSAVE_PREVIOUS=$2
    175 
    176   if [[ "${optSAVE_PREVIOUS}" != "1" ]]; then
    177 (
    178 cat << EOF
    179         @\$(call remove_existing_dirs,$FILE)
    180 EOF
    181 ) >> $MKFILE.tmp
    182   fi
    183 
    184 (
    185 cat << EOF
    186         @\$(call unpack,$FILE)
    187         @\$(call get_pkg_root)
    188 EOF
    189 ) >> $MKFILE.tmp
    190 
    191 }
    192 
    193 unset wrt_unpack2
    194 #----------------------------------#
    195 wrt_unpack2() {                    #
    196 #----------------------------------#
    197   local FILE=$1
    198   local optSAVE_PREVIOUS=$2
    199 
    200   if [ "${optSAVE_PREVIOUS}" != "1" ]; then
    201 (
    202 cat << EOF
    203         @\$(call remove_existing_dirs,$FILE)
    204 EOF
    205 ) >> $MKFILE.tmp
    206   fi
    207 (
    208 cat  << EOF
    209         @\$(call unpack2,$FILE)
    210         @\$(call get_pkg_root,nouser)
    211 EOF
    212 ) >> $MKFILE.tmp
    213 }
    214 
    215 #----------------------------------#
    216 wrt_unpack3() {                    #
    217 #----------------------------------#
    218   local FILE=$1
    219   local optSAVE_PREVIOUS=$2
    220 
    221   if [ "${optSAVE_PREVIOUS}" != "1" ]; then
    222 (
    223 cat << EOF
    224         @\$(call remove_existing_dirs2,$FILE)
    225 EOF
    226 ) >> $MKFILE.tmp
    227   fi
    228 (
    229 cat  << EOF
    230         @\$(call unpack3,$FILE)
    231         @\$(call get_pkg_root2)
    232 EOF
    233 ) >> $MKFILE.tmp
    234 }
    235 
    236 
    237 unset wrt_remove_build_dirs
    238 #----------------------------------#
    239 wrt_remove_build_dirs() {          #
    240 #----------------------------------#
    241   local name=$1
    242 (
    243 cat << EOF
    244         @\$(call remove_build_dirs,$name)
    245 EOF
    246 ) >> $MKFILE.tmp
    247 }
    248 
    249 #----------------------------------#
    250 wrt_remove_build_dirs2() {         #
    251 #----------------------------------#
    252   local name=$1
    253 (
    254 cat << EOF
    255         @\$(call remove_build_dirs2,$name)
    256 EOF
    257 ) >> $MKFILE.tmp
    258 }
    259 
    260 
    261 
    262 unset wrt_touch
    263 #----------------------------------#
    264 wrt_touch() {                      #
    265 #----------------------------------#
    266 (
    267 cat << EOF
    268         @\$(call housekeeping)
    269 EOF
    270 ) >> $MKFILE.tmp
    271 }
    272 
    273 unset wrt_RunAsUser
    274 #----------------------------------#
    275 wrt_RunAsUser() {                  # Execute script inside time { }, footer to log file
    276 #----------------------------------#
    277   local this_script=$1
    278   local file=$2
    279 
    280 (
    281 cat << EOF
    282         @( time { \$(SU_LUSER) "source \$(LUSER_HOME)/.bashrc && \$(CMDSDIR)/`dirname $file`/\$@" >> logs/\$@ 2>&1; } ) 2>> logs/\$@ && \\
    283         \$(PRT_DU) >> logs/\$@
    284 EOF
    285 ) >> $MKFILE.tmp
    286 }
    287 
    288 
     55unset wrt_RunaAsRoot
    28956#----------------------------------#
    29057wrt_RunAsRoot() {                  # Some scripts must be run as root..
     
    30067    clfs2 ) MOUNT_ENV="CLFS" ;;
    30168    hlfs  ) MOUNT_ENV="HLFS" ;;
    302     *) echo "undefined progname $PROGNAME"; exit 1
     69    *) echo "undefined progname $PROGNAME"; exit 1 ;;
    30370  esac
    30471
     
    31178}
    31279
    313 #----------------------------------#
    314 wrt_run_as_root2() {               #
    315 #----------------------------------#
    316   local this_script=$1
    317   local file=$2
    318 (
    319 cat << EOF
    320         @( time { source envars && ${PROGNAME}-commands/`dirname $file`/\$@ >>logs/\$@ 2>&1 ; } ) 2>>logs/\$@ && \\
    321         echo -e "\nKB: \`du -skx --exclude=${SCRIPT_ROOT} \`\n" >>logs/\$@
    322 EOF
    323 ) >> $MKFILE.tmp
    324 }
    325 
    326 
    327 unset wrt_run_as_chroot1
    328 #----------------------------------#
    329 wrt_run_as_chroot1() {             #
    330 #----------------------------------#
    331   local this_script=$1
    332   local file=$2
    333 (
    334 cat << EOF
    335         @( time { \$(CHROOT1) 'cd \$(SCRIPT_ROOT) && source envars && \$(crCMDSDIR)/$file >>logs/${this_script} 2>&1' ; } ) 2>>logs/${this_script} && \\
    336         \$(PRT_DU_CR) >> logs/${this_script}
    337 EOF
    338 ) >> $MKFILE.tmp
    339 }
    340 
    341 unset wrt_run_as_chroot2
    342 #----------------------------------#
    343 wrt_run_as_chroot2() {             #
    344 #----------------------------------#
    345   local this_script=$1
    346   local file=$2
    347 (
    348 cat << EOF
    349         @( time { \$(CHROOT2) 'cd \$(SCRIPT_ROOT) && source envars && \$(crCMDSDIR)/`dirname $file`/\$@ >>logs/\$@ 2>&1' ; } ) 2>>logs/\$@ && \\
    350         \$(PRT_DU_CR) >> logs/\$@
    351 EOF
    352 ) >> $MKFILE.tmp
    353 }
    354 
    355 unset wrt_target
    356 #----------------------------------#
    357 wrt_target() {                     # Create target and initialize log file
     80
     81#------------------------------------------------------#
     82#------------------------------------------------------#
     83
     84#----------------------------------#
     85ROOT_RunAsRoot() {                 #
     86#----------------------------------#
     87  local file=$1
     88(
     89cat << EOF
     90        @( time { source envars && \$(CMDSDIR)/$file >>logs/$this_script 2>&1 ; } ) 2>>logs/$this_script && \\
     91        \$(PRT_DU_CR) >>logs/$this_script
     92EOF
     93) >> $MKFILE.tmp
     94}
     95
     96#----------------------------------#
     97ROOT_Unpack() {                    #  An alias, for clairity
     98#----------------------------------#
     99  local FILE=$1
     100  local optSAVE_PREVIOUS=$2
     101
     102  if [[ "${optSAVE_PREVIOUS}" != "1" ]]; then
     103(
     104cat << EOF
     105        @\$(call remove_existing_dirs,$FILE)
     106EOF
     107) >> $MKFILE.tmp
     108  fi
     109
     110(
     111cat << EOF
     112        @\$(call unpack,$FILE)
     113        @\$(call get_pkg_root_LUSER)
     114EOF
     115) >> $MKFILE.tmp
     116}
     117
     118#------------------------------------------------------#
     119#------------------------------------------------------#
     120
     121#----------------------------------#
     122LUSER_wrt_target() {               # Create target and initialize log file
     123#----------------------------------#
     124  local i=$1
     125  local PREV=$2
     126(
     127cat << EOF
     128
     129$i:  $PREV
     130        @\$(call echo_message, Building)
     131        @./progress_bar.sh \$@ \$\$PPID &
     132        @echo -e "\n\`date\`\n\nKB: \`du -skx --exclude=\$(SCRIPT_ROOT) \$(MOUNT_PT)\`\n" >logs/\$@
     133EOF
     134) >> $MKFILE.tmp
     135}
     136
     137
     138#----------------------------------#
     139LUSER_wrt_RunAsUser() {            # Execute script inside time { }, footer to log file
     140#----------------------------------#
     141  local file=$1
     142
     143(
     144cat << EOF
     145        @( time { source ~/.bashrc && \$(CMDSDIR)/`dirname $file`/\$@ >> logs/\$@ 2>&1; } ) 2>> logs/\$@ && \\
     146        \$(PRT_DU) >> logs/\$@
     147EOF
     148) >> $MKFILE.tmp
     149}
     150
     151
     152#----------------------------------#
     153LUSER_wrt_unpack() {               # Unpack and set 'ROOT' var
     154#----------------------------------#
     155  local FILE=$1
     156  local optSAVE_PREVIOUS=$2
     157
     158  if [[ "${optSAVE_PREVIOUS}" != "1" ]]; then
     159(
     160cat << EOF
     161        @\$(call remove_existing_dirs,$FILE)
     162EOF
     163) >> $MKFILE.tmp
     164  fi
     165
     166(
     167cat << EOF
     168        @\$(call unpack,$FILE)
     169        @\$(call get_pkg_root_LUSER)
     170EOF
     171) >> $MKFILE.tmp
     172
     173}
     174
     175
     176#----------------------------------#
     177LUSER_wrt_CopyFstab() {            #
     178#----------------------------------#
     179(
     180cat << EOF
     181        @( time { cp -v \$(MOUNT_PT)/sources/fstab \$(MOUNT_PT)/etc/fstab >>logs/\$@ 2>&1 ; } ) 2>>logs/\$@
     182EOF
     183) >> $MKFILE.tmp
     184}
     185
     186
     187#----------------------------------#
     188LUSER_wrt_test_log() {             # Initialize testsuite log file
     189#----------------------------------#
     190  local TESTLOGFILE=$1
     191(
     192cat  << EOF
     193        @echo "export  TEST_LOG=$TESTLOGDIR/$TESTLOGFILE" >> envars && \\
     194        echo -e '\n\`date\`\n' >$TESTLOGDIR/$TESTLOGFILE
     195EOF
     196) >> $MKFILE.tmp
     197}
     198
     199
     200#----------------------------------#
     201LUSER_RemoveBuildDirs() {          #
     202#----------------------------------#
     203  local name=$1
     204(
     205cat << EOF
     206        @\$(call remove_build_dirs,$name)
     207EOF
     208) >> $MKFILE.tmp
     209}
     210
     211#-----------------------------------------------------------------#
     212#-----------------------------------------------------------------#
     213
     214#----------------------------------#
     215CHROOT_wrt_target() {              # Create target and initialize log file
    358216#----------------------------------#
    359217  local i=$1
    360218  local PREV=$2
    361219  case $i in
    362     iteration* ) local LOGFILE="\$@.log" ;;
    363              * ) local LOGFILE="\$@"     ;;
     220    iteration* ) local LOGFILE="${this_script}.log" ;;
     221             * ) local LOGFILE="${this_script}"      ;;
    364222  esac
    365223(
     
    369227        @\$(call echo_message, Building)
    370228        @./progress_bar.sh \$@ \$\$PPID &
    371         @echo -e "\n\`date\`\n\nKB: \`du -skx --exclude=${SCRIPT_ROOT} \$(MOUNT_PT)\`\n" >logs/$LOGFILE
    372 EOF
    373 ) >> $MKFILE.tmp
    374 }
    375 
    376 #----------------------------------#
    377 wrt_target_boot() {                # Create target and initialize log file
    378 #----------------------------------#
    379   local i=$1
    380   local PREV=$2
    381   case $i in
    382     iteration* ) local LOGFILE="\$@.log" ;;
    383              * ) local LOGFILE="\$@" ;;
    384   esac
    385 (
    386 cat << EOF
    387 
    388 $i:  $PREV
    389         @\$(call echo_message, Building)
    390         @./progress_bar.sh \$@ \$\$PPID &
    391         @echo -e "\n\`date\`\n\nKB: \`du -skx --exclude=${SCRIPT_ROOT}\`\n" >logs/$LOGFILE
    392 EOF
    393 ) >> $MKFILE.tmp
    394 }
     229        @echo -e "\n\`date\`\n\nKB: \`du -skx --exclude=\$(SCRIPT_ROOT) / \`\n" >logs/$LOGFILE
     230EOF
     231) >> $MKFILE.tmp
     232}
     233
     234
     235#----------------------------------#
     236CHROOT_Unpack() {                  #
     237#----------------------------------#
     238  local FILE=$1
     239  local optSAVE_PREVIOUS=$2
     240
     241  if [ "${optSAVE_PREVIOUS}" != "1" ]; then
     242(
     243cat << EOF
     244        @\$(call remove_existing_dirs2,$FILE)
     245EOF
     246) >> $MKFILE.tmp
     247  fi
     248(
     249cat  << EOF
     250        @\$(call unpack3,$FILE)
     251        @\$(call get_pkg_root2)
     252EOF
     253) >> $MKFILE.tmp
     254}
     255
     256
     257#----------------------------------#
     258CHROOT_wrt_test_log() {            #
     259#----------------------------------#
     260  local TESTLOGFILE=$1
     261(
     262cat  << EOF
     263        @echo "export TEST_LOG=/\$(SCRIPT_ROOT)/test-logs/$TESTLOGFILE" >> envars && \\
     264        echo -e "\n\`date\`\n" >test-logs/$TESTLOGFILE
     265EOF
     266) >> $MKFILE.tmp
     267}
     268
     269
     270#----------------------------------#
     271CHROOT_wrt_RunAsRoot() {           #
     272#----------------------------------#
     273  local file=$1
     274(
     275cat << EOF
     276        @( time { source envars && \$(crCMDSDIR)/$file >>logs/$this_script 2>&1 ; } ) 2>>logs/$this_script && \\
     277        \$(PRT_DU_CR) >>logs/$this_script
     278EOF
     279) >> $MKFILE.tmp
     280
     281}
     282
     283
     284#----------------------------------#
     285CHROOT_wrt_CopyFstab() {           #
     286#----------------------------------#
     287(
     288cat << EOF
     289        @( time { cp -v /sources/fstab /etc/fstab >>logs/${this_script} 2>&1 ; } ) 2>>logs/${this_script}
     290EOF
     291) >> $MKFILE.tmp
     292}
     293
     294
     295#----------------------------------#
     296CHROOT_wrt_RemoveBuildDirs() {     #
     297#----------------------------------#
     298  local name=$1
     299(
     300cat << EOF
     301        @\$(call remove_build_dirs2,$name)
     302EOF
     303) >> $MKFILE.tmp
     304}
     305
     306
     307unset wrt_touch
     308#----------------------------------#
     309wrt_touch() {                      #
     310#----------------------------------#
     311(
     312cat << EOF
     313        @\$(call housekeeping)
     314EOF
     315) >> $MKFILE.tmp
     316}
     317
     318
     319#----------------------------------#
     320wrt_blfs_tool_targets() {          #
     321#----------------------------------#
     322
     323  echo "${tab_}${GREEN}Processing... ${L_arrow}BLFS_TOOL ${R_arrow}"
     324
     325  for file in blfs-tool-deps/* ; do
     326    # Keep the script file name
     327    this_script=`basename $file`
     328
     329    # Grab the name of the target
     330    name=`echo ${this_script} | sed -e 's@[0-9]\{3\}-@@'`
     331
     332    # Find the package.
     333    case $name in
     334      tidy )  pkg_tarball=${TIDY_PKG} ;;
     335      unzip ) pkg_tarball=${UNZIP_PKG} ;;
     336      * )     pkg_tarball=$(get_package_tarball_name $name) ;;
     337    esac
     338
     339    # Append each name of the script files to a list (this will become
     340    # the names of the targets in the Makefile)
     341    blfs_tool="$blfs_tool ${this_script}"
     342
     343    #--------------------------------------------------------------------#
     344    #         >>>>>>>> START BUILDING A Makefile ENTRY <<<<<<<<          #
     345    #--------------------------------------------------------------------#
     346    #
     347    # Drop in the name of the target on a new line, and the previous target
     348    # as a dependency. Also call the echo_message function.
     349    CHROOT_wrt_target "${this_script}" "$PREV"
     350
     351    # Insert instructions for unpacking the package and changing directories
     352    # DocBook-XML is a zip, the build script will handle that.
     353    [[ ! "$name" = "docbook-xml" ]] && CHROOT_Unpack "$pkg_tarball"
     354
     355    # Run the script.
     356    CHROOT_wrt_RunAsRoot "$file"
     357
     358    # Remove the build directory(ies) except if the package build fails.
     359    [[ ! "$name" = "docbook-xml" ]] && CHROOT_wrt_RemoveBuildDirs "$name"
     360
     361    # Touch the tracking file.
     362    case $name in
     363      tidy )  pkg_ver=tidy-051026 ;;
     364      unzip ) pkg_ver=unzip-5.52 ;;
     365      * )     pkg_ver=$(echo $pkg_tarball | sed -e 's/.tar.*//;s/.tgz//;s/.zip//') ;;
     366    esac
     367    echo -e "\t@touch $TRACKING_DIR/$pkg_ver" >>  $MKFILE.tmp
     368
     369    # Include a touch of the target name so make can check
     370    # if it's already been made.
     371    wrt_touch
     372    #
     373    #--------------------------------------------------------------------#
     374    #              >>>>>>>> END OF Makefile ENTRY <<<<<<<<               #
     375    #--------------------------------------------------------------------#
     376
     377    # Keep the script file name for Makefile dependencies.
     378    PREV=${this_script}
     379  done
     380}
     381
     382#------------------------------------------------------#
     383#        END Makefile scripting functions              #
     384#------------------------------------------------------#
    395385
    396386
     
    402392  if [ "$RUNMAKE" = "y" ] ; then
    403393    # Test to make sure we're running the build as root
    404     if [ "$UID" != "0" ] ; then
    405       echo "You must be logged in as root to successfully build the system."
     394    if [ "$UID" = "0" ] ; then
     395      echo "You must not be logged in as root to build the system."
    406396      exit 1
    407397    fi
     
    428418    # Test to make sure that the build directory was populated by jhalfs
    429419    if [ ! -d $JHALFSDIR ] || [ ! -d $BUILDDIR/sources ] ; then
    430       echo "Looks like $BUILDDIR was not populated by a previous jhalfs run."
     420      echo "Looks like $BUILDDIR was not populated by a previous jhalfs-X run."
    431421      exit 1
    432422    else
     
    587577  # Done. Moving on...
    588578  get_sources
     579
    589580}
    590581
     
    616607$LIBXML_PKG
    617608$LIBXSLT_PKG
     609$TIDY_PKG
     610$UNZIP_PKG
     611$DBXML_PKG
    618612$DBXSL_PKG
    619613$LINKS_PKG
     
    800794    add_blfs_deps_urls
    801795  fi
     796
    802797}
    803798
     
    814809  if [[ "${DEP_LIBXSLT}" = "y" ]] ; then
    815810    echo "${LIBXSLT_URL} ${BLFS_SERVER}libxslt/${LIBXSLT_PKG} ${LIBXSLT_MD5}" >> urls.lst
     811  fi
     812
     813  if [[ "${DEP_TIDY}" = "y" ]] ; then
     814    echo "${TIDY_URL} ${BLFS_SERVER}tidy/${TIDY_PKG} ${TIDY_MD5}" >> urls.lst
     815    echo "${TIDY_PATCH_URL} ${BLFS_SERVER}tidy/${TIDY_PATCH} ${TIDY_PATCH_MD5}" >> urls.lst
     816  fi
     817
     818  if [[ "${DEP_UNZIP}" = "y" ]] ; then
     819    echo "${UNZIP_URL} ${BLFS_SERVER}unzip/${UNZIP_PKG} ${UNZIP_MD5}" >> urls.lst
     820  fi
     821
     822  if [[ "${DEP_DBXML}" = "y" ]] ; then
     823    echo "${DBXML_URL} ${BLFS_SERVER}docbook-xml/${DBXML_PKG} ${DBXML_MD5}" >> urls.lst
    816824  fi
    817825
     
    859867  fi
    860868
     869  if [[ "${DEP_TIDY}" = "y" ]] ; then
     870    mv blfs-tool-deps/903-tidy ${PROGNAME}-commands/blfs-tool-deps
     871  fi
     872
     873  if [[ "${DEP_UNZIP}" = "y" ]] ; then
     874    mv blfs-tool-deps/904-unzip ${PROGNAME}-commands/blfs-tool-deps
     875  fi
     876
     877  if [[ "${DEP_DBXML}" = "y" ]] ; then
     878    mv blfs-tool-deps/905-docbook-xml ${PROGNAME}-commands/blfs-tool-deps
     879  fi
     880
    861881  if [[ "${DEP_DBXSL}" = "y" ]] ; then
    862     mv blfs-tool-deps/903-docbook-xsl ${PROGNAME}-commands/blfs-tool-deps
     882    mv blfs-tool-deps/906-docbook-xsl ${PROGNAME}-commands/blfs-tool-deps
    863883  fi
    864884
    865885  if [[ "${DEP_LINKS}" = "y" ]] ; then
    866     mv blfs-tool-deps/905-links ${PROGNAME}-commands/blfs-tool-deps
     886    mv blfs-tool-deps/908-links ${PROGNAME}-commands/blfs-tool-deps
    867887  fi
    868888
    869889  if [[ "${DEP_SUDO}" = "y" ]] ; then
    870     mv blfs-tool-deps/906-sudo ${PROGNAME}-commands/blfs-tool-deps
     890    mv blfs-tool-deps/909-sudo ${PROGNAME}-commands/blfs-tool-deps
    871891  fi
    872892
    873893  if [[ "${DEP_WGET}" = "y" ]] ; then
    874     mv blfs-tool-deps/907-wget ${PROGNAME}-commands/blfs-tool-deps
     894    mv blfs-tool-deps/910-wget ${PROGNAME}-commands/blfs-tool-deps
    875895  fi
    876896
    877897  if [[ "${DEP_SVN}" = "y" ]] ; then
    878     mv blfs-tool-deps/908-subversion ${PROGNAME}-commands/blfs-tool-deps
     898    mv blfs-tool-deps/911-subversion ${PROGNAME}-commands/blfs-tool-deps
    879899  fi
    880900
    881901  if [[ "${DEP_GPM}" = "y" ]] ; then
    882     mv blfs-tool-deps/904-gpm ${PROGNAME}-commands/blfs-tool-deps
     902    mv blfs-tool-deps/907-gpm ${PROGNAME}-commands/blfs-tool-deps
    883903  fi
    884904
  • common/create-sbu_du-report.sh

    r6f75d64 r045b2dc  
    109109
    110110  # Dump disk usage values
    111   echo -e "\nDisk usage before unpacking the package:\t\t\t$DU1 KB or $DU1MB MB" >> "$REPORT"
     111  echo -e "\nDisk usage before unpacking the package:\t\t$DU1 KB or $DU1MB MB" >> "$REPORT"
    112112  echo -e "Disk usage before deleting the source and build dirs:\t$DU2 KB or $DU2MB MB" >> "$REPORT"
    113113  echo -e "Required space to build the package:\t\t\t$REQUIRED1 KB or $REQUIRED2 MB\n" >> "$REPORT"
  • common/func_check_version.sh

    r6f75d64 r045b2dc  
    33check_version() {
    44: <<inline_doc
    5       Tests for a minimum version level. Compares to version numbers and forces an 
     5      Tests for a minimum version level. Compares to version numbers and forces an
    66        exit if minimum level not met.
    77      NOTE: This test will fail on versions containing alpha chars. ie. jpeg 6b
    8    
     8
    99    usage:      check_version "2.6.2" "`uname -r`"         "KERNEL"
    1010                check_version "3.0"   "$BASH_VERSION"      "BASH"
     
    2323  declare -i major minor revision change
    2424  declare -i ref_major ref_minor ref_revision ref_change
     25  declare -r spaceSTR="         "
    2526
    2627  ref_version=$1
     
    3132  local IFS
    3233
    33 #  if  echo $ref_version | grep [[:alpha:]] 2>&1 >/dev/null ||
    34 #      echo $tst_version | grep [[:alpha:]] 2>&1 >/dev/null ;then
    35 #    echo "Cannot test for text, 0.0.0a, version types, assuming 'success' "
    36 #    return   
    37 #  fi
    38    
    3934  write_error_and_die() {
    4035     echo -e "\n\t\t$TXT version -->${tst_version}<-- is too old.
     
    4338  }
    4439
    45   echo -ne "$TXT:\t${L_arrow}${BOLD}${tst_version}${OFF}${R_arrow}"
    46   IFS=".-("   # Split up w.x.y.z as well as w.x.y-rc  (catch release candidates)
     40  echo -ne "${TXT}${dotSTR:${#TXT}} ${L_arrow}${BOLD}${tst_version}${OFF}${R_arrow}"
     41
     42#  echo -ne "$TXT:\t${L_arrow}${BOLD}${tst_version}${OFF}${R_arrow}"
     43  IFS=".-(p"   # Split up w.x.y.z as well as w.x.y-rc  (catch release candidates)
    4744  set -- $ref_version # set postional parameters to minimum ver values
    4845  ref_major=$1; ref_minor=$2; ref_revision=$3
     
    5249  #
    5350  # Compare against minimum acceptable version..
    54   (( major > ref_major )) && echo " ..OK" && return
     51  (( major > ref_major )) && echo " ${spaceSTR:${#tst_version}}${GREEN}OK${OFF}" && return
    5552  (( major < ref_major )) && write_error_and_die
    5653    # major=ref_major
    5754  (( minor < ref_minor )) && write_error_and_die
    58   (( minor > ref_minor )) && echo " ..OK" && return
     55  (( minor > ref_minor )) && echo " ${spaceSTR:${#tst_version}}${GREEN}OK${OFF}" && return
    5956    # minor=ref_minor
    60   (( revision >= ref_revision )) && echo " ..OK" && return
     57  (( revision >= ref_revision )) && echo " ${spaceSTR:${#tst_version}}${GREEN}OK${OFF}" && return
    6158
    6259  # oops.. write error msg and die
    6360  write_error_and_die
    6461}
     62#  local -r PARAM_VALS='${config_param}${dotSTR:${#config_param}} ${L_arrow}${BOLD}${!config_param}${OFF}${R_arrow}'
    6563
     64#----------------------------#
     65check_prerequisites() {      #
     66#----------------------------#
     67
     68  # LFS/HLFS/CLFS prerequisites
     69  if [ ! "${PROGNAME}" = "hlfs" ]; then
     70    check_version "2.6.2"    "`uname -r`"                                     "KERNEL"
     71    check_version "2.0.5"    "$BASH_VERSION"                                  "BASH"
     72    check_version "3.0.0"    "`gcc -dumpversion`"                             "GCC"
     73    libcVer="`/lib/libc.so.6 | head -n1`"
     74    libcVer="${libcVer##*version }"
     75    check_version "2.2.5"    ${libcVer%%,*}                                     "GLIBC"
     76    check_version "2.12"     "$(ld --version  | head -n1 | cut -d" " -f4)"      "BINUTILS"
     77    check_version "1.14"     "$(tar --version | head -n1 | cut -d" " -f4)"      "TAR"
     78    bzip2Ver="$(bzip2 --version 2>&1 < /dev/null | head -n1 | cut -d" " -f8)"
     79    check_version "1.0.2"    "${bzip2Ver%%,*}"                                   "BZIP2"
     80    check_version "5.0"      "$(chown --version | head -n1 | cut -d")" -f2)"     "COREUTILS"
     81    check_version "2.8"      "$(diff --version  | head -n1 | cut -d" " -f4)"     "DIFF"
     82    check_version "4.1.20"   "$(find --version  | head -n1 | cut -d" " -f4)"     "FIND"
     83    check_version "3.0"      "$(gawk --version  | head -n1 | cut -d" " -f3)"     "GAWK"
     84    check_version "2.5"      "$(grep --version  | head -n1 | cut -d" " -f4)"     "GREP"
     85    check_version "1.2.4"    "$(gzip --version 2>&1 | head -n1 | cut -d" " -f2)" "GZIP"
     86    check_version "3.79.1"   "$(make --version  | head -n1 | cut -d " " -f3)"    "MAKE"
     87    check_version "2.5.4"    "$(patch --version | head -n1 | cut -d" " -f2)"     "PATCH"
     88    check_version "3.0.2"    "$(sed --version   | head -n1 | cut -d" " -f4)"     "SED"
     89  else
     90    # HLFS prerequisites
     91    check_version "2.6.2" "$(uname -r)"                                  "KERNEL"
     92    check_version "3.0"   "$BASH_VERSION"                                "BASH"
     93    check_version "3.0"   "$(gcc -dumpversion)"                          "GCC"
     94    check_version "1.14"  "$(tar --version | head -n1 | cut -d" " -f4)"  "TAR"
     95  fi
     96
     97  # Check for minimum sudo version
     98  SUDO_LOC="$(whereis -b sudo | cut -d" " -f2)"
     99  if [ -x $SUDO_LOC ]; then
     100    sudoVer="$(sudo -V | head -n1 | cut -d" " -f3)"
     101    check_version "1.6.8"  "${sudoVer}"      "SUDO"
     102  else
     103    echo "${nl_}\"${RED}sudo${OFF}\" ${BOLD}must be installed on your system for jhalfs to run"
     104    exit 1
     105  fi
     106
     107  # Check for minimum libxml2 and libxslt versions
     108  xsltprocVer=$(xsltproc -V | head -n1 )
     109  libxmlVer=$(echo $xsltprocVer | cut -d " " -f3)
     110  libxsltVer=$(echo $xsltprocVer | cut -d " " -f5)
     111
     112  # Version numbers are packed strings not xx.yy.zz format.
     113  check_version "2.06.20"  "${libxmlVer:0:1}.${libxmlVer:1:2}.${libxmlVer:3:2}"     "LIBXML2"
     114  check_version "1.01.14"  "${libxsltVer:0:1}.${libxsltVer:1:2}.${libxsltVer:3:2}"  "LIBXSLT"
     115
     116  # The next versions checks are required only when BLFS_TOOL is set and
     117  # this dependencies has not be selected for installation
     118  if [[ "$BLFS_TOOL" = "y" ]] ; then
     119
     120    if [[ -z "$DEP_TIDY" ]] ; then
     121      tidyVer=$(tidy -V | cut -d " " -f9)
     122      check_version "2004" "${tidyVer}" "TIDY"
     123    fi
     124
     125    # Check if the proper DocBook-XML-DTD and DocBook-XSL are correctly installed
     126XML_FILE="<?xml version='1.0' encoding='ISO-8859-1'?>
     127<?xml-stylesheet type='text/xsl' href='http://docbook.sourceforge.net/release/xsl/1.69.1/xhtml/docbook.xsl'?>
     128<!DOCTYPE article PUBLIC '-//OASIS//DTD DocBook XML V4.4//EN'
     129  'http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd'>
     130<article>
     131  <title>Test file</title>
     132  <sect1>
     133    <title>Some title</title>
     134    <para>Some text</para>
     135  </sect1>
     136</article>"
     137
     138    if [[ -z "$DEP_DBXML" ]] ; then
     139      if `echo $XML_FILE | xmllint -noout -postvalid - 2>/dev/null` ; then
     140        check_version "4.4" "4.4" "DocBook XML DTD"
     141      else
     142        echo "Warning: not found a working DocBook XML DTD 4.4 installation"
     143        exit 2
     144      fi
     145    fi
     146
     147    if [[ -z "$DEP_DBXSL" ]] ; then
     148      if `echo $XML_FILE | xsltproc --noout - 2>/dev/null` ; then
     149        check_version "1.69.1" "1.69.1" "DocBook XSL"
     150      else
     151        echo "Warning: not found a working DocBook XSL 1.69.1 installation"
     152        exit 2
     153      fi
     154    fi
     155
     156  fi # end BLFS_TOOL=Y
     157
     158}
  • common/func_compare.sh

    r6f75d64 r045b2dc  
    1212    fi
    1313    this_script=$ITERATION
    14     wrt_target "$ITERATION" "$PREV"
     14    CHROOT_wrt_target "$ITERATION" "$PREV"
    1515    wrt_compare_work "$ITERATION" "$PREV_IT"
    1616    wrt_logs "$N"
     
    2727
    2828  if [[ "$PROGNAME" = "clfs" ]] && [[ "$METHOD" = "chroot" ]] ; then
    29     final_system_Makefiles $RUN
     29    chroot_final_system_Makefiles $RUN
    3030  elif [[ "$PROGNAME" = "clfs" ]] && [[ "$METHOD" = "boot" ]] ; then
    31     bm_final_system_Makefiles $RUN
     31    boot_final_system_Makefiles $RUN
    3232  else
    3333    chapter6_Makefiles $RUN
     34  fi
     35
     36  if [[ "$PROGNAME" = "clfs" ]] ; then
     37    basicsystem="$basicsystem $PREV_IT $system_build"
     38  else
     39    chapter6="$chapter6 $PREV_IT $system_build"
     40  fi
     41
     42  if [[ "$RUN" = "$ITERATIONS" ]] ; then
     43    if [[ "$PROGNAME" = "clfs" ]] ; then
     44      basicsystem="$basicsystem iteration-$RUN"
     45    else
     46      chapter6="$chapter6 iteration-$RUN"
     47    fi
    3448  fi
    3549
     
    4559/sources /root /srv /sys /tmp /tools /usr/local /usr/src /var/log/paco"
    4660
    47   if [[ "$PROGNAME" = "clfs" ]] && [[ "$METHOD" = "boot" ]] ; then
    48     local    ROOT_DIR=/
    49     local DEST_TOPDIR=/${SCRIPT_ROOT}
    50     local   ICALOGDIR=/${SCRIPT_ROOT}/logs/ICA
    51     local FARCELOGDIR=/${SCRIPT_ROOT}/logs/farce
    52   else
    53     local    ROOT_DIR=$BUILDDIR
    54     local DEST_TOPDIR=$BUILDDIR/${SCRIPT_ROOT}
    55   fi
     61  local    ROOT_DIR=/
     62  local DEST_TOPDIR=/${SCRIPT_ROOT}
     63  local   ICALOGDIR=/${SCRIPT_ROOT}/logs/ICA
     64  local FARCELOGDIR=/${SCRIPT_ROOT}/logs/farce
    5665
    5766  if [[ "$RUN_ICA" = "y" ]] ; then
  • common/func_validate_configs.sh

    r6f75d64 r045b2dc  
    2727  local -r  blfs_PARAM_LIST="BRANCH_ID BLFS_ROOT BLFS_XML TRACKING_DIR"
    2828
    29   local -r  blfs_tool_PARAM_LIST="BLFS_BRANCH_ID BLFS_ROOT BLFS_XML TRACKING_DIR DEP_LIBXML DEP_LIBXSLT DEP_DBXSL DEP_LINKS DEP_SUDO DEP_WGET DEP_SVN DEP_GPM"
     29  local -r  blfs_tool_PARAM_LIST="BLFS_BRANCH_ID BLFS_ROOT BLFS_XML TRACKING_DIR DEP_LIBXML DEP_LIBXSLT DEP_TIDY DEP_UNZIP DEP_DBXML DEP_DBXSL DEP_LINKS DEP_SUDO DEP_WGET DEP_SVN DEP_GPM"
    3030
    3131  local -r ERROR_MSG_pt1='The variable \"${L_arrow}${config_param}${R_arrow}\" value ${L_arrow}${BOLD}${!config_param}${R_arrow} is invalid,'
  • common/makefile-functions

    r6f75d64 r045b2dc  
    22# $Id$
    33
    4 BOLD= "[0;1m"
    5 RED= "[1;31m"
    6 GREEN= "[0;32m"
    7 ORANGE= "[0;33m"
    8 BLUE= "[1;34m"
    9 WHITE= "[00m"
     4BOLD    = "[0;1m"
     5RED     = "[1;31m"
     6GREEN   = "[0;32m"
     7ORANGE  = "[0;33m"
     8BLUE    = "[1;34m"
     9WHITE   = "[00m"
     10YELLOW  = "[1;33m"
     11
     12OFF     = "[0m"
     13BOLD    = "[1m"
     14REVERSE = "[7m"
     15
     16
     17define echo_PHASE
     18  @clear
     19  @echo $(BOLD)--------------------------------------------------------------------------------
     20  @echo Executing $(BLUE)$(1)$(WHITE) scripts
     21  @echo $(BOLD)--------------------------------------------------------------------------------
     22  #echo $(WHITE)
     23endef
     24
     25define echo_SU_request
     26  @echo $(BOLD)--------------------------------------------------------------------------------
     27  @echo $(BLUE)$@
     28  @echo $(WHITE)ROOT privilege is required to perform a number commands
     29  @echo sudo will request a password to all high privilege cmds to execute correctly
     30endef
     31
     32define echo_SULUSER_request
     33  @clear
     34  @echo $(BOLD)--------------------------------------------------------------------------------
     35  @echo $(BOLD)$(BLUE)$@
     36  @echo $(WHITE)You are going to log into the user account $(BOLD)$(YELLOW)$(LUSER)$(OFF)
     37  @echo su requires a password
     38endef
     39
     40define echo_CHROOT_request
     41  @clear
     42  @echo $(BOLD)--------------------------------------------------------------------------------
     43  @echo $(BOLD)$(BLUE)$@
     44  @echo $(WHITE)You are going to CHROOT into $(MOUNT_PT) $(BOLD)$(YELLOW)$(LUSER)$(OFF)
     45  @echo a password is required
     46endef
    1047
    1148define echo_message
    12   @echo $(BOLD)
    13   @echo --------------------------------------------------------------------------------
    14   @echo $(BOLD)$(1) target $(BLUE)$@$(BOLD)
    15   @echo $(WHITE)
     49  @echo $(BOLD)--------------------------------------------------------------------------------
     50  @echo $(BOLD)$(1) target $(BLUE)$@$(BOLD)$(WHITE)
    1651endef
    1752
     
    2459
    2560define remove_existing_dirs2
    26   @PKG_PATH=\`ls -t $(SRC)/$(1) | head -n1\` && \
     61  @PKG_PATH=`ls -t $(SRC)/$(1) | head -n1` && \
    2762  ROOT=`tar -tf $$PKG_PATH | head -n1 | sed -e 's@^./@@;s@/.*@@'` && \
    2863  rm -rf $(SRC)/$$ROOT && \
     
    4580  @touch  $@ && \
    4681  sleep .25 && \
    47   echo -e "\n\n "$(BOLD)Target $(BLUE)$@ $(BOLD)OK && \
     82  echo  -e "\n" $(BOLD)Target $(BLUE)$@ $(WHITE)$(BOLD)OK && \
    4883  echo --------------------------------------------------------------------------------$(WHITE)
    4984
     
    6398  @ROOT=`head -n1 $(SRC)/$(PKG_LST) | sed 's@^./@@;s@/.*@@'` && \
    6499  echo "export PKGDIR=$(SRC)/$$ROOT" > envars
     100endef
     101
     102define get_pkg_root_LUSER
     103  @ROOT=`head -n1 $(SRCSDIR)/$(PKG_LST) | sed 's@^./@@;s@/.*@@'` && \
     104  echo "export PKGDIR=$(SRCSDIR)/$$ROOT" > envars
    65105endef
    66106
  • common/progress_bar.sh

    r6f75d64 r045b2dc  
    3737
    3838  # initialize screen
    39 write_or_exit "${RESET_LINE}${TS_POSITION}0 min. 0 sec. "
     39write_or_exit "${RESET_LINE}${TS_POSITION}0 min. 0 sec"
    4040
    4141  # loop forever..
Note: See TracChangeset for help on using the changeset viewer.