Re: Perl packaging guidelines

2013-07-09 Thread Petr Šabata
On Mon, Jul 08, 2013 at 02:57:16PM +0200, Ralf Corsepius wrote:
 On 07/08/2013 02:25 PM, Petr Šabata wrote:
 Dear list,
 
 Following the recent thread on the Packaging list [1], and
 since those questions arise fairly often during reviews, I
 think it'd be a good idea to discuss some possible updates to
 our packaging guidelines.
 
 We all have different opinions on Perl packaging but I'd like to
 find some common ground and set some standard how to do things
 to unify our style.
 
  I think there is only one group of perl packagers whose opinion is
 different from the rest ;)
 
 First, the dependencies, both build- and run-time.
 Personally I like to list every module which is actually used
 since this means the package only fails to build when
 there's an actual issue, not just a change in the dependency
 chain.
 
 This sentence is not precisely enough formulated to be able to comment.
 
 
 I also think not listing some modules only because
 it's unlikely they'd get removed from core makes packaging
 harder and more confusing, rather than the opposite.
 I vehemently disagree.
 
 When perl modules move away, they break building - I.e. these can
 easily be re-added at any time, when necessary.

Yes, that happens when you don't explicitly list them.

 Conversely, adding everything, only meas to reflect the dependency
 state which was valid at one single point in time.
  As the work-load and effect related to tracking theses is
 significant, pn the longer run, these dependencies state will
 gradually and silently diverge from the actual dependencies. I.e.
 all this does is to add redundency and dependency bloat.
 
 = lower packaging quality.

Why is everything quoted when I actually was talking about
everything?  The single point of time you're referring to
is a stable package state and the same applies to Version,
for example.  That too changes when the package is updated.

I agree there might be bloat if the packager is careless and
doesn't maintain the package properly but that's not really
different from the current situation when some people just add
BRs if the build fails and that's all.

 Second, the %{__perl} macro.
 What are the benefits of using this (subjectively) ugly macro
 compared to simple 'perl'?
 The benefits will show when
 a) the path to perl should change.
 b) the name of the perl program will change.
 
 In both cases, all packages using a hard coded /usr/bin/perl will break.
 
 Plain perl contradicts the principles of deterministic builds:
 Simply install a script named perl somewhere on your $PATH and run
 rpmbuild with a spec using plain perl.

