Antoine Beaupré writes ("Bug#731633: dgit ignores my .gbp.conf settings"):
> Minor really. I usually build my git packages using cowbuilder, and I
> have a rather convoluted setup to build packages, on my wheezy box, in
> a sid chroot to (a) get a clean environment and (b) to build against
> sid for uploads.

Thanks for the report.

Right.  As the manpage says, you may use any technique you like to do
the build, provided it results in a .dsc which matches your git tree
exactly.

So it's not necessary for the building functions in dgit to support
every possible workflow.  However, I'm certainly open to improving
dgit's build functions if it would be possible and useful.

> My setup is a mix of those:
...
> dpkg-buildpackage: paquet source bugs-everywhere
> dpkg-buildpackage: version source 1.1.1-3
> dpkg-buildpackage: source changé par Antoine Beaupré <anar...@debian.org>
> dpkg-buildpackage: architecture hôte amd64
>  dpkg-source -i.git/ -I.git --before-build bugs-everywhere-1.1.1
> dpkg-source: info: utilisation des options depuis 
> bugs-everywhere-1.1.1/debian/source/options : --single-debian-patch
> dpkg-checkbuilddeps : dépendances de construction non trouvées : tla darcs 
> monotone rcs python-numpydoc
> dpkg-buildpackage: avertissement: dépendances de construction et conflits non 
> satisfaits ; échec.
> dpkg-buildpackage: avertissement: (Utilisez l'option -d pour forcer.)
> gbp:error: Couldn't run 'dpkg-buildpackage -i\.git/ -I.git -us -uc 
> -v1.1.1-2': dpkg-buildpackage -i\.git/ -I.git return
> git-buildpackage: failed command: git-buildpackage -us -uc --git-no-sign-tags 
> '--git-builder=dpkg-buildpackage -i'\\'.g
> dgit: subprocess failed with error exit status 1

So I think you are right that the problem here is that dgit is
overriding --git-builder.  dgit needs to do this because the default
ignore rules are not correct: git-buildpackage (and various other
tools) ignore .gitignore (and perhaps other things) by default, which
is not correct with dgit.

As far as I know the only way to specify a different set of ignore
rules with git-buildpackage is to override --git-builder.

As it happens, I think you can achieve the same effect with dgit's
subcommand override options.  If I UTSL I see this in cmd_git_build:
    my @cmd =
        (qw(git-buildpackage -us -uc --git-no-sign-tags),
         "--git-builder=@dpkgbuildpackage");

So it may work to say something like:
    dgit --dpkg-buildpackage=git-pbuilder git-build

I appreciate that this isn't particularly discoverable, but the
ability to override dpkg-buildpackage is documented in the manual
and if you run dgit with the -D option it will show you the commands
it's running.  (Would it have been better to show this particular
command by default?)

> This seems to work a little better here:
>     DIST=sid ARCH=amd64 dgit git-build --git-builder=git-pbuilder
> It seems to me this shouldn't be hardcoded.

I assume that this works only because something else is somehow
overriding the dropping of .gitignore.


Later in this bug you followed up:

Antoine Beaupré writes:
> Ah, after more complete testing, it seems that push fails with packages
> built through pbuilder, because it can't find the .dsc file:
...
> dgit: looked for .dsc bugs-everywhere_1.1.1-3.dsc, but Aucun fichier ou 
> dossier de ce type; maybe you forgot to build
> 
> Indeed, the files are in ../build-area. But after moving the files into
> place (in ../), the push proceeds further. Maybe there should be an
> option to specify the build directory?

I think that would be a good idea.  (I won't yet clone this bug report
for that, because I want to finish the whole conversation before
deciding what's best to do.)

(But: there is already an option to specify the .changes file.  Does
using it make dgit work in this case?  I ask because I have a feeling
it might not...)

Ian.


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to