diff --git a/misc/pkgsel/benchmark.in b/misc/pkgsel/benchmark.in index 5436a8ab7..47475b3e9 100644 --- a/misc/pkgsel/benchmark.in +++ b/misc/pkgsel/benchmark.in @@ -23,16 +23,14 @@ # TITLE: A base selection for benchmarking purposes # -START_PKGSEL -#include "basic.set" -#include "common.set" -#include "xorg.set" +INCLUDE basic.set +INCLUDE common.set +INCLUDE xorg.set # other stray junk -REMOVE(intel-rng) -REMOVE(microcode_ctl) +REMOVE intel-rng +REMOVE microcode_ctl DISABLE_REST -END_PKGSEL diff --git a/misc/pkgsel/macros b/misc/pkgsel/macros index bffa3ba0f..5e1d1c67d 100644 --- a/misc/pkgsel/macros +++ b/misc/pkgsel/macros @@ -1,9 +1,22 @@ +# this is to be sourced by bash -#define START_PKGSEL pkgfilter sed ' +INCLUDE() { + if echo "$1" | grep -q '.*\.set$' + then + cat ./misc/pkgsel/sets/$1 | sed 's/#.*//' + else + cat $1 | sed 's/#.*//' + fi +} -#define ADD(F) / F / { p; d; }; -#define REMOVE(F) / F / { s/^X /O / ; p; d; }; +ADD() { + echo "/ $1 / { p; d; };" +} +REMOVE() { + echo "/ $1 / { s/^X /O / ; p; d; };" +} -#define DISABLE_REST s/^X /O /; +DISABLE_REST() { + echo 's/^X /O /;' +} -#define END_PKGSEL ' diff --git a/misc/pkgsel/minimal+xorg.in b/misc/pkgsel/minimal+xorg.in index dd01c400b..e35bb9ee7 100644 --- a/misc/pkgsel/minimal+xorg.in +++ b/misc/pkgsel/minimal+xorg.in @@ -22,12 +22,9 @@ # # TITLE: Minimalistic package selection + X.org -START_PKGSEL - -#include "basic.set" -#include "common.set" -#include "xorg.set" +INCLUDE basic.set +INCLUDE common.set +INCLUDE xorg.set DISABLE_REST -END_PKGSEL diff --git a/misc/pkgsel/minimal-desktop.in b/misc/pkgsel/minimal-desktop.in index 9a17c41ac..13bd37be8 100644 --- a/misc/pkgsel/minimal-desktop.in +++ b/misc/pkgsel/minimal-desktop.in @@ -22,13 +22,11 @@ # # TITLE: Minimalistic KDE Desktop -START_PKGSEL -#include "basic.set" -#include "common.set" -#include "xorg.set" -#include "kde-desktop.set" +INCLUDE basic.set +INCLUDE common.set +INCLUDE xorg.set +INCLUDE kde-desktop.set DISABLE_REST -END_PKGSEL diff --git a/misc/pkgsel/minimal-gnome-desktop.in b/misc/pkgsel/minimal-gnome-desktop.in index 176dac8a0..f7e7e5c17 100644 --- a/misc/pkgsel/minimal-gnome-desktop.in +++ b/misc/pkgsel/minimal-gnome-desktop.in @@ -1,12 +1,9 @@ # TITLE: Minimalistic GNOME Desktop -START_PKGSEL - -#include "basic.set" -#include "common.set" -#include "xorg.set" -#include "gnome-desktop.set" +INCLUDE basic.set +INCLUDE common.set +INCLUDE xorg.set +INCLUDE gnome-desktop.set DISABLE_REST -END_PKGSEL diff --git a/misc/pkgsel/minimal-router.in b/misc/pkgsel/minimal-router.in index 6fb764182..595e88044 100644 --- a/misc/pkgsel/minimal-router.in +++ b/misc/pkgsel/minimal-router.in @@ -23,18 +23,14 @@ # TITLE: Minimalistic router package selection -START_PKGSEL +INCLUDE basic.set +INCLUDE common.set -#include "basic.set" -#include "common.set" - -ADD(ppp) -ADD(pppoe) -ADD(openvpn) -ADD(nagios) -ADD(bridge-utils) +ADD ppp +ADD pppoe +ADD openvpn +ADD nagios +ADD bridge-utils DISABLE_REST -END_PKGSEL - diff --git a/misc/pkgsel/minimal.in b/misc/pkgsel/minimal.in index 9ee7af543..474644a74 100644 --- a/misc/pkgsel/minimal.in +++ b/misc/pkgsel/minimal.in @@ -22,10 +22,7 @@ # # TITLE: Minimalistic package selection -START_PKGSEL - -#include "basic.set" +INCLUDE basic.set DISABLE_REST -END_PKGSEL diff --git a/scripts/config.in b/scripts/config.in index 86a879a13..0e12c179c 100644 --- a/scripts/config.in +++ b/scripts/config.in @@ -208,9 +208,14 @@ expert_begin block_begin 3 choice ROCKCFG_PKGSEL_TPL none none 'No package preselection template' \ $( cd misc/pkgsel; grep -H "^# TITLE: " *.in | tr ' ' '_' | sed 's,\.in:#_TITLE:_, ,' ) - if [ -f misc/pkgsel/${ROCKCFG_PKGSEL_TPL}.in ]; then - cpp -undef -Imisc/pkgsel/sets -imacros misc/pkgsel/macros -P misc/pkgsel/${ROCKCFG_PKGSEL_TPL}.in 2>/dev/null > config/$config.$swpid/predefined-pkgsel.parsed - . config/$config.$swpid/predefined-pkgsel.parsed + if [ -f misc/pkgsel/${ROCKCFG_PKGSEL_TPL}.in ]; then + # begin the sed string + echo "pkgfilter sed '" > config/$config.$swpid/predefined-pkgsel.parsed + . ./misc/pkgsel/macros + . ./misc/pkgsel/${ROCKCFG_PKGSEL_TPL}.in >> config/$config.$swpid/predefined-pkgsel.parsed + # end the sed string + echo "'" >> config/$config.$swpid/predefined-pkgsel.parsed + . config/$config.$swpid/predefined-pkgsel.parsed fi bool 'Custom package selection' ROCKCFG_PKGSEL 0 if [ "$ROCKCFG_PKGSEL" = 1 ] ; then