Changeset 50fb011 for common


Ignore:
Timestamp:
08/30/2006 02:01:04 AM (18 years ago)
Author:
George Boudreau <georgeb@…>
Branches:
experimental
Children:
08a4953
Parents:
01b6d52
Message:

First commit of changes to makefile generation. Makefile now does recursive calls to itself for the different phases..SETUP,LUSER,CHROOT,ROOT

Location:
common
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • common/common-functions

    r01b6d52 r50fb011  
    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 \$@ &
    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 \$@ &
    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..
     
    30269    *) echo "undefined progname $PROGNAME"; exit 1
    30370  esac
    304 
     71 
    30572(
    30673cat << EOF
     
    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
    358 #----------------------------------#
    359   local i=$1
    360   local PREV=$2
    361   case $i in
    362     iteration* ) local LOGFILE="\$@.log" ;;
    363              * ) local LOGFILE="\$@"     ;;
    364   esac
    365 (
    366 cat << EOF
    367 
    368 $i:  $PREV
    369         @\$(call echo_message, Building)
    370         @./progress_bar.sh \$@ &
    371         @echo -e "\n\`date\`\n\nKB: \`du -skx --exclude=${SCRIPT_ROOT} \$(MOUNT_PT)\`\n" >logs/$LOGFILE
    372 EOF
    373 ) >> $MKFILE.tmp
    374 }
    37580
    37681#----------------------------------#
     
    39398) >> $MKFILE.tmp
    39499}
     100
     101
     102#------------------------------------------------------#
     103#------------------------------------------------------#
     104
     105
     106#----------------------------------#
     107LUSER_wrt_target() {               # Create target and initialize log file
     108#----------------------------------#
     109  local i=$1
     110  local PREV=$2
     111(
     112cat << EOF
     113
     114$i:  $PREV
     115        @\$(call echo_message, Building)
     116        @./progress_bar.sh \$@ \$\$PPID &
     117        @echo -e "\n\`date\`\n\nKB: \`du -skx --exclude=\$(SCRIPT_ROOT) \$(MOUNT_PT)\`\n" >logs/\$@
     118EOF
     119) >> $MKFILE.tmp
     120}
     121
     122
     123#----------------------------------#
     124LUSER_wrt_RunAsUser() {            # Execute script inside time { }, footer to log file
     125#----------------------------------#
     126  local file=$1
     127
     128(
     129cat << EOF
     130        @( time { source ~/.bashrc && \$(CMDSDIR)/`dirname $file`/\$@ >> logs/\$@ 2>&1; } ) 2>> logs/\$@ && \\
     131        \$(PRT_DU) >> logs/\$@
     132EOF
     133) >> $MKFILE.tmp
     134}
     135
     136
     137#----------------------------------#
     138LUSER_wrt_unpack() {               # Unpack and set 'ROOT' var
     139#----------------------------------#
     140  local FILE=$1
     141  local optSAVE_PREVIOUS=$2
     142
     143  if [[ "${optSAVE_PREVIOUS}" != "1" ]]; then
     144(
     145cat << EOF
     146        @\$(call remove_existing_dirs,$FILE)
     147EOF
     148) >> $MKFILE.tmp
     149  fi
     150
     151(
     152cat << EOF
     153        @\$(call unpack,$FILE)
     154        @\$(call get_pkg_root_LUSER)
     155EOF
     156) >> $MKFILE.tmp
     157
     158}
     159
     160
     161#----------------------------------#
     162LUSER_wrt_CopyFstab() {            #
     163#----------------------------------#
     164(
     165cat << EOF
     166        @( time { cp -v \$(MOUNT_PT)/sources/fstab \$(MOUNT_PT)/etc/fstab >>logs/\$@ 2>&1 ; } ) 2>>logs/\$@
     167EOF
     168) >> $MKFILE.tmp
     169}
     170
     171
     172#----------------------------------#
     173LUSER_wrt_test_log() {             # Initialize testsuite log file
     174#----------------------------------#
     175  local TESTLOGFILE=$1
     176(
     177cat  << EOF
     178        @echo "export  TEST_LOG=$TESTLOGDIR/$TESTLOGFILE" >> envars && \\
     179        echo -e '\n\`date\`\n' >$TESTLOGDIR/$TESTLOGFILE
     180EOF
     181) >> $MKFILE.tmp
     182}
     183
     184
     185#----------------------------------#
     186LUSER_RemoveBuildDirs() {          #
     187#----------------------------------#
     188  local name=$1
     189(
     190cat << EOF
     191        @\$(call remove_build_dirs,$name)
     192EOF
     193) >> $MKFILE.tmp
     194}
     195
     196#-----------------------------------------------------------------#
     197#-----------------------------------------------------------------#
     198
     199#----------------------------------#
     200CHROOT_wrt_target() {              # Create target and initialize log file
     201#----------------------------------#
     202  local i=$1
     203  local PREV=$2
     204  case $i in
     205    iteration* ) local LOGFILE="${this_script}.log" ;;
     206             * ) local LOGFILE="${this_script}"      ;;
     207  esac
     208(
     209cat << EOF
     210
     211$i:  $PREV
     212        @\$(call echo_message, Building)
     213        @./progress_bar.sh \$@ \$\$PPID &
     214        @echo -e "\n\`date\`\n\nKB: \`du -skx --exclude=\$(SCRIPT_ROOT) / \`\n" >logs/$LOGFILE
     215EOF
     216) >> $MKFILE.tmp
     217}
     218
     219
     220#----------------------------------#
     221CHROOT_Unpack() {                  #
     222#----------------------------------#
     223  local FILE=$1
     224  local optSAVE_PREVIOUS=$2
     225
     226  if [ "${optSAVE_PREVIOUS}" != "1" ]; then
     227(
     228cat << EOF
     229        @\$(call remove_existing_dirs2,$FILE)
     230EOF
     231) >> $MKFILE.tmp
     232  fi
     233(
     234cat  << EOF
     235        @\$(call unpack3,$FILE)
     236        @\$(call get_pkg_root2)
     237EOF
     238) >> $MKFILE.tmp
     239}
     240
     241
     242#----------------------------------#
     243CHROOT_wrt_test_log() {            #
     244#----------------------------------#
     245  local TESTLOGFILE=$1
     246(
     247cat  << EOF
     248        @echo "export TEST_LOG=/\$(SCRIPT_ROOT)/test-logs/$TESTLOGFILE" >> envars && \\
     249        echo -e "\n\`date\`\n" >test-logs/$TESTLOGFILE
     250EOF
     251) >> $MKFILE.tmp
     252}
     253
     254
     255#----------------------------------#
     256CHROOT_wrt_RunAsRoot() {           #
     257#----------------------------------#
     258  local file=$1
     259(
     260cat << EOF
     261        @( time { source envars && \$(crCMDSDIR)/$file >>logs/$this_script 2>&1 ; } ) 2>>logs/$this_script && \\
     262        \$(PRT_DU_CR) >>logs/$this_script
     263EOF
     264) >> $MKFILE.tmp
     265
     266}
     267
     268
     269#----------------------------------#
     270CHROOT_wrt_CopyFstab() {           #
     271#----------------------------------#
     272(
     273cat << EOF
     274        @( time { cp -v /sources/fstab /etc/fstab >>logs/${this_script} 2>&1 ; } ) 2>>logs/${this_script}
     275EOF
     276) >> $MKFILE.tmp
     277}
     278
     279
     280#----------------------------------#
     281CHROOT_wrt_RemoveBuildDirs() {     #
     282#----------------------------------#
     283  local name=$1
     284(
     285cat << EOF
     286        @\$(call remove_build_dirs2,$name)
     287EOF
     288) >> $MKFILE.tmp
     289}
     290
     291
     292unset wrt_touch
     293#----------------------------------#
     294wrt_touch() {                      #
     295#----------------------------------#
     296(
     297cat << EOF
     298        @\$(call housekeeping)
     299EOF
     300) >> $MKFILE.tmp
     301}
     302
     303#------------------------------------------------------#
     304#        END Makefile scripting functions              #
     305#------------------------------------------------------#
    395306
    396307
     
    590501  # Done. Moving on...
    591502  get_sources
     503
    592504}
    593505
     
    801713
    802714  if [[ "${BLFS_TOOL}" = "y" ]]; then
    803     add_blfs_deps_urls
    804   fi
     715    add_blfs_deps_urls
     716  fi
     717
    805718}
    806719
  • common/func_compare.sh

    r01b6d52 r50fb011  
    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"
  • common/makefile-functions

    r01b6d52 r50fb011  
    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_SU_request
     18  @echo $(BOLD)--------------------------------------------------------------------------------
     19  @echo $(BLUE)$@
     20  @echo $(WHITE)ROOT privilege is required to perform a number commands
     21  @echo sudo will request a password to all high privelege cmds to execut correctly
     22endef
     23
     24define echo_SULUSER_request
     25  @clear
     26  @echo $(BOLD)--------------------------------------------------------------------------------
     27  @echo $(BOLD)$(BLUE)$@
     28  @echo $(WHITE)You are going to log into the user account $(BOLD)$(YELLOW)$(LUSER)$(OFF)
     29  @echo su requires a password
     30endef
     31
     32define echo_CHROOT_request
     33  @clear
     34  @echo $(BOLD)--------------------------------------------------------------------------------
     35  @echo $(BOLD)$(BLUE)$@
     36  @echo $(WHITE)You are going to CHROOT into $(MOUNT_PT) $(BOLD)$(YELLOW)$(LUSER)$(OFF)
     37  @echo a password is required
     38endef
    1039
    1140define echo_message
    12   @echo $(BOLD)
    13   @echo --------------------------------------------------------------------------------
    14   @echo $(BOLD)$(1) target $(BLUE)$@$(BOLD)
    15   @echo $(WHITE)
     41  @echo $(BOLD)--------------------------------------------------------------------------------
     42  @echo $(BOLD)$(1) target $(BLUE)$@$(BOLD)$(WHITE)
    1643endef
    1744
     
    2451
    2552define remove_existing_dirs2
    26   @PKG_PATH=\`ls -t $(SRC)/$(1) | head -n1\` && \
     53  @PKG_PATH=`ls -t $(SRC)/$(1) | head -n1` && \
    2754  ROOT=`tar -tf $$PKG_PATH | head -n1 | sed -e 's@^./@@;s@/.*@@'` && \
    2855  rm -rf $(SRC)/$$ROOT && \
     
    4572  @touch  $@ && \
    4673  sleep .25 && \
    47   echo -e "\n\n "$(BOLD)Target $(BLUE)$@ $(BOLD)OK && \
     74  echo  -e "\n" $(BOLD)Target $(BLUE)$@ $(WHITE)$(BOLD)OK && \
    4875  echo --------------------------------------------------------------------------------$(WHITE)
    4976
     
    6390  @ROOT=`head -n1 $(SRC)/$(PKG_LST) | sed 's@^./@@;s@/.*@@'` && \
    6491  echo "export PKGDIR=$(SRC)/$$ROOT" > envars
     92endef
     93
     94define get_pkg_root_LUSER
     95  @ROOT=`head -n1 $(SRCSDIR)/$(PKG_LST) | sed 's@^./@@;s@/.*@@'` && \
     96  echo "export PKGDIR=$(SRCSDIR)/$$ROOT" > envars
    6597endef
    6698
  • common/progress_bar.sh

    r01b6d52 r50fb011  
    88[[ -z $1 ]] && exit
    99TARGET=$1  # Remember the target build we are looking for
     10MAKE_PPID=$2
    1011
    1112declare -r  CSI=$'\e['  # DEC terminology, Control Sequence Introducer
     
    2223declare -i  PREV_SEC=0
    2324
    24 makePID=$(fuser -v . 2>&1 | grep make)
    25 makePID=$(echo $makePID | cut -d" " -f2)
    26 
    2725write_or_exit() {
    2826    # make has been killed or failed or run to completion, leave
    29   [[ ! -e /proc/$makePID ]] && echo -n "${CURSOR_ON}" && exit
     27  [[ ! -e /proc/${MAKE_PPID} ]] && echo -n "${CURSOR_ON}" && exit
    3028
    3129    # Target build complete, leave.
Note: See TracChangeset for help on using the changeset viewer.