c7b90a0d1a7f1283e41deabeb8553563f6b3eeba
[armband.git] / patches / fuel-plugin-ovs / 0002-deb-src-Enable-building-Debian-source-pkgs.patch
1 From: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
2 Date: Wed, 25 Jan 2017 22:11:44 +0100
3 Subject: [PATCH] deb-src: Enable building Debian source pkgs
4
5 Armband plans on shipping prebuilt binaries.
6 Opensource rules dictate they should be accompanied by the
7 corresponding source packages.
8
9 So, add the possibility to also build Debian sources when a
10 dummy "ovs_build/build_debian_source" file exists (to avoid
11 passing an useless env var to each docker run).
12
13 Change-Id: I4e308d84c2eb01af043ed73440c46fc692c30d12
14 Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
15 ---
16  ovs_build/build-ovs-dpdk.sh                        | 28 ++++++++++++++----
17  ovs_build/build-ovs-nsh-dpdk.sh                    | 34 +++++++++++++++++-----
18  .../debian/patches/series                          |  1 -
19  3 files changed, 49 insertions(+), 14 deletions(-)
20  delete mode 100644 ovs_build/openvswitch_2.6-dpdk_16.07/debian/patches/series
21
22 diff --git a/ovs_build/build-ovs-dpdk.sh b/ovs_build/build-ovs-dpdk.sh
23 index 7ce2a62..8dd7430 100755
24 --- a/ovs_build/build-ovs-dpdk.sh
25 +++ b/ovs_build/build-ovs-dpdk.sh
26 @@ -11,14 +11,30 @@ DEB_ARCH="$(dpkg --print-architecture)"
27
28  export DEB_BUILD_OPTIONS='parallel=8 nocheck'
29
30 +function debian_build() {
31 +  if [ -f "${BUILD_SRC}/build_debian_source" ]; then
32 +    dpkg-source -b .
33 +    cp -f ../*.{dsc,xz} ${BUILD_HOME}/deb
34 +  fi
35 +  debian/rules build; fakeroot debian/rules binary
36 +}
37 +
38 +function debian_src_prepare_ovs() {
39 +  if [ -f "${BUILD_SRC}/build_debian_source" ]; then
40 +    suffix="${OVS_VER}.orig.tar.xz"
41 +    tar cJf ../openvswitch_${suffix} --exclude='./debian' .
42 +    cd ..; ln -sf openvswitch_${suffix} openvswitch-dpdk_${suffix}; cd -
43 +  fi
44 +}
45 +
46  sudo apt-get update
47  sudo apt-get -y --force-yes install devscripts dpkg-dev git wget dkms
48
49  rm -rf ${BUILD_HOME}; mkdir -p ${BUILD_HOME}/deb
50
51  cd ${BUILD_HOME}
52 -wget -c http://fast.dpdk.org/rel/dpdk-16.07.tar.xz
53 -xz -d dpdk-16.07.tar.xz; tar xvf dpdk-16.07.tar
54 +wget -c http://fast.dpdk.org/rel/dpdk-16.07.tar.xz -O dpdk_16.07.orig.tar.xz
55 +tar xJvf dpdk_16.07.orig.tar.xz
56  cd dpdk-16.07
57  cp -r ${BUILD_SRC}/dpdk_16.07.fuel/debian .
58  cat << EOF > debian/changelog
59 @@ -45,7 +61,7 @@ sudo apt-get install -y --force-yes debhelper \
60                 python-sphinx  \
61                 texlive-fonts-recommended  \
62                 texlive-latex-extra
63 -debian/rules build; fakeroot debian/rules binary
64 +debian_build
65
66  cd ${BUILD_HOME}
67  sudo apt-get install -y --force-yes hwdata
68 @@ -73,7 +89,7 @@ sudo apt-get install -y --force-yes autoconf \
69                 python-six
70
71  git clone https://github.com/openvswitch/ovs.git
72 -cd ovs; git checkout ${OVS_COMMIT}; rm -rf .git
73 +cd ovs; git checkout ${OVS_COMMIT}; rm -rf .git; debian_src_prepare_ovs
74  cd ${BUILD_HOME}; cp -r ovs ovs-dpdk
75
76  cd ovs-dpdk
77 @@ -86,10 +102,10 @@ openvswitch-dpdk (${OVS_VER}-1) unstable; urgency=low
78   -- Open vSwitch team <dev@openvswitch.org>  $(date --rfc-2822)
79  EOF
80
81 -debian/rules build; fakeroot debian/rules binary
82 +debian_build
83
84  cd ${BUILD_HOME}/ovs
85 -debian/rules build; fakeroot debian/rules binary
86 +debian_build
87
88  cp -r ${BUILD_HOME}/*.deb ${BUILD_HOME}/deb
89  cd ${BUILD_HOME}/deb
90 diff --git a/ovs_build/build-ovs-nsh-dpdk.sh b/ovs_build/build-ovs-nsh-dpdk.sh
91 index e6f8faf..03b494c 100755
92 --- a/ovs_build/build-ovs-nsh-dpdk.sh
93 +++ b/ovs_build/build-ovs-nsh-dpdk.sh
94 @@ -11,14 +11,30 @@ DEB_ARCH="$(dpkg --print-architecture)"
95
96  export DEB_BUILD_OPTIONS='parallel=8 nocheck'
97
98 +function debian_build() {
99 +  if [ -f "${BUILD_SRC}/build_debian_source" ]; then
100 +    dpkg-source -b .
101 +    cp -f ../*.{dsc,xz} ${BUILD_HOME}/deb
102 +  fi
103 +  debian/rules build; fakeroot debian/rules binary
104 +}
105 +
106 +function debian_src_prepare_ovs() {
107 +  if [ -f "${BUILD_SRC}/build_debian_source" ]; then
108 +    suffix="${OVS_VER}.orig.tar.xz"
109 +    tar cJf ../openvswitch_${suffix} --exclude='./debian' .
110 +    cd ..; ln -sf openvswitch_${suffix} openvswitch-dpdk_${suffix}; cd -
111 +  fi
112 +}
113 +
114  sudo apt-get update
115  sudo apt-get -y --force-yes install devscripts dpkg-dev git wget dkms
116
117  rm -rf ${BUILD_HOME}; mkdir -p ${BUILD_HOME}/deb
118
119  cd ${BUILD_HOME}
120 -wget -c http://fast.dpdk.org/rel/dpdk-16.07.tar.xz
121 -xz -d dpdk-16.07.tar.xz; tar xvf dpdk-16.07.tar
122 +wget -c http://fast.dpdk.org/rel/dpdk-16.07.tar.xz -O dpdk_16.07.orig.tar.xz
123 +tar xJvf dpdk_16.07.orig.tar.xz
124  cd dpdk-16.07
125  cp -r ${BUILD_SRC}/dpdk_16.07.fuel/debian .
126  cat << EOF > debian/changelog
127 @@ -45,7 +61,7 @@ sudo apt-get install -y --force-yes debhelper \
128                 python-sphinx  \
129                 texlive-fonts-recommended  \
130                 texlive-latex-extra
131 -debian/rules build; fakeroot debian/rules binary
132 +debian_build
133
134  cd ${BUILD_HOME}
135  sudo apt-get install -y --force-yes hwdata
136 @@ -73,12 +89,16 @@ sudo apt-get install -y --force-yes autoconf \
137                 python-six
138
139  git clone https://github.com/openvswitch/ovs.git
140 -cd ovs; git checkout ${OVS_COMMIT}; rm -rf .git
141 +cd ovs; git checkout ${OVS_COMMIT}; rm -rf .git; debian_src_prepare_ovs
142 +mkdir -p debian/patches; mkdir -p .pc
143  PATCHES=$(cd ${BUILD_SRC}/ovs_nsh_patches/v2.6.1/; echo *patch)
144  for patch in ${PATCHES}
145  do
146 -    patch -p1 < ${BUILD_SRC}/ovs_nsh_patches/v2.6.1/${patch}
147 +    echo "${patch}" >> debian/patches/series
148 +    cp ${BUILD_SRC}/ovs_nsh_patches/v2.6.1/${patch} debian/patches/
149 +    patch -p1 < debian/patches/${patch}
150  done
151 +cp debian/patches/series .pc/applied-patches
152  cd ${BUILD_HOME}; cp -r ovs ovs-dpdk
153
154  cd ovs-dpdk
155 @@ -91,7 +111,7 @@ openvswitch-dpdk (${OVS_VER}-1.nsh) unstable; urgency=low
156   -- Open vSwitch team <dev@openvswitch.org>  $(date --rfc-2822)
157  EOF
158
159 -debian/rules build; fakeroot debian/rules binary
160 +debian_build
161
162  cd ${BUILD_HOME}/ovs
163  cat << EOF > debian/changelog
164 @@ -101,7 +121,7 @@ openvswitch (${OVS_VER}-1.nsh) unstable; urgency=low
165
166   -- Open vSwitch team <dev@openvswitch.org>  $(date --rfc-2822)
167  EOF
168 -debian/rules build; fakeroot debian/rules binary
169 +debian_build
170
171  cp -r ${BUILD_HOME}/*.deb ${BUILD_HOME}/deb
172  cd ${BUILD_HOME}/deb
173 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
174 deleted file mode 100644
175 index 8b13789..0000000
176 --- a/ovs_build/openvswitch_2.6-dpdk_16.07/debian/patches/series
177 +++ /dev/null
178 @@ -1 +0,0 @@
179 -