2fe1ee2a819a28d56dc7056a7aea0f89885a8dd3
[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.sh                         | 26 +++++++++++++++++---
18  .../debian/patches/series                          |  1 -
19  3 files changed, 45 insertions(+), 10 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.sh b/ovs_build/build-ovs-nsh.sh
91 index dbebdb2..efbabab 100755
92 --- a/ovs_build/build-ovs-nsh.sh
93 +++ b/ovs_build/build-ovs-nsh.sh
94 @@ -11,6 +11,22 @@ 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 @@ -39,12 +55,16 @@ sudo apt-get install -y --force-yes autoconf \
118                 python-six
119
120  git clone https://github.com/openvswitch/ovs.git
121 -cd ovs; git checkout ${OVS_COMMIT}; rm -rf .git
122 +cd ovs; git checkout ${OVS_COMMIT}; rm -rf .git; debian_src_prepare_ovs
123 +mkdir -p debian/patches; mkdir -p .pc
124  PATCHES=$(cd ${BUILD_SRC}/ovs_nsh_patches/v2.6.1/; echo *patch)
125  for patch in ${PATCHES}
126  do
127 -    patch -p1 < ${BUILD_SRC}/ovs_nsh_patches/v2.6.1/${patch}
128 +    echo "${patch}" >> debian/patches/series
129 +    cp ${BUILD_SRC}/ovs_nsh_patches/v2.6.1/${patch} debian/patches/
130 +    patch -p1 < debian/patches/${patch}
131  done
132 +cp debian/patches/series .pc/applied-patches
133
134  cat << EOF > debian/changelog
135  openvswitch (${OVS_VER}-1.nsh) unstable; urgency=low
136 @@ -53,7 +73,7 @@ openvswitch (${OVS_VER}-1.nsh) unstable; urgency=low
137
138   -- Open vSwitch team <dev@openvswitch.org>  $(date --rfc-2822)
139  EOF
140 -debian/rules build; fakeroot debian/rules binary
141 +debian_build
142
143  cp -r ${BUILD_HOME}/*.deb ${BUILD_HOME}/deb
144  cd ${BUILD_HOME}/deb
145 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
146 deleted file mode 100644
147 index 8b13789..0000000
148 --- a/ovs_build/openvswitch_2.6-dpdk_16.07/debian/patches/series
149 +++ /dev/null
150 @@ -1 +0,0 @@
151 -