Bug 526998

Summary: Review Request: volpack - Portable library for fast volume rendering
Product: [Fedora] Fedora Reporter: Sandro Mathys <sandro>
Component: Package ReviewAssignee: Martin Gieseking <martin.gieseking>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, martin.gieseking, notting
Target Milestone: ---Flags: martin.gieseking: fedora-review+
kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 1.0c7-3.fc12 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-12-17 23:55: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 Sandro Mathys 2009-10-03 00:03:51 UTC
Spec URL: http://red.fedorapeople.org/SRPMS/volpack.spec
SRPM URL: http://red.fedorapeople.org/SRPMS/volpack-1.0c7-1.fc11.src.rpm
Description:
VolPack is a portable library of fast volume rendering algorithms that
produce high-quality images.

$ rpmlint {SPECS,RPMS/i586,SRPMS}/volpack*
volpack.i586: W: shared-lib-calls-exit /usr/lib/libvolpack.so.1.0.4 exit
4 packages and 1 specfiles checked; 0 errors, 1 warnings.

I think this warning can be ignored, but I'm not very familiar with it.

Did successful mock builds for fedora-11-i386 and fedora-devel-i386.

Comment 1 Martin Gieseking 2009-10-03 08:35:18 UTC
A few comments:

- in summary and description of the devel package, replace "static" by "shared"

- replace Requires: volpack = %{version} by Requires: %{name} = %{version}-%{release}

- you can drop -n %{name}-%{version} from %setup

