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

Attachment: hello2_1.0.orig.tar.gz
Description: application/gzip

Format: 3.0 (quilt)
Source: hello2
Binary: hello2
Architecture: any
Version: 1.0-1
Maintainer: Julian Gilbey <j...@debian.org>
Homepage: <insert the upstream URL, if relevant>
Standards-Version: 4.6.2
Build-Depends: debhelper-compat (= 13)
Package-List:
 hello2 deb unknown optional arch=any
Checksums-Sha1:
 088958090dae03cbf08b77cd3d4f828a5708f1e4 167 hello2_1.0.orig.tar.gz
 ee6010e1aaee036ac478acf0b435103befd02ebd 2028 hello2_1.0-1.debian.tar.xz
Checksums-Sha256:
 2c625982f9b41d456f63c8385a3597c2ff02f2a4e535db802bca7426b2d44947 167 hello2_1.0.orig.tar.gz
 187551b3d11623c2e2b984a9701f1fad74c532b2e948892a34a4d8dc28f3d901 2028 hello2_1.0-1.debian.tar.xz
Files:
 323ce17ab35564a9c31a8e0320f7a069 167 hello2_1.0.orig.tar.gz
 12bb0fa03c08e92a450065425d0e570f 2028 hello2_1.0-1.debian.tar.xz

Attachment: hello2_1.0-1.debian.tar.xz
Description: application/xz

Reply via email to