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

Re: New package: perl-MP3-Tag



On 6/26/05, Ville Skyttä <ville skytta iki fi> wrote:
> On Sat, 2005-06-25 at 19:57 -0700, Chip Turner wrote:
> 
> > These  are all Hard Problems(tm) to solve, really.  Short of parsing a
> > perl script (Makefile.PL), it isn't really doable to figure out the
> > correct BuildRequires.
> 
> That's not entirely accurate nowadays.  Many CPAN packages ship META.yml
> which contains the dependencies in a machine (and human) readable form.
> 
> For example Module::Depends can operate on that.  The Module-Depends
> distribution also contains Module::Depends::Intrusive for distributions
> without a META.yml, operating on Build.PL or Makefile.PL (which, as
> said, is always more or less evil).
> http://search.cpan.org/dist/Module-Depends/
> 
> If you don't want to add dependecies like Module::Depends to cpanflute2,
> it could be either dynamically invoked where available, or internal YAML
> parsing routines could be bundled with it.

Ahhh, that's right!  I'd forgotten about Module::Depends.  Handy. 
Unfortunately, as some modules tend to do, it requires File::chdir and
Class::Accessor::Method when it really could just do the same thing
with ten lines of code.  Grrr, that kind of dependency bloat is really
annoying.  But, for the case of a META.yml, just parsing directly with
YAML will work fine.  The Module::Depends::Intrusive behavior isn't as
critical right now.

Okay, I have basic META.yml support in, now.  Adding a dep on
perl-YAML is no big deal to me, as it's in extras, thankfully.

> > This question comes down to managing the %files section.  I've found
> > historically that just letting a script do it is less error-prone over
> > time.  cpanflute2 will -never- miss a file; the template might.
> 
> Sure, but given the "unpackaged files" behaviour in rpmbuild, that would
> not go unnoticed but rather result in a trivially fixable build failure.

True, that does make it better these days.

Chip


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