diff --git a/Documentation/Developers/HACKING-HOWTO b/Documentation/Developers/HACKING-HOWTO index 9061a0708..e868f8d6b 100644 --- a/Documentation/Developers/HACKING-HOWTO +++ b/Documentation/Developers/HACKING-HOWTO @@ -732,9 +732,9 @@ Packages.new file and renaming it to Packages. E.g.: if [ $ROCKCFG_TRG_GENERIC_BUILDSF != 1 ] ; then awk '$4 != "sourceforge" { print }' \ - < config/$config/packages \ - > config/$config/packages.new - mv config/$config/packages.new config/$config/packages + < config/$config.$swpid/packages \ + > config/$config.$swpid/packages.new + mv config/$config.$swpid/packages.new config/$config.$swpid/packages fi The packages file is blank-separated and easy to parse with grep, sed and awk. @@ -766,8 +766,8 @@ Because of the 'counter' field, categories and flags are always pre- and postfixed with a ' '. So you can e.g. easy remove all not dietlibc-ready packages with a command like: - grep ' DIETLIBC ' < config/$config/packages \ - > config/$config/packages.new + grep ' DIETLIBC ' < config/$config.$swpid/packages \ + > config/$config.$swpid/packages.new Read the existing config.in files for details. diff --git a/Documentation/i18n/Spanish/HACKING-HOWTO.es b/Documentation/i18n/Spanish/HACKING-HOWTO.es index 32ebe92cb..8d2c5fe6b 100644 --- a/Documentation/i18n/Spanish/HACKING-HOWTO.es +++ b/Documentation/i18n/Spanish/HACKING-HOWTO.es @@ -762,9 +762,9 @@ ejemplo: if [ $ROCKCFG_TRG_GENERIC_BUILDSF != 1 ] ; then awk '$4 != "sourceforge" { print }' \ - < config/$config/packages \ - > config/$config/packages.new - mv config/$config/packages.new config/$config/packages + < config/$config.$swpid/packages \ + > config/$config.$swpid/packages.new + mv config/$config.$swpid/packages.new config/$config.$swpid/packages fi EL fichero de paquetes esta separado por blancos y es facil de analizar con @@ -800,8 +800,8 @@ C precedidas de un ' ', puedes de forma sencilla borrar todos los paquetes menos dietlibc-ready con un comando como: - grep ' DIETLIBC ' < config/$config/packages \ - > config/$config/packages.new + grep ' DIETLIBC ' < config/$config.$swpid/packages \ + > config/$config.$swpid/packages.new Leete los ficheros config.in que hay para más detalles. diff --git a/misc/jailing/config.in b/misc/jailing/config.in index 487db3525..5ce53180d 100644 --- a/misc/jailing/config.in +++ b/misc/jailing/config.in @@ -32,7 +32,7 @@ menu_begin MENU_JAILING 'Chroot-Jailing Options' fi comment "-- Packages --" for y in `grep '^X.* JAIL ' \ - config/$config/packages | cut -d' ' -f5` + config/$config.$swpid/packages | cut -d' ' -f5` do bool "Enable jailing in package $y" \ ROCKCFG_JAILING_$y 1 diff --git a/package/avm/bootsplash/config.in b/package/avm/bootsplash/config.in index 85e53b711..b2934126b 100644 --- a/package/avm/bootsplash/config.in +++ b/package/avm/bootsplash/config.in @@ -29,15 +29,15 @@ then if [ $ROCKCFG_KERNEL_BOOTSPLASH == '1' ]; then for x in CONFIG_FBCON_SPLASHSCREEN ; do - grep -s -v $x config/$config/linux.cfg > config/$config/linux.cfg.$$ - echo "$x=y" >> config/$config/linux.cfg.$$ - mv config/$config/linux.cfg.$$ config/$config/linux.cfg + grep -s -v $x config/$config.$swpid/linux.cfg > config/$config.$swpid/linux.cfg.$$ + echo "$x=y" >> config/$config.$swpid/linux.cfg.$$ + mv config/$config.$swpid/linux.cfg.$$ config/$config.$swpid/linux.cfg done else for x in CONFIG_FBCON_SPLASHSCREEN ; do - grep -s -v $x config/$config/linux.cfg > config/$config/linux.cfg.$$ - # echo "$x=n" >> config/$config/linux.cfg.$$ - mv config/$config/linux.cfg.$$ config/$config/linux.cfg + grep -s -v $x config/$config.$swpid/linux.cfg > config/$config.$swpid/linux.cfg.$$ + # echo "$x=n" >> config/$config.$swpid/linux.cfg.$$ + mv config/$config.$swpid/linux.cfg.$$ config/$config.$swpid/linux.cfg done fi menu_end diff --git a/package/base/dietlibc/config-350.in b/package/base/dietlibc/config-350.in index e8d708519..106fbe252 100644 --- a/package/base/dietlibc/config-350.in +++ b/package/base/dietlibc/config-350.in @@ -36,7 +36,7 @@ then if [ $ROCKCFG_DIETLIBC_ALL = 0 ]; then block_begin 2 pkgout - for i in `grep " DIETLIBC " config/$config/packages | \ + for i in `grep " DIETLIBC " config/$config.$swpid/packages | \ cut -f5 -d" " | sort` do x="${i//-/_}" ; x="${x//+/_}" diff --git a/package/base/linux/config-500.in b/package/base/linux/config-500.in index 98e9f7326..a857f32e6 100644 --- a/package/base/linux/config-500.in +++ b/package/base/linux/config-500.in @@ -96,13 +96,13 @@ then if [ "$ROCKCFG_PKG_LINUX_CUSTCONFIG" = 1 ] ; then block_begin 3 comment 'The kernel config is stored in:' - comment "config/$config/linux.cfg" + comment "config/$config.$swpid/linux.cfg" editfile ROCKCFG_PKG_LINUX_CUSTCONFIG_FILE \ - config/$config/linux.cfg \ + config/$config.$swpid/linux.cfg \ 'Linux kernel build config settings' block_end else - rm -f config/$config/linux.cfg + rm -f config/$config.$swpid/linux.cfg fi menu_end diff --git a/package/base/linux/linux.conf b/package/base/linux/linux.conf index 75ac1d16f..b1dcc39ec 100644 --- a/package/base/linux/linux.conf +++ b/package/base/linux/linux.conf @@ -142,7 +142,7 @@ auto_config () cp .config .config.3 # merge various text/plain config files - for x in $base/config/$config/linux.cfg \ + for x in $base/config/$config.$swpid/linux.cfg \ $base/target/$target/kernel.conf ; do if [ -f $x ] ; then echo " merging: '$x'" @@ -253,9 +253,9 @@ lx_config () fi if [ "$ROCKCFG_PKG_LINUX_CONFIG_STYLE" = none ] ; then - echo "Using \$base/config/\$config/linux.cfg." + echo "Using \$base/config/\$config.$swpid/linux.cfg." echo "Since automatic generation is disabled ..." - cp -v $base/config/$config/linux.cfg .config + cp -v $base/config/$config.$swpid/linux.cfg .config else echo "Automatically creating default configuration ...." auto_config diff --git a/package/base/lprng/config.in b/package/base/lprng/config.in index 38907db38..8855c366f 100644 --- a/package/base/lprng/config.in +++ b/package/base/lprng/config.in @@ -24,7 +24,7 @@ menu_begin MENU_PRINTER 'Selecting Print System' pkgout; list='' while read pkg ver ; do list="$list $pkg Use_${pkg}_($ver)_as_standard_printer" - done < <(grep "^X .* PRINTER " config/$config/packages | cut -f5,6 -d' ') + done < <(grep "^X .* PRINTER " config/$config.$swpid/packages | cut -f5,6 -d' ') list="$list none Do_not_configure_a_default_printer" choice ROCKCFG_DEFAULT_PRINTER none $list menu_end diff --git a/package/base/sendmail/config.in b/package/base/sendmail/config.in index a9a061111..679e4437a 100644 --- a/package/base/sendmail/config.in +++ b/package/base/sendmail/config.in @@ -27,7 +27,7 @@ menu_begin MENU_MAILER 'Selecting MTA (mail transfer agent)' default=${default:-$pkg} [ $pkg = sendmail ] && default=sendmail list="$list $pkg Use_${pkg}_($ver)_as_standard_MTA" - done < <(grep "^X .* MTA " config/$config/packages | cut -f5,6 -d' ') + done < <(grep "^X .* MTA " config/$config.$swpid/packages | cut -f5,6 -d' ') default=${default:-none} list="$list none Do_not_configure_a_default_MTA" choice ROCKCFG_DEFAULT_MTA $default $list diff --git a/package/mnemoc/boehm-gc/subconfig-libs.in b/package/mnemoc/boehm-gc/subconfig-libs.in index 3db418466..21b46ae64 100644 --- a/package/mnemoc/boehm-gc/subconfig-libs.in +++ b/package/mnemoc/boehm-gc/subconfig-libs.in @@ -28,6 +28,6 @@ then while read x; do bool "Use it in Objective-C (${x#gcc=})" ROCKCFG_PKG_BOEHMGC_OBJC${x#gcc=gcc} 0 bool "Use it in Java (${x#gcc=})" ROCKCFG_PKG_BOEHMGC_JAVA${x#gcc=gcc} 0 - done < <( grep '^X .* gcc=' config/$config/packages | grep -v cross | cut -d' ' -f 5 ) + done < <( grep '^X .* gcc=' config/$config.$swpid/packages | grep -v cross | cut -d' ' -f 5 ) fi diff --git a/package/rene/apache/config.in b/package/rene/apache/config.in index 8d371aa25..38b06a187 100644 --- a/package/rene/apache/config.in +++ b/package/rene/apache/config.in @@ -36,7 +36,7 @@ then default="$pkg" fi list="$list $pkg Use_${pkg}_($ver)_as_standard_DB" - done < <(grep "^X .* bdb[0-9 ]*" config/$config/packages | \ + done < <(grep "^X .* bdb[0-9 ]*" config/$config.$swpid/packages | \ cut -f5,6 -d' ' | sort) if [ "$list" ] ; then diff --git a/scripts/Config b/scripts/Config index ce42d9844..cca364386 100755 --- a/scripts/Config +++ b/scripts/Config @@ -77,10 +77,11 @@ if [ $delete_mode = 1 ] ; then exit $? fi -if [ $do_config_cycle = 0 ] ; then - - rm -f config.data config.dialog config.out config.help - rm -f config.pcache.data config.pcache.cmd +if [ $do_config_cycle = 0 ] +then + export swpid=swp$$ + rm -f CONFIg.data.$swpid config.dialog.$swpid config.out.$swpid config.help.$swpid + rm -f config.pcache.data.$swpid config.pcache.cmd.$swpid rm -f rockdialog.scrltmp # src/rockdialog.bin mkdir -p src @@ -88,12 +89,12 @@ if [ $do_config_cycle = 0 ] ; then echo "Creating rockdialog tool." command="gcc misc/rockdialog/*.c ` `-Imisc/rockdialog -lncurses -o src/rockdialog.bin" - echo "$command" ; eval "$command.$$" - mv src/rockdialog.bin.$$ src/rockdialog.bin + echo "$command" ; eval "$command.$swpid" + mv src/rockdialog.bin.$swpid src/rockdialog.bin fi echo "Creating configuration script." - cat << EOT > src/rockconfig.awk.$$ + cat << EOT > src/rockconfig.awk.$swpid #!/usr/bin/awk -f FNR == 1 { @@ -117,9 +118,9 @@ END { \$1 == "#" { next; } { print; } EOT - mv src/rockconfig.awk.$$ src/rockconfig.awk - awk -f src/rockconfig.awk scripts/config.in > src/rockconfig.in.$$ 2> /dev/null - mv src/rockconfig.in.$$ src/rockconfig.in + mv src/rockconfig.awk.$swpid src/rockconfig.awk + awk -f src/rockconfig.awk scripts/config.in > src/rockconfig.in.$swpid 2> /dev/null + mv src/rockconfig.in.$swpid src/rockconfig.in echo "Running ROCK Linux $rockver configuration ..." while "$0" -cfg $config $oldconfig $profile $nobashmod -cycle ; do : ; done @@ -176,24 +177,27 @@ mkdir -p config/$config touch config/$config/config touch config/$config/packages +rm -rf config/$config.$swpid +cp -r config/$config config/$config.$swpid + configtitle="$(printf ' %-50s %6s active packages ]' \ "ROCK Linux $rockver Configuration - $config" \ "[ $(echo `grep '^X' config/$config/packages | wc -l`)" )" bprof main stop -. ./config/$config/config -if [ -f config/$config/config_usr ]; then +. ./config/$config.$swpid/config +if [ -f config/$config.$swpid/config_usr ]; then nousrconfig=0 - . ./config/$config/config_usr + . ./config/$config.$swpid/config_usr else nousrconfig=1 fi bprof main start -rm -f config.dialog config.data config.help -touch config.dialog config.data config.help -echo -e "#\n# ROCK Linux $rockver Config File\n#" > config/$config/config -echo -e "#\n# ROCK Linux $rockver User Config File\n#" > config/$config/config_usr +rm -f config.dialog.$swpid config.data.$swpid config.help.$swpid +touch config.dialog.$swpid config.data.$swpid config.help.$swpid +echo -e "#\n# ROCK Linux $rockver Config File\n#" > config/$config.$swpid/config +echo -e "#\n# ROCK Linux $rockver User Config File\n#" > config/$config.$swpid/config_usr spacer="" ; expert=0 ; tabspace="5" ; tabspace_list="" commentnr=0 ; editfilenr=0 @@ -202,28 +206,28 @@ cmd="./scripts/Create-PkgList" [ "$ROCKCFG_DISABLE_BROKEN" = 1 ] && cmd="$cmd -nobroken" cmd="$cmd $ROCKCFG_ARCH" -if [ "$cmd" != "`cat config.pcache.cmd 2> /dev/null`" ] ; then - eval "$cmd" | tee config.pcache.data > config/$config/packages - echo "$cmd" > config.pcache.cmd +if [ "$cmd" != "`cat config.pcache.cmd.$swpid 2> /dev/null`" ] ; then + eval "$cmd" | tee config.pcache.data.$swpid > config/$config.$swpid/packages + echo "$cmd" > config.pcache.cmd.$swpid else - cat config.pcache.data > config/$config/packages + cat config.pcache.data.$swpid > config/$config.$swpid/packages fi bprof mkpkglist stop export ROCKCFG_ID="$rockver"; pkgin; . src/rockconfig.in; pkgout -echo "export ROCKCFG_ID='$ROCKCFG_ID'" >> config/$config/config -rm -f config/$config/*.tmp +echo "export ROCKCFG_ID='$ROCKCFG_ID'" >> config/$config.$swpid/config +rm -f config/$config.$swpid/*.tmp -cut -f1,2,4,5,8- -d' ' config/$config/packages | sed 's, [^ ]*$,,' | \ -tr ' ' '\t' | expand -t2,15,35, > config/$config/packages.txt +cut -f1,2,4,5,8- -d' ' config/$config.$swpid/packages | sed 's, [^ ]*$,,' | \ +tr ' ' '\t' | expand -t2,15,35, > config/$config.$swpid/packages.txt for x in ${!ROCKCFGUSR_*}; do eval "echo \"$x='\$$x'\"" -done >> config/$config/config_usr +done >> config/$config.$swpid/config_usr configtitle="$(printf ' %-50s %6s active packages ]' \ "ROCK Linux $rockver Configuration - $config" \ - "[ $(echo `grep '^X' config/$config/packages | wc -l`)" )" + "[ $(echo `grep '^X' config/$config.$swpid/packages | wc -l`)" )" bprof main stop @@ -232,8 +236,8 @@ if [ -z "$oldconfig" ] ; then --backtitle '$configtitle' \ --menu 'Arrow keys navigate the menu. Press to activate menu items. Highlighted letters are hotkeys.' \ $(( $lines - 4 )) $(( $columns - 5 )) $(( $lines - 12 )) \ - '$current' `tr '\n' ' ' < config.dialog`" 2> config.out - returncode=$? ; item="`cat config.out`" + '$current' `tr '\n' ' ' < config.dialog.$swpid`" 2> config.out.$swpid + returncode=$? ; item="`cat config.out.$swpid`" else returncode=1 fi @@ -242,25 +246,37 @@ bprof main start [ "$returncode" = 1 -a "$menu_back" -ne -1 ] && returncode="menu-back" +writeback() { + for x in $( ls config/$config.$swpid ); do + cp config/$config.$swpid/$x config/$config.$swpid/__tmp + mv config/$config.$swpid/__tmp config/$config/$x + done + for x in $( ls config/$config ); do + [ -e config/$config.$swpid/$x ] || rm -f config/$config/$x + done + rm -rf config/$config.$swpid +} + case "$returncode" in 0|6) - command="`grep "^$item " config.data | cut -f2-`" + command="`grep "^$item " config.data.$swpid | cut -f2-`" { echo -e "\n# Remember menu position:\ncurrent='$item'" echo -e "\n# Remember sub-menu:\nmenu_current='$menu_current'" echo -e "\n# Execute this config command:\n$command" - } >> config/$config/config_usr + } >> config/$config.$swpid/config_usr ;; menu-back) { echo -e "\n# New menu position:\ncurrent='$menu_backpos'" echo -e "\n# New sub-menu:\nmenu_current='$menu_back'" - } >> config/$config/config_usr + } >> config/$config.$swpid/config_usr ;; 1|255) - rm -f config.data config.dialog config.out config.help - rm -f config.pcache.data config.pcache.cmd + rm -f config.data.$swpid config.dialog.$swpid config.out.$swpid config.help.$swpid + rm -f config.pcache.data.$swpid config.pcache.cmd.$swpid rm -f rockdialog.scrltmp # src/rockdialog.bin echo "New config written to config/$config/*." echo "Cleaning up. Configuration finished." + writeback bprof main stop bprof_print exit 1 ;; @@ -269,24 +285,27 @@ case "$returncode" in item=$(echo $item | cut -f1 -d' ') # dialog(1) bug? { echo -e "\n# Remember menu position:\ncurrent='$item'" echo -e "\n# Remember sub-menu:\nmenu_current='$menu_current'" - } >> config/$config/config_usr + } >> config/$config.$swpid/config_usr - get_help $item > config.dialog + get_help $item > config.dialog.$swpid bprof main stop ./src/rockdialog.bin --title 'ROCK Linux Config - Help' \ --backtitle "ROCK Linux $rockver Configuration" \ - --textbox config.dialog \ + --textbox config.dialog.$swpid \ $(( $lines - 4 )) $(( $columns - 5 )) bprof main start ;; *) echo "unknown returncode: $returncode" + writeback bprof main stop bprof_print exit 1 ;; esac +writeback + bprof main stop bprof_print diff --git a/scripts/config.func b/scripts/config.func index 57ab4909a..ade1291be 100644 --- a/scripts/config.func +++ b/scripts/config.func @@ -34,7 +34,7 @@ var_insert() { eval "$1=\"$3\$$1\"" } -# Functions for working with config/$config/packages +# Functions for working with config/$config.$swpid/packages # # pkgenable package-list # pkgdisable package-list @@ -47,8 +47,8 @@ then pkgin() { :; } pkgout() { :; } __pkgfilter() { - "$@" < config/$config/packages > config/$config/packages.new - mv config/$config/packages.new config/$config/packages + "$@" < config/$config.$swpid/packages > config/$config.$swpid/packages.new + mv config/$config.$swpid/packages.new config/$config.$swpid/packages } pkgfilter() { bprof pkgfilter start @@ -92,18 +92,18 @@ then pkgcheck() { bprof pkgcheck start local pattern="$1"; pattern="${pattern//+/\\+}" - egrep -q "^$2.*[ =]($pattern) " config/$config/packages; local ret=$? + egrep -q "^$2.*[ =]($pattern) " config/$config.$swpid/packages; local ret=$? bprof pkgcheck stop return $ret } else - pkgin() { cfghlp pkg_in config/$config/packages; } - pkgout() { cfghlp pkg_out config/$config/packages ; } + pkgin() { cfghlp pkg_in config/$config.$swpid/packages; } + pkgout() { cfghlp pkg_out config/$config.$swpid/packages ; } pkgfilter() { bprof pkgfilter start - cfghlp pkg_out config/$config/packages.tmp - "$@" < config/$config/packages.tmp > config/$config/packages - cfghlp pkg_in config/$config/packages + cfghlp pkg_out config/$config.$swpid/packages.tmp + "$@" < config/$config.$swpid/packages.tmp > config/$config.$swpid/packages + cfghlp pkg_in config/$config.$swpid/packages bprof pkgfilter stop } pkgenable() { @@ -171,7 +171,7 @@ comment() { if [ $ROCKCFG_EXPERT -eq 1 -o $expert -eq 0 ] && \ [ $menu_current = $menu_this ] ; then commentnr=$(( $commentnr + 1 )) - echo "COMMENT_$commentnr '$spacer$1'" >> config.dialog + echo "COMMENT_$commentnr '$spacer$1'" >> config.dialog.$swpid # Hi, esden here, very ill stuff here I save the help # strings here to a temporary file named config.help @@ -188,7 +188,7 @@ comment_id() { bprof comment_id start if [ $ROCKCFG_EXPERT -eq 1 -o $expert -eq 0 ] && [ $menu_current = $menu_this ] ; then - echo "$2 '$spacer$1'" >> config.dialog + echo "$2 '$spacer$1'" >> config.dialog.$swpid # If you do not know what mighty esden # is doing here see comment() @@ -204,7 +204,7 @@ const() { local q="'" local v="${2//$q/$q\\$q$q}" eval "$1=\"\$2\"" - echo "export $1='$v'" >> config/$config/config + echo "export $1='$v'" >> config/$config.$swpid/config bprof const stop } @@ -243,7 +243,7 @@ set_data() { eval "$1=\"\$data\"" item="$1" - echo "export $1='${data//$q/$q\\$q$q}'" >> config/$config/config + echo "export $1='${data//$q/$q\\$q$q}'" >> config/$config.$swpid/config bprof set_data stop } @@ -267,18 +267,18 @@ choice() { ) if [ "$fallback_hack" = 1 ]; then obegin="?"; oend="?"; data="$dfl_data"; eval "$1=\"\$data\"" - echo "export $1='${data//$q/$q\\$q$q}'" >> config/$config/config + echo "export $1='${data//$q/$q\\$q$q}'" >> config/$config.$swpid/config fi if [ "$menumode" -gt 0 -a $menu_current = $menu_this ] ; then { echo -en "$item\tchoice_action '$usr_name' '$usr_data'" ; shift ; shift echo -n " '' 'Reset_this_switch_to_default_value'" - for x ; do echo -n " '$x'" ; done ; echo ; } >> config.data + for x ; do echo -n " '$x'" ; done ; echo ; } >> config.data.$swpid xdata="$obegin$data$oend" while [ "$1" -a "$1" != "$data" ] ; do shift ; shift ; done - printf "'$item' '$spacer%-${tabspace}s ${2//_/ }'\n" "$xdata" >> config.dialog + printf "'$item' '$spacer%-${tabspace}s ${2//_/ }'\n" "$xdata" >> config.dialog.$swpid fi bprof choice stop @@ -315,13 +315,13 @@ text() { if [ "$menumode" -gt 0 -a $menu_current = $menu_this ] ; then echo -e "$2\ttext_action '$1' '$usr_name'" \ - "'${data//$q/$q\\$q$q}'" >> config.data + "'${data//$q/$q\\$q$q}'" >> config.data.$swpid xdata="${obegin}$( printf "%-${tabspace}s" \ "$(echo $data | cut -c1-20)")${oend}" printf "'$2' '$spacer%s $1'\n" \ - "${xdata//$q/$q\\$q$q}" >> config.dialog + "${xdata//$q/$q\\$q$q}" >> config.dialog.$swpid # If you do not know what mighty esden # is doin here see comment() @@ -346,9 +346,9 @@ bool() { if [ "$menumode" -gt 0 -a $menu_current = $menu_this ] ; then if [ $data -eq 0 ] ; then x="${obegin} ${oend}" ; else x="${obegin}*${oend}" ; fi - echo -e "$2\tbool_action '$usr_name' '$usr_data'" >> config.data + echo -e "$2\tbool_action '$usr_name' '$usr_data'" >> config.data.$swpid - printf "$2 '$spacer%-${tabspace}s ${1//_/ }'\n" "$x" >> config.dialog + printf "$2 '$spacer%-${tabspace}s ${1//_/ }'\n" "$x" >> config.dialog.$swpid # If you do not know what mighty esden is doin here see comment() if [ "$4" != "" ] ; then @@ -379,10 +379,10 @@ editfile() { line="${line//$q/$q\\$q$q}" if [ $menu_current = $menu_this ] ; then printf "$1:${editfilenr} '$spacer%-${tabspace}s %s'\n" \ - `printf "%03d:" $line_nr` "$line" >> config.dialog + `printf "%03d:" $line_nr` "$line" >> config.dialog.$swpid echo -e "$1:${editfilenr}\teditfile_action $2" \ - "$line_nr '$3'" >> config.data + "$line_nr '$3'" >> config.data.$swpid fi editfilenr=$(( $editfilenr + 1 )) @@ -391,10 +391,10 @@ editfile() { if [ $menu_current = $menu_this ] ; then printf "$1:${editfilenr} '$spacer%-${tabspace}s %s'\n" \ - `printf "%03d:" $line_nr` "" >> config.dialog + `printf "%03d:" $line_nr` "" >> config.dialog.$swpid echo -e "$1:${editfilenr}\teditfile_action $2" \ - "$line_nr '$3'" >> config.data + "$line_nr '$3'" >> config.data.$swpid fi editfilenr=$(( $editfilenr + 1 )) @@ -428,8 +428,8 @@ startprog() { if [ $ROCKCFG_EXPERT -eq 1 -o $expert -eq 0 ] && [ $menu_current = $menu_this ] ; then printf "$1 '$spacer%-${tabspace}s %s'\n" \ - "-->" "$2" >> config.dialog - echo -e "$1\t$3" >> config.data + "-->" "$2" >> config.dialog.$swpid + echo -e "$1\t$3" >> config.data.$swpid fi bprof startprog stop } @@ -469,13 +469,13 @@ menu_begin() { if [ $ROCKCFG_EXPERT -eq 1 -o $expert -eq 0 ] && [ $menu_current = $menu_this ] ; then printf "$1 '$spacer%-${tabspace}s %s'\n" \ - "===>" "$2" >> config.dialog - echo -e "$1\tmenu_current=$menu_counter" >> config.data + "===>" "$2" >> config.dialog.$swpid + echo -e "$1\tmenu_current=$menu_counter" >> config.data.$swpid fi if [ $ROCKCFG_EXPERT -eq 1 -o $expert -eq 0 ] && [ $menu_current = $menu_counter ] ; then - echo "$1 '===> $2'" >> config.dialog - echo -e "$1\tmenu_current=$menu_this" >> config.data + echo "$1 '===> $2'" >> config.dialog.$swpid + echo -e "$1\tmenu_current=$menu_this" >> config.data.$swpid fi if [ $menu_current = $menu_counter ] ; then diff --git a/scripts/config.in b/scripts/config.in index 70ec25e27..4237d950d 100644 --- a/scripts/config.in +++ b/scripts/config.in @@ -212,22 +212,22 @@ expert_begin menu_begin MENU_PKGSEL_RULES 'Edit package selection rules' # Active error checking: explicitly show an annoying popup filter=`printf "^[-xXoO][ \t]\+[a-zA-Z0-9_/*+.-]"` - if grep -lvq "$filter" config/$config/pkgsel 2> /dev/null && \ + if grep -lvq "$filter" config/$config.$swpid/pkgsel 2> /dev/null && \ ./src/rockdialog.bin --title "Build Config" --yesno \ "Invalid line(s) in package rule set. Remove?" 5 50 then - grep "$filter" < config/$config/pkgsel \ - > config/$config/pkgsel.new - mv config/$config/pkgsel.new config/$config/pkgsel + grep "$filter" < config/$config.$swpid/pkgsel \ + > config/$config.$swpid/pkgsel.new + mv config/$config.$swpid/pkgsel.new config/$config.$swpid/pkgsel fi unset filter - editfile ROCKCFG_PKGSEL_FILE config/$config/pkgsel \ + editfile ROCKCFG_PKGSEL_FILE config/$config.$swpid/pkgsel \ 'Package selection rules' # Create an awk program from the list of package selection rules stored in -# config/$config/pkgsel which is applied to the list of packages stored in -# config/$config/packages. +# config/$config.$swpid/pkgsel which is applied to the list of packages stored in +# config/$config.$swpid/packages. # Syntax for package selection rules is: # # is a single character: x or X enables the packages matching @@ -242,7 +242,7 @@ expert_begin # such a will duplicate the line of the and substitute its # package name with the name of the pkgforked package, that is, the . - echo "# created from 'pkgsel'" > config/$config/pkgsel.awk + echo "# created from 'pkgsel'" > config/$config.$swpid/pkgsel.awk while read action patternlist ; do case "$action" in [xX]) @@ -271,28 +271,28 @@ expert_begin fi done < <( echo "$patternlist" | tr '\t ' '\n\n' ) echo "$address ) { $action; }" - done < config/$config/pkgsel >> config/$config/pkgsel.awk - echo '{ print; }' >> config/$config/pkgsel.awk + done < config/$config.$swpid/pkgsel >> config/$config.$swpid/pkgsel.awk + echo '{ print; }' >> config/$config.$swpid/pkgsel.awk pkgout - gawk -f config/$config/pkgsel.awk < config/$config/packages \ - > config/$config/packages.new 2> /dev/null - if [ -s config/$config/packages.new ] ; then - mv config/$config/packages.new config/$config/packages + gawk -f config/$config.$swpid/pkgsel.awk < config/$config.$swpid/packages \ + > config/$config.$swpid/packages.new 2> /dev/null + if [ -s config/$config.$swpid/packages.new ] ; then + mv config/$config.$swpid/packages.new config/$config.$swpid/packages else - rm -f config/$config/packages.new + rm -f config/$config.$swpid/packages.new comment '---- Syntax error(s) in rule set!' fi pkgin menu_end else - rm -f config/$config/pkgsel - rm -f config/$config/pkgsel.awk + rm -f config/$config.$swpid/pkgsel + rm -f config/$config.$swpid/pkgsel.awk fi startprog ROCKCFG_SHOW_PKGLIST 'Show the current package list' \ "./src/rockdialog.bin --title 'ROCK Linux Config - Package List' \ --backtitle 'ROCK Linux $rockver Configuration' \ - --textbox config/$config/packages.txt \ + --textbox config/$config.$swpid/packages.txt \ $(( $lines - 4 )) $(( $columns - 5 ))" block_end @@ -302,11 +302,11 @@ expert_begin comment ' ' comment '- Additional GNU Configure Options' block_begin 5 - editfile ROCKCFG_CONFOPT_FILE config/$config/confopt \ + editfile ROCKCFG_CONFOPT_FILE config/$config.$swpid/confopt \ 'GNU Configure Options' - if [ -f config/$config/confopt ] ; then + if [ -f config/$config.$swpid/confopt ] ; then const ROCKCFG_CONFIGURE_OPTS "`tr '\n' ' ' \ - < config/$config/confopt`" + < config/$config.$swpid/confopt`" else const ROCKCFG_CONFIGURE_OPTS "" fi