Open zilti opened 7 years ago
obs-build does support format 3.0 just fine, eg:
[ 80s] -----------------------------------------------------------------
[ 80s] ----- building dpdk_16.11.3-0vyatta1.dsc (user abuild)
[ 80s] -----------------------------------------------------------------
[ 80s] -----------------------------------------------------------------
[ 81s] dpkg-buildpackage: info: source package dpdk
[ 81s] dpkg-buildpackage: info: source version 16.11.3-0vyatta1+18.2
[ 81s] dpkg-buildpackage: info: source distribution unstable
[ 81s] dpkg-buildpackage: info: source changed by Luca Boccassi <lboccass@brocade.com>
[ 81s] dpkg-source --before-build BUILD
[ 81s] dpkg-buildpackage: info: host architecture amd64
[ 81s] fakeroot debian/rules clean
[ 81s] dh clean --with python2,dkms
[ 83s] dh_testdir
[ 83s] debian/rules override_dh_auto_clean
[ 83s] make[1]: Entering directory '/usr/src/packages/BUILD'
[ 83s] rm -f debian/control.modules
[ 84s] sed -i '/Package: dpdk-modules/,$d' debian/control
[ 84s] rm -fr debian/dpdk debian/dpdk-dev debian/dpdk-modules-*
[ 84s] rm -rf debian/build debian/tmp debian/dpdk-modules-* \
[ 84s] debian/control.modules debian/VERSION
[ 84s] sed -i '/Package: dpdk-modules-/,/`tail -n1 debian/control.modules.in`/d' debian/control
[ 84s] test -L config/defconfig_x86_64-vyatta-linuxapp-gcc && rm -f config/defconfig_x86_64-vyatta-linuxapp-gcc || true
[ 84s] make[1]: Leaving directory '/usr/src/packages/BUILD'
[ 84s] dh_clean
[ 84s] dpkg-source -b BUILD
[ 85s] dpkg-source: info: using source format '3.0 (quilt)'
[ 85s] dpkg-source: info: building dpdk using existing ./dpdk_16.11.3.orig.tar.gz
[ 87s] dpkg-source: info: building dpdk in dpdk_16.11.3-0vyatta1+18.2.debian.tar.xz
[ 87s] dpkg-source: info: building dpdk in dpdk_16.11.3-0vyatta1+18.2.dsc
[ 87s] debian/rules build
But you need to feed it a proper Debian source artefact (real .dsc + .orig.tar.gz (+ debian.tar.gz))
The issue ... patches file with name ending in .dpkg-orig
just arrived at my packages which use the alternative method of creating a Debian package (which means not feeding a proper Debian source artefact) when I updated the source tarball.
https://build.opensuse.org/package/show/openSUSE:Tools/build use the alternative method, too, but the last build (last source change) was 5 days ago, so maybe the trouble arrives there later.
I don't know about the error reported in the original post, but in my case the root cause was a patch from debian.series
no longer applying successfully. This error is clearly reported a couple of lines earlier, so the question remains why the build continues with dpkg-source --before-build BUILD
and dpkg-source -b BUILD
.
--- b 2018-12-12 06:28:28.075046952 +0100
+++ a 2018-12-12 06:17:32.576414990 +0100
@@ -1079,9 +1079,19 @@
dpkg-source: info: extracting openorienteering-mapper-master in /usr/src/packages/BUILD
dpkg-source: info: unpacking openorienteering-mapper-master_0.8.20181211.orig.tar.gz
dpkg-source: info: applying openorienteering-mapper-master_0.8.20181211-0+60.1.diff.gz
-dpkg-source: info: upstream files that have been modified:
- /usr/src/packages/BUILD/doc/manual/CMakeLists.txt
- /usr/src/packages/BUILD/src/main.cpp
+dpkg-source: error: LC_ALL=C patch -t -F 0 -N -p1 -u -V never -b -z .dpkg-orig < /usr/src/packages/SOURCES.DEB/openorienteering-mapper-master_0.8.20181211-0+60.1.diff.gz subprocess returned exit status 1
+patching file debian/compat
+patching file debian/rules
+patching file debian/control
+patching file debian/copyright
+patching file debian/changelog
+patching file debian/source.lintian-overrides
+patching file src/main.cpp
+Hunk #1 succeeded at 99 (offset 8 lines).
+patching file doc/manual/CMakeLists.txt
+Hunk #2 succeeded at 240 (offset 8 lines).
+Hunk #3 FAILED at 261.
+1 out of 3 hunks FAILED -- saving rejects to file doc/manual/CMakeLists.txt.rej
-----------------------------------------------------------------
----- building openorienteering-mapper-master.dsc (user abuild)
-----------------------------------------------------------------
-----------------------------------------------------------------
dpkg-buildpackage: info: source package openorienteering-mapper-master
dpkg-buildpackage: info: source version 0.8.20181211-0+60.1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by debtransform <build@opensuse.org>
+dpkg-buildpackage: warning: debian/rules is not executable; fixing that
dpkg-source --before-build BUILD
dpkg-buildpackage: info: host architecture amd64
fakeroot debian/rules clean
@@ -1118,3175 +1129,21 @@
dpkg-source: info: using source format '1.0'
dpkg-source: info: building openorienteering-mapper-master using existing openorienteering-mapper-master_0.8.20181211.orig.tar.gz
dpkg-source: info: building openorienteering-mapper-master in openorienteering-mapper-master_0.8.20181211-0+60.1.diff.gz
-dpkg-source: warning: the diff modifies the following upstream files:
- doc/manual/CMakeLists.txt
- src/main.cpp
-dpkg-source: info: use the '3.0 (quilt)' format to have separate and documented changes to upstream files, see dpkg-source(1)
-dpkg-source: info: building openorienteering-mapper-master in openorienteering-mapper-master_0.8.20181211-0+60.1.dsc
- debian/rules build
-dh build --builddirectory=build --parallel
-...
+dpkg-source: warning: newly created empty file 'debian/changelog.dpkg-orig' will not be represented in diff
+dpkg-source: warning: newly created empty file 'debian/compat.dpkg-orig' will not be represented in diff
+dpkg-source: warning: newly created empty file 'debian/control.dpkg-orig' will not be represented in diff
+dpkg-source: warning: newly created empty file 'debian/copyright.dpkg-orig' will not be represented in diff
+dpkg-source: warning: newly created empty file 'debian/rules.dpkg-orig' will not be represented in diff
+dpkg-source: warning: newly created empty file 'debian/source.lintian-overrides.dpkg-orig' will not be represented in diff
+dpkg-source: error: diff '/usr/src/packages/openorienteering-mapper-master_0.8.20181211-0+60.1.diff.gz.new.A2brBo' patches file with name ending in .dpkg-orig
+dpkg-buildpackage: error: dpkg-source -b BUILD subprocess returned exit status 29
Also related to #225 and #500 I think the crux of the issue is that 'debtransform' only generates source format '1.0' packages.
Latest Debian Testing does not support 1.0 format anymore, so debtransform
creates unbuildable result.
[ 69s] ** Started: debtransform --release 23.35 //usr/src/packages/SOURCES //usr/src/packages/SOURCES/naemon.dsc //usr/src/packages/SOURCES.DEB
[ 69s] No DEBTRANSFORM-TAR line in the .dsc file.
[ 69s] Attempting automatic discovery of a suitable source archive.
[ 69s] Source archive chosen for transformation: naemon-1.2.2.0+20201113~fd83da1.tar.gz
[ 69s] No DEBTRANSFORM-FILES-TAR line in the .dsc file.
[ 69s] Attempting automatic discovery of a debian archive.
[ 69s] Transforming into source package 1.0 (non-native) format
[ 69s] Added Debian revision to Version field, which is now "1.2.2.0+20201113~fd83da1-1".
[ 69s] Modifying dsc Version field to "1.2.2.0+20201113~fd83da1-1"
...
[ 70s] dpkg-source: error: can't build with source format '3.0 (native)': native package version may not have a revision
[ 70s] dpkg-buildpackage: error: dpkg-source -b . subprocess returned exit status 25
I'd suggest debtransform
to set the deb source format to '3.0 (native)' and remove adding a revision.
I think what you are seeing is #633 , which is a separate issue.
See below; support for newer source formats is needed. Seeing as there is another bug asking about that that is way over a year old now I also have to ask if it's even planned at all to keep supporting
.deb
building?