From 3a9052111c07dbb1b8e1280d268c785634ff65f1 Mon Sep 17 00:00:00 2001
From: Tobias Hintze
Date: Mon, 13 Mar 2006 10:38:13 +0000
Subject: [PATCH] Tobias Hintze | : fixed the broken
cpp-based pkgsel "solution" we do it with bash functions now. all
pkgsel and sets changed.
[2006022717561030272] (https://www.rocklinux.net/submaster)
git-svn-id: http://www.rocklinux.org/svn/rock-linux/trunk@7115 c5f82cb5-29bc-0310-9cd0-bff59a50e3bc
---
misc/pkgsel/benchmark.in | 12 +++++-------
misc/pkgsel/macros | 23 ++++++++++++++++++-----
misc/pkgsel/minimal+xorg.in | 9 +++------
misc/pkgsel/minimal-desktop.in | 10 ++++------
misc/pkgsel/minimal-gnome-desktop.in | 11 ++++-------
misc/pkgsel/minimal-router.in | 18 +++++++-----------
misc/pkgsel/minimal.in | 5 +----
scripts/config.in | 11 ++++++++---
8 files changed, 50 insertions(+), 49 deletions(-)
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
|