summaryrefslogtreecommitdiffstats
path: root/patches/fuel-plugin-ovs/0002-deb-src-Enable-building-Debian-source-pkgs.patch
blob: c7b90a0d1a7f1283e41deabeb8553563f6b3eeba (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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
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-dpdk.sh                    | 34 +++++++++++++++++-----
 .../debian/patches/series                          |  1 -
 3 files changed, 49 insertions(+), 14 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-dpdk.sh b/ovs_build/build-ovs-nsh-dpdk.sh
index e6f8faf..03b494c 100755
--- a/ovs_build/build-ovs-nsh-dpdk.sh
+++ b/ovs_build/build-ovs-nsh-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,12 +89,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
 cd ${BUILD_HOME}; cp -r ovs ovs-dpdk

 cd ovs-dpdk
@@ -91,7 +111,7 @@ openvswitch-dpdk (${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

 cd ${BUILD_HOME}/ovs
 cat << EOF > debian/changelog
@@ -101,7 +121,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 @@
-