- replace %{_datadir}/man/man3/*.gz by %{_mandir}/man3/*.3*

- drop the docs from devel since they are already added by the base package

- add a doc subpackage containing the documentation and the examples coming with the tarball

Comment 2 Sandro Mathys 2009-10-03 10:30:49 UTC
Thanks for that initial input.

Regarding the doc subpackage:
- Do I just add doc and examples to %doc or where (path-wise) do I put them?
- What do I include from examples? Sources only? Binaries too? Makefile? Makefile.*?
- I guess I just add doc/*.{pdf,ps,html} from that folder?

Everything else is already fixed in my local version, will make a new release as soon as the doc subpkg is in there, too.

Comment 3 Martin Gieseking 2009-10-03 11:10:21 UTC
I suggest to add the following to the %install section:

# remove doc and example files we don't want to package
rm -f doc/vp_userguide..pdf doc/Makefile*
cd examples
make clean
rm -f Makefile.*
 
Then you can keep the %files section of the doc package rather brief:

%files doc
%defattr(-,root,root,-)
%doc doc/ examples/

Comment 4 Martin Gieseking 2009-10-03 11:35:56 UTC
Oh, I just noticed that there's also a binary file (test.csh) in the examples folder. If you would like to add it to the package, you should probably change its file permissions to 0644.

Comment 5 Sandro Mathys 2009-10-03 19:38:10 UTC
Spec URL: http://red.fedorapeople.org/SRPMS/volpack.spec
SRPM URL: http://red.fedorapeople.org/SRPMS/volpack-1.0c7-2.fc11.src.rpm

Thanks for all the input :) Fixed/Added all in the new release.

Comment 6 Martin Gieseking 2009-10-04 08:20:59 UTC
(In reply to comment #5)
> Thanks for all the input :) 

You're welcome. :)

I just wanted to start the full review but then I noticed that the package doesn't build on ppc systems:
http://koji.fedoraproject.org/koji/taskinfo?taskID=1726513

There seems to be an error in vp_compA.m4 that generates further C files during the build process. At least in one of these files some preprocessor statements don't match when building for ppc64:

vp_compAR3NB.c:966:1: error: unterminated #ifdef

You should report this to upstream.

Comment 7 Sandro Mathys 2009-10-04 10:00:23 UTC
I was wondering why ppc was cancelled and did a new scratch build.

The strange thing is I can't reproduce the above. Mine was successful, I even did another one to confirm the results:
http://koji.fedoraproject.org/koji/taskinfo?taskID=1726608
http://koji.fedoraproject.org/koji/taskinfo?taskID=1726613

Any idea why my scratch builds are so different from yours?

Comment 8 Martin Gieseking 2009-10-04 10:38:50 UTC
That's indeed rather strange. I also did another scratch build and it failed again, but this time on a different target with a different error:
https://koji.fedoraproject.org/koji/taskinfo?taskID=1726629

I have no idea why the results differ. Maybe some of the ppc build servers use different versions of m4. Could you please ask on fedora-devel for further information?

Comment 9 Mamoru TASAKA 2009-10-04 10:44:12 UTC
(In reply to comment #6)
> I just wanted to start the full review but then I noticed that the package
> doesn't build on ppc systems:
> http://koji.fedoraproject.org/koji/taskinfo?taskID=1726513

It seems that gcc was trying to compile incomplete vp_compAR3NB.c which
was still being generated by another make process.
This type of build error which seems to occur randomly is quite often
due to parallel make issue. I tried to use -j8 explicitly and
it failed:

http://koji.fedoraproject.org/koji/taskinfo?taskID=1726634

Try to remove %{?_smp_mflags} (and add some comments for this)
(or fix Makefiles so that parallel make passes)

Comment 10 Sandro Mathys 2009-10-04 12:45:26 UTC
Spec URL: http://red.fedorapeople.org/SRPMS/volpack.spec
SRPM URL: http://red.fedorapeople.org/SRPMS/volpack-1.0c7-3.fc11.src.rpm

Thanks for the hint Mamoru. I should have thought about parallel builds being the problem earlier, pretty typical.

The new release has now %{?_smp_mflags} removed. Several scratch builds on different build hosts were all successful.

Comment 11 Martin Gieseking 2009-10-04 19:21:25 UTC
With the latest SRPM I was also able to build the package successfully. It was indeed quite obvious that the problem could be caused by %{?_smp_mflags}. Next time I'll know better. :)

Anyway, the package looks good now. I couldn't find any further issues to be fixed. 


$ rpmlint /var/lib/mock/fedora-11-x86_64/result/volpack-*
volpack.x86_64: W: shared-lib-calls-exit /usr/lib64/libvolpack.so.1.0.4 exit.5
volpack-devel.x86_64: W: no-documentation
5 packages and 0 specfiles checked; 0 errors, 2 warnings.

Both warnings can be ignored.

---------------------------------
keys used in following checklist:

[+] OK
[.] OK, not applicable
[X] needs work
---------------------------------

[+] MUST: The package must be named according to the Package Naming Guidelines.

[+] MUST: The spec file name must match the base package %{name}.

[+] MUST: The package must meet the Packaging Guidelines.

[+] MUST: The package must be licensed with a Fedora approved license.
    - BSD license (3 clause variant)

[+] MUST: The License field in the package spec file must match the actual license.

[+] MUST: File(s) containing the text of the license(s) for the package must be included in %doc.

[+] MUST: The spec file must be written in American English.

[+] MUST: The spec file for the package MUST be legible.

[+] MUST: The sources used to build the package must match the upstream source, as provided in the spec URL.
    $ sha1sum volpack-1.0c7.tgz*
    e8e2f8d4fcc569417aef51d429556068d9205060  volpack-1.0c7.tgz
    e8e2f8d4fcc569417aef51d429556068d9205060  volpack-1.0c7.tgz.1

[+] MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture.
    koji scratch build: 
    http://koji.fedoraproject.org/koji/taskinfo?taskID=1726997

[.] MUST: If the package does not successfully compile, ...

[+] MUST: All build dependencies must be listed in BuildRequires.

[.] MUST: The spec file MUST handle locales properly. 
    - no locales

[+] 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 %post and %postun.

[.] MUST: If the package is designed to be relocatable, ...
    - not relocatable

[+] MUST: A package must own all directories that it creates. 

[+] MUST: A Fedora package must not list a file more than once in the spec file's %files listings.

[+] MUST: Permissions on files must be set properly.

[+] MUST: Each package must have a %clean section, which contains rm -rf %{buildroot}.

[+] MUST: Each package must consistently use macros.

[+] MUST: The package must contain code, or permissable content.

[+] MUST: Large documentation files must go in a -doc subpackage.

[+] MUST: Files in %doc must not affect the runtime of the application.

[+] MUST: Header files must be in a -devel package.

[.] MUST: Static libraries must be in a -static package.
    - no static libs packaged

[.] MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig'
    no .pc files

[+] 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.

[+] MUST: devel packages must require the base package using a fully versioned dependency: Requires: %{name} = %{version}-%{release}

[+] MUST: Packages must NOT contain any .la libtool archives, these must be removed in the spec if they are built.
    - .la files removed

[.] MUST: Packages containing GUI applications must include a %{name}.desktop file.
    - no GUI

[+] MUST: Packages must not own files or directories already owned by other packages.

[+] MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot}.

[+] MUST: All filenames in rpm packages must be valid UTF-8.


[+] SHOULD: The reviewer should test that the package builds in mock.
    - builds in mock

[+] SHOULD: The package should compile and build into binary rpms on all supported architectures.
    - builds in koji

[+] SHOULD: The reviewer should test that the package functions as described. 

[+] SHOULD: If scriptlets are used, those scriptlets must be sane.

[+] SHOULD: Usually, subpackages other than devel should require the base package using a fully versioned dependency.
    - doc package 

[.] SHOULD: .pc files should be placed in a -devel pkg.
    - no .pc files

------------------------
The package is APPROVED.
------------------------

Comment 12 Sandro Mathys 2009-10-04 21:23:16 UTC
Thanks for the formal review.

New Package CVS Request
=======================
Package Name: volpack
Short Description: Portable library for fast volume rendering
Owners: red
Branches: EL-5 F-11
InitialCC:

Comment 13 Kevin Fenzi 2009-10-06 17:30:14 UTC
cvs done.

Comment 14 Mamoru TASAKA 2009-11-18 07:07:43 UTC
Please submit push requests on bodhi for F-11/12 and close
this review request when done.

Comment 15 Fedora Update System 2009-12-01 08:33:14 UTC
volpack-1.0c7-3.el5 has been submitted as an update for Fedora EPEL 5.
http://admin.fedoraproject.org/updates/volpack-1.0c7-3.el5

Comment 16 Fedora Update System 2009-12-01 08:34:38 UTC
volpack-1.0c7-3.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/volpack-1.0c7-3.fc11

Comment 17 Fedora Update System 2009-12-01 08:35:21 UTC
volpack-1.0c7-3.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/volpack-1.0c7-3.fc12

Comment 18 Fedora Update System 2009-12-01 18:27:00 UTC
volpack-1.0c7-3.el5 has been pushed to the Fedora EPEL 5 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update volpack'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/EL-5/FEDORA-EPEL-2009-0926

Comment 19 Fedora Update System 2009-12-02 04:29:17 UTC
volpack-1.0c7-3.fc12 has been pushed to the Fedora 12 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update volpack'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F12/FEDORA-2009-12498

Comment 20 Fedora Update System 2009-12-02 04:46:28 UTC
volpack-1.0c7-3.fc11 has been pushed to the Fedora 11 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update volpack'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-12518

Comment 21 Fedora Update System 2009-12-17 23:55:07 UTC
volpack-1.0c7-3.el5 has been pushed to the Fedora EPEL 5 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 22 Fedora Update System 2009-12-22 04:47:24 UTC
volpack-1.0c7-3.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 23 Fedora Update System 2009-12-22 04:53:01 UTC
volpack-1.0c7-3.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.