Fixup fromcvs/togit conversion
[minix-pkgsrc.git] / mk / scripts / remove_todo
blob41d18cb020db22004437fca65f08aa18d6811131
1 #!/bin/sh
2 # usage:
3 # $0 TODO-FILE PKGBASE PKGVERSION
4 # for example
5 # $0 /usr/pkgsrc/doc/TODO opal 3.6.4
6 # removes an entry for opal 3.6.4 or an older version from /usr/pkgsrc/doc/TODO
8 # test cases:
9 # remove_todo foo-1.2 with no foo entry in TODO
10 # remove_todo foo-1.2 with "foo-1.1", "foo-1.2", or "foo-1.3" in TODO
11 # remove_todo foo-1.2 with "foo-bar-1.1" in TODO
12 # remove_todo foo-1.2 with "foo-1.1 [some comment]", "foo-1.2 [some comment]", "foo-1.3 [some comment] in TODO
13 set -e
15 if [ "$#" != 3 ]
16 then
17 echo incorrect number of arguments >&2
18 echo usage: $0 TODO-FILE PKGBASE PKGVERSION >&2
19 exit 1
22 TODO=$1
23 PKGBASE=$(echo $2 | sed "s/^py[0-9][0-9]-/py-/")
24 PKGVERSION=$3
25 TMPFILE="$TODO.$$"
26 PKG_ADMIN="${PKG_ADMIN:-pkg_admin}"
28 MATCH=$(grep -n '^[ ]*o '"$PKGBASE"'-[0-9]' "$TODO" | sed 's/^\([^:]*:\)[ ]*o /\1/;s/ .*//')
30 if [ $(echo "$MATCH" | wc -l) != 1 ]; then
31 echo "$0: multiple matches" 1>&2
32 echo "$MATCH" 1>&2
33 exit 1
36 LINE=$(echo "$MATCH" | sed 's/:.*//')
37 FOUNDPKG=$(echo "$MATCH" | sed -e "s/^[^:]*://")
39 if ${PKG_ADMIN} pmatch "$PKGBASE"\<="$PKGVERSION" "$FOUNDPKG"; then
40 echo Removing "$FOUNDPKG" from TODO
41 sed < "$TODO" "$LINE"d > "$TMPFILE"
42 mv "$TMPFILE" "$TODO"