Fedora Merge Review: libavc1394 http://cvs.fedora.redhat.com/viewcvs/devel/libavc1394/ Initial Owner: jwilson
- Source URL should be Source0: http://downloads.sourceforge.net/libavc1394/libavc1394-%{version}.tar.gz - Patch should be patch0 - Use BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) - Devel package needs to Requires: pkgconfig - You can probably use %configure --disable-static to prevent shared library from being built, then you don't have to remove it. - What is newer libtool needed for? Autoreconf'ing is quite a brutal operation. ** rpmlint output: libavc1394.src: W: no-url-tag libavc1394.x86_64: W: no-url-tag libavc1394.x86_64: W: obsolete-not-provided libavc1394_0 libavc1394.x86_64: W: obsolete-not-provided librpm1394_0 libavc1394-debuginfo.x86_64: W: no-url-tag libavc1394-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/libavc1394-0.5.3/test/dvcont.c libavc1394-devel.x86_64: W: no-url-tag libavc1394-devel.x86_64: W: no-documentation 4 packages and 0 specfiles checked; 0 errors, 8 warnings. - Url should be URL: http://sourceforge.net/projects/libavc1394/ - Remove executable permission in %setup phase. - Other warnings can be ignored. ** 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 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 - Library is under LGPLv2+, files under test/ are under GPLv2+. Change License: field to GPLv2+. MUST: The sources used to build the package must match the upstream source, as provided in the spec URL. NEEDSWORK - After fixing source URL is 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. NEEDSWORK - Use INSTALL="install -p" as argument to make install to preserve time stamps. MUST: Packages containing shared library files must call ldconfig. OK 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. OK MUST: All relevant items are included in %doc. Items in %doc do not affect runtime of application. NEEDSWORK - Add AUTHORS and TODO to %doc. MUST: Header files must be in a -devel package. OK MUST: Static libraries must be in a -static package. N/A MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'. NEEDSWORK - Add Requires: pkgconfig to devel. 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. OK MUST: Packages does not contain any .la libtool archives. OK 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 SHOULD: The package builds in mock. OK
Or, you can specify the license as License: GPLv2+ and LGPLv2+.
Sadly, --disable-static doesn't work, and dropping the autoreconf results in hard-coded rpaths. Don't have time to chase this further at the moment, but I think I've cleaned up just about everything else now, and will commit to the devel branch shortly... $ rpmlint libavc1394-0.5.3-6.fc12.src.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. $ rpmlint *.rpm libavc1394-devel.x86_64: W: no-documentation 3 packages and 0 specfiles checked; 0 errors, 1 warnings.
(In reply to comment #3) > Sadly, --disable-static doesn't work, and dropping the autoreconf results in > hard-coded rpaths. Don't have time to chase this further at the moment, but I > think I've cleaned up just about everything else now, and will commit to the > devel branch shortly... Can't you just sed it away from libtool? https://fedoraproject.org/wiki/Packaging/Guidelines#Removing_Rpath
Just took a quick look. Yes, the sed route works. Committed changes to drop the autofoo and libtool BR and the autoreconf'ing.
Okay, can you build it in rawhide so I can do the review?
Building now, http://koji.fedoraproject.org/koji/taskinfo?taskID=1361505
rpmlint output: libavc1394-devel.x86_64: W: no-documentation 4 packages and 0 specfiles checked; 0 errors, 1 warnings. - This is OK, since -devel requires main package that includes documentation. 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 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. 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. 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. OK 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. OK MUST: All relevant items are included in %doc. Items in %doc do not affect runtime of application. OK MUST: Header files must be in a -devel package. OK MUST: Static libraries must be in a -static package. N/A MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'. OK MUST: If a package contains library files with a suffix then library files ending in .so must go in a -devel package. OK MUST: In the vast majority of cases, devel packages must require the base package using a fully versioned dependency. OK MUST: Packages does not contain any .la libtool archives. OK 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 SHOULD: The package builds in mock. OK The package has been APPROVED