Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 670541 (libxc) - Review Request: libxc - Library of exchange and correlation functionals to be used in DFT codes
Summary: Review Request: libxc - Library of exchange and correlation functionals to be...
Keywords:
Status: CLOSED ERRATA
Alias: libxc
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Martin Gieseking
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 670558
TreeView+ depends on / blocked
 
Reported: 2011-01-18 15:58 UTC by Susi Lehtola
Modified: 2014-09-25 00:20 UTC (History)
3 users (show)

Fixed In Version: libxc-2.1.0-4.el7
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-02-02 19:25:23 UTC
Type: ---
Embargoed:
martin.gieseking: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Susi Lehtola 2011-01-18 15:58:59 UTC
Spec URL:
http://theory.physics.helsinki.fi/~jzlehtol/rpms/libxc.spec

SRPM URL:
http://theory.physics.helsinki.fi/~jzlehtol/rpms/libxc-1.0-1.src.rpm

Upstream URL:
http://www.tddft.org/programs/octopus/wiki/index.php/Libxc

Description:
Libxc is a library of exchange and correlation functionals. Its purpose is to
be used in codes that implement density-functional theory. For the moment, the
library includes most of the local density approximations (LDAs), generalized
density approximation (GGAs), and meta-GGAs. The library provides values for
the energy density and its 1st, 2nd, and (for the LDAs) 3rd derivatives.


rpmlint output:

libxc.src: W: spelling-error Summary(en_US) functionals -> functional, functional s, functionary
libxc.src: W: spelling-error %description -l en_US functionals -> functional, functional s, functionary
libxc.x86_64: W: spelling-error Summary(en_US) functionals -> functional, functional s, functionary
libxc.x86_64: W: spelling-error %description -l en_US functionals -> functional, functional s, functionary
libxc.x86_64: W: shared-lib-calls-exit /usr/lib64/libxc.so.0.0.9 exit.5
libxc-devel.x86_64: W: spelling-error %description -l en_US functionals -> functional, functional s, functionary
libxc-devel.x86_64: W: no-documentation
4 packages and 0 specfiles checked; 0 errors, 7 warnings.

These are all OK.

Comment 1 Martin Gieseking 2011-01-22 09:27:38 UTC
Hi Jussi,

the package looks almost fine as far as I can see. Just a few things I noticed:

- %{?dist} is missing in the Release field

- the packaged source tarball differs from the upstream one:
  $ md5sum libxc-1.0.tar.gz*
  f9702268cf0015ada6a0ac34659971e6  libxc-1.0.tar.gz
  4a8ef0c8fccc695e65466ec1a8878280  libxc-1.0.tar.gz.1

- maybe you want to use %{version} in Source0

- according to [1], %{_isa} must be added to Requires: gcc-gfortran

The directory %{_fmoddir} seems to be unowned. Unlike stated in [1], gcc-gfortran doesn't seem to own it. But maybe I'm missing something.

[1] http://fedoraproject.org/wiki/Packaging:Fortran

Comment 2 Susi Lehtola 2011-01-22 10:16:57 UTC
Good catches. That teaches me (once again) not to use upstream specfiles as a starting point.

The gcc-gfortran stuff are bugs in the GCC packaging - the Fortran guidelines were approved, but the GCC guys haven't wanted to implement them.

http://theory.physics.helsinki.fi/~jzlehtol/rpms/libxc.spec
http://theory.physics.helsinki.fi/~jzlehtol/rpms/libxc-1.0-2.fc14.src.rpm

