Dennis Gregorovic <dgregor(a)redhat.com> writes:
Here are some ideas off the top of my head:
* Have cpanflute2 discover if the package is noarch or not, and set up
the %build, %install, and %files sections accordingly.
If you have perl-Archive-Tar and perl-Compress-Zlib (or is it
perl-IO-Zlib these days?) installed, it will already do this. It is a
lousy heuristic (walk the tarball, see if ther are any .xs, .c, or .h
files), but in practice it works pretty much 100%.
* Have cpanflute2 query CPAN to automatically fill in %version,
It should automatically fill in version, but cpanflute2 operates from
the tarball, so it bases it on the version in the tarball's filename.
* Have cpanflute2 look for common doc files and add them to %docs
It already does this too. It relies on the 'make install' of the
perl module to copy them, but it does flag a variety of commonly named
files as %doc.
The workflow I picture is:
$ cpanflute2 Test::AutoBuild
... looking up Test::AutoBuild
... downloading Test::AutoBuild-1.0.3
... examining Test-AutoBuild-1.0.3.tar.gz
... writing perl-Test-AutoBuild.spec
$ emacs perl-Test-AutoBuild.spec
<visual inspection. make any needed changes>
Ah, this is the rub. Right now, cpanflute2 operates on an
already-provided tarball. You have to download it on your own.
Downloading from CPAN is, unfortunately, not an entirely clean
operation. At least, it wasn't last time I looked. You need to worry
about mirrors, and about finding a module by a given name, etc.
Unfortunately, as of now, there isn't a very clean way to do that from
what I understand. cpan2rpm jumps through several different hoops to
download packages; I'm just not sure that it is the right thing to do
inside of cpanflute2. It is the area they can definitely say they are
better, but I'm not sure I like the price of meeting them there.
This is similar to Ville's process. I'm just wondering how
many of the
'blanks' we can fill in automatically.
Apologies in advance if any of these features are already implemented.
No problem! Not like there is a page listing cpanflute2's features
Chip Turner cturner(a)pattern.net