File: check_glibcxx.sh

package info (click to toggle)
node-mapnik 3.7.2%2Bdfsg-5
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 15,376 kB
  • sloc: cpp: 16,551; xml: 961; sh: 522; makefile: 80; lisp: 10
file content (33 lines) | stat: -rwxr-xr-x 701 bytes parent folder | download
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
#!/bin/bash

set -eu
set -o pipefail
shopt -s nullglob

: '

Ensure no GLIBCXX_3.4.2x symbols are present in the binary

If symbols >= 3.4.20 then it returns error code 1. This means
the binaries would not run on ubuntu trusty without upgrading libstdc++

'

FINAL_RETURN_CODE=0

function check() {
    local RESULT=0
    nm ${1} | grep "GLIBCXX_3.4.2[0-9]" > /tmp/out.txt || RESULT=$?
    if [[ ${RESULT} != 0 ]]; then
        echo "Success: GLIBCXX_3.4.2[0-9] symbols not present in binary (as expected)"
    else
        echo "$(cat /tmp/out.txt | c++filt)"
        FINAL_RETURN_CODE=1
    fi
}


echo "checking ./lib/binding/mapnik.node"
check "lib/binding/mapnik.node"

exit ${FINAL_RETURN_CODE}