Packaging CPAN modules for Fedora, the Oslo QA Hackathon, CPAN::Porters

Gabor Szabo szabgab at gmail.com
Fri Mar 7 15:19:00 UTC 2008


On Fri, Mar 7, 2008 at 11:55 AM, Ralf Corsepius <rc040203 at freenet.de> wrote:
>
>  On Fri, 2008-03-07 at 10:38 +0200, Gabor Szabo wrote:
>  > On Fri, Mar 7, 2008 at 10:23 AM, Ralf Corsepius <rc040203 at freenet.de> wrote:
>  > >
>  > >  On Fri, 2008-03-07 at 09:37 +0200, Gabor Szabo wrote:
>  > >  > Hi,
>  > >  >
>  > >  > I see on http://perl-qa.hexten.net/wiki/index.php/OsloQAWorkshop2008
>  > >  > that probably non of you is going to participate. That's a pity.
>  > >  > Anyway I am trying to setup some documentation/system that might help
>  > >  > all the distros to include more CPAN packages more easily.
>  > >  >
>  > >  > For this I setup a page collecting information about the availability of CPAN
>  > >  > packages in the various distros http://www.szabgab.com/distributions/
>  > >  > As you can see Fedora is way underrepresented there.
>  > >  How did you collect these numbers?
>
>
>
> > I wish to count CPAN distros (that is tar.gz files from CPAN).
>  OK, then the figure I gave should be pretty close. I counted packages
>  using a "perl-" prefix in Fedora's package database. As most CPAN dists
>  in Fedora are packaged into separate rpms prefixed with "perl-" this
>  should give a pretty good estimate.

Where can I fetch this list from?
Is there a canonical URL where I'll be able to find this list for the
various versions
of Fedora?
Same question regarding the development versions of Fedora and if you know
about the RedHat distros as well that would be great.



>
>
>  > >  I really have no idea how a distro can be claimed to be supporting
>  > 8000+
>  > >  perl-dists, nor how useful such a distro would be. My wild guess is
>  > they
>  > >  are counting differently or contain a lot of duplicated CPAN
>  > modules.
>  >
>  > There are some 13.000 on CPAN so 8000+ is still less than 2/3.
>  To put it bluntly: Perl-dists in Fedora are more or less community-only
>  maintained, i.e. inclusion of perl-dists in Fedora is more or less
>  community demand-driven => There is little demand for these remaining
>  12000 packages, probably because hardly anybody needs them.

In my experience the "community" is a very small subset of the "users".
In Perl - where I am a bit more familiar - I think there are only a few thousand
people involved in the "community" while there are ~ 1.000.000 people writing
Perl code (in various levels) and many more using it hidden in some application.

In addition many corporate users take the distros as "given". They
don't even think
they can ask the distro people to include something in the distro.
That means in many cases the users won't ask and you'll think they
don't need the modules.

IMHO there is very little communication between the distro communities and
the Perl community. Some Debian people have started a dialog on the last
YAPC in Vienna and I wish we can increase that even further.
The QA Workshop in Oslo would be a great opportunity for that but if none of
you can come then the next YAPC::EU in Coppenhagen can be also good for
more personal contact.


>  > >  > What if you could have a "wishlist" that you could present to
>  > CPAN module
>  > >  > authors? What would that contain? What would make life easier for
>  > those
>  > >  > who package CPAN modules for Fedora?
>  > >  In decreasing priority:
>  > >
>  > >  - Improve your versioning scheme - perl's versioning doesn't
>  > harmonize
>  > >  well with rpm's versioning.
>  >
>  > Can you elaborate - give a few short examples or at least point me
>  > where is it described?
>
>  Example: A perl-dist using a version number of 0.04.
>
>  What does this mean? For rpm, 0.04 equals 0.4. For CPAN this means
>  something completely different.
>
>  This raises version comparison problems when perl-dists jump in their
>  versions, e.g. 0.04 -> 0.40.
>
>  For rpm, both versions are equal = 0.4 ("null point four"), i.e.
>  CPAN/Perl versions need special treatment when mapping them to rpm
>  versions.

The Debian people are saying they don't care too much about what are the
version numbers as long as any single module sticks to its versioning
model.
Besides it is impossible to ask the CPAN community to stick to any one system.

What we can do is come up (if you have not done it yet) with a mapping solution
that will easily map most of the CPAN version themes to the way Fedora does it.
We can include this in Kwalitee metrics of CPANTS.
Then when you encounter a module that does not use any of those version themes
you can politely point the author to that document.

So what is the definition of a version number in Fedora?


>  > >  - Think about the licenses you apply. Write Free software.
>  >
>  > Do you have examples you encountered where it is not so on CPAN?
>  I don't have a concrete example at hand, but there have been plenty of
>  such cases.
>
>  Most CPAN dists apparently are maintained by individuals, who actually
>  don't care much about licensing.

You are right on the fact that most distros are maintained by individuals but
I don't seem to be able to find prof for the second part.

>  There are CPAN maintainers who switch from GPL to MIT though their dists
>  contain loads of user-contributed code. There are CPAN packages which
>  don't have any license information inside. There are CPAN packages
>  harvesting code from other packages without thinking about licenses at
>  all ...

So what do you do about such cases?


>  You might not be aware about it, but there are people who considers the
>  original "Artistic" license to be non-free (One of these groups is the
>  FSF: http://www.gnu.org/licenses/license-list.html)

Wow, they also say the distros should be called GNU/Linux and I don't
think Fedora
does that.

Do you say that Fedora includes only code which comes with an FSF
approved license?
BTW Most of the CPAN modules I encountered come with a dual
GPL||Artistic 1.0 license.

Please, let's not go into the "whose license is more free" discussion.

It would be more constructive to give reasonable wishes what would you like
to see in the CPAN distros - license vise - in order to make it easier
for you to build rpms.

search.cpan.org currently displays the license information taken from the
META.yml of the distro disregarding any license info in the source code.
Last time we checked (a few month ago) about 90% of the modules still did not
supply that info in META.yml

Would that be enough for you to have that field or you don't care about that and
you prefer to have the license in the source files? Is there any
format that might
help you?


>  > >  - Write better code. There is a lot of junk in CPAN.
>  >
>  > Wow,  do you have a suggestion how to automatically measure this?
>  No. I consider this simply to be a matter of fact due to the nature of
>  CPAN.
>  IMHO, the fact Fedora, Debian, Ubuntu etc. are getting away by not
>  shipping 12000+ modules speaks for itself: Most of CPAN is more or less
>  dead code, for various reasons.

IMHO the fact that most of the world uses MS Windows and not Fedora speaks
for itself....
Wait, that's not what you are thinking, right?

Maybe they can get away with that as currently most of the Perl community
uses and recommends CPAN.pm and CPANPLUS as ways of module
installations *because* there are not enough modules in the various
Linux distros.

It works quite well but there are problems.
The biggest is that CPAN.pm fetches the latest versions and not some
stable version which was tested and integrated by the Operating System
provider.

The sysadmins and ISVs usually prefer stable over new.


So where shall I send my wish list of CPAN modules I would like to see
in Fedora?

Gabor




More information about the Fedora-perl-devel-list mailing list