`git-buildpackage` doesn't call ./configure, why?

216 Views Asked by At

I'm trying to create my own .deb file, but git-buildpackage doesn't seem to call ./configure to build it (I left a dependency missing, on purpose, to see it fail, but it doesn't fail!).

The way I call it:

git-buildpackage --git-builder="git-pbuilder"

And the last parts of the output are:

Setting up fakeroot (1.20.2-1) ...
update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode
I: Copying back the cached apt archive contents
I: Copying source file
I: copying [/home/knocte/pkging/gstreamer-sharp-1_0.99.0-1.dsc]
I: copying [/home/knocte/pkging/gstreamer-sharp-1_0.99.0.orig.tar.gz]
I: copying [/home/knocte/pkging/gstreamer-sharp-1_0.99.0-1.debian.tar.xz]
I: Extracting source
dpkg-source: warning: extracting unsigned source package (gstreamer-sharp-1_0.99.0-1.dsc)
dpkg-source: info: extracting gstreamer-sharp-1 in gstreamer-sharp-1-0.99.0
dpkg-source: info: unpacking gstreamer-sharp-1_0.99.0.orig.tar.gz
dpkg-source: info: unpacking gstreamer-sharp-1_0.99.0-1.debian.tar.xz
I: Building the package
I: Running cd tmp/buildd/*/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin" dpkg-buildpackage -us -uc  -rfakeroot
dpkg-buildpackage: source package gstreamer-sharp-1
dpkg-buildpackage: source version 0.99.0-1
dpkg-buildpackage: source distribution unstable
dpkg-buildpackage: source changed by Andres G. Aragoneses <[email protected]>
 dpkg-source --before-build gstreamer-sharp-1-0.99.0
dpkg-buildpackage: host architecture amd64
 fakeroot debian/rules clean
dh clean
   dh_testdir
   dh_auto_clean
   dh_clean
 dpkg-source -b gstreamer-sharp-1-0.99.0
dpkg-source: info: using source format '3.0 (quilt)'
dpkg-source: info: building gstreamer-sharp-1 using existing ./gstreamer-sharp-1_0.99.0.orig.tar.gz
dpkg-source: info: building gstreamer-sharp-1 in gstreamer-sharp-1_0.99.0-1.debian.tar.xz
dpkg-source: info: building gstreamer-sharp-1 in gstreamer-sharp-1_0.99.0-1.dsc
 debian/rules build
dh build
   dh_testdir
   dh_auto_configure
   dh_auto_build
   dh_auto_test
 fakeroot debian/rules binary
dh binary
   dh_testroot
   dh_prep
   dh_auto_install
   dh_installdocs
   dh_installchangelogs
   dh_perl
   dh_link
   dh_compress
   dh_fixperms
   dh_strip
   dh_makeshlibs
   dh_shlibdeps
   dh_installdeb
   dh_gencontrol
dpkg-gencontrol: warning: Depends field of package libgstreamer1.0-cil: unknown substitution variable ${shlibs:Depends}
dpkg-gencontrol: warning: File::FcntlLock not available; using flock which is not NFS-safe
dpkg-gencontrol: warning: File::FcntlLock not available; using flock which is not NFS-safe
dpkg-gencontrol: warning: File::FcntlLock not available; using flock which is not NFS-safe
   dh_md5sums
   dh_builddeb
dpkg-deb: building package 'libgstreamer1.0-cil' in '../libgstreamer1.0-cil_0.99.0-1_amd64.deb'.
dpkg-deb: building package 'libgstreamer1.0-cil-dev' in '../libgstreamer1.0-cil-dev_0.99.0-1_all.deb'.
dpkg-deb: building package 'monodoc-gstreamer-manual' in '../monodoc-gstreamer-manual_0.99.0-1_all.deb'.
 dpkg-genchanges  >../gstreamer-sharp-1_0.99.0-1_amd64.changes
dpkg-genchanges: including full source code in upload
 dpkg-source --after-build gstreamer-sharp-1-0.99.0
dpkg-buildpackage: full upload (original source is included)
I: Copying back the cached apt archive contents
I: unmounting dev/pts filesystem
I: unmounting run/shm filesystem
I: unmounting proc filesystem
I: Current time: Sun Jun  7 01:55:15 CEST 2015
I: pbuilder-time-stamp: 1433634915
 -> Cleaning COW directory
  forking: rm -rf /var/cache/pbuilder/build//cow.21117 

(For full output refer to my gist.)

1

There are 1 best solutions below

0
On BEST ANSWER

Turns out the upstream tarball (and branch) didn't have a configure file, so it was simply skipping it (failing silently).

The fact that the tarball had an autogen.sh file instead of a configure one is a bug of upstream (which they actually already fixed in master, they knew their make dist process was buggy). To workaround this bug to package this buggy version, then one has to add this to the debian/rules file:

override_dh_auto_configure:
    ./autogen.sh

(Extracted from this guide.)