#!/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 "${@}"