Sean Whitton writes ("Bug#844128: dgit: --build-products-dir fails to find 
.dsc"):
> Package: dgit
> Version: 2.11
> Severity: normal
> 
> In at least some cases, --build-products-dir is not sufficient for dgit
> to find the .dsc.
> 
>     mattia@chase ~/devel/RFS/ocrmypdf/ocrmypdf (git)-[dgit/sid] % dgit 
> --build-products-dir=~/pbuilder/results/sid/amd64 push
>     canonical suite name for unstable is sid
>     downloading 
> http://ftp.debian.org/debian//pool/main/o/ocrmypdf/ocrmypdf_4.2.5-1.dsc...
>     last upload to archive specified git hash
>     using existing ocrmypdf_4.2.5.orig.tar.xz
>     dgit: looked for .dsc ocrmypdf_4.3.2-1.dsc, but No such file or
>     directory; maybe you forgot to build
>     ! Push failed, while preparing your push.
>     ! You can retry the push, after fixing the problem, if you like.
> 
> Mattia confirmed that the file
> 
>    ~/pbuilder/results/sid/amd64/ocrmypdf_4.3.2-1.dsc
> 
> exists.  His successful workaround was to use

I find this bug somewhat mysterious.  There is a test case for
--build-products-dir which moves all the files aside into a different
directory, and therefore relies on the -b-p-d option to find them.

The one thing I can think of is this: Mattia, do you know that your
shell expands ~ in this context ?

You see, I think it is possible that the command
  dgit --build-products-dir=~/pbuilder/results/sid/amd64 push
passed the literal string "~/pbuilder/results/sid/amd64 push" to
dgit as an argument.  That wouldn't work, because it's the shell's job
(in general) to do ~ expansion.

Conversely,

>     % dgit -C ~/pbuilder/results/sid/amd64/ocrmypdf_4.2.4-1_amd64.changes push

would expand the ~ in almost any shell.

You can see what your shell does by running something like:
   /bin/echo x --foo=~/bar

I tried some experiments with my own shell and saw this:

zealot:~> bash -c 'echo y --x=~/bar'
y --x=~/bar
zealot:~> bash -c 'echo y x=~/bar'
y x=/home/ian/bar
zealot:~> bash -c 'set -o posix; echo y x=~/bar'
y x=~/bar
zealot:~>

I can't make sense of that even after RTFMing bash(1).

Anyway, my master branch has a change to the error message, which will
in future print the whole path, so that this may be easier to debug if
it happens again.

Regards,
Ian.

-- 
Ian Jackson <[email protected]>   These opinions are my own.

If I emailed you from an address @fyvzl.net or @evade.org.uk, that is
a private address which bypasses my fierce spamfilter.

Reply via email to