reassign 1065445 git-buildpackage
retitle 1065445 git-buildpackage: --pristine-tar fails if upstream tarball top 
directory name is not <debianpackagename>-<debianuversion>
thanks

(See below for explanation.)

On Tue, Mar 05, 2024 at 07:41:02AM +0000, Julian Gilbey wrote:
> severity 1065445 important
> retitle 1065445 pristine-tar: fails if original tarball top directory name is 
> not <debianpackagename>-<debianuversion>
> thanks
> 
> On Mon, Mar 04, 2024 at 08:53:21PM +0000, Julian Gilbey wrote:
> > Package: pristine-tar
> > Version: 1.50+nmu1
> > Severity: normal
> > 
> > I discovered that a package I was trying to use with pristine-tar
> > failed to work.  The cause of the issue seems to be that the upstream
> > tarball's top directory name is capitalised, but pristine-tar
> > regenerates a tarball with the name lowercased.
> > 
> > Steps to reproduce using git-buildpackage:
> > 1. Import the attached minimal working example into git using the command:
> >    gbp import-dsc --pristine-tar hello_1.0-1.dsc
> >    
> > 2. Change into the build directory:
> >    cd hello
> > 
> > 3. Regenerate the original tar ball using pristine-tar, for example:
> >    gbp buildpackage -S
> > 
> > 4. Return to the parent directory, then:
> > 
> > $ tar ztf hello_1.0.orig.tar.gz 
> > Hello-1.0/
> > Hello-1.0/Makefile
> > Hello-1.0/hello.c
> > $ tar ztf build-area/hello_1.0.orig.tar.gz 
> > hello-1.0/
> > hello-1.0/Makefile
> > hello-1.0/hello.c
> > 
> > Note the capitalisation has changed.  Also:
> > 
> > $ ls -l hello_1.0.orig.tar.gz build-area/hello_1.0.orig.tar.gz
> > -rw-r--r-- 1 jdg jdg 256 Mar  4 20:46 build-area/hello_1.0.orig.tar.gz
> > -rw-r--r-- 1 jdg jdg 175 Mar  4 20:00 hello_1.0.orig.tar.gz
> > 
> > Best wishes,
> > 
> >    Julian
> 
> It turns out it's actually much more general than this: if the
> original tarball does not have a top directory named
> <debianpackagename>-<debianupstreamversion>
> then pristine-tar fails; it *always* creates a tarball with top
> directory called this, rather than using the name used by the original
> upstream tarball.  So pristine-tar fails on all such cases, including
> cases where mk-origtargz has been used to exclude some files.
> 
> Attached is a minimal example, hello2.
> 
>    Julian

I checked pristine-tar directly on these examples, and it turns out
that it can handle these situations with no problems.  The problem
only emerges when git-buildpackage is being used, as in the example I
gave in the original bug report.  I don't know how gbp
import-orig/import-dsc --pristine-tar calls pristine-tar, but somehow
it appears to forget the top directory name of the original tarball,
leading to this problem.

I have reported this as a severity "important" bug because it may
silently (or not so silently) affect many packages.

Best wishes,

   Julian

Reply via email to