annotate Scripts/lint-deps.sh @ 835:680e54061bc7

emulation/libretro-3dengine: initial import, closes #2115
author David Demelier <markand@malikania.fr>
date Thu, 22 Aug 2019 20:02:00 +0200
parents aa3c1de1780a
children ddab65a5b3f5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
659
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 #!/bin/sh
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 #
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 # lint-deps.sh -- ensure that dependencies listed in PKGDEPENDS exist
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 #
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 # Copyright (c) 2019 David Demelier <markand@malikania.fr>
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 #
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 # Permission to use, copy, modify, and/or distribute this software for any
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 # purpose with or without fee is hereby granted, provided that the above
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 # copyright notice and this permission notice appear in all copies.
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 #
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 # THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 # WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 # ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 # WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
18 #
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
19
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 alias basename="busybox basename"
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 alias dirname="busybox dirname"
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 alias echo="busybox echo"
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 alias find="busybox find"
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 alias grep="busybox grep"
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 alias realpath="busybox realpath"
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
26
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 TOP=$(realpath $(dirname $0)/../)
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 PROGNAME=$(basename $0)
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
29
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 usage()
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 {
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 echo "usage: $PROGNAME [category/package]" 1>&2
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 exit 1
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 }
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
35
742
aa3c1de1780a vanilla: improve list and list-deps scripts
David Demelier <markand@malikania.fr>
parents: 659
diff changeset
36 check()
aa3c1de1780a vanilla: improve list and list-deps scripts
David Demelier <markand@malikania.fr>
parents: 659
diff changeset
37 {(
aa3c1de1780a vanilla: improve list and list-deps scripts
David Demelier <markand@malikania.fr>
parents: 659
diff changeset
38 name=$(basename $1).sh
aa3c1de1780a vanilla: improve list and list-deps scripts
David Demelier <markand@malikania.fr>
parents: 659
diff changeset
39 failed=0
659
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
40
742
aa3c1de1780a vanilla: improve list and list-deps scripts
David Demelier <markand@malikania.fr>
parents: 659
diff changeset
41 cd $TOP/$1
659
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
42
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 echo -n "checking dependencies for $1: "
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
44
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 # Reset PKGDEPENDS in case script is broken.
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 PKGDEPENDS=""
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
47
742
aa3c1de1780a vanilla: improve list and list-deps scripts
David Demelier <markand@malikania.fr>
parents: 659
diff changeset
48 . ./$name
659
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
49
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 for d in $PKGDEPENDS; do
742
aa3c1de1780a vanilla: improve list and list-deps scripts
David Demelier <markand@malikania.fr>
parents: 659
diff changeset
51 dep=$TOP/${d%:*}/$(basename ${d%:*}).sh
659
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
52
742
aa3c1de1780a vanilla: improve list and list-deps scripts
David Demelier <markand@malikania.fr>
parents: 659
diff changeset
53 if [ ! -f $dep ]; then
659
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 # Only print "error" once.
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 if [ $failed -eq 0 ]; then
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 failed=1
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 echo "error"
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 fi
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
59
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 echo "missing ${d%:*}" 1>&2
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 fi
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 done
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
63
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 if [ $failed -eq 0 ]; then
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 echo "ok"
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 fi
742
aa3c1de1780a vanilla: improve list and list-deps scripts
David Demelier <markand@malikania.fr>
parents: 659
diff changeset
67 )}
659
9e199f8590e3 scripts: add lint-deps.sh
David Demelier <markand@malikania.fr>
parents:
diff changeset
68
742
aa3c1de1780a vanilla: improve list and list-deps scripts
David Demelier <markand@malikania.fr>
parents: 659
diff changeset
69 $TOP/Scripts/list.sh $1 | while read -r pkg; do
aa3c1de1780a vanilla: improve list and list-deps scripts
David Demelier <markand@malikania.fr>
parents: 659
diff changeset
70 check $pkg
aa3c1de1780a vanilla: improve list and list-deps scripts
David Demelier <markand@malikania.fr>
parents: 659
diff changeset
71 done