File: new_cross_version.sh

package info (click to toggle)
cross-toolchain-base 66
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 332 kB
  • sloc: perl: 1,259; makefile: 1,046; sh: 234; python: 43
file content (71 lines) | stat: -rw-r--r-- 2,275 bytes parent folder | download | duplicates (14)
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
#! /bin/sh

arch="$1"
if [ -z "$1" ]; then
    echo >&2 "usage: $0 <architecture>"
    exit 1
fi

#vendor=$(if dpkg-vendor --derives-from Ubuntu; then echo ubuntu; else echo debian; fi)

cross=c
cross=cross

v_deb_linux=$(apt-cache policy linux-libc-dev | awk '/^ \*\*\*/ {print $2}')
v_deb_glibc=$(dpkg-parsechangelog -l/usr/src/glibc/debian/changelog | egrep '^Version:' | cut -f 2 -d ' ')

v_deb_linux_cross=$(apt-cache show --no-all-versions linux-libc-dev-$arch-cross 2>/dev/null | awk '/^Version:/ {print $2}')
v_deb_glibc_cross=$(apt-cache show --no-all-versions libc6-$arch-cross 2>/dev/null | awk '/^Version/ {print $2}')

echo >&2 "linux: $v_deb_linux / $v_deb_linux_cross"
echo >&2 "glibc: $v_deb_glibc / $v_deb_glibc_cross"

if [ -n "$v_deb_linux_cross" ]; then
    v_deb_linux_cross_v=$(echo $v_deb_linux_cross | sed 's/\(.*\)c[ros]*.*/\1/')
    v_deb_linux_cross_c=$(echo $v_deb_linux_cross | sed 's/.*c[ros]*\(.*\)/\1/')
    case "$v_deb_linux_cross_c=" in
	*.*) v_deb_linux_cross_c=$(echo $v_deb_linux_cross_c | awk -F. '{print $1}')
    esac				
else
    v_deb_linux_cross_v=$v_deb_linux
    v_deb_linux_cross_c=0
fi

if [ -n "$v_deb_glibc_cross" ]; then
    v_deb_glibc_cross_v=$(echo $v_deb_glibc_cross | sed 's/\(.*\)c[ros].*/\1/')
    v_deb_glibc_cross_c=$(echo $v_deb_glibc_cross | sed 's/.*c[ros]*\(.*\)/\1/')
    case "$v_deb_glibc_cross_c=" in
	*.*) v_deb_glibc_cross_c=$(echo $v_deb_glibc_cross_c | awk -F. '{print $1}')
    esac				
else
    v_deb_glibc_cross_v=$v_deb_glibc
    v_deb_glibc_cross_c=0
fi

echo >&2 ""
echo >&2 "old linux version: $v_deb_linux_cross_v / $v_deb_linux_cross_c"
echo >&2 "old glibc version: $v_deb_glibc_cross_v / $v_deb_glibc_cross_c"

if dpkg --compare-versions $v_deb_linux gt $v_deb_linux_cross_v; then
    v_linux_new_c=1
else
    v_linux_new_c=$(expr $v_deb_linux_cross_c + 1)
fi

if dpkg --compare-versions $v_deb_glibc gt $v_deb_glibc_cross_v; then
    v_glibc_new_c=1
else
    v_glibc_new_c=$(expr $v_deb_glibc_cross_c + 1)
fi

if dpkg --compare-versions $v_linux_new_c gt $v_glibc_new_c; then
    v_new_c=$v_linux_new_c
else
    v_new_c=$v_glibc_new_c
fi

echo >&2 ""
echo >&2 "new linux version: ${v_deb_linux}${cross}${v_new_c}"
echo >&2 "new glibc version: ${v_deb_glibc}${cross}${v_new_c}"

echo $v_new_c