Bug 225988

Summary: Merge Review: libavc1394
Product: [Fedora] Fedora Reporter: Nobody's working on this, feel free to take it <nobody>
Component: Package ReviewAssignee: Susi Lehtola <susi.lehtola>
Status: CLOSED RAWHIDE QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: jarod, susi.lehtola
Target Milestone: ---Flags: susi.lehtola: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-05-18 19:15:15 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Nobody's working on this, feel free to take it 2007-01-31 19:18:56 UTC
Fedora Merge Review: libavc1394

http://cvs.fedora.redhat.com/viewcvs/devel/libavc1394/
Initial Owner: jwilson

Comment 1 Susi Lehtola 2009-05-15 15:43:49 UTC
- 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

Comment 2 Susi Lehtola 2009-05-15 15:45:51 UTC
Or, you can specify the license as License: GPLv2+ and LGPLv2+.

Comment 3 Jarod Wilson 2009-05-18 15:08:46 UTC
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.

Comment 4 Susi Lehtola 2009-05-18 16:19:20 UTC
(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

Comment 5 Jarod Wilson 2009-05-18 17:17:07 UTC
Just took a quick look. Yes, the sed route works. Committed changes to drop the autofoo and libtool BR and the autoreconf'ing.

Comment 6 Susi Lehtola 2009-05-18 18:09:21 UTC
Okay, can you build it in rawhide so I can do the review?

Comment 7 Jarod Wilson 2009-05-18 18:51:39 UTC
Building now, http://koji.fedoraproject.org/koji/taskinfo?taskID=1361505

Comment 8 Susi Lehtola 2009-05-18 19:15:15 UTC
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