Merge "fuel-plugin-opendaylight: Prebuilt leveldbjni DEB"
[armband.git] / patches / fuel-plugin-ovs / 0009-HACK-build-prebuilt-DEBs-src-bin-ver-mismatch.patch
1 From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2 Date: Thu, 15 Sep 2016 19:41:58 +0200
3 Subject: [PATCH] HACK: build: prebuilt DEBs: src/bin ver mismatch
4
5 Our debian source version is not always in sync with the debian
6 binaries versions, see related bug for a complete description of
7 this issue.
8
9 This is a temporary chance which should be dropped once the package
10 versions are aligned.
11
12 Related-bug: ARMBAND-89
13 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
14 ---
15  ovs_build/build-ovs-armband-fetch.sh | 16 ++++++++++++----
16  ovs_build/build-ovs-nsh-dpdk.sh      |  2 +-
17  2 files changed, 13 insertions(+), 5 deletions(-)
18
19 diff --git a/ovs_build/build-ovs-armband-fetch.sh b/ovs_build/build-ovs-armband-fetch.sh
20 index a810b93..8ab22cc 100755
21 --- a/ovs_build/build-ovs-armband-fetch.sh
22 +++ b/ovs_build/build-ovs-armband-fetch.sh
23 @@ -17,7 +17,7 @@ set -eux
24  #     dists/mos9.0-fuel-plugin-ovs/main/binary-arm64/Packages
25  function armband_fetch() {
26    local name=$1
27 -  local ver=${2//\+/\\\+}
28 +  local src_ver=${2//\+/\\\+}
29    local repo_base_url=${3:-http://linux.enea.com/mos-repos/ubuntu/9.0}
30    local repo_Sources_url=${4:-dists/mos9.0-fuel-plugin-ovs/main/source/Sources}
31    local repo_Packages_url=${5:-dists/mos9.0-fuel-plugin-ovs/main/binary-arm64/Packages}
32 @@ -30,16 +30,24 @@ function armband_fetch() {
33      wget -c "${repo_base_url}/${repo_Packages_url}"
34    fi
35
36 -  L=$(grep -Pzo "(?s)(?<=^Package: ${name}\n^Binary: )(\N*?)(?=\n^Version: ${ver})" \
37 +  L=$(grep -Pzo "(?s)(?<=^Package: ${name}\n^Binary: )(\N*?)(?=\n^Version: ${src_ver})" \
38      Sources | tr -d ',')
39    for deb_binary in ${L}; do
40 -    D=$(grep -Po "(?<=^Filename: )(.*?\/${deb_binary}_${ver}_.*?\.deb)" Packages) || true
41 +    # FIXME(armband): https://jira.opnfv.org/browse/ARMBAND-89
42 +    # Until we align source and binaries versions for nsh, convert on the fly
43 +    # e.g.: debian source 2.5.90~04.05-1.nsh+amos2 => debian binary 2.5.90-1.nsh
44 +    deb_ver=${src_ver}
45 +    if [[ ${deb_ver} == *~*-* ]]; then
46 +      deb_ver=${deb_ver//~*-/-}
47 +      deb_ver=${deb_ver%\\\+*}
48 +    fi
49 +    D=$(grep -Po "(?<=^Filename: )(.*?\/${deb_binary}_${deb_ver}_.*?\.deb)" Packages) || true
50      if [ -n "${D}" ]; then
51        wget -c "${repo_base_url}/${D}" && found=true
52      fi
53    done
54    if [ ${found} = false ]; then
55 -    echo "ERROR: Could not find DEBs for pkg/ver: ${name}/${ver}"
56 +    echo "ERROR: Could not find DEBs for pkg|src_ver|deb_ver: ${name}|${src_ver}|${deb_ver}"
57      exit 1
58    fi
59  }
60 diff --git a/ovs_build/build-ovs-nsh-dpdk.sh b/ovs_build/build-ovs-nsh-dpdk.sh
61 index 9d8a837..aebcb94 100755
62 --- a/ovs_build/build-ovs-nsh-dpdk.sh
63 +++ b/ovs_build/build-ovs-nsh-dpdk.sh
64 @@ -12,7 +12,7 @@ DIR="$(dirname `readlink -f $0`)"
65  export DEB_BUILD_OPTIONS='parallel=8 nocheck'
66
67  # AArch64 specifics, repository base URL, debian build versions
68 -AARCH64_OVS_NSH_DEBV=${AARCH64_OVS_NSH_DEBV:-'2.5.90-1.nsh'}
69 +AARCH64_OVS_NSH_DEBV=${AARCH64_OVS_NSH_DEBV:-'2.5.90~04.05-1.nsh+amos2'}
70
71  # Keep track of native arch (BUILD_ARCH) and target arch(s) (UBUNTU_ARCH)
72  # All archs should be represented in `dpkg --print-architecture` format