Re: RPM/CPAN spec generation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



----- "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

[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Legacy Announce]     [Fedora PHP Devel]     [Kernel Devel]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Big List of Linux Books]     [Gimp]     [Yosemite Information]
  Powered by Linux