summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xconfig62
1 files changed, 62 insertions, 0 deletions
diff --git a/config b/config
new file mode 100755
index 0000000..2a43cbc
--- /dev/null
+++ b/config
@@ -0,0 +1,62 @@
+#!/bin/sh
+
+set -e
+set -u
+
+main()
+{
+ case "${1-}" in
+ '')
+ config
+ ;;
+ 'clean')
+ clean
+ ;;
+ esac
+}
+
+msg()
+{
+ printf 'config: '
+ printf "${@}"
+ printf '\n'
+}
+
+config()
+{
+ local plat=
+ local pkg=
+
+ plat="$(sed '1{s/^config-\([^ ][^ ]*\) (.*$/\1/;};1!q;' changelog)"
+
+ # Make "-common" package to provide source package documentation files.
+ mkdir -p "config-${plat}-common.pkg"
+ cat >"config-${plat}-common.pkg/control" <<-EOF
+ Architecture: all
+ Platform: all
+ Description: "${plat}" platform configuration - common files
+ EOF
+ >"config-${plat}-common.pkg/docs"
+ msg 'Metadata for package "%s" generated.' "config-${plat}-common"
+
+ # Make each config-*-* package.
+ for pkg in src/*; do
+ pkg="${pkg#src/}"
+ mkdir -p "config-${pkg}-${plat}.pkg"
+ cat >"config-${pkg}-${plat}.pkg/control" <<-EOF
+ Architecture: all
+ Platform: all
+ Depends: config-${plat}-common (= \${Binary-Version})
+ Description: "${plat}" platform configuration for ${pkg}
+ EOF
+ msg 'Metadata for package "%s" generated.' \
+ "config-${pkg}-${plat}"
+ done
+}
+
+clean()
+{
+ rm -Rf config-*-*.pkg/
+}
+
+main "${@}"