Spec URL: http://icon.fedorapeople.org/f/python-icalendar.spec SRPM URL: http://icon.fedorapeople.org/f/python-icalendar-2.0.1-0.1.fc11.src.rpm Description: The iCalendar package is a parser/generator of iCalendar files for use with Python. It follows the "RFC 2445 (iCalendar) specification."
This is a mock review. I do not have permissions to approve the package: MUST: rpmlint must be run on every package. The output should be posted in the review. OK rpmlint -i SPECS/python-icalendar.spec SRPMS/python-icalendar-2.0.1-0.1.fc11.src.rpm 1 packages and 1 specfiles checked; 0 errors, 0 warnings. MUST: The package must be named according to the Package Naming Guidelines . OK MUST: The spec file name must match the base package %{name}, in the format %{name}.spec OK MUST: The package must meet the Packaging Guidelines . OK MUST: The package must be licensed with a Fedora approved license and meet the Licensing Guidelines . OK MUST: The License field in the package spec file must match the actual license. NEEDSWORK According to README.txt and LICENSE.txt, this is LGPLv2+ MUST: The source package includes the text of the license(s) in its own file, and then that fileis included in %doc. NEEDSWORK %doc should include CHANGES.txt, CREDITS.txt, HISTORY.txt, LICENSE.txt, PKG-INFO, README.TXT, TODO.txt, version.txt MUST: The spec file must be written in American English. OK MUST: The spec file for the package MUST be legible. OK MUST: The sources used to build the package must match the upstream source, as provided in the spec URL. OK MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture. OK MUST: All build dependencies must be listed in BuildRequires MUST: The spec file MUST handle locales properly. N/A MUST: Optflags are used and time stamps preserved. NEEDSWORK Timestamps of source package do not match. See http://fedoraproject.org/wiki/Packaging/Guidelines#Timestamps Suggest using wget -N http://pypi.python.org/packages/source/i/icalendar/icalendar-2.0.1.tar.gz MUST: Binary RPM package which stores shared library files in any of the dynamic linker's default paths, must call ldconfig. N/A MUST: If the package is designed to be relocatable, the packager must state this fact in the request for review, along with the rationalization for relocation of that specific package. N/A MUST: A package must own all directories that it creates. If it does not create a directory that it uses or require the package which does create that directory. OK MUST: A Fedora package must not list a file more than once in the spec file's %files listings. OK MUST: Permissions on files must be set properly. OK MUST: Each package must have a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT). OK MUST: Each package must consistently use macros. OK MUST: The package must contain code, or permissable content. OK MUST: Large documentation files must go in a -doc subpackage. N/A MUST: If a package includes something as %doc, it must not affect the runtime of the application. OK MUST: Header files must be in a -devel package. N/A MUST: Static libraries must be in a -static package. N/A MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig' (for directory ownership and usability). N/A MUST: If a package contains library files with a suffix, then library files that end in .so (without suffix) must go in a -devel package. N/A MUST: Devel packages must require the base package using a fully versioned dependency: N/A MUST: Packages must NOT contain any .la libtool archives. OK MUST: Packages containing GUI applications must include a %{name}.desktop file and be installed properly. N/A MUST: Packages must not own files or directories already owned by other packages. N/A MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot} (or $RPM_BUILD_ROOT). OK MUST: All filenames in rpm packages must be valid UTF-8. OK
OK, let's have a look. (In reply to comment #1) > MUST: Optflags are used and time stamps preserved. NEEDSWORK > > Timestamps of source package do not match. See > http://fedoraproject.org/wiki/Packaging/Guidelines#Timestamps > > Suggest using wget -N > http://pypi.python.org/packages/source/i/icalendar/icalendar-2.0.1.tar.gz The tarball timestamp isn't an issue since it doesn't end up in the RPM. What's important is that the time stamps of the files in the tarball are preserved.
(In reply to comment #1) > This is a mock review. I do not have permissions to approve the package: > > MUST: rpmlint must be run on every package. The output should be posted in the > review. OK > > rpmlint -i SPECS/python-icalendar.spec > SRPMS/python-icalendar-2.0.1-0.1.fc11.src.rpm > 1 packages and 1 specfiles checked; 0 errors, 0 warnings. You didn't run it on the binary package: [jzlehtol@politzer result]$ rpmlint python-icalendar-2.0.1-0.1.fc11.* python-icalendar.noarch: W: no-documentation 2 packages and 0 specfiles checked; 0 errors, 1 warnings. (Also, if you run rpmlint on the srpm it already includes the spec file.)
- Python packages need BR: python-devel, this one has BR: python-setuptools-devel which pulls in python-devel, so that's ok. NB. python-setuptools-devel isn't available on EPEL, for that you need BR: python-devel, python-setuptools. - I suggest using "python" instead of "%{__python}". - Instead of %{python_sitelib}/* you should list %{python_sitelib}/icalendar/ %{python_sitelib}/icalendar-*.egg-info/ since the first version won't notice if the egg-info is missing. - Drop the python spec template comment # For noarch packages: sitelib ** rpmlint output in comment #3. - Add doc as mentioned in #1, except version.txt which isn't really necessary (the version info is already in the RPM itself). MUST: The package does not yet exist in Fedora. The Review Request is not a duplicate. OK MUST: The spec file for the package is legible and macros are used consistently. OK MUST: The package must be named according to the Package Naming Guidelines. OK - Python module with name that doesn't contain py or Py => prefix python-. MUST: The spec file name must match the base package %{name}. OK MUST: The package must be licensed with a Fedora approved license and meet the Licensing Guidelines. OK MUST: The License field in the package spec file must match the actual license. NEEDSWORK - License mentioned in src/icalendar/parser.py is GPL => license is GPL+. - Other files do not mention any license headers, readme states license is LGPL => LGPLv2+ * Resulting license tag is GPL+ and LGPLv2+ (which probably can be combined to GPLv2+). - Suggest contacting upstream about this. License headers should be present in every source code file. MUST: The sources used to build the package must match the upstream source, as provided in the spec URL. OK MUST: The package MUST successfully compile and build into binary rpms. OK MUST: The spec file MUST handle locales properly. N/A MUST: Optflags are used and time stamps preserved. OK MUST: Packages containing shared library files must call ldconfig. N/A MUST: A package must own all directories that it creates or require the package that owns the directory. OK MUST: Files only listed once in %files listings. OK MUST: Debuginfo package is complete. OK MUST: Permissions on files must be set properly. OK MUST: Clean section exists. OK MUST: Large documentation files must go in a -doc subpackage. N/A MUST: All relevant items are included in %doc. Items in %doc do not affect runtime of application. NEEDSWORK - Add missing %doc. MUST: Header files must be in a -devel package. N/A MUST: Static libraries must be in a -static package. N/A MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'. N/A MUST: If a package contains library files with a suffix then library files ending in .so must go in a -devel package. N/A MUST: In the vast majority of cases, devel packages must require the base package using a fully versioned dependency. N/A MUST: Packages does not contain any .la libtool archives. N/A MUST: Desktop files are installed properly. N/A MUST: No file conflicts with other packages and no general names. OK MUST: Buildroot cleaned before install. OK SHOULD: %{?dist} tag is used in release. OK SHOULD: If the package does not include license text(s) as separate files from upstream, the packager should query upstream to include it. OK - Included LGPLv2 license but no GPL... SHOULD: The package builds in mock. OK
Yeah, I better contact upstream about the license bit. Everything else should be taken care of, but I want to make sure they intended LGPL and not GPL, as in a couple of files.
Emailed primary maintainer. The PKG-INFO file states that the license is GPL2.1, so it's even less clear what the intended license is.
ping?
I haven't heard back from the lead maintainer, and looks like the support mailing lists are dead, too. I'm not sure what to do -- even if someone wants to continue maintaining the application, they will have to first settle the question of license.
ping? what do you want to do about this? The package can go in as long as you fix the license tag to "GPL+ and LGPLv2+" (and address the other issues, too).
It looks like it's abandonware. All my attempts to reach any of the maintainers have gone without response. I think this is a "cantfix."