Changeset 7d4cc81 for CLFS/master.sh


Ignore:
Timestamp:
09/13/2006 08:04:46 PM (18 years ago)
Author:
George Boudreau <georgeb@…>
Branches:
experimental
Children:
496f8f3
Parents:
786e86c
Message:

Changes made to allow the generated makefile to be run from any account (with sudo privs)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • CLFS/master.sh

    r786e86c r7d4cc81  
    172172        @chown \$(LUSER):\$(LGROUP) /home/\$(LUSER)/.bashrc && \\
    173173        touch envars && \\
     174        chmod -R a+wt \$(MOUNT_PT) && \\
    174175        chown -R \$(LUSER) \$(MOUNT_PT)/\$(SCRIPT_ROOT) && \\
    175176        touch \$@ && \\
     
    320321    # the names of the targets in the Makefile
    321322    case "${this_script}" in
    322       *util-linux) : ;;
    323       *kernfs) orphan_scripts="${orphan_scripts} ${this_script}"  ;;
    324       *)          chroottools="$chroottools $this_script"         ;;
     323      *util-linux) orphan_scripts="${orphan_scripts} ${this_script}" ;;
     324      *kernfs)     orphan_scripts="${orphan_scripts} ${this_script}"  ;;
     325      *)           chroottools="$chroottools $this_script"            ;;
    325326    esac   
    326327
     
    11821183cat << EOF
    11831184
    1184 all: mk_SETUP mk_CROSS mk_TEMP restore_luser_env mk_SYSTOOLS mk_FINAL mk_BOOTSCRIPT mk_BOOTABLE do-housekeeping
     1185all: ck_UID mk_SETUP mk_CROSS mk_TEMP mk_SUDO mk_SYSTOOLS mk_FINAL mk_BOOTSCRIPT mk_BOOTABLE
     1186        @sudo make do-housekeeping
    11851187        @\$(call echo_finished,$VERSION)
     1188
     1189ck_UID:
     1190        @if [ \`id -u\` = "0" ]; then \\
     1191          echo "--------------------------------------------------"; \\
     1192          echo "You cannot run this makefile from the root account"; \\
     1193          echo "--------------------------------------------------"; \\
     1194          exit 1; \\
     1195        fi
    11861196
    11871197#---------------AS ROOT
     
    11941204mk_CROSS: mk_SETUP
    11951205        @\$(call echo_PHASE,Cross Tool)
    1196         @( \$(SU_LUSER) "source .bashrc && cd \$(MOUNT_PT)/\$(SCRIPT_ROOT) && make CROSS" )
     1206        @(sudo \$(SU_LUSER) "source .bashrc && cd \$(MOUNT_PT)/\$(SCRIPT_ROOT) && make CROSS" )
    11971207        @touch \$@
    11981208
    11991209mk_TEMP: mk_CROSS
    12001210        @\$(call echo_PHASE,Temporary Tools)
    1201         @( \$(SU_LUSER) "source .bashrc && cd \$(MOUNT_PT)/\$(SCRIPT_ROOT) && make TEMP" )
    1202         @touch \$@
    1203 
     1211        @(sudo  \$(SU_LUSER) "source .bashrc && cd \$(MOUNT_PT)/\$(SCRIPT_ROOT) && make TEMP" )
     1212        @sudo make restore-luser-env
     1213        @touch \$@
     1214
     1215mk_SUDO: mk_TEMP
     1216        @sudo make SUDO
     1217        @touch \$@
    12041218#
    12051219# The convoluted piece of code below is necessary to provide 'make' with a valid shell in the
     
    12101224
    12111225#---------------CHROOT JAIL
    1212 mk_SYSTOOLS: mk_TEMP $orphan_scripts
     1226mk_SYSTOOLS: mk_SUDO
    12131227        @mkdir \$(MOUNT_PT)/bin && \\
    12141228        cd \$(MOUNT_PT)/bin && \\
     
    12461260cat << EOF
    12471261
    1248 all:    mk_SETUP mk_CROSS mk_TEMP mk_SYSTOOLS $orphan_scripts restore-luser-env
     1262all:    ck_UID mk_SETUP mk_CROSS mk_TEMP mk_SYSTOOLS mk_SUDO
     1263        @sudo make restore-luser-env
    12491264        @\$(call echo_boot_finished,$VERSION)
    12501265
    12511266makesys: mk_FINAL mk_BOOTSCRIPT mk_BOOTABLE
    12521267        @\$(call echo_finished,$VERSION)
     1268
     1269
     1270ck_UID:
     1271        @if [ \`id -u\` = "0" ]; then \\
     1272          echo "--------------------------------------------------"; \\
     1273          echo "You cannot run this makefile from the root account"; \\
     1274          echo "--------------------------------------------------"; \\
     1275          exit 1; \\
     1276        fi
    12531277
    12541278#---------------AS ROOT
     
    12631287mk_CROSS: mk_SETUP
    12641288        @\$(call echo_PHASE,Cross Tool)
    1265         @( \$(SU_LUSER) "source .bashrc && cd \$(MOUNT_PT)/\$(SCRIPT_ROOT) && make CROSS" )
     1289        @(sudo \$(SU_LUSER) "source .bashrc && cd \$(MOUNT_PT)/\$(SCRIPT_ROOT) && make CROSS" )
    12661290        @touch \$@
    12671291
    12681292mk_TEMP: mk_CROSS
    12691293        @\$(call echo_PHASE,Temporary Tools)
    1270         @( \$(SU_LUSER) "source .bashrc && cd \$(MOUNT_PT)/\$(SCRIPT_ROOT) && make TEMP" )
     1294        @(sudo \$(SU_LUSER) "source .bashrc && cd \$(MOUNT_PT)/\$(SCRIPT_ROOT) && make TEMP" )
    12711295        @touch \$@
    12721296
    12731297mk_SYSTOOLS: mk_TEMP
    12741298        @\$(call echo_PHASE,Minimal Boot system)
    1275         @( \$(SU_LUSER) "source .bashrc && cd \$(MOUNT_PT)/\$(SCRIPT_ROOT) && make SYSTOOLS" )
     1299        @(sudo \$(SU_LUSER) "source .bashrc && cd \$(MOUNT_PT)/\$(SCRIPT_ROOT) && make SYSTOOLS" )
     1300        @touch \$@
     1301
     1302mk_SUDO: mk_SYSTOOLS
     1303        @sudo make SUDO
    12761304        @touch \$@
    12771305
     
    13031331CROSS:      $cross_tools
    13041332TEMP:       $temptools
     1333SUDO:       $orphan_scripts
    13051334SYSTOOLS:   ${chroottools}${boottools}
    13061335FINAL:      $testsuitetools $basicsystem
Note: See TracChangeset for help on using the changeset viewer.