xref: /aosp_15_r20/external/libnl/tools/build_release.sh (revision 4dc78e53d49367fa8e61b07018507c90983a077d)
1*4dc78e53SAndroid Build Coastguard Worker#!/bin/bash
2*4dc78e53SAndroid Build Coastguard Worker
3*4dc78e53SAndroid Build Coastguard Worker# script to create libnl release.
4*4dc78e53SAndroid Build Coastguard Worker# Steps:
5*4dc78e53SAndroid Build Coastguard Worker# - create new commit, bumping version number
6*4dc78e53SAndroid Build Coastguard Worker# - run this script
7*4dc78e53SAndroid Build Coastguard Worker# - check all is good
8*4dc78e53SAndroid Build Coastguard Worker# - tag the commit (signed)
9*4dc78e53SAndroid Build Coastguard Worker#     git tag -m 'libnl-3.2.26-rc1' -s libnl3_2_26rc1 HEAD
10*4dc78e53SAndroid Build Coastguard Worker# - publish the tarballs
11*4dc78e53SAndroid Build Coastguard Worker# - push the commit to github
12*4dc78e53SAndroid Build Coastguard Worker# - publish the tag on github
13*4dc78e53SAndroid Build Coastguard Worker# - publish the tarballs on github
14*4dc78e53SAndroid Build Coastguard Worker# - send ANN email
15*4dc78e53SAndroid Build Coastguard Worker
16*4dc78e53SAndroid Build Coastguard Worker
17*4dc78e53SAndroid Build Coastguard Workerdie() {
18*4dc78e53SAndroid Build Coastguard Worker    printf '%s\n' "$@"
19*4dc78e53SAndroid Build Coastguard Worker    exit 1
20*4dc78e53SAndroid Build Coastguard Worker}
21*4dc78e53SAndroid Build Coastguard Worker
22*4dc78e53SAndroid Build Coastguard Workerset -x
23*4dc78e53SAndroid Build Coastguard Workerset -e
24*4dc78e53SAndroid Build Coastguard Worker
25*4dc78e53SAndroid Build Coastguard Workercd "$(dirname "$0")/.."
26*4dc78e53SAndroid Build Coastguard Workergit_dir="$(readlink -f "$(git rev-parse --show-toplevel)")"
27*4dc78e53SAndroid Build Coastguard Workertest -f "$git_dir/tools/build_release.sh"
28*4dc78e53SAndroid Build Coastguard Worker
29*4dc78e53SAndroid Build Coastguard WorkerBuild() {
30*4dc78e53SAndroid Build Coastguard Worker    test "$(git status --porcelain)" = "" || die "there are uncommited changes"
31*4dc78e53SAndroid Build Coastguard Worker    git clean -fdx
32*4dc78e53SAndroid Build Coastguard Worker    ./autogen.sh
33*4dc78e53SAndroid Build Coastguard Worker    ./configure
34*4dc78e53SAndroid Build Coastguard Worker    pushd ./doc/
35*4dc78e53SAndroid Build Coastguard Worker        ./configure --enable-doc
36*4dc78e53SAndroid Build Coastguard Worker    popd
37*4dc78e53SAndroid Build Coastguard Worker    make -j 5
38*4dc78e53SAndroid Build Coastguard Worker    make -C doc
39*4dc78e53SAndroid Build Coastguard Worker    make -C doc gendoc
40*4dc78e53SAndroid Build Coastguard Worker    make -j 5 distcheck
41*4dc78e53SAndroid Build Coastguard Worker    make -C doc dist
42*4dc78e53SAndroid Build Coastguard Worker    echo "Build: success"
43*4dc78e53SAndroid Build Coastguard Worker}
44*4dc78e53SAndroid Build Coastguard Worker
45*4dc78e53SAndroid Build Coastguard WorkerCopy() {
46*4dc78e53SAndroid Build Coastguard Worker    local V="$(ls -1 ./libnl-*.tar.gz | sed -n 's/^\.\/libnl-\(3\.[0-9]\+\.[0-9]\+\(-rc[0-9]\)\?\).tar.gz$/\1/p')"
47*4dc78e53SAndroid Build Coastguard Worker    test -n "$V"
48*4dc78e53SAndroid Build Coastguard Worker    local REL="libnl-$V"
49*4dc78e53SAndroid Build Coastguard Worker    rm -rf "./$REL"
50*4dc78e53SAndroid Build Coastguard Worker    mkdir "./$REL"
51*4dc78e53SAndroid Build Coastguard Worker    ln "./libnl-$V.tar.gz" "./$REL/"
52*4dc78e53SAndroid Build Coastguard Worker    ln "./doc/libnl-doc-$V.tar.gz" "./$REL/"
53*4dc78e53SAndroid Build Coastguard Worker    (
54*4dc78e53SAndroid Build Coastguard Worker        cd "./$REL/"
55*4dc78e53SAndroid Build Coastguard Worker        for F in "libnl-$V.tar.gz" "libnl-doc-$V.tar.gz"; do
56*4dc78e53SAndroid Build Coastguard Worker            md5sum "./$F" > "./$F.md5sum"
57*4dc78e53SAndroid Build Coastguard Worker            sha256sum "./$F" > "./$F.sha256sum"
58*4dc78e53SAndroid Build Coastguard Worker            if [ "$NO_GPG_SIGN" != 1 ]; then
59*4dc78e53SAndroid Build Coastguard Worker                gpg ${GPG_USER--u thaller@redhat.com} --armor --verbose -o "./$F.sig" --detach-sign "./$F"
60*4dc78e53SAndroid Build Coastguard Worker            fi
61*4dc78e53SAndroid Build Coastguard Worker        done
62*4dc78e53SAndroid Build Coastguard Worker    )
63*4dc78e53SAndroid Build Coastguard Worker    tar -cvf "./$REL.tar" "./$REL/"
64*4dc78e53SAndroid Build Coastguard Worker    echo "Copy: success"
65*4dc78e53SAndroid Build Coastguard Worker}
66*4dc78e53SAndroid Build Coastguard Worker
67*4dc78e53SAndroid Build Coastguard WorkerBuildAll() {
68*4dc78e53SAndroid Build Coastguard Worker     Build
69*4dc78e53SAndroid Build Coastguard Worker     Copy
70*4dc78e53SAndroid Build Coastguard Worker     echo "BuildAll: success"
71*4dc78e53SAndroid Build Coastguard Worker}
72*4dc78e53SAndroid Build Coastguard Worker
73*4dc78e53SAndroid Build Coastguard Workercase "$1" in
74*4dc78e53SAndroid Build Coastguard Worker    Build)
75*4dc78e53SAndroid Build Coastguard Worker        Build
76*4dc78e53SAndroid Build Coastguard Worker        ;;
77*4dc78e53SAndroid Build Coastguard Worker    Copy)
78*4dc78e53SAndroid Build Coastguard Worker        Copy
79*4dc78e53SAndroid Build Coastguard Worker        ;;
80*4dc78e53SAndroid Build Coastguard Worker    BuildAll)
81*4dc78e53SAndroid Build Coastguard Worker        BuildAll
82*4dc78e53SAndroid Build Coastguard Worker        ;;
83*4dc78e53SAndroid Build Coastguard Worker    *)
84*4dc78e53SAndroid Build Coastguard Worker        echo "SYNOPSIS: $0 Build|Copy|BuildAll"
85*4dc78e53SAndroid Build Coastguard Worker        echo "WARNING: does a git-clean first!!"
86*4dc78e53SAndroid Build Coastguard Worker        ;;
87*4dc78e53SAndroid Build Coastguard Workeresac
88