| Summary: | Review Request: libaacs - Open implementation of AACS specification | ||
|---|---|---|---|
| Product: | Package Reviews | Reporter: | Xavier Bachelot <xavier> |
| Component: | Review Request | Assignee: | Alex Lancaster <alexl> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | alexl, belegdol, hobbes1069, rpmfusion-package-review |
| Priority: | P5 | ||
| Version: | Current | ||
| Hardware: | All | ||
| OS: | GNU/Linux | ||
| namespace: | |||
| Bug Depends on: | |||
| Bug Blocks: | 4 | ||
|
Description
Xavier Bachelot
2010-10-13 21:12:28 CEST
Pre-review running of rpmlint: $ rpmlint x86_64/libaacs-* ~/RPMS/SRPMS/libaacs-0.1-0.1.20100817.fc13.src.rpm libaacs.x86_64: W: shared-lib-calls-exit /usr/lib64/libaacs.so.0.0.0 exit@GLIBC_2.2.5 libaacs-debuginfo.x86_64: E: non-standard-dir-perm /usr/src/debug/libaacs-20100817/src/libaacs 0775L libaacs-debuginfo.x86_64: E: non-standard-dir-perm /usr/lib/debug 0775L libaacs-debuginfo.x86_64: E: non-standard-dir-perm /usr/src/debug/libaacs-20100817 0775L libaacs-debuginfo.x86_64: E: non-standard-dir-perm /usr/src/debug/libaacs-20100817/src/file 0775L libaacs-debuginfo.x86_64: E: non-standard-dir-perm /usr/src/debug/libaacs-20100817/src/util 0775L libaacs-devel.x86_64: W: no-documentation libaacs.src:13: W: macro-in-comment %Y libaacs.src:13: W: macro-in-comment %m libaacs.src:13: W: macro-in-comment %d libaacs.src:13: W: macro-in-comment %Y libaacs.src:13: W: macro-in-comment %m libaacs.src:13: W: macro-in-comment %d libaacs.src: W: invalid-url Source0: libaacs-20100817.tar.bz2 4 packages and 0 specfiles checked; 5 errors, 9 warnings. Seems that there is an issue with shared-lib-calls-exit that might need to be addressed. The debuginfo and macro-in-comment, I already mentioned in the libbluray review: https://bugzilla.redhat.com/show_bug.cgi?id=625602 The shared-lib-calls-exit issue is fixed in current git tree, I'll update the snapshot. I'll fix the Source0 URL in the same way as libbluray at the same time. New release : Spec URL: http://www.bachelot.org/fedora/SPECS/libaacs.spec SRPM URL: http://www.bachelot.org/fedora/SRPMS/libaacs-0.1-0.2.20101021git00b2df2bb7598.fc13.src.rpm This address the tarball generation and the debuginfo package perms issue. I thought the shared-lib-calls-exit issue was fixed in git, but it's unfortunately not. I'll mail upstream. New release : Spec URL: http://www.bachelot.org/fedora/SPECS/libaacs.spec SRPM URL: http://www.bachelot.org/fedora/SRPMS/libaacs-0.1-0.4.20110107gite7aa4fd42c0d4.fc14.src.rpm (In reply to comment #4) > New release : > Spec URL: http://www.bachelot.org/fedora/SPECS/libaacs.spec > SRPM URL: > http://www.bachelot.org/fedora/SRPMS/libaacs-0.1-0.4.20110107gite7aa4fd42c0d4.fc14.src.rpm > Thanks, will try to get to this soon. Latest snapshot : Spec URL: http://www.bachelot.org/fedora/SPECS/libaacs.spec SRPM URL: http://www.bachelot.org/fedora/SRPMS/libaacs-0.1-0.5.20110515git497c22423d0e7.fc14.src.rpm Latest snapshot : Spec URL: http://www.bachelot.org/fedora/SPECS/libaacs.spec SRPM URL: http://www.bachelot.org/fedora/SRPMS/libaacs-0.1-0.6.20110710git964342fbf3ed6.fc15.src.rpm New snapshot : Spec URL: http://www.bachelot.org/fedora/SPECS/libaacs.spec SRPM URL: http://www.bachelot.org/fedora/SRPMS/libaacs-0.2-0.1.20110925gite854d6673ad6c.fc15.src.rpm Some observations:
1. Should the devel subpackage requirement for the main package be arch specific?
Requires: %{name} = %{version}-%{release}
to
Requires: %{name}%{?_isa} = %{version}-%{release}
2. If you're not going to build for EL5, the following can be omitted:
BuildRoot: entirely
rm -rf $RPM_BUILD_ROOT from %install
%clean entirely
%defattr(-,root,root,-) from all %files sections.
(In reply to comment #9) > Some observations: > > 1. Should the devel subpackage requirement for the main package be arch > specific? > > Requires: %{name} = %{version}-%{release} > to > Requires: %{name}%{?_isa} = %{version}-%{release} > Right, I'll fix that in the next release. > 2. If you're not going to build for EL5, the following can be omitted: > > BuildRoot: entirely > rm -rf $RPM_BUILD_ROOT from %install > %clean entirely > %defattr(-,root,root,-) from all %files sections. > I plan to build for EL5. OK, trying to get around to reviewing this, this weekend. Is this the latest version? Ok, so there are a couple of queries to fix: 1. the rpmlint warning 2. the _isa in the Requires for -devel (as identifed in comment #9). Everything else looks fine (build successfully in koji). Please post an updated .spec and I'll do a final check before approving. Here's the full review: Key: x = passed ? = needs work NA = not applicable to this package [ ? ] MUST: rpmlint must be run on the source rpm and all binary rpms the build produces. The output should be posted in the review.(refer to http://fedoraproject.org/wiki/Packaging/Guidelines#rpmlint) # rpmlint libaacs-* libaacs.x86_64: W: shared-lib-calls-exit /usr/lib64/libaacs.so.0.0.0 exit@GLIBC_2.2.5 libaacs-devel.x86_64: W: no-documentation Please investigate the shared-lib-call-exit error. The 'no-documentation' can be ignored. # rpmlint libaacs-0.2-0.1.20110925gite854d6673ad6c.fc14.src.rpm libaacs.src:15: W: macro-in-comment %{git_hash} libaacs.src:15: W: macro-in-comment %Y libaacs.src:15: W: macro-in-comment %m libaacs.src:15: W: macro-in-comment %d libaacs.src:15: W: macro-in-comment %{git_short} libaacs.src: W: invalid-url Source0: libaacs-20110925gite854d6673ad6c.tar.bz2 1 packages and 0 specfiles checked; 0 errors, 6 warnings. These can probably be ignored because they are needed to regenerate the source tarball [ x ] MUST: The package must be named according to the http://fedoraproject.org/wiki/Packaging/NamingGuidelines [ x ] MUST: The spec file name must match the base package <code>%{name}</code>, in the format <code>%{name}.spec</code> unless your package has an exemption. (refer to http://fedoraproject.org/wiki/Packaging/NamingGuidelines#Spec_file_name). [ x ] MUST: The package must meet the http://fedoraproject.org/wiki/Packaging/Guidelines. [ x ] MUST: The package must be licensed with a Fedora approved license and meet the http://fedoraproject.org/wiki/Packaging/LicensingGuidelines. Yes: LGPLv2+. Headers show it is v2+, matching the license described. [ x ] MUST: The License field in the package spec file must match the actual license. (refer to http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#ValidLicenseShortNames) Yes: COPYING is LGPL [ x ] MUST: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package must be included in <code>%doc</code>.(refer to http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License Text) [ x ] MUST: The spec file must be written in American English. (refer to http://fedoraproject.org/wiki/Packaging/Guidelines#summary) [ x ] MUST: The spec file for the package '''MUST''' be legible. (refer to http://fedoraproject.org/wiki/Packaging/Guidelines#Spec_Legibility) [ NA ] MUST: The sources used to build the package must match the upstream source, as provided in the spec URL. Reviewers should use md5sum for this task. If no upstream URL can be specified for this package, please see the http://fedoraproject.org/wiki/Packaging/SourceURL for how to deal with this. N/A: Builds from a git snapshot [ x ] MUST: The package '''MUST''' successfully compile and build into binary rpms on at least one primary architecture. (refer to http://fedoraproject.org/wiki/Packaging/Guidelines#Architecture_Support) [ x ] MUST: If the package does not successfully compile, build or work on an architecture, then those architectures should be listed in the spec in <code>ExcludeArch</code>. Each architecture listed in <code>ExcludeArch</code> '''MUST''' have a bug filed in bugzilla, describing the reason that the package does not compile/build/work on that architecture. The bug number '''MUST''' be placed in a comment, next to the corresponding <code>ExcludeArch</code> line. (refer to http://fedoraproject.org/wiki/Packaging/Guidelines#Architecture_Build_Failures) [ x ] MUST: All build dependencies must be listed in <code>BuildRequires</code>, except for any that are listed in the http://fedoraproject.org/wiki/Packaging/Guidelines#Exceptions_2 section of the Packaging Guidelines ; inclusion of those as <code>BuildRequires</code> is optional. Apply common sense. BuildRequires OK: Did a successful scratch build on koji: http://koji.fedoraproject.org/koji/taskinfo?taskID=3490525 [ NA ] MUST: The spec file MUST handle locales properly. This is done by using the <code>%find_lang</code> macro. Using <code>%{_datadir}/locale/*</code> is strictly forbidden.(refer to http://fedoraproject.org/wiki/Packaging/Guidelines#Handling_Locale_Files) [ x ] MUST: Every binary RPM package (or subpackage) which stores shared library files (not just symlinks) in any of the dynamic linker's default paths, must call ldconfig in <code>%post</code> and <code>%postun</code>. (refer to http://fedoraproject.org/wiki/Packaging/Guidelines#Shared_Libraries) [ x ] MUST: Packages must NOT bundle copies of system libraries.(refer to http://fedoraproject.org/wiki/Packaging:Guidelines#Duplication_of_system_libraries) [ NA ] 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. Without this, use of Prefix: /usr is considered a blocker. (refer to http://fedoraproject.org/wiki/Packaging/Guidelines#RelocatablePackages) [ x ] MUST: A package must own all directories that it creates. If it does not create a directory that it uses, then it should require a package which does create that directory. (refer to http://fedoraproject.org/wiki/Packaging/Guidelines#FileAndDirectoryOwnership) [ x ] MUST: A Fedora package must not list a file more than once in the spec file's %files listings. (Notable exception: license texts in specific situations)(refer to http://fedoraproject.org/wiki/Packaging/Guidelines#DuplicateFiles) [ x ] MUST: Permissions on files must be set properly. Executables should be set with executable permissions, for example. (refer to http://fedoraproject.org/wiki/Packaging/Guidelines#FilePermissions) [ x ] MUST: Each package must consistently use macros. (refer to http://fedoraproject.org/wiki/Packaging/Guidelines#macros) [ x ] MUST: The package must contain code, or permissable content. (refer to http://fedoraproject.org/wiki/Packaging/Guidelines#CodeVsContent) [ NA ] MUST: Large documentation files must go in a -doc subpackage. (The definition of large is left up to the packager's best judgement, but is not restricted to size. Large can refer to either size or quantity). (refer to http://fedoraproject.org/wiki/Packaging/Guidelines#PackageDocumentation) [ x ] MUST: If a package includes something as %doc, it must not affect the runtime of the application. To summarize: If it is in %doc, the program must run properly if it is not present. (refer to http://fedoraproject.org/wiki/Packaging/Guidelines#PackageDocumentation) [ x ] MUST: Header files must be in a -devel package. (refer to http://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages) [ NA ] MUST: Static libraries must be in a -static package. (refer to http://fedoraproject.org/wiki/Packaging/Guidelines#StaticLibraries) [ x ] MUST: If a package contains library files with a suffix (e.g. libfoo.so.1.1), then library files that end in .so (without suffix) must go in a -devel package. (refer to http://fedoraproject.org/wiki/Packaging/Guidelines#DevelPackages) [ ? ] MUST: In the vast majority of cases, devel packages must require the base package using a fully versioned dependency: <code>Requires: %{name}%{?_isa} = %{version}-%{release} </code> (refer to http://fedoraproject.org/wiki/Packaging/Guidelines#RequiringBasePackage) Please fix this as per comment #9. [ x ] MUST: Packages must NOT contain any .la libtool archives, these must be removed in the spec if they are built.(refer to http://fedoraproject.org/wiki/Packaging/Guidelines#StaticLibraries) [ NA ] MUST: Packages containing GUI applications must include a %{name}.desktop file, and that file must be properly installed with desktop-file-install in the %install section. If you feel that your packaged GUI application does not need a .desktop file, you must put a comment in the spec file with your explanation. (refer to http://fedoraproject.org/wiki/Packaging/Guidelines#desktop) [ x ] MUST: Packages must not own files or directories already owned by other packages. The rule of thumb here is that the first package to be installed should own the files or directories that other packages may rely upon. This means, for example, that no package in Fedora should ever share ownership with any of the files or directories owned by the <code>filesystem</code> or <code>man</code> package. If you feel that you have a good reason to own a file or directory that another package owns, then please present that at package review time. (refer to http://fedoraproject.org/wiki/Packaging/Guidelines#FileAndDirectoryOwnership) [ x ] MUST: All filenames in rpm packages must be valid UTF-8. (refer to http://fedoraproject.org/wiki/Packaging/Guidelines#FilenameEncoding) [ x ] SHOULD: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. (refer to http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text) [ NA ] SHOULD: The description and summary sections in the package spec file should contain translations for supported Non-English languages, if available. (refer to http://fedoraproject.org/wiki/Packaging/Guidelines#summary) [ x ] SHOULD: The reviewer should test that the package builds in mock. (refer to http://fedoraproject.org/wiki/PackageMaintainers/MockTricks) Done in koji build, see above. [ x ] SHOULD: The package should compile and build into binary rpms on all supported architectures. (refer to http://fedoraproject.org/wiki/Packaging/Guidelines#ArchitectureSupport) Done: see koji build. [ x ] SHOULD: The reviewer should test that the package functions as described. A package should not segfault instead of running, for example. Haven't been able to test as yet, no Blu-ray player. Not a blocker, however. [ x ] SHOULD: If scriptlets are used, those scriptlets must be sane. This is vague, and left up to the reviewers judgement to determine sanity. (refer to http://fedoraproject.org/wiki/Packaging/Guidelines#Scriptlets) They look OK (only ldconfig) [ NA ] SHOULD: Usually, subpackages other than devel should require the base package using a fully versioned dependency. (refer to http://fedoraproject.org/wiki/Packaging/Guidelines#RequiringBasePackage) [ x ] SHOULD: The placement of pkgconfig(.pc) files depends on their usecase, and this is usually for development purposes, so should be placed in a -devel pkg. A reasonable exception is that the main pkg itself is a devel tool not installed in a user runtime, e.g. gcc or gdb. (refer to http://fedoraproject.org/wiki/Packaging/Guidelines#PkgconfigFiles) Yes: .pc file is in -devel subpackage [ NA ] SHOULD: If the package has file dependencies outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin consider requiring the package which provides the file instead of the file itself. (refer to http://fedoraproject.org/wiki/Packaging/Guidelines#FileDeps) [ NA ] SHOULD: your package should contain man pages for binaries/scripts. If it doesn't, work with upstream to add them where they make sense.(refer to http://fedoraproject.org/wiki/Packaging/Guidelines#Man_pages) (In reply to comment #12) > Ok, so there are a couple of queries to fix: > > 1. the rpmlint warning I don't know how to fix this one. I've searched the sources, but there's no call to exit. I've mailed upstream about this one year ago, but I hadn't had an answer. I'll try again. > 2. the _isa in the Requires for -devel (as identifed in comment #9). > I fixed this when Richard noted it, but did not upload the spec and srpm. > Everything else looks fine (build successfully in koji). Please post an > updated .spec and I'll do a final check before approving. > Thanks for the review. Updated spec ans srpm with very latest snapshot : http://www.bachelot.org/fedora/SPECS/libaacs.spec http://www.bachelot.org/fedora/SRPMS/libaacs-0.2-0.3.20111105git876f45a3f727e.fc15.src.rpm (In reply to comment #13) > (In reply to comment #12) > > Ok, so there are a couple of queries to fix: > > > > 1. the rpmlint warning > > I don't know how to fix this one. I've searched the sources, but there's no > call to exit. I've mailed upstream about this one year ago, but I hadn't had > an answer. I'll try again. As this is just a warning, this isn't a blocker, but please work with upstream to fix this. If you open up a ticket/bug report/email thread, please post a link to it here and in the spec file before you upload/build the package for the first time. > > 2. the _isa in the Requires for -devel (as identifed in comment #9). > > > I fixed this when Richard noted it, but did not upload the spec and srpm. Thanks, looks good. > Thanks for the review. > > Updated spec ans srpm with very latest snapshot : > http://www.bachelot.org/fedora/SPECS/libaacs.spec > http://www.bachelot.org/fedora/SRPMS/libaacs-0.2-0.3.20111105git876f45a3f727e.fc15.src.rpm All blockers addressed, so this package is: APPROVED Package CVS request ====================== Package Name: libaacs Short Description: Open implementation of AACS specification Owners: xavierb Branches: f15 f16 el5 el6 InitialCC: ---------------------- License tag: free Imported and built for F-16, F-15, EL-6 and EL-5. The EL-5 build failed, I'll take a look later. For the record, here's the thread about the shared-lib-calls-exit issue. I forgot to add the link into the spec before importing/building, but will do for the next release. http://mailman.videolan.org/pipermail/libaacs-devel/2011-November/000100.html Thanks all. |