File: deb-cop-fix.awk

package info (click to toggle)
libexplain 1.4.D001-16
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 42,228 kB
  • sloc: ansic: 156,043; makefile: 47,892; sh: 16,304; yacc: 1,898; awk: 245
file content (77 lines) | stat: -rw-r--r-- 2,067 bytes parent folder | download | duplicates (5)
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#
# libexplain - a library of system-call-specific strerror replacements
# Copyright (C) 2012 Peter Miller
# Written by Peter Miller <pmiller@opensource.org.au>
#
# This program is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 3 of the License, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
# more details.
#
# You should have received a copy of the GNU General Public License along with
# this program. If not, see <http://www.gnu.org/licenses/>.
#
BEGIN {
    prev_was_license = ""
}
/^Upstream-Name: / {
    print "Upstream-Name: libexplain"
    next
}
/^Upstream-Contact: / {
    print "Upstream-Contact: Peter Miller <pmiller@opensource.org.au>"
    next
}
/^Source: / {
    print "Source: http://libexplain.sourceforge.net/"
    next
}
/^License: / {
    prev_was_license = $2;
    print
    next
}
/^Disclaimer: Autogenerated/ {
    next
}
/^ FIXME$/ {
    name = prev_was_license;
    if (substr(name, length(name), 1) == "+")
    {
        name = substr(name, 1, length(name) - 1);
    }
    name2 = "";
    idx = match(name, /-[0-9][0-9.]*/);
    if (idx != 0)
    {
        name2 = substr(name, idx, length(name) - idx + 1);
        name = substr(name, 1, idx - 1);
    }
    if (name == "GPL" || name == "LGPL" || name == "GFDL" || name == "BSD")
    {
        print " On Debian systems, the complete text of the GNU"
        print " General Public License, version 3, can be found in"
        print " /usr/share/common-licenses/" name name2 "."
    }
    else if (prev_was_license != "")
    {
        print " The licenses covering these files are unknown."
    }
    else
    {
        print $0
    }
    prev_was_license = ""
    next
}
{
    print
    prev_was_license = ""
}

# vim: set ts=8 sw=4 et :