summaryrefslogtreecommitdiffstats
path: root/patches/fuel-plugin-ovs/0002-deb-src-Enable-building-Debian-source-pkgs.patch
blob: 2fe1ee2a819a28d56dc7056a7aea0f89885a8dd3 (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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Date: Wed, 25 Jan 2017 22:11:44 +0100
Subject: [PATCH] deb-src: Enable building Debian source pkgs

Armband plans on shipping prebuilt binaries.
Opensource rules dictate they should be accompanied by the
corresponding source packages.

So, add the possibility to also build Debian sources when a
dummy "ovs_build/build_debian_source" file exists (to avoid
passing an useless env var to each docker run).

Change-Id: I4e308d84c2eb01af043ed73440c46fc692c30d12
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
---
 ovs_build/build-ovs-dpdk.sh                        | 28 +++++++++++++++++-----
 ovs_build/build-ovs-nsh.sh                         | 26 +++++++++++++++++---
 .../debian/patches/series                          |  1 -
 3 files changed, 45 insertions(+), 10 deletions(-)
 delete mode 100644 ovs_build/openvswitch_2.6-dpdk_16.07/debian/patches/series

diff --git a/ovs_build/build-ovs-dpdk.sh b/ovs_build/build-ovs-dpdk.sh
index 7ce2a62..8dd7430 100755
--- a/ovs_build/build-ovs-dpdk.sh
+++ b/ovs_build/build-ovs-dpdk.sh
@@ -11,14 +11,30 @@ DEB_ARCH="$(dpkg --print-architecture)"

 export DEB_BUILD_OPTIONS='parallel=8 nocheck'

+function debian_build() {
+  if [ -f "${BUILD_SRC}/build_debian_source" ]; then
+    dpkg-source -b .
+    cp -f ../*.{dsc,xz} ${BUILD_HOME}/deb
+  fi
+  debian/rules build; fakeroot debian/rules binary
+}
+
+function debian_src_prepare_ovs() {
+  if [ -f "${BUILD_SRC}/build_debian_source" ]; then
+    suffix="${OVS_VER}.orig.tar.xz"
+    tar cJf ../openvswitch_${suffix} --exclude='./debian' .
+    cd ..; ln -sf openvswitch_${suffix} openvswitch-dpdk_${suffix}; cd -
+  fi
+}
+
 sudo apt-get update
 sudo apt-get -y --force-yes install devscripts dpkg-dev git wget dkms

 rm -rf ${BUILD_HOME}; mkdir -p ${BUILD_HOME}/deb

 cd ${BUILD_HOME}
-wget -c http://fast.dpdk.org/rel/dpdk-16.07.tar.xz
-xz -d dpdk-16.07.tar.xz; tar xvf dpdk-16.07.tar
+wget -c http://fast.dpdk.org/rel/dpdk-16.07.tar.xz -O dpdk_16.07.orig.tar.xz
+tar xJvf dpdk_16.07.orig.tar.xz
 cd dpdk-16.07
 cp -r ${BUILD_SRC}/dpdk_16.07.fuel/debian .
 cat << EOF > debian/changelog
@@ -45,7 +61,7 @@ sudo apt-get install -y --force-yes debhelper \
                python-sphinx  \
                texlive-fonts-recommended  \
                texlive-latex-extra
-debian/rules build; fakeroot debian/rules binary
+debian_build

 cd ${BUILD_HOME}
 sudo apt-get install -y --force-yes hwdata
@@ -73,7 +89,7 @@ sudo apt-get install -y --force-yes autoconf \
                python-six

 git clone https://github.com/openvswitch/ovs.git
-cd ovs; git checkout ${OVS_COMMIT}; rm -rf .git
+cd ovs; git checkout ${OVS_COMMIT}; rm -rf .git; debian_src_prepare_ovs
 cd ${BUILD_HOME}; cp -r ovs ovs-dpdk

 cd ovs-dpdk
@@ -86,10 +102,10 @@ openvswitch-dpdk (${OVS_VER}-1) unstable; urgency=low
  -- Open vSwitch team <dev@openvswitch.org>  $(date --rfc-2822)
 EOF

-debian/rules build; fakeroot debian/rules binary
+debian_build

 cd ${BUILD_HOME}/ovs
-debian/rules build; fakeroot debian/rules binary
+debian_build

 cp -r ${BUILD_HOME}/*.deb ${BUILD_HOME}/deb
 cd ${BUILD_HOME}/deb
diff --git a/ovs_build/build-ovs-nsh.sh b/ovs_build/build-ovs-nsh.sh
index dbebdb2..efbabab 100755
--- a/ovs_build/build-ovs-nsh.sh
+++ b/ovs_build/build-ovs-nsh.sh
@@ -11,6 +11,22 @@ DEB_ARCH="$(dpkg --print-architecture)"

 export DEB_BUILD_OPTIONS='parallel=8 nocheck'

+function debian_build() {
+  if [ -f "${BUILD_SRC}/build_debian_source" ]; then
+    dpkg-source -b .
+    cp -f ../*.{dsc,xz} ${BUILD_HOME}/deb
+  fi
+  debian/rules build; fakeroot debian/rules binary
+}
+
+function debian_src_prepare_ovs() {
+  if [ -f "${BUILD_SRC}/build_debian_source" ]; then
+    suffix="${OVS_VER}.orig.tar.xz"
+    tar cJf ../openvswitch_${suffix} --exclude='./debian' .
+    cd ..; ln -sf openvswitch_${suffix} openvswitch-dpdk_${suffix}; cd -
+  fi
+}
+
 sudo apt-get update
 sudo apt-get -y --force-yes install devscripts dpkg-dev git wget dkms

@@ -39,12 +55,16 @@ sudo apt-get install -y --force-yes autoconf \
                python-six

 git clone https://github.com/openvswitch/ovs.git
-cd ovs; git checkout ${OVS_COMMIT}; rm -rf .git
+cd ovs; git checkout ${OVS_COMMIT}; rm -rf .git; debian_src_prepare_ovs
+mkdir -p debian/patches; mkdir -p .pc
 PATCHES=$(cd ${BUILD_SRC}/ovs_nsh_patches/v2.6.1/; echo *patch)
 for patch in ${PATCHES}
 do
-    patch -p1 < ${BUILD_SRC}/ovs_nsh_patches/v2.6.1/${patch}
+    echo "${patch}" >> debian/patches/series
+    cp ${BUILD_SRC}/ovs_nsh_patches/v2.6.1/${patch} debian/patches/
+    patch -p1 < debian/patches/${patch}
 done
+cp debian/patches/series .pc/applied-patches

 cat << EOF > debian/changelog
 openvswitch (${OVS_VER}-1.nsh) unstable; urgency=low
@@ -53,7 +73,7 @@ openvswitch (${OVS_VER}-1.nsh) unstable; urgency=low

  -- Open vSwitch team <dev@openvswitch.org>  $(date --rfc-2822)
 EOF
-debian/rules build; fakeroot debian/rules binary
+debian_build

 cp -r ${BUILD_HOME}/*.deb ${BUILD_HOME}/deb
 cd ${BUILD_HOME}/deb
diff --git a/ovs_build/openvswitch_2.6-dpdk_16.07/debian/patches/series b/ovs_build/openvswitch_2.6-dpdk_16.07/debian/patches/series
deleted file mode 100644
index 8b13789..0000000
--- a/ovs_build/openvswitch_2.6-dpdk_16.07/debian/patches/series
+++ /dev/null
@@ -1 +0,0 @@
-