d7659ea03759ae34c2581b95a04404e5562a3051
[openwrt/openwrt.git] / package / network / services / dnsmasq / patches / 0001-Tweak-sort-order-of-tags-in-get-version.patch
1 From f1204a875e0f16fd645df965db346fc56d2ab1dd Mon Sep 17 00:00:00 2001
2 From: Simon Kelley <simon@thekelleys.org.uk>
3 Date: Fri, 29 Jan 2021 23:20:06 +0000
4 Subject: [PATCH 1/2] Tweak sort order of tags in get-version.
5
6 We want to sort such that the most recent/relevant tag is first
7 and gets used to set the compiled-in version.
8
9 The solution is far from general, but works for the tag formats
10 used by dnsmasq. v2.84 sorts before v2.83, but v2.83 sorts
11 before v2.83rc1 and 2.83rc1 sorts before v2.83test1
12
13 Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
14 ---
15 bld/get-version | 7 +++++--
16 1 file changed, 5 insertions(+), 2 deletions(-)
17
18 diff --git a/bld/get-version b/bld/get-version
19 index e472aab..1d7e7f0 100755
20 --- a/bld/get-version
21 +++ b/bld/get-version
22 @@ -9,7 +9,10 @@
23 # If we can find one which matches $v[0-9].* then we assume it's
24 # a version-number tag, else we just use the whole string.
25 # If there is more than one v[0-9].* tag, sort them and use the
26 -# first. This favours, eg v2.63 over 2.63rc6.
27 +# first. The insane arguments to the sort command are to ensure
28 +# that, eg v2.64 comes before v2.63, but v2.63 comes before v2.63rc1
29 +# and v2.63rc1 comes before v2.63test1
30 +
31
32 # Change directory to the toplevel source directory.
33 if test -z "$1" || ! test -d "$1" || ! cd "$1"; then
34 @@ -28,7 +31,7 @@ else
35 vers=`cat $1/VERSION | sed 's/[(), ]/,/ g' | tr ',' '\n' | grep ^v[0-9]`
36
37 if [ $? -eq 0 ]; then
38 - echo "${vers}" | sort -r | head -n 1 | sed 's/^v//'
39 + echo "${vers}" | sort -k1.2,1.5r -k 1.6,1.6 -k1.8,1.9r -k1.10,1.11r | head -n 1 | sed 's/^v//'
40 else
41 cat $1/VERSION
42 fi
43 --
44 2.24.3 (Apple Git-128)
45