This is true.  However the same argument could be used for any
invoked tool, such as 'mv', 'rm' et al., while current Packaging
Guidelines discourage using macros in those situations (and
we're not in the same situation as python).

 Third, the MODULE_COMPAT macro.
 Currently our guidelines enforce the following form:
 perl(:MODULE_COMPAT_%(eval `%{__perl} -V:version`; echo $version))
 I propose the following forms are also accepted (the latter
 two in case we accept simple 'perl' too):
 perl(:MODULE_COMPAT_%(eval $(%{__perl} -V:version); echo $version))
 perl(:MODULE_COMPAT_%(eval `perl -V:version`; echo $version))
 perl(:MODULE_COMPAT_%(eval $(perl -V:version); echo $version))
 That's topic 2) from your list.

Nope, this was mainly about using $() instead of ``.

 Fourth, ExtUtils::MakeMaker vs Module::Build.
 Module::Build is currently being deprecated and removed from
 core, ExtUtils::MakeMaker becoming, once again, the preferred
 way.  Our guidelines should be updated to reflect that.
 Sigh, you can not remove any perl module from Fedora, which is still in use.
 
 I.e. no matter how much you want to remove it, no matter how much
 upstream wants to see it removed/deprecated, these modules need to
 stay in Fedora at least until no package in Fedora uses it.

I didn't say anything about removing Module::Build from Fedora.
Our guidelines instruct packagers to prefer Module::Build over
ExtUtils::MakeMaker, which conflicts with what upstream recommends.

The only that needs changing is the wording.

 And fifth, installation paths.
 I suppose the guidelines should explicitly state the vendor
 paths should be used.
 
 
 That's all I can think of now.  Please, do share your views.
 Also, what would you like to change or improve?
 IMO, that's a completely different topic, which is beyond the scope
 of this threat.
 
 Ralf

The last one is a point like any other; a suggestion for possible
future guidelines.

Petr


pgpZepzXUnjEF.pgp
Description: PGP signature
--
Fedora Extras Perl SIG
http://www.fedoraproject.org/wiki/Extras/SIGs/Perl
perl-devel mailing list
perl-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/perl-devel

Re: Perl packaging guidelines

2013-07-09 Thread Petr Šabata
On Mon, Jul 08, 2013 at 03:28:52PM +0200, Jan Pazdziora wrote:
 On Mon, Jul 08, 2013 at 02:25:24PM +0200, Petr Šabata wrote:
  
  First, the dependencies, both build- and run-time.
  Personally I like to list every module which is actually used
  since this means the package only fails to build when
  there's an actual issue, not just a change in the dependency
  chain.
 
 But that also means that you'll be unnecessarily accumulating
 cruft -- if things build, noone will check if with the next rebase,
 all the listed BuildRequires are actually valid.

We're in that situation already.  See the response to Ralf's post.

 
  Second, the %{__perl} macro.
  What are the benefits of using this (subjectively) ugly macro
  compared to simple 'perl'?  The only case in which I find it
 
 Isn't it used for SCL, for example?

I honestly have no idea.  Could someone with some SCL experience
comment on this?

 
  Fourth, ExtUtils::MakeMaker vs Module::Build.
  Module::Build is currently being deprecated and removed from
  core, ExtUtils::MakeMaker becoming, once again, the preferred
  way.  Our guidelines should be updated to reflect that.
 
 So it's basically about putting the text from
 
   
 https://fedoraproject.org/wiki/Perl/Tips?rd=PackagingTips/Perl#Makefile.PL_vs_Build.PL
 
 to
 
   https://fedoraproject.org/wiki/Packaging:Perl#Makefile.PL_vs_Build.PL
 
 as well, right?

Yes, pretty much so.

Petr


pgpaBablHtG3Z.pgp
Description: PGP signature
--
Fedora Extras Perl SIG
http://www.fedoraproject.org/wiki/Extras/SIGs/Perl
perl-devel mailing list
perl-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/perl-devel

[Bug 982293] Build dependency cycle: perl-HTML-TreeBuilder-LibXML and perl-Web-Scraper

2013-07-09 Thread bugzilla
https://bugzilla.redhat.com/show_bug.cgi?id=982293

--- Comment #1 from Emmanuel Seyman emman...@seyman.fr ---
(In reply to Paul Howarth from comment #0)
 
 It looks to me that the best option is for perl-HTML-TreeBuilder-LibXML not
 to build-require perl-Web-Scraper when bootstrapping, as Web::Scraper is
 only needed for an optional test.

That definitely sounds like the way to go.

I'm at the Libre Software Meeting in Bruxelles so I'll probably won't get to it
before next week. If a provenpackager can do it before that, please don't
hesitate.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug 
https://bugzilla.redhat.com/token.cgi?t=zaC6lYYNjsa=cc_unsubscribe
--
Fedora Extras Perl SIG
http://www.fedoraproject.org/wiki/Extras/SIGs/Perl
perl-devel mailing list
perl-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/perl-devel

[perl-HTML-TreeBuilder-LibXML] Don't BR: perl(Web::Scraper) when bootstrapping

2013-07-09 Thread Paul Howarth
commit 88f95f08f8478bae65b58b01c2186fb074162f27
Author: Paul Howarth p...@city-fan.org
Date:   Tue Jul 9 11:48:52 2013 +0100

Don't BR: perl(Web::Scraper) when bootstrapping

perl-Web-Scraper requires HTML::TreeBuilder::LibXML so don't pull
in this optional test requirement when bootstrapping (#982293)

 perl-HTML-TreeBuilder-LibXML.spec |   13 +++--
 1 files changed, 11 insertions(+), 2 deletions(-)
---
diff --git a/perl-HTML-TreeBuilder-LibXML.spec 
b/perl-HTML-TreeBuilder-LibXML.spec
index ef0025c..93703d2 100644
--- a/perl-HTML-TreeBuilder-LibXML.spec
+++ b/perl-HTML-TreeBuilder-LibXML.spec
@@ -1,6 +1,6 @@
 Name:   perl-HTML-TreeBuilder-LibXML
 Version:0.23
-Release:1%{?dist}
+Release:2%{?dist}
 Summary:HTML::TreeBuilder and XPath compatible interface with libxml
 License:GPL+ or Artistic
 Group:  Development/Libraries
@@ -15,9 +15,14 @@ BuildRequires:  perl(inc::Module::Install)
 BuildRequires:  perl(HTML::TreeBuilder::XPath) = 0.14
 BuildRequires:  perl(Test::Exception)
 BuildRequires:  perl(Test::More) = 0.98
-BuildRequires:  perl(Web::Scraper)
 BuildRequires:  perl(XML::LibXML) = 1.7
 
+# perl-Web-Scraper requires HTML::TreeBuilder::LibXML so don't pull
+# in this optional test requirement when bootstrapping (#982293)
+%if 0%{!?perl_bootstrap:1}
+BuildRequires:  perl(Web::Scraper)
+%endif
+
 Requires:   perl(:MODULE_COMPAT_%(eval `%{__perl} -V:version`; echo 
$version))
 # not picked up by rpm deptracker
 Requires:   perl(HTML::TreeBuilder::XPath) = 0.14
@@ -52,6 +57,10 @@ HTML::TreeBuilder::LibXML is drop-in-replacement for 
HTML::TreeBuilder::XPath.
 %{_mandir}/man3/*
 
 %changelog
+* Tue Jul  9 2013 Paul Howarth p...@city-fan.org - 0.23-2
+- perl-Web-Scraper requires HTML::TreeBuilder::LibXML so don't pull
+  in this optional test requirement when bootstrapping (#982293)
+
 * Sun May 19 2013 Emmanuel Seyman emman...@seyman.fr - 0.23-1
 - Update to 0.23
 
--
Fedora Extras Perl SIG
http://www.fedoraproject.org/wiki/Extras/SIGs/Perl
perl-devel mailing list
perl-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/perl-devel

[perl-HTML-TreeBuilder-LibXML] Created tag perl-HTML-TreeBuilder-LibXML-0.23-2.fc20

2013-07-09 Thread Paul Howarth
The lightweight tag 'perl-HTML-TreeBuilder-LibXML-0.23-2.fc20' was created 
pointing to:

 88f95f0... Don't BR: perl(Web::Scraper) when bootstrapping
--
Fedora Extras Perl SIG
http://www.fedoraproject.org/wiki/Extras/SIGs/Perl
perl-devel mailing list
perl-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/perl-devel

[Bug 982293] Build dependency cycle: perl-HTML-TreeBuilder-LibXML and perl-Web-Scraper

2013-07-09 Thread bugzilla
https://bugzilla.redhat.com/show_bug.cgi?id=982293

Paul Howarth p...@city-fan.org changed:

   What|Removed |Added

 Status|NEW |CLOSED
   Fixed In Version||perl-HTML-TreeBuilder-LibXM
   ||L-0.23-2.fc20
 Resolution|--- |RAWHIDE
Last Closed||2013-07-09 07:00:47

--- Comment #2 from Paul Howarth p...@city-fan.org ---
Fixed in perl-HTML-TreeBuilder-LibXML-0.23-2.fc20

-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug 
https://bugzilla.redhat.com/token.cgi?t=zyvtL7bLRCa=cc_unsubscribe
--
Fedora Extras Perl SIG
http://www.fedoraproject.org/wiki/Extras/SIGs/Perl
perl-devel mailing list
perl-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/perl-devel

File Try-Tiny-0.15.tar.gz uploaded to lookaside cache by pghmcfc

2013-07-09 Thread Paul Howarth
A file has been added to the lookaside cache for perl-Try-Tiny:

d712acd504203b2ecfb205e985e60de5  Try-Tiny-0.15.tar.gz
--
Fedora Extras Perl SIG
http://www.fedoraproject.org/wiki/Extras/SIGs/Perl
perl-devel mailing list
perl-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/perl-devel

[perl-Try-Tiny] Update to 0.15

2013-07-09 Thread Paul Howarth
commit 1236c26ed0d747b70e3356201e902924a957657a
Author: Paul Howarth p...@city-fan.org
Date:   Tue Jul 9 12:07:54 2013 +0100

Update to 0.15

- New upstream release 0.15
  - Optionally use Sub::Name to name the try/catch/finally blocks, if 
available
- BR:/R: perl(Sub::Name)
- Drop obsoletes/provides for old -tests subpackage

 perl-Try-Tiny.spec |   15 +--
 sources|2 +-
 2 files changed, 10 insertions(+), 7 deletions(-)
---
diff --git a/perl-Try-Tiny.spec b/perl-Try-Tiny.spec
index 16cee73..6a9ea14 100644
--- a/perl-Try-Tiny.spec
+++ b/perl-Try-Tiny.spec
@@ -1,6 +1,6 @@
 Name:  perl-Try-Tiny
 Summary:   Minimal try/catch with proper localization of $@
-Version:   0.14
+Version:   0.15
 Release:   1%{?dist}
 License:   MIT
 Group: Development/Libraries
@@ -15,6 +15,7 @@ BuildRequires:perl(base)
 BuildRequires: perl(Carp)
 BuildRequires: perl(constant)
 BuildRequires: perl(Exporter)
+BuildRequires: perl(Sub::Name)
 # Test Suite
 BuildRequires: perl(File::Find)
 BuildRequires: perl(File::Temp)
@@ -27,11 +28,7 @@ BuildRequires:   perl(Test::Pod) = 1.41
 BuildRequires: perl(Test::Pod::Coverage) = 1.08
 # Runtime
 Requires:  perl(:MODULE_COMPAT_%(eval `perl -V:version`; echo $version))
-
-# obsolete/provide old tests subpackage
-# can be removed during F19 development cycle
-Obsoletes: %{name}-tests  0.11-3
-Provides:  %{name}-tests = %{version}-%{release}
+Requires:  perl(Sub::Name)
 
 %description
 This module provides bare bones try/catch statements that are designed to
@@ -70,6 +67,12 @@ rm -rf %{buildroot}
 %{_mandir}/man3/Try::Tiny.3pm*
 
 %changelog
+* Tue Jul  9 2013 Paul Howarth p...@city-fan.org - 0.15-1
+- Update to 0.15
+  - Optionally use Sub::Name to name the try/catch/finally blocks, if available
+- BR:/R: perl(Sub::Name)
+- Drop obsoletes/provides for old -tests subpackage
+
 * Sat Jul  6 2013 Paul Howarth p...@city-fan.org - 0.14-1
 - Update to 0.14
   - Also throw an exception for catch/finally in scalar context (CPAN RT#81070)
diff --git a/sources b/sources
index f44b9df..6b89116 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-fc4951a0bd6f9b6d2b0420dda14c4ac2  Try-Tiny-0.14.tar.gz
+d712acd504203b2ecfb205e985e60de5  Try-Tiny-0.15.tar.gz
--
Fedora Extras Perl SIG
http://www.fedoraproject.org/wiki/Extras/SIGs/Perl
perl-devel mailing list
perl-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/perl-devel

[perl-Try-Tiny] Created tag perl-Try-Tiny-0.15-1.fc20

2013-07-09 Thread Paul Howarth
The lightweight tag 'perl-Try-Tiny-0.15-1.fc20' was created pointing to:

 1236c26... Update to 0.15
--
Fedora Extras Perl SIG
http://www.fedoraproject.org/wiki/Extras/SIGs/Perl
perl-devel mailing list
perl-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/perl-devel

Broken dependencies: perl-PDL

2013-07-09 Thread buildsys


perl-PDL has broken dependencies in the rawhide tree:
On x86_64:
perl-PDL-2.4.10-6.fc19.x86_64 requires libgd.so.2()(64bit)
On i386:
perl-PDL-2.4.10-6.fc19.i686 requires libgd.so.2
Please resolve this as soon as possible.


--
Fedora Extras Perl SIG
http://www.fedoraproject.org/wiki/Extras/SIGs/Perl
perl-devel mailing list
perl-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/perl-devel

Broken dependencies: perl-Bio-ASN1-EntrezGene

2013-07-09 Thread buildsys


perl-Bio-ASN1-EntrezGene has broken dependencies in the rawhide tree:
On x86_64:
perl-Bio-ASN1-EntrezGene-1.091-17.fc19.noarch requires 
perl(Bio::Index::AbstractSeq)
On i386:
perl-Bio-ASN1-EntrezGene-1.091-17.fc19.noarch requires 
perl(Bio::Index::AbstractSeq)
Please resolve this as soon as possible.


--
Fedora Extras Perl SIG
http://www.fedoraproject.org/wiki/Extras/SIGs/Perl
perl-devel mailing list
perl-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/perl-devel

Broken dependencies: perl-Bio-SamTools

2013-07-09 Thread buildsys


perl-Bio-SamTools has broken dependencies in the rawhide tree:
On x86_64:
perl-Bio-SamTools-1.35-2.fc19.x86_64 requires 
perl(Bio::SeqFeature::Lite)
perl-Bio-SamTools-1.35-2.fc19.x86_64 requires perl(Bio::PrimarySeq)
On i386:
perl-Bio-SamTools-1.35-2.fc19.i686 requires perl(Bio::SeqFeature::Lite)
perl-Bio-SamTools-1.35-2.fc19.i686 requires perl(Bio::PrimarySeq)
Please resolve this as soon as possible.


--
Fedora Extras Perl SIG
http://www.fedoraproject.org/wiki/Extras/SIGs/Perl
perl-devel mailing list
perl-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/perl-devel

[perl-Module-Build-Tiny] Created tag perl-Module-Build-Tiny-0.024-1.fc18

2013-07-09 Thread Paul Howarth
The lightweight tag 'perl-Module-Build-Tiny-0.024-1.fc18' was created pointing 
to:

 3d58630... Update to 0.024
--
Fedora Extras Perl SIG
http://www.fedoraproject.org/wiki/Extras/SIGs/Perl
perl-devel mailing list
perl-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/perl-devel

[perl-Module-Build-Tiny] Created tag perl-Module-Build-Tiny-0.024-1.fc19

2013-07-09 Thread Paul Howarth
The lightweight tag 'perl-Module-Build-Tiny-0.024-1.fc19' was created pointing 
to:

 3d58630... Update to 0.024
--
Fedora Extras Perl SIG
http://www.fedoraproject.org/wiki/Extras/SIGs/Perl
perl-devel mailing list
perl-devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/perl-devel