008750e172b7910de593bff0c7f112c7f8b687bb
[pkg-perl/packages/pkg-perl-tools.git] / scripts / dch-note
1 #!/bin/sh
2
3 # Copyright: 2009, Ryan Niebur <ryan@debian.org>
4 #
5 # This program is free software; you can redistribute it and/or modify it
6 # under the same terms as Perl itself.
7
8 MESSAGE=""
9
10 while true; do
11     case "$1" in
12         --ignore|--ignore-version)
13             MESSAGE="IGNORE-VERSION: $(dpkg-parsechangelog | sed -n '/Version:/ {s/Version: //; p;}') # "
14             shift
15             ;;
16         --unreleased)
17             dch --dist UNRELEASED "" --force-distribution
18             shift
19             ;;
20         --waits|--waits-for)
21             shift
22             FIRST_LINE="WAITS-FOR: $1"
23             if [ -n "$2" ]; then
24                 FIRST_LINE="${FIRST_LINE} $2"
25             fi
26             shift
27             shift
28             ;;
29         *)
30             break
31             ;;
32     esac
33 done
34
35 F_MESSAGE=$(mktemp)
36 F_HEADER=$(mktemp)
37 F_REST=$(mktemp)
38
39 MESSAGE="${MESSAGE}$@"
40 echo > $F_MESSAGE
41 if [ -n "$FIRST_LINE" ]; then
42     echo "$FIRST_LINE" | sed 's/^/  /' >> $F_MESSAGE
43 fi
44 if [ -n "$MESSAGE" ]; then
45     echo "$MESSAGE" | fmt | sed 's/^/  /' >> $F_MESSAGE
46 fi
47 head -1 debian/changelog > $F_HEADER
48 sed '1 d' debian/changelog > $F_REST
49
50 cat $F_HEADER $F_MESSAGE $F_REST > debian/changelog
51 rm $F_HEADER $F_MESSAGE $F_REST
52
53 exit 0
54
55 POD=<<'EOF'
56
57 =head1 NAME
58
59 B<dpt-dch-note> -- add notes/TODO items to debian/changelog
60
61 =head1 SYNOPSIS
62
63 B<dpt dch-note> [I<option>...] [I<text>]
64
65 B<dpt dch-note> --unreleased 'TODO: fill debian/copyright'
66
67 B<dpt dch-note> --waits-for libtemplate-perl 1.03 needed for tests
68
69 =head1 DESCRIPTION
70
71 B<dpt dch-note> is a helper program for adding notes to F<debian/changelog>
72 file. These can be useful for keeping track of TODO items or signalling PET to
73 ignore new upstream releases.
74
75 =head1 OPTIONS
76
77 =over
78
79 =item B<--ignore>
80
81 =item B<--ignore-version>
82
83 Add an "IGNORE-VERSION: I<version>" comment. This is useful for instructing
84 PET that this upstream release contains no changes that warrant an upload, for
85 example changes in META files or fixes concerning only non-UNIX platforms.
86
87 =item B<--waits> I<package> I<version>
88
89 =item B<--waits-for> I<package> I<version>
90
91 Add a "WAITS-FOR: I<package> I<version>" comment. This is useful to indicate
92 that uploading of this package needs another package to be uploaded first. This
93 also instructs PET not to show this package as ready for uploading until the
94 required package version is available in the archive.
95
96 =item B<--unreleased>
97
98 Change distribution in F<debian/changelog> to C<unreleased>. This is done to
99 indicate that the package needs more work and is not ready for
100 reviewing/uploading.
101
102 =back
103
104 =head1 COPYRIGHT & LICENSE
105
106 Copyright: 2009, Ryan Niebur L<ryan@debian.org>
107
108 This program is free software; you can redistribute it and/or modify it under
109 the same terms as Perl itself.
110
111 =cut
112 EOF