]> git.ipfire.org Git - location/libloc.git/blob - debian/gensymbols.sh
importer: Drop EDROP as it has been merged into DROP
[location/libloc.git] / debian / gensymbols.sh
1 #!/bin/bash
2 SYMBOLS_PKG=libloc1
3 LOCAL_FILE=debian/libloc1.symbols
4 TEMP_FILE="$(mktemp --tmpdir libloc1.XXXXXX.symbols)"
5 trap "rm -f ${TEMP_FILE}" EXIT
6
7 generate () {
8 intltoolize --force --automake
9 autoreconf --install --symlink
10 ./configure CFLAGS='-g -O0' --prefix=/usr --sysconfdir=/etc --libdir=/usr/lib
11
12 make
13
14 dpkg-gensymbols -p"$SYMBOLS_PKG" -O"$TEMP_FILE" -esrc/.libs/libloc.so.*
15 sed -i -E -e 's/( [0-9\.]+)-.+$/\1/' "$TEMP_FILE"
16
17 make clean
18 }
19
20 main () {
21 local maxver='0.0.0'
22 if [ -f "$LOCAL_FILE" ]; then
23 cp "$LOCAL_FILE" "$TEMP_FILE"
24 maxver="$(grep -E '^ ' "$LOCAL_FILE" | cut -d' ' -f3 | sort -Vru | head -n1)"
25 echo "Latest version checked: $maxver"
26 fi
27
28
29 local tag
30 for tag in $(git tag -l --sort=version:refname)
31 do
32 if [ "$(echo -e "${maxver}\n${tag}" | sort -Vr | head -n1)" == "$maxver" ]; then
33 echo "Tag $tag -- skip"
34 continue
35 fi
36
37 echo "Tag $tag -- checking"
38 git switch --quiet --detach "$tag" || return 1
39 generate || return 1
40 git switch --quiet - || return 1
41 done
42
43 echo "Current -- checking"
44 generate || return 1
45
46 mv "$TEMP_FILE" "$LOCAL_FILE"
47 chmod 644 "$LOCAL_FILE"
48 }
49
50 main "$@" || exit $?