2

I am trying to generate a signed debian package for deployment to Launchpad. I can generate the binary-only build using :

dpkg-buildpackage -b -pgpg -kmihaigalos@gmail.com 
dpkg-buildpackage: source package netatmo-indicator
dpkg-buildpackage: source version 0.1-1
dpkg-buildpackage: source distribution xenial
dpkg-buildpackage: source changed by Mihai Galos <mihaigalos@gmail.com>
dpkg-buildpackage: host architecture amd64
 dpkg-source --before-build netatmo-indicator
 fakeroot debian/rules clean
dh clean
   dh_testdir
   dh_auto_clean
   dh_clean
 debian/rules build
dh build
   dh_testdir
   dh_update_autotools_config
   dh_auto_configure
   dh_auto_build
   dh_auto_test
 fakeroot debian/rules binary
dh binary
   dh_testroot
   dh_prep
   dh_auto_install
   dh_install
   dh_installdocs
   dh_installchangelogs
   dh_perl
   dh_link
   dh_strip_nondeterminism
   dh_compress
   dh_fixperms
   dh_installdeb
   dh_gencontrol
dpkg-gencontrol: warning: Depends field of package netatmo-indicator: unknown substitution variable ${python:Depends}
   dh_md5sums
   dh_builddeb
dpkg-deb: building package 'netatmo-indicator' in '../netatmo-indicator_0.1-1_all.deb'.
 dpkg-genchanges -b >../netatmo-indicator_0.1-1_amd64.changes
dpkg-genchanges: binary-only upload (no source code included)
 dpkg-source --after-build netatmo-indicator
dpkg-buildpackage: binary-only upload (no source included)
 signfile netatmo-indicator_0.1-1_amd64.changes

You need a passphrase to unlock the secret key for
user: "Mihai Galos <mihaigalos@gmail.com>"
2048-bit RSA key, ID 174B180D, created 2018-10-26

(done)

So far so good, but Launchpad only accepts source-only builds. I thus build with -S:

dpkg-buildpackage -S -pgpg -kmihaigalos@gmail.com
dpkg-buildpackage: source package netatmo-indicator
dpkg-buildpackage: source version 0.1-1
dpkg-buildpackage: source distribution xenial
dpkg-buildpackage: source changed by Mihai Galos <mihaigalos@gmail.com>
 dpkg-source --before-build netatmo-indicator
 fakeroot debian/rules clean
dh clean
   dh_testdir
   dh_auto_clean
   dh_clean
 dpkg-source -b netatmo-indicator
dpkg-source: error: can't build with source format '3.0 (quilt)': no upstream tarball found at ../netatmo-indicator_0.1.orig.tar.{bz2,gz,lzma,xz}
dpkg-buildpackage: error: dpkg-source -b netatmo-indicator gave error exit status 255

my debian/source/format file contains 3.0 (quilt).

What could be the problem here?

Many thanks in advance!

1

The error message you got:

dpkg-source: error: can't build with source format '3.0 (quilt)': no upstream tarball found at ../netatmo-indicator_0.1.orig.tar.{bz2,gz,lzma,xz}

Debian packager way

In the normal workflow, packager starts by downloading *.orig.tar.gz archive then extracting. So original archive is already in place.

  • Debian packages can be split into two kinds: native '3.0 (native)' and non-native '3.0 (quilt)'.

    They have a slight different way in building. Check DebianMentorsFaq or man dpkg-source.

  • Anyway, just create an original source archive in the parent folder with exact naming and using one of the allowed formats. Example: netatmo-indicator_0.1.orig.tar.gz

Upstream Developer way

  • There are other helping tools to build Debian package directly from the source tree without original archive. Look for: git-buildpackage, bzr-builddeb, ...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.