aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/nvim/.local/bin/pkgbuildcheck
blob: 090d8e180ea4d6a6ff6512babacce9964fab1d9a (plain)
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#!/bin/sh
# shellcheck disable=SC2086

for arg; do
	if [ -f "$arg" ]; then
		file=$arg
	elif [ "$arg" != "-" ]; then
		set -- "$@" $arg
	fi
	shift
done

shellcheck "$@" --format=json - <<-EOF | jq -Mc '(..|objects|select(has("line"))).line -= 7 | (..|objects|select(has("endLine"))).endLine -= 7'
	#!/bin/bash -euET

	# declare variables used by PKGBUILD
	srcdir='~!@#$%^&*() /\|'
	pkgdir='~!@#$%^&*() /\|'

	# the actual PKGBUILD gets inlined by RUA here
	$(cat $file)

	# ensure that obligatory PKGBUILD values are defined, and avoid "unused" warning for them:
	test "\${pkgname[*]} should be declared in PKGBUILD"
	test "\${pkgver[*]} should be declared in PKGBUILD"
	test "\${pkgrel[*]} should be declared in PKGBUILD"
	test "\${arch[*]} should be declared in PKGBUILD"

	# avoid "unused" warning for optional PKGBUILD variables:
	export pkgbase
	export epoch
	export pkgdesc
	export url
	export license
	export install
	export changelog
	export source
	export source_aarch64
	export source_i686
	export source_x86_64
	export validpgpkeys
	export noextract
	export md5sums
	export md5sums_aarch64
	export md5sums_i686
	export md5sums_x86_64
	export sha1sums
	export sha1sums_aarch64
	export sha1sums_i686
	export sha1sums_x86_64
	export sha224sums
	export sha224sums_aarch64
	export sha224sums_i686
	export sha224sums_x86_64
	export sha256sums
	export sha256sums_aarch64
	export sha256sums_i686
	export sha256sums_x86_64
	export sha384sums
	export sha384sums_aarch64
	export sha384sums_i686
	export sha384sums_x86_64
	export sha512sums
	export sha512sums_aarch64
	export sha512sums_i686
	export sha512sums_x86_64
	export b2sums
	export b2sums_aarch64
	export b2sums_i686
	export b2sums_x86_64
	export groups
	export backup
	export depends
	export depends_aarch64
	export depends_i686
	export depends_x86_64
	export makedepends
	export makedepends_aarch64
	export makedepends_i686
	export makedepends_x86_64
	export checkdepends
	export checkdepends_aarch64
	export checkdepends_i686
	export checkdepends_x86_64
	export optdepends
	export optdepends_aarch64
	export optdepends_i686
	export optdepends_x86_64
	export conflicts
	export conflicts_aarch64
	export conflicts_i686
	export conflicts_x86_64
	export provides
	export provides_aarch64
	export provides_i686
	export provides_x86_64
	export replaces
	export replaces_aarch64
	export replaces_i686
	export replaces_x86_64
	export options

	# avoid "unused" warning for variables defined _for_ PKGBUILD
	export srcdir
	export pkgdir
EOF