aboutsummaryrefslogtreecommitdiffstats
path: root/debian/debian.control.sh
blob: 01a176f6617ac67644d9fdd709f981afa1873ccf (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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<&-