Bug#1068091: dh-make-perl: Build fails with invalid git tag when using manual version and epoch

2024-03-31 Thread gregor herrmann
On Sat, 30 Mar 2024 12:46:46 +, Andy Beverley wrote:

> When specifying a version with an epoch, and when a tag is used with
> a git repo, the build fails with an invalid tag error.
> 
> For example:
> 
>   cpan2deb --version=1:1.006 --revision=1  PDF::Table
> 
> Fails with:
> 
>   fatal: 'upstream/1:1.006' is not a valid tag name.

Nice find :)

I guess this is a bit of a corner case, as there probably is no
upstream version with a ':' anywhere, but I see why you would be
doing something like this.
 
> The problem appears to be caused by this line in DhMakePerl::Command::make
>   $git->command( 'tag', "upstream/".$self->version, 'upstream/latest' )
> I assume a fix would simply be to replace all occurences of a colon with
> another suitable character?

Thanks for pointing out the relevant line in the code, and yes,
replacing the colon with something git-compatible sounds right.

It looks like some tools use '%' as a replacement, maybe dh-make-perl
should adopt this precedence.

Do you fancy to provide and test a patch? I'd be happy tp
review/merge/upload.


Cheers,
gregor

-- 
 .''`.  https://info.comodo.priv.at -- Debian Developer https://www.debian.org
 : :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D  85FA BB3A 6801 8649 AA06
 `. `'  Member VIBE!AT & SPI Inc. -- Supporter Free Software Foundation Europe
   `-   


signature.asc
Description: Digital Signature


Bug#1068091: dh-make-perl: Build fails with invalid git tag when using manual version and epoch

2024-03-30 Thread Andy Beverley
Package: dh-make-perl
Version: 0.122
Severity: normal

Dear Maintainer,

When specifying a version with an epoch, and when a tag is used with
a git repo, the build fails with an invalid tag error.

For example:

  cpan2deb --version=1:1.006 --revision=1  PDF::Table

Fails with:

  fatal: 'upstream/1:1.006' is not a valid tag name.

The problem appears to be caused by this line in DhMakePerl::Command::make

  $git->command( 'tag', "upstream/".$self->version, 'upstream/latest' )

I assume a fix would simply be to replace all occurences of a colon with
another suitable character?

Many thanks,

Andy


-- System Information:
Debian Release: 12.5
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.0-17-amd64 (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_GB:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages dh-make-perl depends on:
ii  debhelper  13.11.4
ii  dpkg-dev   1.21.22
ii  fakeroot   1.31-1.2
ii  libapt-pkg-perl0.1.40+b2
ii  libarray-unique-perl   0.08-4
ii  libclass-accessor-perl 0.51-2
ii  libconfig-ini-perl 1:0.029-1
ii  libconfig-model-dpkg-perl  2.165
ii  libdebian-source-perl  0.122
ii  libdpkg-perl   1.21.22
ii  libemail-address-xs-perl   1.05-1+b1
ii  libemail-date-format-perl  1.008-1
ii  libfile-which-perl 1.27-2
ii  liblist-moreutils-perl 0.430-2
ii  libmodule-depends-perl 0.16-5
ii  libpod-parser-perl 1.65-1
ii  libsoftware-license-perl   0.104002-1
ii  libtie-ixhash-perl 1.23-4
ii  libwww-mechanize-perl  2.16-1
ii  libwww-perl6.68-1
ii  libyaml-libyaml-perl   0.86+ds-1
ii  libyaml-perl   1.30-2
ii  make   4.3-4.1
ii  perl   5.36.0-7+deb12u1

Versions of packages dh-make-perl recommends:
ii  apt-file  3.3
ii  git   1:2.39.2-1.1
ii  libmodule-build-perl  0.423200-1
pn  libsys-cpu-perl   
ii  pristine-tar  1.50

dh-make-perl suggests no packages.

-- no debconf information