Spec URL: http://theory.physics.helsinki.fi/~jzlehtol/rpms/wannier90.spec SRPM URL: http://theory.physics.helsinki.fi/~jzlehtol/rpms/wannier90-1.1-1.fc10.src.rpm Upstream URL: http://wannier.org/ Description: Wannier90 is a program for calculating maximally-localised Wannier functions (MLWF) from a set of Bloch energy bands that may or may not be attached to or mixed with other bands. The formalism works by minimising the total spread of the MLWF in real space. This is done in the space of unitary matrices that describe rotations of the Bloch bands at each k-point. As a result, wannier90 is independent of the basis set used in the underlying calculation to obtain the Bloch states. Therefore, it may be interfaced straightforwardly to any electronic structure code. The locality of MLWF can be exploited to compute band-structure, density of states and Fermi surfaces at modest computational cost. Furthermore, wannier90 is able to output MLWF for visualisation and other post-processing purposes. Wannier functions are already used in a wide variety of applications. These include analysis of chemical bonding in real space; calculation of dielectric properties via the modern theory of polarisation; and as an accurate and minimal basis set in the construction of model Hamiltonians for large-scale systems, in linear-scaling quantum Monte Carlo calculations, and for efficient computation of material properties, such as the anomalous Hall coefficient. rpmlint output: wannier90.x86_64: W: unstripped-binary-or-object /usr/lib64/libwannier.so wannier90.x86_64: W: no-soname /usr/lib64/libwannier.so 3 packages and 1 specfiles checked; 0 errors, 2 warnings. I have no idea why rpm doesn't strip the library...
Branched the library into its own package. Spec URL: http://theory.physics.helsinki.fi/~jzlehtol/rpms/wannier90.spec SRPM URL: http://theory.physics.helsinki.fi/~jzlehtol/rpms/wannier90-1.1-2.fc10.src.rpm
Taking for review.
Builds OK in Koji. http://koji.fedoraproject.org/koji/taskinfo?taskID=1355896 Comment: the name of the executable is 'wannier90.x'. Not a blocker, but a little unusual.
rpmlint says: wannier90-devel.i586: W: no-documentation It would be worth adding at least the license file to this package, I think. wannier90-libs.i586: W: unstripped-binary-or-object /usr/lib/libwannier.so You probably want to strip this one, although I guess this might break debuginfo. wannier90-libs.i586: W: no-soname /usr/lib/libwannier.so This is a consequence of upstream's peculiar build process. Persuade them to use libtool :-)
Comment: Would be worth including the examples/ subdirectory from the source, particularly since it is mentioned in the README file.
? rpmlint output Please see comment 4. I think at least some of these are worth fixing. + package name satisfies the packaging naming guidelines + specfile name matches the package base name + package should satisfy packaging guidelines + license meets guidelines and is acceptable to Fedora GPLv2+ + license matches the actual package license + %doc includes license file + spec file written in American English + spec file is legible + upstream sources match sources in the srpm 2a547276e25d2345480ec3717c6c2f3f / 6259705 + package successfully builds on at least one architecture built in Koji n/a ExcludeArch bugs filed + BuildRequires list all build dependencies n/a %find_lang instead of %{_datadir}/locale/* + binary RPM with shared library files must call ldconfig in %post and %postun + does not use Prefix: /usr + package owns all directories it creates + no duplicate files in %files + %defattr line + %clean contains rm -rf $RPM_BUILD_ROOT + consistent use of macros + package must contain code or permissible content n/a large documentation files should go in -doc subpackage (documentation is 740K unpacked, but this is still not a really significant part of the whole package) + files marked %doc should not affect package + header files should be in -devel n/a static libraries should be in -static n/a packages containing pkgconfig (.pc) files need 'Requires: pkgconfig' + libfoo.so must go in -devel (in -libs, which is also OK) + -devel must require the fully versioned base (requires -libs, which is OK) + packages should not contain libtool .la files n/a packages containing GUI apps must include %{name}.desktop file + packages must not own files or directories owned by other packages + %install must start with rm -rf %{buildroot} etc. + filenames must be valid UTF-8 Optional: n/a if there is no license file, packager should query upstream n/a translations of description and summary for non-English languages, if available + reviewer should build the package in mock + the package should build into binary RPMs on all supported architectures + review should test the package functions as described (I tested it ran on the examples) + scriptlets should be sane n/a pkgconfig files should go in -devel + shouldn't have file dependencies outside /etc /bin /sbin /usr/bin or /usr/sbin ----- I would like to hear your feedback on comments 3, 4 and 5.
(In reply to comment #3) > Comment: the name of the executable is 'wannier90.x'. Not a > blocker, but a little unusual. I don't want to break compatibility with upstream, so I'm keeping the name of the binary as is. (In reply to comment #4) > wannier90-devel.i586: W: no-documentation > > It would be worth adding at least the license file to this > package, I think. IMHO it's not needed, since the devel package requires the base package that contains the documentation along with the license. > wannier90-libs.i586: W: unstripped-binary-or-object /usr/lib/libwannier.so > > You probably want to strip this one, although I guess this > might break debuginfo. Merged this with the main package, as I made the executable link to the shared library. The warning was caused by find-debuginfo.sh not finding the non-executable library, it works now. > wannier90-libs.i586: W: no-soname /usr/lib/libwannier.so > > This is a consequence of upstream's peculiar build process. > Persuade them to use libtool :-) Upstream builds a static library, I changed the makefile to build a shared library instead. (In reply to comment #5) > Comment: Would be worth including the examples/ subdirectory > from the source, particularly since it is mentioned in the README > file. Done. http://theory.physics.helsinki.fi/~jzlehtol/rpms/wannier90.spec http://theory.physics.helsinki.fi/~jzlehtol/rpms/wannier90-1.1-3.fc10.src.rpm rpmlint output: wannier90.x86_64: W: no-soname /usr/lib64/libwannier.so wannier90-devel.x86_64: W: no-documentation 3 packages and 0 specfiles checked; 0 errors, 2 warnings. These can be ignored, as mentioned above.
OK, I checked the updated package, and this now looks good. ------------------------------ APPROVED by rjones ------------------------------
Thanks for the review! New Package CVS Request ======================= Package Name: wannier90 Short Description: Maximally-localised Wannier functions Owners: jussilehtola Branches: F-10 F-11 EL-5 InitialCC:
cvs done.
wannier90-1.1-4.fc10 has been submitted as an update for Fedora 10. http://admin.fedoraproject.org/updates/wannier90-1.1-4.fc10
wannier90-1.1-4.fc11 has been submitted as an update for Fedora 11. http://admin.fedoraproject.org/updates/wannier90-1.1-4.fc11
wannier90-1.1-4.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 wannier90'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F11/FEDORA-2009-5080
wannier90-1.1-4.fc10 has been pushed to the Fedora 10 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 wannier90'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F10/FEDORA-2009-5115
wannier90-1.1-4.fc10 has been pushed to the Fedora 10 stable repository. If problems still persist, please make note of it in this bug report.
wannier90-1.1-4.fc11 has been pushed to the Fedora 11 stable repository. If problems still persist, please make note of it in this bug report.