summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/2/build.mk31
-rw-r--r--src/2/ppt-mkpkgs75
-rw-r--r--src/2/ppt-rmpkgs10
3 files changed, 116 insertions, 0 deletions
diff --git a/src/2/build.mk b/src/2/build.mk
new file mode 100644
index 0000000..eef0ed2
--- /dev/null
+++ b/src/2/build.mk
@@ -0,0 +1,31 @@
+ppt_plat = $${OPK_SOURCE\#config-}
+ppt_pkg_dir = config-$${pkg}-$(ppt_plat).data
+ppt_platconf_dir = $(ppt_pkg_dir)/usr/share/platconf/$(ppt_plat)/$${pkg}_$${ver}
+
+nop:
+ @:
+
+build:
+ @:
+
+install: build
+ set -e; \
+ for pkg in src/build/*; do \
+ pkg="$${pkg#src/build/}"; \
+ for ver in "src/build/$${pkg}/"*; do \
+ ver="$${ver#src/build/$${pkg}/}"; \
+ mkdir -p "$(ppt_platconf_dir)"; \
+ cp -p "src/build/$${pkg}/$${ver}/"* "$(ppt_platconf_dir)"; \
+ done; \
+ done
+ set -e; \
+ for pkg in src/run/*; do \
+ pkg="$${pkg#src/run/}"; \
+ mkdir "config-$${pkg}.data"; \
+ find "src/run/$${pkg}" -type f | while read -r file; do \
+ file="$${file#src/run/$${pkg}}"; \
+ mkdir -p "config-$${pkg}.data/$${file%/*}"; \
+ cp -p "src/run/$${pkg}/$${file}" \
+ "config-$${pkg}.data/$${file}"; \
+ done; \
+ done
diff --git a/src/2/ppt-mkpkgs b/src/2/ppt-mkpkgs
new file mode 100644
index 0000000..b114a74
--- /dev/null
+++ b/src/2/ppt-mkpkgs
@@ -0,0 +1,75 @@
+#!/bin/sh
+
+set -eu
+
+PLAT=
+
+main()
+{
+ PLAT="$(sed '1{s/^config-\([^ ][^ ]*\) (.*$/\1/;};1!q;' changelog)"
+
+ make_common_pkg
+ make_build_time_pkgs
+ make_run_time_pkgs
+}
+
+info()
+{
+ local fmt="${1}"
+ shift 1
+
+ printf "ppt-mkpkgs: ${fmt}\n" "${@}"
+}
+
+make_common_pkg()
+{
+ # 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"
+ info 'Metadata for package "%s" generated.' "config-${PLAT}-common"
+}
+
+make_build_time_pkgs()
+{
+ local pkg=
+
+ # 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
+ info 'Metadata for package "%s" generated.' \
+ "config-${pkg}-${PLAT}"
+ done
+}
+
+make_run_time_pkgs()
+{
+ local pkg=
+
+ # Make each config-* package.
+ 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
+ info 'Metadata for package "%s" generated.' \
+ "config-${pkg}"
+ done
+}
+
+main "${@}"
diff --git a/src/2/ppt-rmpkgs b/src/2/ppt-rmpkgs
new file mode 100644
index 0000000..7e7fbc4
--- /dev/null
+++ b/src/2/ppt-rmpkgs
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+set -eu
+
+main()
+{
+ rm -Rf config-*.pkg/
+}
+
+main "${@}"