Skip Menu |

This queue is for tickets about the Module-Build-Tiny CPAN distribution.

Report information
The Basics
Id: 85006
Status: resolved
Priority: 0/
Queue: Module-Build-Tiny

People
Owner: Nobody in particular
Requestors: cja987 [...] gmail.com
Cc: gregoa [...] cpan.org
AdminCc:

Bug Information
Severity: Critical
Broken in: 0.019
Fixed in: (no value)



Subject: Module::Build::Tiny ignores destdir for manpages
Module::Build::Tiny appears to ignore the destdir parameter for manpages. When building a custom perl RPM (i.e. not the system perl but one that lives in /opt/customperl/perl), when I get to the %install step to install into the buildroot (not the system), I get this instead: [cadams@build-c5-x64 /sandbox/cadams/customperl/modules/build/BUILD/Module-Build-Tiny-0.019]$ ./Build install destdir=/var/tmp/customperl-build-cadams/BUILDROOT create_packlist=0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ERROR: Can't create '/opt/customperl/perl/local/man/man3' Do not have write permissions on '/opt/custom/perl/local/man/man3' !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! at lib/Module/Build/Tiny.pm line 82. error: Bad exit status from /var/tmp/customperl-build-cadams/tmp/rpm-tmp.35942 (%install)
From: cja987 [...] gmail.com
I'll assume this email-like "reply" attaches a note to the bug (RT behaves like no bug tracker I've ever used, and not in a good way). It appears that the bare keyword=val syntax is some ancient compatibility syntax in Module::Build that I just need to avoid, especially since Module::Build::Tiny doesn't appear to support it. I'll change my spec generator to generate more modern ./Build invocations, but you might want to add some kind of early warning to M::B::T to detect and reject this legacy syntax.
Subject: Re: [rt.cpan.org #85006] Module::Build::Tiny ignores destdir for manpages
Date: Sat, 4 May 2013 22:58:56 +0200
To: bug-Module-Build-Tiny [...] rt.cpan.org
From: Leon Timmermans <fawaka [...] gmail.com>
On Fri, May 3, 2013 at 12:37 AM, Chuck Adams via RT <bug-Module-Build-Tiny@rt.cpan.org> wrote: Show quoted text
> Queue: Module-Build-Tiny > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=85006 > > > I'll assume this email-like "reply" attaches a note to the bug (RT behaves like no bug tracker I've ever used, and not in a good way). It appears that the bare keyword=val syntax is some ancient compatibility syntax in Module::Build that I just need to avoid, especially since Module::Build::Tiny doesn't appear to support it.
You're correct. Module::Build accepts just about any argument convention under the rainbow (verbose=1, --verbose, --verbose 1, --verbose=1, --no-verbose, --noverbose, --no_verbose). Module::Build::Tiny is a bit stricter in what it accepts (as is the Build.PL spec). Show quoted text
> I'll change my spec generator to generate more modern ./Build invocations, but you might want to add some kind of early warning to M::B::T to detect and reject this legacy syntax.
You're the first to be bit by this, but I suppose I could handle this better. Leon
Show quoted text
>> It appears that the bare keyword=val syntax is some ancient >> compatibility syntax in Module::Build that I just need to avoid, >> especially since Module::Build::Tiny doesn't appear to support it.
Show quoted text
> You're correct. Module::Build accepts just about any argument > convention under the rainbow (verbose=1, --verbose, --verbose 1, > --verbose=1, --no-verbose, --noverbose, --no_verbose). > Module::Build::Tiny is a bit stricter in what it accepts (as is the > Build.PL spec).
Hm ... Show quoted text
>> I'll change my spec generator to generate more modern ./Build >> invocations, but you might want to add some kind of early warning >> to M::B::T to detect and reject this legacy syntax.
Show quoted text
> You're the first to be bit by this, but I suppose I could handle this > better.
We're seeing the same on Debian; I'm just trying to package M::B::T but this seems like a showstopper; changing the build tools to pass params with -- or requiring all packages to do it manually instead of using our packaging helpers probably doesn't work out ... So any change that also accepts key=value options would be appreciated. Cheers, gregor, Debian Perl Group
Subject: Re: [rt.cpan.org #85006] Module::Build::Tiny ignores destdir for manpages
Date: Fri, 28 Jun 2013 21:51:46 +0200
To: bug-Module-Build-Tiny [...] rt.cpan.org
From: Leon Timmermans <leont [...] cpan.org>
On Fri, Jun 28, 2013 at 6:02 PM, gregor herrmann via RT <bug-Module-Build-Tiny@rt.cpan.org> wrote: Show quoted text
> We're seeing the same on Debian; I'm just trying to package M::B::T but this seems like a showstopper; changing the build tools to pass params with -- or requiring all packages to do it manually instead of using our packaging helpers probably doesn't work out ...
What part of changing the build tools is a showstopper? Trouble getting it into Wheezy at this stage? Technologically it shouldn't be too hard, right? Show quoted text
> So any change that also accepts key=value options would be appreciated.
That's not a trivial change, given it involves reinventing getopt badly. Nor is it particularly desirable from an implementation POV, given it only complicates matters. Leon
On Fri Jun 28 15:52:18 2013, LEONT wrote: Show quoted text
> On Fri, Jun 28, 2013 at 6:02 PM, gregor herrmann via RT > <bug-Module-Build-Tiny@rt.cpan.org> wrote:
> > We're seeing the same on Debian; I'm just trying to package M::B::T > > but this seems like a showstopper; changing the build tools to pass > > params with -- or requiring all packages to do it manually instead > > of using our packaging helpers probably doesn't work out ...
> > What part of changing the build tools is a showstopper? Trouble > getting it into Wheezy at this stage?
wheezy is released anyway, and M::B::T will never reach it, so there's no problem here :) Show quoted text
> Technologically it shouldn't be too hard, right?
In theory not really -- we'd need to get the change into debhelper and CDBS (which call perl Build.PL and perl ./Build). But then we'd also need to make sure that packages which use M::B::T build-depend on the fixed versions of debhelper or CDBS, and this is where it starts to get tedious. Show quoted text
> > So any change that also accepts key=value options would be > > appreciated.
> That's not a trivial change, given it involves reinventing getopt > badly. Nor is it particularly desirable from an implementation POV, > given it only complicates matters.
Oh, I absolutely understand that this is not desirable ... (I looked into Getopt::Long earlier today in the hope for a config option to handle prefix-less key=value options but didn't find anything. Looping over @ARGV, splitting args on '=' and adding them to $opt{config} worked in a quick test but I assume you want to avoid such a nastiness :)) Cheers, gregor
Subject: Re: [rt.cpan.org #85006] Module::Build::Tiny ignores destdir for manpages
Date: Sat, 29 Jun 2013 09:20:50 +0200
To: bug-Module-Build-Tiny [...] rt.cpan.org
From: Leon Timmermans <fawaka [...] gmail.com>
On Fri, Jun 28, 2013 at 11:05 PM, gregor herrmann via RT <bug-Module-Build-Tiny@rt.cpan.org> wrote: Show quoted text
> In theory not really -- we'd need to get the change into debhelper and CDBS (which call perl Build.PL and perl ./Build).
Fixing CDBS seems easy enough. Don't see where debhelper needs a change, nor does it look like code I'd really want to touch. Show quoted text
> But then we'd also need to make sure that packages which use M::B::T build-depend on the fixed versions of debhelper or CDBS, and this is where it starts to get tedious.
Sounds like our configure-requirements issue. Modern practice has become to always use it, which does kind of help on the long run. I think this can be fixed on a dh-make-perl level though. Show quoted text
> (I looked into Getopt::Long earlier today in the hope for a config option to handle prefix-less key=value options but didn't find anything. Looping over @ARGV, splitting args on '=' and adding them to $opt{config} worked in a quick test but I assume you want to avoid such a nastiness :))
Considering --install_path lib=/foo/bar/ is currently already legal and that order can matter for precedence, any two phase approach is doomed. Leon
Subject: Re: [rt.cpan.org #85006] Module::Build::Tiny ignores destdir for manpages
Date: Sat, 29 Jun 2013 14:34:17 +0200
To: Leon Timmermans via RT <bug-Module-Build-Tiny [...] rt.cpan.org>
From: gregor herrmann <gregoa [...] debian.org>
On Sat, 29 Jun 2013 03:21:29 -0400, Leon Timmermans via RT wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=85006 > > > On Fri, Jun 28, 2013 at 11:05 PM, gregor herrmann via RT > <bug-Module-Build-Tiny@rt.cpan.org> wrote:
> > In theory not really -- we'd need to get the change into > > debhelper and CDBS (which call perl Build.PL and perl ./Build).
> Fixing CDBS seems easy enough.
Ack, should be just /usr/share/cdbs/1/class/perl-build-vars.mk. Show quoted text
> Don't see where debhelper needs a > change, nor does it look like code I'd really want to touch.
/usr/share/perl5/Debian/Debhelper/Buildsystem/perl_build.pm equally easy Show quoted text
> > But then we'd also need to make sure that packages which use > > M::B::T build-depend on the fixed versions of debhelper or CDBS, > > and this is where it starts to get tedious.
> Sounds like our configure-requirements issue. Modern practice has > become to always use it, which does kind of help on the long run.
Sure, the issue is just that Debian has no centralized way to just switch things. Show quoted text
> I > think this can be fixed on a dh-make-perl level though.
Yes. And then people need to use the fixed version :) (Maybe a lintian check module-build-tiny-needs-newer-debhelper-or-cdbs would help.) Show quoted text
> > (I looked into Getopt::Long earlier today in the hope for a > > config option to handle prefix-less key=value options but didn't > > find anything. Looping over @ARGV, splitting args on '=' and > > adding them to $opt{config} worked in a quick test but I assume > > you want to avoid such a nastiness :))
> Considering --install_path lib=/foo/bar/ is currently already legal > and that order can matter for precedence, any two phase approach is > doomed.
Yeah, I'm afraid we have to take the long road ... BTW: You mentioned earlier in this bug report a Build.PL spec; I'm not really sure what you were referring to, could you give me a pointer? Cheers, gregor -- .''`. Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06 : :' : Debian GNU/Linux user, admin, and developer - http://www.debian.org/ `. `' Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe `- NP: Dire Straits: Telegraph Road
Download signature.asc
application/pgp-signature 836b

Message body not shown because it is not plain text.

Subject: Re: [rt.cpan.org #85006] Module::Build::Tiny ignores destdir for manpages
Date: Sat, 29 Jun 2013 17:28:43 +0200
To: bug-Module-Build-Tiny [...] rt.cpan.org
From: Leon Timmermans <fawaka [...] gmail.com>
On Sat, Jun 29, 2013 at 2:34 PM, gregor herrmann via RT <bug-Module-Build-Tiny@rt.cpan.org> wrote: Show quoted text
> Ack, should be just /usr/share/cdbs/1/class/perl-build-vars.mk.
Yeah, it's fairly straightforward, though it's also pointing out that clean/realclean isn't currently specced, but perhaps it should be. Show quoted text
> /usr/share/perl5/Debian/Debhelper/Buildsystem/perl_build.pm > equally easy
I see. Yeah that should be fixed too. Show quoted text
> Yes. And then people need to use the fixed version :)
That's a social problem. Show quoted text
> (Maybe a lintian check > module-build-tiny-needs-newer-debhelper-or-cdbs would help.)
Module::Build::Tiny will soon not be the only one anymore. It's more a next-gen-perl-build-tool thing. Show quoted text
> BTW: You mentioned earlier in this bug report a Build.PL spec; I'm > not really sure what you were referring to, could you give me a > pointer?
D'oh! Of course, I should have done that immediately. You can find it at https://github.com/Perl-Toolchain-Gang/cpan-api-buildpl. Some other stuff is also relevant but may be less obvious. Lancaster consensus defines extra environmental variables for testing (https://github.com/Perl-Toolchain-Gang/toolchain-site/blob/master/lancaster-consensus.md). Leon
Subject: Re: [rt.cpan.org #85006] Module::Build::Tiny ignores destdir for manpages
Date: Sat, 29 Jun 2013 18:58:21 +0200
To: Leon Timmermans via RT <bug-Module-Build-Tiny [...] rt.cpan.org>
From: gregor herrmann <gregoa [...] debian.org>
On Sat, 29 Jun 2013 11:29:20 -0400, Leon Timmermans via RT wrote: Show quoted text
> > Yes. And then people need to use the fixed version :)
> That's a social problem.
Right, and that's what makes it a bit complicated :) Show quoted text
> > (Maybe a lintian check > > module-build-tiny-needs-newer-debhelper-or-cdbs would help.)
> Module::Build::Tiny will soon not be the only one anymore. It's more a > next-gen-perl-build-tool thing.
Ah, I didn't know that, thanks. Show quoted text
> > BTW: You mentioned earlier in this bug report a Build.PL spec; I'm > > not really sure what you were referring to, could you give me a > > pointer?
> D'oh! Of course, I should have done that immediately. You can find it > at https://github.com/Perl-Toolchain-Gang/cpan-api-buildpl. > > Some other stuff is also relevant but may be less obvious. Lancaster > consensus defines extra environmental variables for testing > (https://github.com/Perl-Toolchain-Gang/toolchain-site/blob/master/lancaster-consensus.md).
Perfect, thank you. I guess now I know where we have to go. Cheers, gregor -- .''`. Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06 : :' : Debian GNU/Linux user, admin, and developer - http://www.debian.org/ `. `' Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe `- NP: Carlos Embale: Quinto Llamando
Download signature.asc
application/pgp-signature 836b

Message body not shown because it is not plain text.

Subject: Re: [rt.cpan.org #85006] Module::Build::Tiny ignores destdir for manpages
Date: Sun, 30 Jun 2013 18:35:42 +0200
To: Leon Timmermans via RT <bug-Module-Build-Tiny [...] rt.cpan.org>
From: gregor herrmann <gregoa [...] debian.org>
On Sat, 29 Jun 2013 11:29:20 -0400, Leon Timmermans via RT wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=85006 > > > On Sat, Jun 29, 2013 at 2:34 PM, gregor herrmann via RT > <bug-Module-Build-Tiny@rt.cpan.org> wrote:
> > Ack, should be just /usr/share/cdbs/1/class/perl-build-vars.mk.
> > Yeah, it's fairly straightforward, though it's also pointing out that > clean/realclean isn't currently specced, but perhaps it should be. >
> > /usr/share/perl5/Debian/Debhelper/Buildsystem/perl_build.pm > > equally easy
> > I see. Yeah that should be fixed too.
FYI: I've now filed bugs with patches against debhelper: http://bugs.debian.org/714544 and cdbs: http://bugs.debian.org/714542 In case you want to add something, you can just send a mail to $bugnumber@bugs.debian.org. Thanks again, gregor -- .''`. Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06 : :' : Debian GNU/Linux user, admin, and developer - http://www.debian.org/ `. `' Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe `- NP: Supertramp: Some Things Never Change
Download signature.asc
application/pgp-signature 836b

Message body not shown because it is not plain text.