aboutsummaryrefslogtreecommitdiffstats
path: root/build-root/scripts/version
blob: af4472869123f0c488ce48a9fde8a7506126ca30 (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
#!/bin/bash

path=$( cd "$(dirname "${BASH_SOURCE}")" ; pwd -P )

cd "$path"

git rev-parse 2> /dev/null
if [ $? == 0 ]; then
    vstring=$(git describe)
elif [ -f .version ]; then
    vstring=$(cat .version)
else
    if [ -f ../rpm/*.gz ]; then
        vstring=$(ls ../rpm/*.gz)
    else
        exit 1
    fi
fi

TAG=$(echo ${vstring} | cut -d- -f1 | sed -e 's/^v//')
ADD=$(echo ${vstring} | cut -s -d- -f2)

git rev-parse 2> /dev/null
if [ $? == 0 ]; then
    CMT=$(git describe --dirty --match 'v*'| cut -s -d- -f3,4)
else
    CMT=$(echo ${vstring} | cut -s -d- -f3,4)
fi
CMTR=$(echo $CMT | sed 's/-/_/')

if [ -n "${BUILD_NUMBER}" ]; then
       BLD="~b${BUILD_NUMBER}"
fi

if [ "$1" = "rpm-version" ]; then
  echo ${TAG}
  exit
fi

if [ "$1" = "rpm-release" ]; then
  [ -z "${ADD}" ] && echo release && exit
  echo ${ADD}${CMTR:+~${CMTR}}${BLD}
  exit
fi

  if [ -n "${ADD}" ]; then
    if [ "$1" = "rpm-string" ]; then
      echo ${TAG}-${ADD}${CMTR:+~${CMTR}}${BLD}
    else
      echo ${TAG}-${ADD}${CMT:+~${CMT}}${BLD}
    fi
  else
    echo ${TAG}
fi
pan> == 1) { clib_error_t *e; e = md5_test_suite (); if (e) { clib_error_report (e); exit (1); } } for (i = 1; i < argc; i++) { md5_context_t m; u8 digest[16]; u8 buffer[64 * 1024]; int fd, n; fd = open (argv[i], 0); if (fd < 0) clib_unix_error ("can't open %s", argv[i]); md5_init (&m); while ((n = read (fd, buffer, sizeof (buffer))) > 0) md5_add (&m, buffer, n); close (fd); md5_finish (&m, digest); fformat (stdout, "%U %s\n", format_hex_bytes, digest, sizeof (digest), argv[i]); } return 0; } static clib_error_t * md5_test_suite (void) { typedef struct { char *input; char *output; } md5_test_t; static md5_test_t tests[] = { {.input = "", .output = "d41d8cd98f00b204e9800998ecf8427e",}, {.input = "a", .output = "0cc175b9c0f1b6a831c399e269772661",}, {.input = "abc", .output = "900150983cd24fb0d6963f7d28e17f72",}, {.input = "message digest", .output = "f96b697d7cb7938d525a2f31aaf161d0",}, {.input = "abcdefghijklmnopqrstuvwxyz", .output = "c3fcd3d76192e4007dfb496cca67e13b",}, {.input = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", .output = "d174ab98d277d9f5a5611c2c9f419d9f",}, {.input = "12345678901234567890123456789012345678901234567890123456789012345678901234567890", .output = "57edf4a22be3c955ac49da2e2107b67a",}, }; int i; u8 *s; md5_context_t m; u8 digest[16]; for (i = 0; i < ARRAY_LEN (tests); i++) { md5_init (&m); md5_add (&m, tests[i].input, strlen (tests[i].input)); md5_finish (&m, digest); s = format (0, "%U", format_hex_bytes, digest, sizeof (digest)); if (memcmp (s, tests[i].output, 2 * sizeof (digest))) return clib_error_return (0, "%s -> %v expected %s", tests[i].input, s, tests[i].output); vec_free (s); } return 0; } /* * fd.io coding-style-patch-verification: ON * * Local Variables: * eval: (c-set-style "gnu") * End: */