On 30.08.2017 [19:02:20 +0200], Guido Günther wrote: > Hi, > On Wed, Aug 30, 2017 at 09:37:28AM -0700, Nish Aravamudan wrote: > > Hello, > > > > I am currently using gbp in a snap for `git-ubuntu`, a tool similar to > > dgit for doing Ubuntu source package work. The snap contains all its > > Can you point me to the snap?
Yep; I interpreted your statement in three different ways :) 1) To install the snap: sudo snap install git-ubuntu --classic 2) Source: https://code.launchpad.net/~usd-import-team/usd-importer/+git/usd-importer/+ref/master The snap is automatically built from master currently. 3) The error we get (without pristine-tar installed in the host, which is what I'm trying to avoid requiring by putting it in the snap) is: gbp:debug: /usr/bin/pristine-tar [] ['commit', '/tmp/tmpk6ru7ya5/.git/git-ubuntu-cache/virt-manager_0.5.4.orig.tar.gz', 'c0a614c62bad2d63e671ff3c1ae853380e952cab'] gbp:error: Import of /tmp/tmpk6ru7ya5/.git/git-ubuntu-cache/virt-manager_0.5.4.orig.tar.gz failed: Couldn't commit to 'pristine-tar' with upstream 'c0a614c62bad2d63e671ff3c1ae853380e952cab': execution failed: [Errno 2] No such file or directory ... The host doesn't have pristine-tar, but it is available at: /snap/git-ubuntu/current/usr/bin/pristine-tar. The former ends up in snaps as $SNAP and we have a wrapper around our commands that ensures $SNAP/usr/bin (and a bunch of other common paths) are in $PATH. To be clear, we only use gbp for orig tarball handling currently (we import-orig the tarballs published for Debian & Ubuntu, and use buildpackage (eventually export-orig, once it's available) to get the tarballs back out). > > dependencies, including pristine-tar at paths within the snap (which I > > ensure are in PATH when my tool runs), but gbp has a hard-coded path > > to pristine-tar: > > > > gbp/pkg/pristinetar.py: > > ... > > class PristineTar(Command): > > """The pristine-tar branch in a git repository""" > > cmd = '/usr/bin/pristine-tar' > > > > Is that strictly necessary for the way Command works? Would it be > > possible to allow the cli (since it may not be override-able > > otherwise) to specify where pristine-tar lives rather than it being > > hardcoded? > > Is pristine-tar in your $PATH? As with subprocess when not going through > a shell we need an absolute path. I'm happy to add logic to check in > $PATH or different locations but I rather understand the problem first. > (I'd be great if we wouldn't need even more cli options). Yeah, pristine-tar is in $PATH (within the context of the snap wrapper scripts, which are the only entry points to our programs anyways). I see what you're saying, since we aren't using a shell, we don't have a PATH to resolve? Agreed on not needing more cli options, if at all possible to avoid :) Thanks, Nish -- Nishanth Aravamudan Ubuntu Server Canonical Ltd _______________________________________________ git-buildpackage mailing list [email protected] http://lists.sigxcpu.org/mailman/listinfo/git-buildpackage
