diff options
Diffstat (limited to 'debian/debian.control.sh')
-rwxr-xr-x | debian/debian.control.sh | 42 |
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<&- |