summaryrefslogtreecommitdiffstats
path: root/jjb/hc2vpp/include-raw-hc2vpp-pkg-push.sh
blob: 2f5e3d46e511122b1258a1629adf046a1a3c69f3 (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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#!/bin/bash
set -x

# In case of master branch, update vpp_dependencies file
# to match vpp-api-java and eliminate Java API mismatches (HC2VPP-102).
#
# In order to have control of package dependencies in the release artifacts (HC2VPP-282),
# the vpp_dependencies file is not modified in case of stable branch
# (after VPP API freeze, Java API mismatches occur very rarely).
if [[ "${STREAM}" == "master" ]]; then
    if [[ "${OS}" == "centos7" ]]; then
        # Determine VPP Java API version used in maven build
        JVPP_VERSION=`yum list installed vpp-api-java | grep vpp-api-java | awk '{ printf $2; }'`
        VERSION=`yum deplist vpp-api-java |grep vpp-lib |head -1 | awk '{ print $3}'`

        # Write a file that will echo VPP dependencies
        echo -n 'echo' > vpp_dependencies
        echo " \"vpp = ${VERSION}, vpp-plugins = ${VERSION}, vpp-api-java = ${JVPP_VERSION}\"" >> vpp_dependencies
        chmod +x vpp_dependencies

        # Overwrite default dependencies file
        mv vpp_dependencies packaging/rpm/
    else
        # Determine VPP Java API version used in maven build
        JVPP_VERSION=`apt list --installed | grep vpp-api-java | awk '{ printf $2; }'`
        VERSION=`apt-cache showpkg vpp-api-java |grep "$JVPP_VERSION" |grep vpp | sed "s/.*(. //" | sed "s/).*//"`

        # Write a file that will echo VPP dependencies
        echo -n 'echo' > vpp_dependencies
        echo " \"vpp (= ${VERSION}), vpp-plugin-core (= ${VERSION}), vpp-api-java (= ${JVPP_VERSION})\"" >> vpp_dependencies
        chmod +x vpp_dependencies

        # Overwrite default dependencies file
        mv vpp_dependencies packaging/deb/common/
    fi
fi

# Build package
if [[ "${OS}" == "centos7" ]]; then

    # Build the rpms
    ./packaging/rpm/rpmbuild.sh

    # Find the files
    RPMS=$(find ./packaging/ -type f -iname '*.rpm')
    SRPMS=$(find ./packaging/ -type f -iname '*.srpm')
    SRCRPMS=$(find ./packaging/ -type f -name '*.src.rpm')

    # Publish hc2vpp packages
    for i in ${RPMS} ${SRPMS} ${SRCRPMS}
    do
        push_rpm "$i"
    done
elif [[ "${OS}" == "ubuntu1604" ]]; then

    # Build the debs
    ./packaging/deb/xenial/debuild.sh

    # Find the files
    DEBS=$(find ./packaging/ -type f -iname '*.deb')

    # Publish hc2vpp packages
    for i in ${DEBS}
    do
        push_deb "$i"
    done
elif [[ "${OS}" == "ubuntu1804" ]]; then

    # Build the debs
    ./packaging/deb/bionic/debuild.sh

    # Find the files
    DEBS=$(find ./packaging/ -type f -iname '*.deb')

    # Publish hc2vpp packages
    for i in ${DEBS}
    do
        push_deb "$i"
    done
fi