aboutsummaryrefslogtreecommitdiffstats
path: root/debian/debian.control.sh
diff options
context:
space:
mode:
Diffstat (limited to 'debian/debian.control.sh')
-rwxr-xr-xdebian/debian.control.sh42
1 files changed, 42 insertions, 0 deletions
diff --git a/debian/debian.control.sh b/debian/debian.control.sh
new file mode 100755
index 0000000..01a176f
--- /dev/null
+++ b/debian/debian.control.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+gen_list () {
+ loop_first=1
+ for pkg in `cat "${list_file}"`; do
+ if [ "${loop_first}" = "1" ]; then
+ printf "%s" "${pkg}"
+ else
+ printf ", %s" "${pkg}"
+ fi
+ loop_first=0
+ done
+}
+
+control_in_file="$1"
+: ${control_in_file:="debian.control.in"}
+
+list_file="$2"
+: ${list_file:="debian.list"}
+
+exec 3< "${control_in_file}"
+
+saveIFS="${IFS}"
+lineIFS="$(printf "\n")"
+IFS="${lineIFS}"
+
+while read -r control_line 0<&3; do
+ case "${control_line}" in
+ "Depends:"*)
+ printf "Depends: "
+ IFS="${saveIFS}"
+ gen_list
+ IFS="${lineIFS}"
+ printf "\n"
+ ;;
+ *)
+ echo "${control_line}"
+ ;;
+ esac
+done
+
+exec 3<&-