----- "Chris Weyl" <cweyl@xxxxxxxxxxxxxxx> wrote: > So, I've been tinkering with a process to "refresh" or generate a > spec > file, with a couple goals in mind... #1 of which is "make generation > and updating of Perl specs as routine and trivial as possible, so I > only have to think about the parts that actually require thinking." > > * use CPAN-based metadata to drive the generation as much as > possible, > e.g. META.yml > * drive/augment RPM metadata from CPAN-based metadata > * be repeatable, extensible, and as near trivial to use as practical > * be overridable on a per-package basis (e.g. force BR inclusion, > etc) > > It's still wicked early, but I have it going with generating new > specs > (and srpms), and updating current ones. There are some serious > caveats at the moment (e.g. doesn't handle subpackages very well at > all). I've tried to be fairly pragmatic with respect to spec > updating/generation -- e.g. explicitly generate "requires" rpm > metadata -- but given how inadequate the current RPM Perl > autoprov/req > scripts are I don't feel very bad about it at all. (Now, if only > more > META.yml's would include provides info... Though that shouldn't be > too hard to rig ourselves.) This is also made easier by certain RPM > macros we now have, e.g. %perl_default_filter to take care of the > most > common auto-dep issues, etc. > > Right now: > * CPANPLUS/META.yml-driven updates > * Software::License is used to help determine s/w license > * Moose::Role based plugins / extensions > * Template::Toolkit used for spec (re)generation > * very basic per-package overrides (see, e.g. perl-Moose in CVS and > auto.ini) > > Stuff I'll be working on in the near future[1]: > * more command options (e.g. write the spec to a file, already) > * the ability to query the system rpmdb / remote yum repos to > determine if the build/install requires are met > * missing dep subpackage generation (a la cpanspec) > * filter "suspect" requires (e.g. don't generate "Requires: > Test::More") > * Fedora-specific options, e.g. "make new-source", kick off koji > builds, etc > * clean up some of the uglier code liberated from CPANPLUS::Dist::RPM > and the old plugins system > * Document, tests, document, repeat > > http://github.com/RsrchBoy/fedora-app-maintainertools > http://search.cpan.org/dist/Fedora-App-MaintainerTools/ (0.003 should > be out shortly) > > e.g., when installed (or from the tarball): > > new spec/srpm: > > maintainertool new-spec CGI-Compile > > update an existing spec: > > maintainertool update-spec perl-Moose.spec > > etc. update-spec is probably best kept away from deviant spec files, > as it'll probably end up clobbering something. I've started with new Draft for Perl packaging https://fedoraproject.org/wiki/PackagingDraft:Perl#updates_of_packages If you need help with packaging modules which are needed for installation of fedora-app-maintainertools, let me know or make a list on https://fedoraproject.org/wiki/Perl_Wishlist I'll try to package some of the mentioned there. > > -Chris > > [1] Though with perhaps a slightly lower level of urgency given that > we're "not-frozen" now :) > -- > Chris Weyl > Ex astris, scientia > -- > Fedora Extras Perl SIG > http://www.fedoraproject.org/wiki/Extras/SIGs/Perl > perl-devel mailing list > perl-devel@xxxxxxxxxxxxxxxxxxxxxxx > https://admin.fedoraproject.org/mailman/listinfo/ -- Fedora Extras Perl SIG http://www.fedoraproject.org/wiki/Extras/SIGs/Perl perl-devel mailing list perl-devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/perl-devel