annotate Scripts/lint-pkg.sh @ 1028:e46348eb3fbd

vanilla: create a generic lint.sh script
author David Demelier <markand@malikania.fr>
date Fri, 30 Aug 2019 21:05:00 +0200
parents
children 52b36e54f1b7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1028
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 #!/bin/busybox sh
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 #
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 # lint-pkg.sh -- check various things in the package
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 #
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 # Copyright (c) 2019 David Demelier <markand@malikania.fr>
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 #
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 # Permission to use, copy, modify, and/or distribute this software for any
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 # purpose with or without fee is hereby granted, provided that the above
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 # copyright notice and this permission notice appear in all copies.
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 #
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
18 #
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
19
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 . $(dirname $0)/scripts.subr
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
21
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 check_fhs()
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 {
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 echo "==> checking directory hierarchy"
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
25
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 if tar tf $1 | grep -Ev '^(bin|etc|include|lib|libexec|local|share|tmp|var)' 1>&2; then
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 echo "warning: the above files are not part of Vanilla Linux FHS" 1>&2
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 fi
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 }
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
30
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 check_libtool()
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 {
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 echo "==> checking presence of libtool files:"
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
34
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 if tar tf $1 | grep -E '\.la$' 1>&2; then
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 echo "warning: the following libtool files must be removed" 1>&2
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 fi
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 }
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
39
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 check_manpages()
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 {
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 echo "==> checking manual pages in uncompressed form:"
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
43
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 if tar tf $1 | grep -E 'share/man/man./.*\.(gz|bz2)$'; then
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 echo "warning: the above files must not be compressed" 1>&2
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 fi
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 }
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
48
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 usage()
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 {
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 echo "usage: lint-pkg.sh binary-package" 1>&2
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 exit 1
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 }
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
54
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 if [ "$#" -lt 1 ]; then
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 usage
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 # NOTREACHED
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 fi
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
59
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 echo "=> checking binary package content for $1"
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
61
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 check_fhs $1
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 check_libtool $1
e46348eb3fbd vanilla: create a generic lint.sh script
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 check_manpages $1