#721444 [git-buildpackage] Allow --git-pbuilder-options to set --basepath cowbuilder option

#721444#5
Date:
2013-08-31 16:08:19 UTC
From:
To:
Hi,

I would like to use a customized cowbuilder image when running git-buildpackage.
If I try to pass the location of this image to --git-pbuilder-options, git-buildpackage
continues using base.cow instead of the file I want to use.

The command I use is the following, where mybase.cow is the image I want to use:

$ git-buildpackage --git-ignore-new --git-pbuilder --git-pbuilder-options='--basepath /var/cache/pbuilder/mybase.cow'

Thanks!
Debian Release: jessie/sid
  900 testing         security.debian.org
  900 testing         ftp.debian.org
  850 stable          security.debian.org
  850 stable          ftp.debian.org
  500 stable-updates  ftp.debian.org
    1 experimental    ftp.debian.org
--- Package information. ---
Depends                          (Version) | Installed
==========================================-+-==================
python                            (>= 2.7) | 2.7.5-2
python                            (<< 2.8) | 2.7.5-2
devscripts                   (>= 2.10.66~) | 2.13.2
git                      (>= 1:1.7.9.1-1~) | 1:1.7.10.4-2
man-db                                     | 2.6.5-2
python-dateutil                            | 1.5+dfsg-0.1
python-pkg-resources                       | 0.6.37-1


Recommends        (Version) | Installed
===========================-+-===========
pristine-tar       (>= 0.5) | 1.28
cowbuilder                  | 0.70


Suggests           (Version) | Installed
============================-+-===========
python-notify                | 0.1.1-3
unzip                        | 6.0-9

#721444#10
Date:
2013-08-31 16:22:09 UTC
From:
To:
Mònica Ramírez Arceda <monica@debian.org> writes:

git-pbuilder doesn't take options to change the basepath.  Instead, it
uses environment variables.  See the git-pbuilder man page for more
information, but the short version is that you want:

    env DIST=mybase git-buildpackage --git-ignore-new --git-pbuilder

Options passed to git-pbuilder are just passed directly on to debbuild.

#721444#15
Date:
2013-08-31 16:22:09 UTC
From:
To:
Mònica Ramírez Arceda <monica@debian.org> writes:

git-pbuilder doesn't take options to change the basepath.  Instead, it
uses environment variables.  See the git-pbuilder man page for more
information, but the short version is that you want:

    env DIST=mybase git-buildpackage --git-ignore-new --git-pbuilder

Options passed to git-pbuilder are just passed directly on to debbuild.

#721444#20
Date:
2013-08-31 17:28:38 UTC
From:
To:
This command is still not working for me :-(

According to git-pbuilder man page, I must retitle mybase.cow to
base-mybase.cow. When I retitle the image, git-pbuilder works using this
command:

$ env DIST=xmlstarlet git-pbuilder

but if I run git-buildpackage with the command you recommended, it still
continues using base.cow.

I've taken a look to the source code and it seems that DIST env var is
overwritten when using --git-pbuilder option [0]:

    if options.use_pbuilder or options.use_qemubuilder:
        ...
        os.environ['DIST'] = options.pbuilder_dist

[0] http://sources.debian.net/src/git-buildpackage/0.6.3/gbp/scripts/buildpackage.py#L332

Thanks for your help,
Mònica

#721444#25
Date:
2013-08-31 17:39:43 UTC
From:
To:
Mònica Ramírez Arceda <monica@debian.org> writes:

Ah, yes, sorry, that's true.  The base directory must begin with "base-"
currently.

Oh, sorry, I'd missed that.  So if you're using --git-pbuilder, you
instead want --git-dist=mybase.  But you will have to name it with "base-"
as a prefix.

#721444#30
Date:
2013-08-31 19:08:33 UTC
From:
To:
with the following command, it works:

$ git-buildpackage --git-pbuilder --git-dist='mybase'

But I still think that this solution is not very intuitive (or my
intuition is not good enough ;-) ), so I'll keep this bug open. I think
it's more intuitive to pass the option to --git-pbuilder-options or have
an option with a more intuitive name.

Thanks again!
Mònica