Bug 1282063
Summary: | Review Request: xxhsum - Extremely fast hash algorithm | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Francesco Frassinelli (frafra) <fraph24> |
Component: | Package Review | Assignee: | Jeremy Newton <alexjnewt> |
Status: | CLOSED DUPLICATE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | rawhide | CC: | alexjnewt, candrews, esandeen, fraph24, james.hogarth, negativo17, package-review, tomspur |
Target Milestone: | --- | Flags: | alexjnewt:
fedora-review?
|
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2018-03-07 19:20:46 UTC | Type: | Bug |
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: | 1270317 |
Description
Francesco Frassinelli (frafra)
2015-11-14 18:19:34 UTC
HI could you build libxxhash? is a BuildRequires for https://bugzilla.redhat.com/show_bug.cgi?id=1270317 can you add this part in your spec file? # Use ${LIB_INSTALL_DIR} instead of hardcoded lib in cmake file sed -i 's|DESTINATION lib|DESTINATION ${LIB_INSTALL_DIR}|' cmake_unofficial/CMakeLists.txt %build CFLAGS="${CFLAGS:-%optflags}" #CPPFLAGS="CPPFLAGS" export CFLAGS ( cd cmake_unofficial %{__cmake} -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} -DLIB_INSTALL_DIR:PATH=%{_libdir} ) %install make install DESTDIR=%{buildroot} -C cmake_unofficial find %{buildroot} -name '*.a' -delete find %{buildroot} -name '*.la' -delete Thanks in advance frafra's scratch build of xxhsum-42-2.fc23.src.rpm for rawhide failed http://koji.fedoraproject.org/koji/taskinfo?taskID=12066357 frafra's scratch build of xxhsum-42-2.fc23.src.rpm for rawhide completed http://koji.fedoraproject.org/koji/taskinfo?taskID=12066418 It seems to work. Maybe it should be included under a different %package. Spec URL: https://frafra.fedorapeople.org/copr/xxhsum.spec SRPM URL: https://frafra.fedorapeople.org/copr/xxhsum-42-2.fc23.src.rpm (In reply to Francesco Frassinelli (frafra) from comment #4) > It seems to work. Maybe it should be included under a different %package. > > Spec URL: https://frafra.fedorapeople.org/copr/xxhsum.spec > SRPM URL: https://frafra.fedorapeople.org/copr/xxhsum-42-2.fc23.src.rpm Yes, Thanks! xxhsum is under GPLv2+ license instead libxxhash and licensed BSD see the heder of the .c/.h files Strange problem with cmake macros ... can add to the spec file this part? %package -n libxxhash License: BSD Summary: %{name} Shared Libraries %description -n libxxhash This package contains %{name} Shared Libraries %package -n libxxhash-devel License: BSD Summary: Development files for libxxhash Requires: libxxhash%{?_isa} = %{version}-%{release} %description -n libxxhash-devel The libxxhash-devel package contains libraries and header files for developing applications that use libxxhash %files -n libxxhash %{_libdir}/libxxhash.so.* %license LICENSE %files -n libxxhash-devel %{_includedir}/xxhash.h %{_libdir}/libxxhash.so %license LICENSE because xxhsum do not require libxxhash thanks sorry for the noise forgot ... Please remove rm -rf %{buildroot} in %install section my bad, xxhsum is licensed as BSD and GPLv2+ frafra's scratch build of xxhsum-42-3.fc23.src.rpm for rawhide completed http://koji.fedoraproject.org/koji/taskinfo?taskID=12066749 Ok, thank you :) Here it comes: Spec URL: https://frafra.fedorapeople.org/copr/xxhsum.spec SRPM URL: https://frafra.fedorapeople.org/copr/xxhsum-42-3.fc23.src.rpm Please, remove %license LICENSE in devel subpackage is not ncessary and add %post -n libxxhash -p /sbin/ldconfig %postun -n libxxhash -p /sbin/ldconfig Maybe now the only problem is xxhash.c shared by libxxhash and xxhsum during build frafra's scratch build of xxhsum-42-4.fc23.src.rpm for rawhide completed http://koji.fedoraproject.org/koji/taskinfo?taskID=12067362 (In reply to gil cattaneo from comment #11) > Maybe now the only problem is xxhash.c > shared by libxxhash and xxhsum during build i tried adding: sed -i 's|xxhsum: xxhash.c xxhsum.c|xxhsum: xxhsum.c|' Makefile sed -i 's|-o| -Lcmake_unofficial/ -lxxhash -o|' Makefile testing result $ LD_LIBRARY_PATH=~/rpmbuild/BUILD/xxHash-r42/cmake_unofficial ./xxhsum * ef46db3751d8e999 cmake_unofficial 832d7b6430cfe4cb LICENSE 4201ca2618ababe9 Makefile 861efbad96899cdf README.md ba57c4eee885089c xxh32sum ba57c4eee885089c xxh64sum 0d8342021e5366c5 xxhash.c c256b0cd7b86609b xxhash.h ba57c4eee885089c xxhsum bb7559fbd9461a75 xxhsum.c $ LD_LIBRARY_PATH=~/rpmbuild/BUILD/xxHash-r42/cmake_unofficial ./xxhsum -bi1 xxhash.c ./xxhsum (32-bits little endian), by Yann Collet (Jan 6 2016) Loading xxhash.c... XXH32 : 28922 -> 3402.4 MB/s XXH32 unaligned : 28921 -> 3205.6 MB/s XXH64 : 28922 -> 1326.4 MB/s XXH64 unaligned : 28921 -> 1288.2 MB/s $ LD_LIBRARY_PATH=~/rpmbuild/BUILD/xxHash-r42/cmake_unofficial ./xxhsum -h ./xxhsum (32-bits little endian), by Yann Collet (Jan 6 2016) Usage : ./xxhsum [arg] [filename] When no filename provided, or - provided : use stdin as input Arguments : -H# : hash selection : 0=32bits, 1=64bits (default 1) -b : benchmark mode -i# : number of iterations (benchmark mode; default 3) -h : help (this text) can you change the spec file adding the above sed instructions, and to the main package Requires: libxxhash%{?_isa} = %{version}-%{release} ? regards (In reply to gil cattaneo from comment #13) > can you change the spec file adding the above sed instructions, and to the > main package > Requires: libxxhash%{?_isa} = %{version}-%{release} ? Sure! $ LC_ALL=C rpmbuild -ba xxhsum.spec error: line 12: Dependency tokens must begin with alpha-numeric, '_' or '/': Requires: libxxhash(x86-64) = 42-5.fc23 ? Thanks for your help :) (In reply to Francesco Frassinelli (frafra) from comment #14) > (In reply to gil cattaneo from comment #13) > > can you change the spec file adding the above sed instructions, and to the > > main package > > Requires: libxxhash%{?_isa} = %{version}-%{release} ? > > Sure! > > $ LC_ALL=C rpmbuild -ba xxhsum.spec > error: line 12: Dependency tokens must begin with alpha-numeric, '_' or '/': > Requires: libxxhash(x86-64) = 42-5.fc23 ? > > Thanks for your help :) The last question mark on the "Requires" line was a question to you, not actually something you need to put in the line :) Ahahah ok sorry :D I thought it could be some strange operator :D rpmbuild fails: /usr/bin/ld: cannot find -lxxhash I compiled libxxhash first (moving the code upward and adding "make xxhash" in the subprocess) and now it seems to build correctly. https://copr.fedoraproject.org/coprs/frafra/duperemove/build/154105/ gil cattaneo asked me to have a look at this ticket. I am just curious, should we use the upstream cmake script? We spend more lines changing how it work, instead of just calling GCC directly (only two files we need to compile) gil's scratch build of xxhsum-0.5.0-1.fc23.src.rpm for rawhide completed http://koji.fedoraproject.org/koji/taskinfo?taskID=13096674 Are you still interested in this? I'm getting a 404 on the srpm and the bug hasn't been touched in nearly two months (three by requester)? If you aren't then I'd be interesting in picking up where this left of as I'd really like to get a packaged duperemove in Fedora. (In reply to James Hogarth from comment #19) > Are you still interested in this? I'm getting a 404 on the srpm and the bug > hasn't been touched in nearly two months (three by requester)? I was waiting for a review and I didn't have much time to follow this package. Here's the srpm: https://frafra.fedorapeople.org/copr/xxhsum-42-5.fc23.src.rpm > If you aren't then I'd be interesting in picking up where this left of as > I'd really like to get a packaged duperemove in Fedora. Me too :) I think we could co-maintain xxhash and duperemove. Please pick them up if you have time to conclude this procedure (I'm quite busy for the next 2 weeks). Any progress on this? Or is it a dead review? Here we are! https://frafra.fedorapeople.org/srpm/xxhsum.spec https://frafra.fedorapeople.org/srpm/xxhsum-0.6.2-1.fc25.src.rpm (still having to figure out why koji is still giving me a Kerberos error...) Its a new security policy. You have to run:
>kinit user
Replacing user with your fas username. It only lasts 24 hours before you have to renew it.
Thank you Jeremy :) It builds correctly, as expected :) I also updated my Copr repository https://copr.fedorainfracloud.org/coprs/frafra/duperemove/build/494305/ Ops, I forgot to link the koji build: https://koji.fedoraproject.org/koji/taskinfo?taskID=17135592 I'll take this Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed ===== 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 is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "BSD (2 clause)", "GPL (v2 or later)", "Unknown or generated". 6 files have unknown license. [x]: License file installed when any subpackage combination is installed. [x]: If the package is under multiple licenses, the licensing breakdown must be documented in the spec.. >You should have a quick breakdown in a comment, like so: >#xxhash is licensed as BSD and xxhsum is licensed as GPLv2+ [!]: %build honors applicable compiler flags or justifies otherwise. >Is there a reason you're using CFLAGS="${CFLAGS:-%optflags}"? >Also the build section seems odd, see below for how I think it should be restructured. [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. [!]: Package consistently uses macros (instead of hard-coded directory names). >The build section can be simified to: cd cmake_unofficial %cmake . %make_build xxhash cd .. %make_build %{name} >Or similar, note the use of the macros. >As well, "make install DESTDIR=%{buildroot} -C cmake_unofficial" can be replaced with "%make_install -C cmake_unofficial" >and the following: mkdir -p %{buildroot}%{_bindir}/ cp -p %{name} %{buildroot}%{_bindir}/ >can also be cleaned up to: install -D %{name} %{buildroot}%{_bindir}/ > >Also, if it makes packaging easier for you, you can also consider backporting a fix via a patch from upstream to use cmake to build both xxhash and xxhsum together via cmake and combine your prep sed commands with it: >https://github.com/Cyan4973/xxHash/commit/43fa796c210f311bfedb061ee6c627ae227acec3 [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. [x]: Package contains systemd file(s) if in need. [x]: Useful -debuginfo package or justification otherwise. [-]: Package is not known to require an ExcludeArch tag. [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 10240 bytes in 1 files. [!]: Package complies to the Packaging Guidelines >I would think you should address the invalid-soname error via rpmlint. >I can't give any comment on this as I haven't looked into it deep enough, but there is some documentation on this issue on the wiki: >https://fedoraproject.org/wiki/Common_Rpmlint_issues#invalid-soname > >Speaking of rpmlint output, can you also install and package the manpage xxhsum.1? >The other warnings can be ignored, but since you have the manpage, please use it :) >like so: install -D %{name}.1 %{buildroot}%{_mandir}/man1/ >or something like that. [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). [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 %license. [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]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [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]: Dist tag is present. [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 does not use a name that already exists. [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: [-]: 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]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in libxxhash , libxxhash-devel , xxhsum-debuginfo [?]: 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. [?]: 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]: 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]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Uses parallel make %{?_smp_mflags} macro. [x]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on debuginfo package(s). Note: No rpmlint messages. [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [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: xxhsum-0.6.2-1.fc25.x86_64.rpm libxxhash-0.6.2-1.fc25.x86_64.rpm libxxhash-devel-0.6.2-1.fc25.x86_64.rpm xxhsum-debuginfo-0.6.2-1.fc25.x86_64.rpm xxhsum-0.6.2-1.fc25.src.rpm xxhsum.x86_64: W: spelling-error %description -l en_US xxHash -> xx Hash, xx-hash, hashish xxhsum.x86_64: W: no-manual-page-for-binary xxhsum libxxhash.x86_64: W: spelling-error Summary(en_US) xxhsum libxxhash.x86_64: W: summary-not-capitalized C xxhsum Shared Libraries libxxhash.x86_64: W: spelling-error %description -l en_US xxhsum libxxhash.x86_64: W: no-documentation libxxhash-devel.x86_64: E: invalid-soname /usr/lib64/libxxhash.so libxxhash.so libxxhash-devel.x86_64: W: no-documentation xxhsum.src: W: spelling-error %description -l en_US xxHash -> xx Hash, xx-hash, hashish 5 packages and 0 specfiles checked; 1 errors, 8 warnings. Rpmlint (debuginfo) ------------------- Checking: xxhsum-debuginfo-0.6.2-1.fc25.x86_64.rpm 1 packages and 0 specfiles checked; 0 errors, 0 warnings. Rpmlint (installed packages) ---------------------------- libxxhash-devel.x86_64: E: invalid-soname /usr/lib64/libxxhash.so libxxhash.so libxxhash-devel.x86_64: W: no-documentation libxxhash.x86_64: W: spelling-error Summary(en_US) xxhsum libxxhash.x86_64: W: summary-not-capitalized C xxhsum Shared Libraries libxxhash.x86_64: W: spelling-error %description -l en_US xxhsum libxxhash.x86_64: W: no-documentation xxhsum.x86_64: W: spelling-error %description -l en_US xxHash -> xx Hash, xx-hash, hashish xxhsum.x86_64: W: no-manual-page-for-binary xxhsum 4 packages and 0 specfiles checked; 1 errors, 7 warnings. Requires -------- xxhsum-debuginfo (rpmlib, GLIBC filtered): libxxhash-devel (rpmlib, GLIBC filtered): libc.so.6()(64bit) libxxhash(x86-64) rtld(GNU_HASH) libxxhash (rpmlib, GLIBC filtered): /sbin/ldconfig libc.so.6()(64bit) rtld(GNU_HASH) xxhsum (rpmlib, GLIBC filtered): libc.so.6()(64bit) libxxhash(x86-64) libxxhash.so.0()(64bit) rtld(GNU_HASH) Provides -------- xxhsum-debuginfo: xxhsum-debuginfo xxhsum-debuginfo(x86-64) libxxhash-devel: libxxhash-devel libxxhash-devel(x86-64) libxxhash.so()(64bit) libxxhash: libxxhash libxxhash(x86-64) libxxhash.so.0()(64bit) xxhsum: xxhsum xxhsum(x86-64) Source checksums ---------------- https://github.com/Cyan4973/xxHash/archive/v0.6.2.tar.gz#/xxhsum-0.6.2.tar.gz : CHECKSUM(SHA256) this package : e4da793acbe411e7572124f958fa53b280e5f1821a8bf78d79ace972950b8f82 CHECKSUM(SHA256) upstream package : e4da793acbe411e7572124f958fa53b280e5f1821a8bf78d79ace972950b8f82 Generated by fedora-review 0.6.1 (f03e4e7) last change: 2016-05-02 Command line :/usr/bin/fedora-review -b 1282063 Buildroot used: fedora-25-x86_64 Active plugins: Generic, Shell-api, C/C++ Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6 Are you still interested in submitting this package? I have specified a few concerns in the review notes above, please let me know if you need any clarifications or you feel my judgement is incorrect. (In reply to Jeremy Newton from comment #28) > Are you still interested in submitting this package? > > I have specified a few concerns in the review notes above, please let me > know if you need any clarifications or you feel my judgement is incorrect. I am sorry Jeremy, I do not have time for this review request now and I would be glad to see someone else continue with it; otherwise I will do it when I'll have more free time, sorry. (In reply to Francesco Frassinelli (frafra) from comment #29) > (In reply to Jeremy Newton from comment #28) > > Are you still interested in submitting this package? > > > > I have specified a few concerns in the review notes above, please let me > > know if you need any clarifications or you feel my judgement is incorrect. > > I am sorry Jeremy, I do not have time for this review request now and I > would be glad to see someone else continue with it; otherwise I will do it > when I'll have more free time, sorry. That's alright, thank you for letting me know. We can put the review on hold for now. Seems that xxhash (which contains xxsum) is now packaged and this can be closed? https://src.fedoraproject.org/rpms/xxhash It seems so, thanks! *** This bug has been marked as a duplicate of bug 1503461 *** |