Comment 3 Martin Gieseking 2011-01-23 18:35:56 UTC
(In reply to comment #2)
> The gcc-gfortran stuff are bugs in the GCC packaging - the Fortran guidelines
> were approved, but the GCC guys haven't wanted to implement them.

Ah OK, thanks for the clarification.

What do you think about the following still unaddressed items?

- the packaged source tarball differs from the upstream one:
  $ md5sum libxc-1.0.tar.gz*
  f9702268cf0015ada6a0ac34659971e6  libxc-1.0.tar.gz
  4a8ef0c8fccc695e65466ec1a8878280  libxc-1.0.tar.gz.1

- according to [1], %{_isa} must be added to Requires: gcc-gfortran

Comment 4 Susi Lehtola 2011-01-23 19:10:45 UTC
(In reply to comment #3)
> - the packaged source tarball differs from the upstream one:
>   $ md5sum libxc-1.0.tar.gz*
>   f9702268cf0015ada6a0ac34659971e6  libxc-1.0.tar.gz
>   4a8ef0c8fccc695e65466ec1a8878280  libxc-1.0.tar.gz.1

/me fails. I ran spectool -g but forgot to move the tarball to the SOURCES directory. *Now* it is fixed.

> - according to [1], %{_isa} must be added to Requires: gcc-gfortran

Yes, I wrote the guideline proposal :)
I had some reason not to place the %{_isa}, but according to my test it seems to work fine on current Fedoras. On EPEL, however, it doesn't work since the 32-bit gcc-gfortran is not available.


Let's hope I got everything now :D

http://theory.physics.helsinki.fi/~jzlehtol/rpms/libxc.spec
http://theory.physics.helsinki.fi/~jzlehtol/rpms/libxc-1.0-3.fc14.src.rpm

Comment 5 Martin Gieseking 2011-01-23 19:53:08 UTC
Thanks for the information and the fixes. The package is almost ready now. As you mentioned you want to build it for EPEL too (and as a BuildRoot field and a %clean section are present), you should also clean the buildroot at the beginning of %install. Everything else looks fine.


$ rpmlint /var/lib/mock/fedora-14-x86_64/result/*.rpm
libxc.src: W: spelling-error Summary(en_US) functionals -> functional, functional s, functionary
libxc.src: W: spelling-error %description -l en_US functionals -> functional, functional s, functionary
libxc.x86_64: W: spelling-error Summary(en_US) functionals -> functional, functional s, functionary
libxc.x86_64: W: spelling-error %description -l en_US functionals -> functional, functional s, functionary
libxc.x86_64: W: shared-lib-calls-exit /usr/lib64/libxc.so.0.0.9 exit.5
libxc-devel.x86_64: W: spelling-error %description -l en_US functionals -> functional, functional s, functionary
libxc-devel.x86_64: W: no-documentation
4 packages and 0 specfiles checked; 0 errors, 7 warnings.

All above warnings can be ignored:
- spelling errors are false positive
- call of exit() should be fixed upstream, no blocker here
- no docs in devel is expected

---------------------------------
key:

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

[+] MUST: The License field in the package spec file must match the actual license.
[+] MUST: The file 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.
    $ md5sum libxc-1.0.tar.gz*
    4a8ef0c8fccc695e65466ec1a8878280  libxc-1.0.tar.gz
    4a8ef0c8fccc695e65466ec1a8878280  libxc-1.0.tar.gz.1

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

[.] MUST: If the package does not successfully compile, build or work ...
[+] MUST: All build dependencies must be listed in BuildRequires.
[.] MUST: The spec file MUST handle locales properly.
[+] MUST: Packages storing shared library files (not just symlinks) must call ldconfig in %post and %postun.
[+] MUST: Packages must NOT bundle copies of system libraries.
[.] MUST: If the package is designed to be relocatable, ...
[+] MUST: A package must own all directories that it creates. 
[+] MUST: A Fedora package must not list a file more than once in %files.
[+] MUST: Permissions on files must be set properly.
[+] 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.
[+] MUST: 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
[+] MUST: Packages must NOT contain any .la libtool archives
[.] MUST: Packages containing GUI applications must include a %{name}.desktop file
[+] MUST: Packages must not own files or directories already owned by other packages.
[X] 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: If the source package does not include license text(s) as a separate file...
[+] SHOULD: The reviewer should test that the package builds in mock.
[+] SHOULD: The package should compile and build into binary rpms on all supported architectures.
[+] SHOULD: The reviewer should test that the package functions as described.
[+] SHOULD: If scriptlets are used, those scriptlets must be sane.
[.] SHOULD: subpackages other than devel should require the base package using a fully versioned dependency.
[+] SHOULD: pkgconfig(.pc) should be placed in a -devel pkg.
[+] 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.
[.] SHOULD: your package should contain man pages for binaries/scripts.

Comment 6 Susi Lehtola 2011-01-23 20:32:30 UTC
Again, I blame the crappy upstream template I used. The ape specfile (bug #670558) I wrote myself, so at least that should be cleaner.

Sorry for making you work this hard, although the missing cleaning of buildroot is not a blocker per se..

http://theory.physics.helsinki.fi/~jzlehtol/rpms/libxc.spec
http://theory.physics.helsinki.fi/~jzlehtol/rpms/libxc-1.0-4.fc14.src.rpm

Comment 7 Martin Gieseking 2011-01-23 20:53:03 UTC
(In reply to comment #6)
> The ape specfile (bug
> #670558) I wrote myself, so at least that should be cleaner.

OK, looks good at first glance. If my time permits, I will have a deeper look at it in the next few days.


> Sorry for making you work this hard, although the missing cleaning of buildroot
> is not a blocker per se..

That's all right. I know I'm a bit nit-picking sometimes even on non-blocking items. :)


----------------
Package APPROVED 
----------------

Comment 8 Susi Lehtola 2011-01-23 23:41:10 UTC
It's good to see that you have your standards :)

Thanks for the review! If you have any packages waiting for a reviewer, just holler...

New Package SCM Request
=======================
Package Name: libxc
Short Description: Library of exchange and correlation functionals to be used in DFT codes
Owners: jussilehtola
Branches: F-13 F-14 EL-5 EL-6
InitialCC:

Comment 9 Jason Tibbitts 2011-01-24 17:45:06 UTC
Git done (by process-git-requests).

Comment 10 Fedora Update System 2011-01-24 19:49:44 UTC
libxc-1.0-4.el5 has been submitted as an update for Fedora EPEL 5.
https://admin.fedoraproject.org/updates/libxc-1.0-4.el5

Comment 11 Fedora Update System 2011-01-24 19:49:52 UTC
libxc-1.0-4.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/libxc-1.0-4.fc14

Comment 12 Fedora Update System 2011-01-24 19:49:59 UTC
libxc-1.0-4.fc13 has been submitted as an update for Fedora 13.
https://admin.fedoraproject.org/updates/libxc-1.0-4.fc13

Comment 13 Fedora Update System 2011-01-24 19:50:06 UTC
libxc-1.0-4.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/libxc-1.0-4.el6

Comment 14 Fedora Update System 2011-01-25 18:56:24 UTC
libxc-1.0-4.el6 has been pushed to the Fedora EPEL 6 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 libxc'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/libxc-1.0-4.el6

Comment 15 Fedora Update System 2011-02-02 19:25:18 UTC
libxc-1.0-4.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 16 Fedora Update System 2011-02-02 19:27:34 UTC
libxc-1.0-4.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 17 Fedora Update System 2011-02-10 17:54:24 UTC
libxc-1.0-4.el6 has been pushed to the Fedora EPEL 6 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 18 Fedora Update System 2011-02-10 17:55:40 UTC
libxc-1.0-4.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 19 Susi Lehtola 2014-08-29 20:43:44 UTC
Package Change Request
======================
Package Name: libxc
New Branches: epel7
Owners: jussilehtola

Comment 20 Gwyn Ciesla 2014-09-02 12:30:12 UTC
Git done (by process-git-requests).

Comment 21 Fedora Update System 2014-09-05 05:49:08 UTC
libxc-2.1.0-4.el7 has been submitted as an update for Fedora EPEL 7.
https://admin.fedoraproject.org/updates/libxc-2.1.0-4.el7

Comment 22 Fedora Update System 2014-09-25 00:20:31 UTC
libxc-2.1.0-4.el7 has been pushed to the Fedora EPEL 7 stable repository.


Note You need to log in before you can comment on or make changes to this bug.