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
5 Our debian source version is not always in sync with the debian
6 binaries versions, see related bug for a complete description of
9 This is a temporary chance which should be dropped once the package
12 Related-bug: ARMBAND-89
13 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
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(-)
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() {
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}"
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})" \
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
45 + if [[ ${deb_ver} == *~*-* ]]; then
46 + deb_ver=${deb_ver//~*-/-}
47 + deb_ver=${deb_ver%\\\+*}
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
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}"
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'
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'}
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