NOTE: this is my first package; I am seeking a sponsor. Spec URL: http://www.l33tskillz.org/RPMs/perl-Encode-Detect.spec SRPM URL: http://www.l33tskillz.org/RPMs/perl-Encode-Detect-1.00-1.fc7.src.rpm Description: This Perl module is an Encode::Encoding subclass that uses Encode::Detect::Detector to determine the charset of the input data and then decodes it using the encoder of the detected charset.
I'm not sponsored, so this isn't official: This builds OK for me in mock i386. I don't have much experience with .spec files for perl modules so I can't reliably make a ton of comments on it. In your Source0: you should consider changing the URL to http://search.cpan.org/CPAN/authors/id/J/JG/JGMYERS/%{module}-%{version}.tar.gz (or something similar) as that will save you an edit when updating versions.
Yeah, the Fedora Packaging Guidelines don't speak that much on building perl modules. What I used, I originally copied from a RHEL package. (I have multiple other perl packages I want to contribute, which is why I'm waiting for this one to be reviewed before I proceed.) The reason why I don't use %{module} et. al. macros in Source0: is because I always download the source by copying-and-pasting it into a wget command. I actually like having the additional edit; it forces me to Do The Right Thing whenever I grab a new version of the package.
(In reply to comment #2) > Yeah, the Fedora Packaging Guidelines don't speak that much on building perl > modules. What I used, I originally copied from a RHEL package. (I have > multiple other perl packages I want to contribute, which is why I'm waiting for > this one to be reviewed before I proceed.) There is a collection of perl packaging "best practices" under https://fedoraproject.org/wiki/PackagingDrafts/Perl . Note that these aren't official guidelines, but are generally what perl reviewers will use when looking at a package. > The reason why I don't use %{module} et. al. macros in Source0: is because I > always download the source by copying-and-pasting it into a wget command. I > actually like having the additional edit; it forces me to Do The Right Thing > whenever I grab a new version of the package. An interesting approach :) I find "spectool -g foo.spec" helps to download new versions of sources with slightly fewer mouse/key strokes than wget.
Any progress here?
I've incorporated the comments here into updated SPEC/SRPM files: Spec URL: http://www.l33tskillz.org/RPMs/perl-Encode-Detect.spec SRPM URL: http://www.l33tskillz.org/RPMs/perl-Encode-Detect-1.00-2.fc7.src.rpm (The spectool and cpanspec tools were very helpful; I didn't know about cpanspec until I read about it in the Perl Packaging wiki page.) I've also added fedora-perl-devel-list to the CC list, as per the Perl Packaging wiki page. (The user 'perl-sig' threw an error in Bugzilla, so I used the expanded address.)
This fails to build for me; the tests fail because Test::More and Data::Dump are not present. Adding BuildReqires: perl(Test::More) perl(Data::Dump) should get things building.
James, can you please update the package according to comment #6?
Sorry; I fixed this back in December, but I forgot to push the updates out to my web site. The latest versions are available now, and are: Spec URL: http://www.l33tskillz.org/RPMs/perl-Encode-Detect.spec SRPM URL: http://www.l33tskillz.org/RPMs/perl-Encode-Detect-1.00-3.fc7.src.rpm Thanks for the review feedback!
I'm not a sponsor, but I can give some comments of course. You might want to do some reviews yourself, so possible future sponsors can get a feel of what your capable of, and sponsor you. Checklist: * source file matches upstream: 79b51d623e4a3a3b7d6583dfc5c3ec324fd98077 Encode-Detect-1.00.tar.gz * package is named according to the naming Guidelines * specfile is properly named, is cleanly written and uses macros consistently. * summaries are OK. * descriptions are OK. * dist tag is present. * build root is OK. * license field matches the actual license. * license is open source-compatible. * license text not included upstream. * latest version is being packaged. * BuildRequires are proper. ? %clean is present. just a simple rm -rf $RPM_BUILD_ROOT will do * package builds fine in mock * package installs properly * rpmlint is silent * provides and requires are sane: [ruben@odin SRPMS]$ rpm -q --provides perl-Encode-Detect Detector.so perl(Encode::Detect) = 1.00 perl(Encode::Detect::Detector) = 1.00 perl-Encode-Detect = 1.00-3.fc8 [ruben@odin SRPMS]$ rpm -q --requires perl-Encode-Detect libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1.3) libgcc_s.so.1 libgcc_s.so.1(GCC_3.0) libstdc++.so.6 libstdc++.so.6(CXXABI_1.3) libstdc++.so.6(GLIBCXX_3.4) perl(:MODULE_COMPAT_5.8.8) perl(DynaLoader) perl(Encode) perl(Encode::Detect::Detector) perl(Encode::Encoding) perl(strict) perl(warnings) rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(VersionedDependencies) <= 3.0.3-1 rtld(GNU_HASH) * %check is present and runs ok * owns the directories it creates. * doesn't own any directories it shouldn't. * no duplicates in %files. * file permissions are appropriate. * code, not content. * documentation is small, so no -doc subpackage is necessary.
I removed the test before the rm -rf $RPM_BUILD_ROOT. New files: Spec URL: http://www.l33tskillz.org/RPMs/perl-Encode-Detect.spec SRPM URL: http://www.l33tskillz.org/RPMs/perl-Encode-Detect-1.00-4.fc7.src.rpm I intend to start performing reviews, but I wanted to go through the process for myself at least once before doing so. A question about the Checklist items you listed: did you generate that with a program? If so, what program was it, and what package contains it?
> A question about the Checklist items you listed: did you generate that with a > program? If so, what program was it, and what package contains it? No, just plain old copy/paste. There are some scripts to do it, have a look at http://gauret.free.fr/fichiers/rpms/fedora/fedora-qa
Looks good, the only thing I have to add is that the %check section comes usually after %install in specfiles. I don't think there's a real technical reason for that nowadays any more - a long time ago it (and some other hacks) was required for rpmbuild versions that didn't grok %check. But I think it's good style nowadays still to follow the %prep, %build, %install, %check, %post-and-friends, %files order of specfile sections. Anyway, approved. I'll also sponsor you, feel free to proceed with http://fedoraproject.org/wiki/PackageMaintainers/Join
Thanks Ville. Just FYI, I believe I've now completed all of the prerequisite steps described at: http://fedoraproject.org/wiki/PackageMaintainers/Join
James: ping? Is there anything you need from me in order to get this into the repos?
Ville: I think I'm good for right now; thanks.
Ok, I think I have everything in place now for this: New Package CVS Request ======================= Package Name: perl-Encode-Detect Short Description: Encode::Encoding subclass that detects the encoding of data Owners: ralston Branches: F-7 F-8 F-9 EL-4 EL-5 InitialCC: Cvsextras Commits: yes
cvs done.
James, ping?
I tagged and built the devel branch yesterday, but I haven't seen the packages show up in Rawhide yet. I know that for I need to submit the FC-? branches via Bodhi, but is there anything special I need to do to submit to devel?
All you need to do is build for rawhide and it will show up in the next push, but it's possible that you just missed the cutoff. It takes several hours to compose the rawhide tree.
FYI, I updated my local mirror and the package is there.
James, ping again: do you intend to build this for the other branches you requested in comment 16?
At this point, I don't think there's any need to build for F7/F8/F9/EL4 (unless people specifically request them, that is). EL5 I do want to build, though. I just hadn't gotten back to it...
(In reply to comment #23) > At this point, I don't think there's any need to build for F7/F8/F9/EL4 (unless > people specifically request them, that is). There always is one reason to add packages to active releases: Installing packages via CPAN doesn't harmonize well with rpm-based installations and has a long historic record of people destroying their rpm-based perl installations.
Erm, can we close this? :-)
Yes, I think we can close this. :-)