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.