Bug 1089500
Summary: | Review Request: openlibm - High quality system independent, open source libm | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Milan Bouchet-Valat <nalimilan> |
Component: | Package Review | Assignee: | Orion Poplawski <orion> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | orion, package-review |
Target Milestone: | --- | Flags: | orion:
fedora-review+
gwync: fedora-cvs+ |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | openlibm-0.3-6.fc20 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2014-05-30 23:50:48 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: | |||
Bug Depends On: | |||
Bug Blocks: | 1040517, 1062901 |
Description
Milan Bouchet-Valat
2014-04-19 22:07:52 UTC
(In reply to Milan Bouchet-Valat from comment #0) > openlibm-devel.x86_64: W: dangling-relative-symlink > /usr/lib64/libopenlibm.so.0 libopenlibm.so.0.3.0 > 3 packages and 1 specfiles checked; 0 errors, 5 warnings. > > I don't understand the warning about the dangling symlink, but the link > looks OK. Only the .so should be in -devel, .so.0 needs to be in the main package. So, what's up with arm support? There's a condition in there for it, but you exclusivearch the package? What about ppc, etc.? Ooops, I've updated the package to put the .so.0 in the base package. Indeed it fixes the warning. Regarding non x86 archs, as I said they are currently not building properly (https://github.com/JuliaLang/openlibm/issues/18). I put the arm condition because I tested it and I think it doesn't hurt, but currently we cannot enable these architectures. Do you think I should remove the arm code? I've added a comment to the .spec file anyway. The new SRPM is at http://nalimilan.perso.neuf.fr/transfert/openlibm-0.3-2.fc20.src.rpm The Group tag for runtime library base packages has been "System Environment/Libraries" for many years. Ah, indeed. Since these are now optional, the docs say nothing about their meaning, and I had to look on openSUSE's website to find a description. Fixed at http://nalimilan.perso.neuf.fr/transfert/openlibm-0.3-3.fc20.src.rpm Any more comments on the new .spec file? Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed - License: Add ISC to the list: openlibm-0.3/src/s_cpowf.c: ISC openlibm-0.3/src/s_cpowl.c: ISC openlibm-0.3/src/s_cpow.c: ISC - %check - run the test programs ===== 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]: ldconfig called in %post and %postun if required. [x]: Package does not contain any libtool archives (.la) [x]: Rpath absent or only used for internal libs. [x]: Development (unversioned) .so files in -devel subpackage, if present. Generic: [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. Note: Using prebuilt packages [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [!]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "ISC", "BSD (2 clause)", "LGPL (v2.1 or later) (with incorrect FSF address)", "Unknown or generated", "BSD (3 clause)". 170 files have unknown license. Detailed output of licensecheck in /export/home/orion/redhat/openlibm-0.3/review-openlibm/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [-]: If the package is under multiple licenses, the licensing breakdown must be documented in the spec. [x]: %build honors applicable compiler flags or justifies otherwise. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. Note: Using prebuilt rpms. [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. [x]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [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]: 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. [!]: Package is not known to require an ExcludeArch tag. [-]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 10240 bytes in 2 files. [x]: Package complies to the Packaging Guidelines [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: 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. [x]: Package requires other packages for directories it uses. [x]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [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]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [x]: Reviewer should test that the package builds in mock. [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]: Scriptlets must be sane, if used. [-]: 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. [ ]: 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]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: Dist tag is present (not strictly required in GL). [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Fully versioned dependency in subpackages if applicable. [x]: Uses parallel make %{?_smp_mflags} macro. [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on all installed packages. Note: No rpmlint messages. [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: openlibm-0.3-3.fc20.x86_64.rpm openlibm-devel-0.3-3.fc20.x86_64.rpm openlibm-0.3-3.fc20.src.rpm openlibm.x86_64: W: spelling-error Summary(en_US) libm -> limb, lib, lib m openlibm.x86_64: W: spelling-error %description -l en_US msun -> mun, sun, m sun openlibm-devel.x86_64: W: spelling-error Summary(en_US) libm -> limb, lib, lib m openlibm-devel.x86_64: W: no-documentation openlibm.src: W: spelling-error Summary(en_US) libm -> limb, lib, lib m openlibm.src: W: spelling-error %description -l en_US msun -> mun, sun, m sun 3 packages and 0 specfiles checked; 0 errors, 6 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint openlibm openlibm-devel (none): E: no installed packages by name openlibm (none): E: no installed packages by name openlibm-devel 0 packages and 0 specfiles checked; 0 errors, 0 warnings. # echo 'rpmlint-done:' Requires -------- openlibm (rpmlib, GLIBC filtered): /sbin/ldconfig libc.so.6()(64bit) rtld(GNU_HASH) openlibm-devel (rpmlib, GLIBC filtered): libopenlibm.so.0.3.0()(64bit) openlibm(x86-64) Provides -------- openlibm: libopenlibm.so.0.3.0()(64bit) openlibm openlibm(x86-64) openlibm-devel: openlibm-devel openlibm-devel(x86-64) Source checksums ---------------- https://github.com/JuliaLang/openlibm/archive/v0.3.tar.gz#/openlibm-0.3.tar.gz : CHECKSUM(SHA256) this package : eece0f928c93d70ac350f9c9632a1eab5d6e0a7fbdb31b6b75113c40fb9b810c CHECKSUM(SHA256) upstream package : eece0f928c93d70ac350f9c9632a1eab5d6e0a7fbdb31b6b75113c40fb9b810c Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13 Command line :/usr/bin/fedora-review -n openlibm --no-build -p Buildroot used: fedora-20-x86_64 Active plugins: Generic, Shell-api, C/C++ Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG Thanks for the new review! Unfortunately, I'm still unable to run fedora-review (I guess I should file a bug). Good catch about the ISC license, this tool is very smart. I've filed a pull request to improve the documentation upstream, and uploaded a new version of the package with this license added. About the tests not being run, this is because currently they fail due to a very small difference to the expected result. I've filed a bug, but I had forgotten to add the reference to the spec file. This is now done. I'm relatively confident without the tests since Julia does its own testing using openlibm. Spec URL: http://nalimilan.perso.neuf.fr/transfert/openlibm.spec SRPM URL: http://nalimilan.perso.neuf.fr/transfert/openlibm-0.3-4.fc20.src.rpm Please add the %check section with the test runs commented out if needed so that others may try it out. FWIW - the tests run fine on my machine (F20 x86_64). Interesting. The float test fails on my 64-bit machine, but also on Koji. But I can actually enable the double test, which is way better than nothing. Spec URL: http://nalimilan.perso.neuf.fr/transfert/openlibm.spec SRPM URL: http://nalimilan.perso.neuf.fr/transfert/openlibm-0.3-5.fc20.src.rpm I'm seeing the double test fail on i386: + ./test-double testing double (without inline functions) FP-Stack wrong after test exp (-0) == 1 (2, should be 0) Test suite completed: 1148 test cases plus 962 tests for exception flags executed. 1 errors occurred. RPM build errors: Ah, I see this too using Koji. Filed here: https://github.com/JuliaLang/openlibm/issues/55 New version with tests disabled for now: Spec URL: http://nalimilan.perso.neuf.fr/transfert/openlibm.spec SRPM URL: http://nalimilan.perso.neuf.fr/transfert/openlibm-0.3-6.fc20.src.rpm I guess we're going to have to package openlibm without tests enabled for now. I'll uncomment the relevant lines when upstream has had a chance to fix it. Works for me. APPROVED. New Package SCM Request ======================= Package Name: openlibm Short Description: High quality system independent, open source libm Upstream URL: https://github.com/JuliaLang/openlibm/ Owners: nalimilan Branches: f19 f20 InitialCC: Git done (by process-git-requests). openlibm-0.3-6.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/openlibm-0.3-6.fc19 openlibm-0.3-6.fc20 has been submitted as an update for Fedora 20. https://admin.fedoraproject.org/updates/openlibm-0.3-6.fc20 Cool, only one Julia dependency left (and a few LLVM issues to tackle...)! ;-) openlibm-0.3-6.fc19 has been pushed to the Fedora 19 testing repository. openlibm-0.3-6.fc19 has been pushed to the Fedora 19 stable repository. openlibm-0.3-6.fc20 has been pushed to the Fedora 20 stable repository. |