Hide Forgot
Spec URL: http://theory.physics.helsinki.fi/~jzlehtol/rpms/psi4.spec SRPM URL: http://theory.physics.helsinki.fi/~jzlehtol/rpms/psi4-4.0-0.1.b4.fc18.src.rpm Description: PSI4 is an open-source suite of ab initio quantum chemistry programs designed for efficient, high-accuracy simulations of a variety of molecular properties. We can routinely perform computations with more than 2500 basis functions running serially or in parallel. Fedora Account System Username: jussilehtola rpmlint output: psi4.src: W: spelling-error Summary(en_US) initio -> initiation psi4.src: W: spelling-error %description -l en_US initio -> initiation psi4.src:2: W: configure-without-libdir-spec psi4.src:11: W: macro-in-comment %{version} psi4.src:127: W: macro-in-comment %{_target_platform} psi4.x86_64: W: spelling-error Summary(en_US) initio -> initiation psi4.x86_64: W: spelling-error %description -l en_US initio -> initiation psi4.x86_64: W: no-documentation psi4.x86_64: W: no-manual-page-for-binary psi4 psi4-data.noarch: W: no-documentation psi4-data.noarch: E: non-executable-script /usr/share/psi/python/pep8.py 0644L /usr/bin/python psi4-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/psi4.0b4/src/lib/libmints/chartab.cc psi4-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/psi4.0b4/src/bin/psimrcc/idmrpt2.h psi4-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/psi4.0b4/src/lib/libmints/rep.cc psi4-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/psi4.0b4/src/bin/psimrcc/idmrpt2_Heff_doubles.cc psi4-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/psi4.0b4/src/bin/psimrcc/idmrpt2_Heff.cc psi4-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/psi4.0b4/src/bin/psimrcc/idmrpt2.cc psi4-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/psi4.0b4/src/bin/psimrcc/idmrpt2_t1_amps.cc psi4-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/psi4.0b4/src/bin/psimrcc/idmrpt2_Heff_singles.cc psi4-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/psi4.0b4/src/bin/psimrcc/idmrpt2_t2_amps.cc psi4-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/psi4.0b4/src/lib/libmints/petitelist.cc psi4-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/psi4.0b4/src/lib/libmints/corrtab.cc psi4-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/psi4.0b4/src/bin/psimrcc/mp2_ccsd_add_matrices.cc psi4-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/psi4.0b4/src/bin/psimrcc/idmrpt2_add_matrices.cc psi4-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/psi4.0b4/src/lib/libmints/maketab.cc psi4-debuginfo.x86_64: E: script-without-shebang /usr/src/debug/psi4.0b4/src/bin/psimrcc/idmrpt2_f_int.cc psi4-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/psi4.0b4/src/lib/libmints/pointgrp.cc psi4-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/psi4.0b4/src/lib/libmints/shellrotation.cc psi4-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/psi4.0b4/src/lib/libmints/irrep.cc psi4-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/psi4.0b4/src/lib/libmints/fjt.cc psi4-debuginfo.x86_64: E: incorrect-fsf-address /usr/src/debug/psi4.0b4/src/lib/libmints/symop.cc psi4-devel.x86_64: W: no-documentation psi4-devel.x86_64: E: zero-length /usr/include/psi4/libyeti/dataimpl.h 6 packages and 0 specfiles checked; 21 errors, 12 warnings. The warnings are spurious, and I have adressed the errors in the upstream development tree, which will solve them when a new tarball is released.
License tag needs "and MIT" for /usr/share/psi/python/pep8.py /usr/share/psi/python/pep8.py permissions wrong, should be executable? Need versioned dependencies in subpackages Have you queried upstream about including a license text file? Need to upstream Patch2, or document why it shouldn't be Unless intending to support RHEL5: remove BuildRoot tag remove rm -rf %{buildroot} from %install section remove %defattr remove %clean section
(In reply to comment #1) > License tag needs "and MIT" for /usr/share/psi/python/pep8.py - Fixed. > /usr/share/psi/python/pep8.py permissions wrong, should be executable? I've fixed this in the upstream repo, the file shouldn't have a shebang. > Need versioned dependencies in subpackages Nope - since the package only contains static libraries, the devel package doesn't require the base package. The only relevant dependency is of the base package on -data, which is properly versioned. > Have you queried upstream about including a license text file? Yes, I've filed a bug upstream about missing license headers and a license file. I've also added a license text file in the upstream repo. > Need to upstream Patch2, or document why it shouldn't be I've already applied this upstream. > Unless intending to support RHEL5: > remove BuildRoot tag > remove rm -rf %{buildroot} from %install section > remove %defattr > remove %clean section Well, these don't hurt... but considering that the package anyway requires a recent version of Boost, I've dropped these. http://theory.physics.helsinki.fi/~jzlehtol/rpms/psi4.spec http://theory.physics.helsinki.fi/~jzlehtol/rpms/psi4-4.0-0.2.b4.fc18.src.rpm
Shouldn't the BuildRequires be python2-devel or python3-devel, rather than just python-devel? Could patch the pep8.py to avoid error, and drop patch when new upstream is used. Is it necessary to have zero-length /usr/include/psi4/libyeti/dataimpl.h? Could be removed or changed upstream? The GPL-ish license is LGPLv2+, not GPLv2+? Koji scratch build for i686 on rawhide failed: http://koji.fedoraproject.org/koji/taskinfo?taskID=5326229
(In reply to comment #3) > Shouldn't the BuildRequires be python2-devel or python3-devel, rather than > just python-devel? You're right, changed. > Could patch the pep8.py to avoid error, and drop patch when new upstream is > used. > > Is it necessary to have zero-length /usr/include/psi4/libyeti/dataimpl.h? > Could be removed or changed upstream? > > The GPL-ish license is LGPLv2+, not GPLv2+? For these issues I'm going to wait until upstream makes the next release (I'm told it will be next week). The license of the program is GPLv2+. > Koji scratch build for i686 on rawhide failed: > http://koji.fedoraproject.org/koji/taskinfo?taskID=5326229 Reported upstream. Probably caused by gcc 4.8.
Licensecheck reports LGPLv2+ for a bunch of source files in src/lib/libmints. Maybe needs to be "GPLv2+ and LGPLv2+ and MIT".
(In reply to comment #5) > Licensecheck reports LGPLv2+ for a bunch of source files in > src/lib/libmints. Maybe needs to be "GPLv2+ and LGPLv2+ and MIT". .. but GPLv2+ is compatible with LGPLv2+ and the license tag is the license of the resulting binary, which will be GPLv2+.
OK. Just waiting on something that will build on rawhide to complete the review.
Oh, looks like the new beta was released a month ago... i.e., a lot later than the week or two I was told in May :P This one builds on F19 and rawhide. http://theory.physics.helsinki.fi/~jzlehtol/rpms/psi4.spec http://theory.physics.helsinki.fi/~jzlehtol/rpms/psi4-4.0-0.4.b5.fc19.src.rpm
Added BR and R on numpy. http://theory.physics.helsinki.fi/~jzlehtol/rpms/psi4.spec http://theory.physics.helsinki.fi/~jzlehtol/rpms/psi4-4.0-0.5.b5.fc19.src.rpm Successful koji build http://koji.fedoraproject.org/koji/taskinfo?taskID=6316592 Eric, could you finishe the review?
fedora-review gets a 404 trying to download your source RPM. Looks like it should be fc20: http://theory.physics.helsinki.fi/~jzlehtol/rpms/psi4.spec http://theory.physics.helsinki.fi/~jzlehtol/rpms/psi4-4.0-0.5.b5.fc20.src.rpm
Issues: * Subpackages don't have versioned dependencies * COPYING isn't in the main package %files * License tag may need to include zlib/libpng * Static libraries should be in -static subpackage * I think there may be a problem with versioned vs unversioned doc dirs. You may need to include the macro %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}} and use that variable rather than %{_docdir} Full review: Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Issues: ======= - Static libraries in -static subpackage, if present. Note: Archive *.a files found in psi4-devel See: http://fedoraproject.org/wiki/Packaging/Guidelines#StaticLibraries ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: Header files in -devel subpackage, if present. [x]: Package does not contain any libtool archives (.la) [x]: Rpath absent or only used for internal libs. Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: %build honors applicable compiler flags or justifies otherwise. [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [x]: Package contains desktop file if it is a GUI application. [x]: Development files must be in a -devel package [-]: Package requires other packages for directories it uses. [x]: Package uses nothing in %doc for runtime. [x]: Package is not known to require ExcludeArch. [!]: Fully versioned dependency in subpackages, if present. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in psi4-data , psi4-devel , psi4-doc [x]: Package complies to the Packaging Guidelines [!]: 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 is included in %doc. [!]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "GPL (v2 or later)", "GPL (v2 or later) LGPL (v2 or later)", "Unknown or generated", "*No copyright* zlib/libpng", "zlib/libpng", "MIT/X11 (BSD like)", "GPL (v2 or later) (with incorrect FSF address)", "GPL (v2 or later) (with incorrect FSF address) LGPL (v2 or later) (with incorrect FSF address)", "*No copyright* GPL (v2 or later)". 346 files have unknown license. Detailed output of licensecheck in /home/eric/951582-psi4/licensecheck.txt [!]: License file installed when any subpackage combination is installed. [x]: Package consistently uses macro is (instead of hard-coded directory names). [!]: If the package is under multiple licenses, the licensing breakdown must be documented in the spec. [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [x]: Useful -debuginfo package or justification otherwise. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Each %files section contains %defattr if rpm < 4.4 [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package do not use a name that already exist [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. [x]: Large documentation must go in a -doc subpackage. Note: Documentation size is 0 bytes in 0 files. [x]: Packages must not store files under /srv, /opt or /usr/local [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). Python: [x]: Python eggs must not download any dependencies during the build process. [x]: A package which is used by another package via an egg interface should provide egg info. [x]: Package meets the Packaging Guidelines::Python [x]: Package contains BR: python2-devel or python3-devel [x]: Binary eggs must be removed in %prep ===== SHOULD items ===== Generic: [x]: Uses parallel make. [x]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: Patches link to upstream bugs/comments/lists or are otherwise justified. [-]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [x]: Package should compile and build into binary rpms on all supported architectures. [ ]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: Dist tag is present. [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: SourceX tarball generation or download is documented. [x]: SourceX is a working URL. [x]: Spec use %global instead of %define. ===== EXTRA items ===== Generic: [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: psi4-4.0-0.5.b5.fc19.x86_64.rpm psi4-data-4.0-0.5.b5.fc19.noarch.rpm psi4-devel-4.0-0.5.b5.fc19.x86_64.rpm psi4-doc-4.0-0.5.b5.fc19.noarch.rpm psi4.x86_64: W: spelling-error Summary(en_US) initio -> initiation psi4.x86_64: W: spelling-error %description -l en_US initio -> initiation psi4.x86_64: W: no-documentation psi4.x86_64: W: no-manual-page-for-binary psi4 psi4-data.noarch: W: no-documentation psi4-data.noarch: E: non-executable-script /usr/share/psi/python/pcmgetkw.py 0644L /usr/bin/env psi4-devel.x86_64: W: no-documentation 4 packages and 0 specfiles checked; 1 errors, 6 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint psi4 psi4-data psi4-devel psi4-doc psi4.x86_64: W: spelling-error Summary(en_US) initio -> initiation psi4.x86_64: W: spelling-error %description -l en_US initio -> initiation psi4.x86_64: W: no-documentation psi4.x86_64: W: no-manual-page-for-binary psi4 psi4-data.noarch: W: no-documentation psi4-data.noarch: E: non-executable-script /usr/share/psi/python/pcmgetkw.py 0644L /usr/bin/env psi4-devel.x86_64: W: no-documentation 4 packages and 0 specfiles checked; 1 errors, 6 warnings. # echo 'rpmlint-done:' Requires -------- psi4 (rpmlib, GLIBC filtered): libatlas.so.3()(64bit) libboost_filesystem-mt.so.1.53.0()(64bit) libboost_python.so.1.53.0()(64bit) libboost_regex-mt.so.1.53.0()(64bit) libboost_serialization-mt.so.1.53.0()(64bit) libboost_system-mt.so.1.53.0()(64bit) libboost_thread-mt.so.1.53.0()(64bit) libc.so.6()(64bit) libcblas.so.3()(64bit) libderiv-stable.so.1()(64bit) libdl.so.2()(64bit) libf77blas.so.3()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.4)(64bit) libgcc_s.so.1(GCC_4.0.0)(64bit) libgfortran.so.3()(64bit) libgomp.so.1()(64bit) libgomp.so.1(GOMP_1.0)(64bit) libgomp.so.1(GOMP_2.0)(64bit) libgomp.so.1(OMP_1.0)(64bit) libgomp.so.1(OMP_2.0)(64bit) libint-stable.so.1()(64bit) liblapack.so.3()(64bit) libm.so.6()(64bit) libpthread.so.0()(64bit) libpython2.7.so.1.0()(64bit) libquadmath.so.0()(64bit) librt.so.1()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.1)(64bit) libutil.so.1()(64bit) numpy psi4-data rtld(GNU_HASH) psi4-data (rpmlib, GLIBC filtered): psi4-devel (rpmlib, GLIBC filtered): psi4-doc (rpmlib, GLIBC filtered): Provides -------- psi4: psi4 psi4(x86-64) psi4-data: psi4-data psi4-devel: psi4-devel psi4-devel(x86-64) psi4-static(x86-64) psi4-doc: psi4-doc Source checksums ---------------- http://downloads.sourceforge.net/psicode/psi4.0b5.tar.gz : CHECKSUM(SHA256) this package : 394059b62b0d87867969097d212e1390873f9724d5aac6a777012fa49003f1d9 CHECKSUM(SHA256) upstream package : 394059b62b0d87867969097d212e1390873f9724d5aac6a777012fa49003f1d9 Generated by fedora-review 0.4.1 (b2e211f) last change: 2013-04-29 Buildroot used: fedora-19-x86_64 Command line :/usr/bin/fedora-review -b 951582
(In reply to Eric Smith from comment #11) > Issues: > * Subpackages don't have versioned dependencies > [!]: Fully versioned dependency in subpackages, if present. > Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in psi4-data This is a false positive. psi4-data doesn't need the main package. https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#Requiring_Base_Package > * COPYING isn't in the main package %files Added LICENSE and COPYING to %doc of all independent packages. > * License tag may need to include zlib/libpng This was in a bundled tinyxml library in the bundled madness package. I now remove the bundled madness altogether in %prep. > * Static libraries should be in -static subpackage This package only has static libraries, so the virtual Provides: in the -devel package is OK. https://fedoraproject.org/wiki/Packaging:Guidelines?rd=Packaging/Guidelines#Packaging_Static_Libraries_2 > * I think there may be a problem with versioned vs unversioned doc dirs. > You may need to include the macro > %{!?_pkgdocdir: %global _pkgdocdir %{_docdir}/%{name}-%{version}} > and use that variable rather than %{_docdir} Well, it builds in rawhide and has a unversioned docdir there, so I don't think this is an issue. http://theory.physics.helsinki.fi/~jzlehtol/rpms/psi4.spec http://theory.physics.helsinki.fi/~jzlehtol/rpms/psi4-4.0-0.6.b5.fc20.src.rpm
> This is a false positive. psi4-data doesn't need the main package. What license covers the files in psi4-data?
(In reply to Eric Smith from comment #13) > What license covers the files in psi4-data? A good question. Added LICENSE and COPYING to psi4-data as well. Anything else?
That's it. With the addition of LICENSE and COPYING to -data, the package is APPROVED.
New Package SCM Request ======================= Package Name: psi4 Short Description: An ab initio quantum chemistry package Owners: jussilehtola Branches: f19 f20 InitialCC:
Thanks for the review! Final spec and srpm http://theory.physics.helsinki.fi/~jzlehtol/rpms/psi4.spec http://theory.physics.helsinki.fi/~jzlehtol/rpms/psi4-4.0-0.7.b5.fc20.src.rpm
Git done (by process-git-requests).
psi4-4.0-0.8.b5.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/psi4-4.0-0.8.b5.fc19
psi4-4.0-0.8.b5.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/psi4-4.0-0.8.b5.fc20
psi4-4.0-0.8.b5.fc19 has been pushed to the Fedora 19 testing repository.
Since the -static Provides are only for BuildRequires and tracking usage of static libs, they cannot be arch-specific using %?_isa. It would be "BuildRequires: psi4-static" in other packages.
Ugh, right, the provide doesn't do both. Fixed in rawhide.
psi4-4.0-0.8.b5.fc19 has been pushed to the Fedora 19 stable repository.
psi4-4.0-0.8.b5.fc20 has been pushed to the Fedora 20 stable repository.