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. -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/perl-devel