#!/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/build/*; do pkg="${pkg#src/build/}" 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 for pkg in src/run/*; do pkg="${pkg#src/run/}" mkdir -p "config-${pkg}.pkg" cat >"config-${pkg}.pkg/control" <<-EOF Architecture: all Platform: ${plat} Depends: config-${plat}-common (= \${Binary-Version}) Description: "${plat}" platform configuration for ${pkg} EOF msg 'Metadata for package "%s" generated.' \ "config-${pkg}" done } clean() { rm -Rf config-*.pkg/ } main "${@}"