Spec URL: http://www.thincrust.net/download/ruby-pam.spec SRPM URL: http://www.thincrust.net/download/ruby-pam-1.5.2-1.fc9.src.rpm Description: Ruby bindings for pam. This is my first package and I will require sponsorship.
1. Source0 should be the full path for getting the source package, something like: http://sourceforge.net/projects/ruby-pam/%{name}-%{version}.tgz 2. Source0 should use variables for the version (see above).
I have made the changes per your suggestions. Please re-verify: pec URL: http://www.thincrust.net/download/rubygem-pam.spec SRPM URL: http://www.thincrust.net/download/rubygem-pam-1.5.2-2.fc9.src.rpm Description: Ruby bindings for pam.
* General XX - Package name The secondary package delivering the binary library should be delivered in a package named "ruby-pam-lib". XX - License info is accurate XX - License tag is correct and licenses are approved The website says LGPL without version. The spec says LGPLv2+. The COPYING file in the GEM lists the original authors name with no mention of LGPL. OK - License files are installed as %doc OK - Specfile name OK - Specfile is legible OK - No prebuilt binaries included OK - BuildRoot value (one of the recommended values) OK - PreReq not used OK - Source md5sum matches upstream OK - No hardcoded pathnames OK - Package owns all the files it installs OK - 'Requires' create needed unowned directories OK - Package builds successfully on i386 and x86_64 (mock) OK - BuildRequires sufficient OK - File permissions set properly OK - Macro usage is consistent OK - rpmlint is silent * Package a rubygem OK - Package is named rubygem-%{gemname} XX - Source points to full URL of gem Source0 is just the filename, not the full URL for downloading the source. OK - Package version identical with gem version XX - Package Requires and BuildRequires rubygems No "Requires: rubygems" in the spec. OK - Package provides rubygem(%{gemname}) = %version OK - Package requires gem dependencies correctly OK - %prep and %build are empty OK - %gemdir defined properly, and gem installed into it OK - Package owns its directories under %gemdir ** noarch rubygem OK - No arch-specific content in %{gemdir} OK - Package is noarch ** arch rubygem OK - No arch specific content in %{gemdir} OK - Defines ruby_sitearch from rbconfig OK - arch specific content moved to %{ruby_sitearch}
Synced up license into. Changed the package name to be in line with the Ruby gem packaging stanhdards, added the requires. New Spec file is here: http://ruby-pam.rubyforge.org/git?p=ruby-pam.git;a=blob;f=rubygem-pam.spec; New Source RPM: http://rubyforge.org/frs/download.php/41730/rubygem-pam-1.5.2-2.fc9.src.rpm
Newest Version. Ensured valid license and issue with source code / source rpm. Spec File: http://rubyforge.org/frs/download.php/42936/rubygem-pam.spec Source RPM: http://rubyforge.org/frs/download.php/42933/rubygem-pam-1.5.2-2.fc9.src.rpm
There are several warnings reporting by rpmlint on both rubygem-pam and ruby-pam that need to be resolved. XX - License tag is correct and licenses are approved rpmlint is complaining about LGPL as an invalid license. XX - Source points to full URL of gem Source0 needs to use the %{name}, %{version} and %{release} macros rather than a hard-coded filename. Also, try running a scratch build locally: koji build --scratch local rubygem-pam-1.5.2-2.fc9.src.rpm and make sure there are no build errors.
* License was changed to LGPLv2+. The source website shows LGPL (which is all I can do) but the LICENS file shows LGPL 2.1 * rpmlint passes on the source rpm, with no warning * rpmline shows no-documentation and soft-link warnings on the rpms. They install and run fine. * Source0 now uses the macros * Builds fine in koji for i386 and x86_64 (http://koji.fedoraproject.org/koji/taskinfo?taskID=823198)
Please post the updated SPEC and SRPM. I'll test and, if all works, I'll go ahead and approve the package.
sorry... here they are: SRPM: http://rubyforge.org/frs/download.php/43293/rubygem-pam-1.5.2-3.fc9.src.rpm SPEC: http://rubyforge.org/frs/download.php/43292/rubygem-pam.spec -- bk
APPROVED.
There's something not right with this specfile. When I build it, I get a file /usr/lib/ruby/gems/1.8/gems/pam-1.5.2/lib/pam.so in the x86_64 RPM; that goes directly against the 'no arch-specific content in %gemdir' Why is this file even needed ? You already put the versioned .so into %ruby_sitearch, and the ruby-pam RPM puts an unversioned link into %ruby_sitearch
Thank you for the review! I tested this by removing the link in /usr/lib/ruby/gems/1.8/gems/pam-1.5.2/lib/pam.so and when launching with irb -rubygems I got an error when I attempted to require pam. I then modified the library itself to be pam.so instead of pam.1.5.2.so. This allowed the gem to install.... but also allowed this to work irb -rpam with only the gem install which I believe is incorrect. So, if the usage of the softlink in the gem directory to the arch directory is not allowed then I will look to add a single ruby file which loads up the versioned library. This seems like the best solution of meeting the rpm needs and the gem needs. Any concerns with this approach?
I have added a shim layer to the gem which in turn loads _pam which should pick up the libary from the arch load path. I followed the augeas pattern. As an aside, should this pattern be put into the packaging guidelines? New Spec File: http://bkearney.fedorapeople.org/rubygem-pam-1.5.3-1.fc9.src.rpm New SRPM: http://bkearney.fedorapeople.org/rubygem-pam.spec koji build clean one rpmlint warning for nodoc on ruby-pam (doc is in rugygem-pam)
All is well with me. Approved.
New Package CVS Request ======================= Package Name: ruby-pam Short Description: PAM bindings for ruby Owners: bkearney Branches: F-9 F10 InitialCC: None
cvs done.
Package Rename CVS Request ======================= Package Name: rubygem-pam Short Description: PAM bindings for ruby Owners: bkearney Branches: F-9 F10 InitialCC: None Sorry...goofed the package name. Should have been rubygem-pam -- bk
Package Change Request ====================== Package Name: ruby-pam New Branches: None Owners: bkearney The original package name was incorrect. It should be renamed rubygem-pam.