https://bugzilla.redhat.com/show_bug.cgi?id=1372866
Bug ID: 1372866 Summary: Review Request: hyperscan - Hyperscan is a high-performance multiple regex matching library Product: Fedora Version: rawhide Component: Package Review Severity: medium Priority: medium Assignee: nobody@fedoraproject.org Reporter: jtfas90@gmail.com QA Contact: extras-qa@fedoraproject.org CC: package-review@lists.fedoraproject.org
Spec URL: http://copr-dist-git.fedorainfracloud.org/cgit/jasonish/hyperscan/hyperscan.... SRPM URL: https://copr.fedorainfracloud.org/coprs/jasonish/hyperscan/build/449076/ Description: Hyperscan is a high-performance multiple regex matching library Fedora Account System Username: jtaylor
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
gil cattaneo puntogil@libero.it changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |puntogil@libero.it Assignee|nobody@fedoraproject.org |puntogil@libero.it Flags| |fedora-review?
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #1 from gil cattaneo puntogil@libero.it --- can you take this https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=1372429 for me ?
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #2 from gil cattaneo puntogil@libero.it --- Please, remove "Group: Development/Libraries"
%install Please, remove "rm -rf %{buildroot}"
Please, use %license macro %doc COPYING %doc LICENSE
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #3 from gil cattaneo puntogil@libero.it --- Please, use full "SRPM URL"
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #4 from gil cattaneo puntogil@libero.it --- Please, use Source0: https://github.com/01org/%%7Bname%7D/archive/v%%7Bversion%7D/%%7Bname%7D-%%7...
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #5 from gil cattaneo puntogil@libero.it ---
Please, remove /usr/lib*/libhs.a /usr/lib*/libhs_runtime.a
Please, move in -devel sub-package /usr/lib*/libhs_runtime.so /usr/lib*/libhs.so
Please, use
%{_includedir}/hs
or
%dir %{_includedir}/hs %{_includedir}/hs/*
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #6 from gil cattaneo puntogil@libero.it --- Must be used Requires: %{name}%{?_isa} = %{version}-%{release} instead of Requires: %{name} = %{version}-%{release}
and
%post -p /sbin/ldconfig %postun -p /sbin/ldconfig
See for referencies: https://fedoraproject.org/wiki/Packaging:Guidelines#Devel_Packages https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_Static_Librari... https://fedoraproject.org/wiki/Packaging:Guidelines#Requiring_Base_Package https://fedoraproject.org/wiki/Packaging:Guidelines#Shared_Libraries https://fedoraproject.org/wiki/Packaging:Guidelines#Tags_and_Sections https://fedoraproject.org/wiki/Changes/Use_license_macro_in_RPMs_for_package...
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #7 from Jason Taylor jtfas90@gmail.com --- thanks gil,
I have made the changes as requested.
Thank you for the links, I read them again since it had been a while.
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
Ralf Corsepius rc040203@freenet.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |rc040203@freenet.de
--- Comment #8 from Ralf Corsepius rc040203@freenet.de --- MUSTFIXES:
- Package does not honor RPM_OPT_FLAGS: Your spec appends Fedora incompatible compilation flags to CFLAGS/CXXFLAGS.
Remove these 2 lines from your spec: export CFLAGS="$RPM_OPT_FLAGS -march=core2" export CXXFLAGS="${CFLAGS}"
- Directory /usr/include/hs/ is unowned. Add this directory to *-devel's %files
- Package ships static libs. This is strongly discouraged in Fedora. Please disable building static libs unless there are very strong reasons to ship them.
- The base package contains files which should be packaged in *-devel, instead of the base package. %{_libdir}/*.so should go into devel, %{_libdir}/*.so.* into <base>
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #9 from gil cattaneo puntogil@libero.it --- (In reply to Ralf Corsepius from comment #8)
MUSTFIXES:
- Package does not honor RPM_OPT_FLAGS:
Your spec appends Fedora incompatible compilation flags to CFLAGS/CXXFLAGS.
Remove these 2 lines from your spec: export CFLAGS="$RPM_OPT_FLAGS -march=core2" export CXXFLAGS="${CFLAGS}"
- Directory /usr/include/hs/ is unowned.
Add this directory to *-devel's %files
- Package ships static libs.
This is strongly discouraged in Fedora. Please disable building static libs unless there are very strong reasons to ship them.
- The base package contains files which should be packaged in *-devel,
instead of the base package. %{_libdir}/*.so should go into devel, %{_libdir}/*.so.* into <base>
I agree
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #10 from gil cattaneo puntogil@libero.it --- Build fails. Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=15485494
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #11 from gil cattaneo puntogil@libero.it --- Sorry, mkdir -p %{buildroot}%{_libdir} what is it? Please, remove
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #12 from gil cattaneo puntogil@libero.it --- Created attachment 1197506 --> https://bugzilla.redhat.com/attachment.cgi?id=1197506&action=edit spec file
Build fails. Task info:Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=15487263
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #13 from Jason Taylor jtfas90@gmail.com --- Hi gil/ralf thank you for the feedback. Working through a your comments. I am reviewing the comment from ralf:
Remove these 2 lines from your spec: export CFLAGS="$RPM_OPT_FLAGS -march=core2" export CXXFLAGS="${CFLAGS}"
In reading through the hyperscan documentation some more it appears that hyperscan requires at least core2 instruction set features to compile.
This being the case should I add an excludearch for i686?
Thanks again for the help!
[0] https://github.com/01org/hyperscan/issues/20
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #14 from gil cattaneo puntogil@libero.it --- (In reply to Jason Taylor from comment #13)
Hi gil/ralf thank you for the feedback. Working through a your comments. I am reviewing the comment from ralf:
Remove these 2 lines from your spec: export CFLAGS="$RPM_OPT_FLAGS -march=core2" export CXXFLAGS="${CFLAGS}"
In reading through the hyperscan documentation some more it appears that hyperscan requires at least core2 instruction set features to compile.
This being the case should I add an excludearch for i686?
maybe also for arm and append in the "Depends On" field of https://bugzilla.redhat.com/show_bug.cgi?id=485251 this bug
Thanks again for the help!
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #15 from gil cattaneo puntogil@libero.it --- directory /usr/include/hs/ is still unowned.
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #16 from Jason Taylor jtfas90@gmail.com --- here is the latest scratch build (successful)
http://koji.fedoraproject.org/koji/taskinfo?taskID=15490876
I believe the directory ownership is corrected as well.
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #17 from gil cattaneo puntogil@libero.it --- ERROR: 'Cannot find source rpm URL' see Comments#3
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #18 from gil cattaneo puntogil@libero.it --- (In reply to Jason Taylor from comment #16)
here is the latest scratch build (successful)
This is useless for me because i use a 32 bit OS, You must indicate that the packet is not building for those architectures: arm (see comment#14), i686
I believe the directory ownership is corrected as well.
I don't think so
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #19 from Jason Taylor jtfas90@gmail.com --- Hi gil,
The updated spec is here:
http://copr-dist-git.fedorainfracloud.org/cgit/jasonish/hyperscan/hyperscan....
the koji build using the latest srpm is here: http://koji.fedoraproject.org/koji/taskinfo?taskID=15497768
copr build using the same is here: https://copr.fedorainfracloud.org/coprs/jasonish/hyperscan/build/449354/
I installed the packages generated by fedora-review and ran:
rpm -qf /usr/include/hs hyperscan-devel-4.3.1-1.fc24.x86_64
So the directory ownership item should be addressed now.
Regarding the ExclusiveArch, hyperscan requires at least SSE support which excludes anything but x86_64 from what I have been able to find in the documentation.
I have noted this requirement in the spec.
The unable to find source rpm URL should be resolved now as well, the error now longer displays during a fedora-review run.
I also added a patch to set the march flag to -march=core2. This is the minimum instruction set required for hyperscan to compile. The default -march was to use native, which would break package portability.
Thanks again for all the help
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #20 from gil cattaneo puntogil@libero.it --- (In reply to Jason Taylor from comment #19)
Hi gil,
The updated spec is here:
http://copr-dist-git.fedorainfracloud.org/cgit/jasonish/hyperscan/hyperscan. git/tree/hyperscan.spec?id=833da4e464c728551cf1817b140fde2f37b7d3ff
the koji build using the latest srpm is here: http://koji.fedoraproject.org/koji/taskinfo?taskID=15497768
copr build using the same is here: https://copr.fedorainfracloud.org/coprs/jasonish/hyperscan/build/449354/
ERROR: 'Cannot find source rpm URL' Please, add full srpm URL.
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
gil cattaneo puntogil@libero.it changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |485251 (F-ExcludeArch-ARM)
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=485251 [Bug 485251] ExcludeArch Tracker for ARM
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #21 from gil cattaneo puntogil@libero.it --- e.g.
Spec URL: http://copr-dist-git.fedorainfracloud.org/cgit/jasonish/hyperscan/hyperscan.... SRPM URL: https://jtaylor.fedorapeople.org/hyperscan-4.3.1-1.fc26.src.rpm
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #22 from gil cattaneo puntogil@libero.it --- Package Review ==============
Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed
Issues: ======= - Package installs properly. Note: Installation errors (see attachment) See: https://fedoraproject.org/wiki/Packaging:Guidelines NOTE: nabual review on 32 bit OS
===== MUST items =====
C/C++: [-]: Provides: bundled(gnulib) in place as required. Note: Sources not installed [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: [-]: 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. [x]: License field in the package spec file matches the actual license. Note: There is no build directory. Running licensecheck on vanilla upstream sources. No licenses found. Please check the source files for licenses manually. [x]: License file installed when any subpackage combination is installed. [x]: Package requires other packages for directories it uses. Note: No known owner of /usr/lib64/pkgconfig, /usr/lib64 [x]: Package must own all directories that it creates. Note: Directories without known owners: /usr/lib64, /usr/lib64/pkgconfig [?]: %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. [?]: 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 20480 bytes in 2 files. [?]: Package complies to the Packaging Guidelines [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 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]: 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: [!]: Reviewer should test that the package builds in mock. [-]: 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 hyperscan-debuginfo [x]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [!]: Patches link to upstream bugs/comments/lists or are otherwise justified. [x]: 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. [x]: Packages should try to preserve timestamps of original installed files. [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]: The placement of pkgconfig(.pc) files are correct. [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: [!]: Rpmlint is run on all installed packages. Note: Mock build failed See: http://fedoraproject.org/wiki/Packaging/Guidelines#rpmlint [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.
Installation errors ------------------- INFO: mock.py version 1.2.20 starting (python version = 3.5.1)... Start: init plugins INFO: selinux enabled Finish: init plugins Start: run Start: chroot init INFO: calling preinit hooks INFO: enabled root cache INFO: enabled dnf cache Start: cleaning dnf metadata Finish: cleaning dnf metadata Mock Version: 1.2.20 INFO: Mock Version: 1.2.20 Finish: chroot init INFO: installing package(s): /home/gil/1372866-hyperscan/hyperscan-devel-4.3.1-1.fc26.x86_64.rpm /home/gil/1372866-hyperscan/hyperscan-4.3.1-1.fc26.x86_64.rpm /home/gil/1372866-hyperscan/hyperscan-debuginfo-4.3.1-1.fc26.x86_64.rpm ERROR: Command failed. See logs for output. # /usr/bin/dnf --installroot /var/lib/mock/fedora-24-i386/root/ --releasever 24 --disableplugin=local --setopt=deltarpm=false install /home/gil/1372866-hyperscan/hyperscan-devel-4.3.1-1.fc26.x86_64.rpm /home/gil/1372866-hyperscan/hyperscan-4.3.1-1.fc26.x86_64.rpm /home/gil/1372866-hyperscan/hyperscan-debuginfo-4.3.1-1.fc26.x86_64.rpm --setopt=tsflags=nocontexts
Rpmlint ------- Checking: hyperscan-4.3.1-1.fc26.x86_64.rpm hyperscan-devel-4.3.1-1.fc26.x86_64.rpm hyperscan-debuginfo-4.3.1-1.fc26.x86_64.rpm hyperscan-4.3.1-1.fc26.src.rpm hyperscan.x86_64: W: spelling-error %description -l en_US libpcre -> Liberace hyperscan.x86_64: W: spelling-error %description -l en_US automata -> automate, automaton, automatic hyperscan.x86_64: W: one-line-command-in-%post /sbin/ldconfig hyperscan.x86_64: W: one-line-command-in-%postun /sbin/ldconfig hyperscan-devel.x86_64: W: spelling-error %description -l en_US libpcre -> Liberace hyperscan-devel.x86_64: W: spelling-error %description -l en_US automata -> automate, automaton, automatic hyperscan-devel.x86_64: W: only-non-binary-in-usr-lib hyperscan-devel.x86_64: W: no-documentation hyperscan-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/hyperscan-4.3.1/src/nfa/dfa_build_strat.cpp hyperscan-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/hyperscan-4.3.1/src/nfa/accel_dfa_build_strat.cpp hyperscan-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/hyperscan-4.3.1/src/nfa/accel_dfa_build_strat.h hyperscan.src: W: spelling-error %description -l en_US libpcre -> Liberace hyperscan.src: W: spelling-error %description -l en_US automata -> automate, automaton, automatic hyperscan.src:15: W: mixed-use-of-spaces-and-tabs (spaces: line 15, tab: line 6) 4 packages and 0 specfiles checked; 0 errors, 14 warnings.
Requires -------- hyperscan-debuginfo (rpmlib, GLIBC filtered):
hyperscan-devel (rpmlib, GLIBC filtered): /usr/bin/pkg-config hyperscan(x86-64) libhs.so.4()(64bit) libhs_runtime.so.4()(64bit)
hyperscan (rpmlib, GLIBC filtered): /bin/sh libc.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libm.so.6()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) pcre rtld(GNU_HASH)
Provides -------- hyperscan-debuginfo: hyperscan-debuginfo hyperscan-debuginfo(x86-64)
hyperscan-devel: hyperscan-devel hyperscan-devel(x86-64) pkgconfig(libhs)
hyperscan: hyperscan hyperscan(x86-64) libhs.so.4()(64bit) libhs_runtime.so.4()(64bit)
Source checksums ---------------- https://github.com/01org/hyperscan/archive/v4.3.1.tar.gz#/hyperscan-v4.3.1.t... : CHECKSUM(SHA256) this package : a7bce1287c06d53d1fb34266d024331a92ee24cbb2a7a75061b4ae50a30bae97 CHECKSUM(SHA256) upstream package : a7bce1287c06d53d1fb34266d024331a92ee24cbb2a7a75061b4ae50a30bae97
Generated by fedora-review 0.6.1 (f03e4e7) last change: 2016-05-02 Command line :/usr/bin/fedora-review -v -p -n hyperscan Buildroot used: fedora-24-i386 Active plugins: Generic, Shell-api, C/C++ Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
gil cattaneo puntogil@libero.it changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED
--- Comment #23 from gil cattaneo puntogil@libero.it --- NON blocking issues: hyperscan.x86_64: W: one-line-command-in-%post /sbin/ldconfig hyperscan.x86_64: W: one-line-command-in-%postun /sbin/ldconfig
hyperscan-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/hyperscan-4.3.1/src/nfa/dfa_build_strat.cpp hyperscan-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/hyperscan-4.3.1/src/nfa/accel_dfa_build_strat.cpp hyperscan-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/hyperscan-4.3.1/src/nfa/accel_dfa_build_strat.h
the package build only for x86_64 arch using "-march=core2" C flag for SSE support. for me is ok. Please, fix the above problems before import Approved
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
gil cattaneo puntogil@libero.it changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags|fedora-review? |fedora-review+
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #24 from Jason Taylor jtfas90@gmail.com --- Thanks gil!
I have updated the ldconfig lines to %post/%postun -p /sbin/ldconfig
As you indicated above, the following are the links for latest spec/srpm:
Spec URL: http://copr-dist-git.fedorainfracloud.org/cgit/jasonish/hyperscan/hyperscan....
SRPM URL: https://jtaylor.fedorapeople.org/hyperscan-4.3.1-1.fc26.src.rpm
Regarding the spurious file permissions, I have opened the following ticket with upstream (and submitted a PR to address the same):
https://github.com/01org/hyperscan/issues/37
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #25 from Ralf Corsepius rc040203@freenet.de --- (In reply to gil cattaneo from comment #23)
the package build only for x86_64 arch using "-march=core2" C flag for SSE support.
This is NOT OK. It means this package does not apply the CFLAGS all Fedora are required to use.
=> This package is broken
The origin of this mess the toplevel CMakeList.txt, which is entirely broken.
hyperscan-debuginfo.x86_64: W: spurious-executable-perm /usr/src/debug/hyperscan-4.3.1/src/nfa/dfa_build_strat.cpp
This means broken permissions inside of the source tarball.
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #26 from Jon Ciesla limburgher@gmail.com --- Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/rpms/hyperscan
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #27 from Ralf Corsepius rc040203@freenet.de --- (In reply to Ralf Corsepius from comment #25)
The origin of this mess the toplevel CMakeList.txt, which is entirely broken.
Jason asked me off-list to elaborate this
In lines 179-244, this CMakeList.txt implements a scheme which manipulates and overrides CFLAGS/CXXFLAGS to values which are incompatible to Fedora (== this package is being miscompiled). This alone qualifies this package as non-eligible for Fedora, unless this issue can be worked around.
Besides this, the working principle of this cmake section lacks generality and lacks portability (As you found out when building for the arm).
To allow for users to specify their desired *CLAGS, most cmake-packages are equipped the a cmake define which lets users specify "his *FLAGS" (Often "build type"). Unfortunately, this package doesn't seem fall into this category.
I.e. it's likely necessary to patch CMakeList.txt to move the harmful parts out.
(In reply to Jon Ciesla from comment #26)
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/rpms/hyperscan
Sigh - I like should have reset the cvs-flags :-)
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #28 from Jason Taylor jtfas90@gmail.com --- Thanks Ralf,
I will take this back to upstream and see what we can do.
I will hold off on importing until the cmake items are sorted out one way or another.
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
marcindulak Marcin.Dulak@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |Marcin.Dulak@gmail.com
--- Comment #29 from marcindulak Marcin.Dulak@gmail.com --- https://github.com/01org/hyperscan/issues/47
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #30 from Jason Taylor jtfas90@gmail.com --- Ralf,
We have been working with upstream and believe we have sorted out the items you mentioned above.
Would you mind taking a look again at this again?
The latest relevent files: https://jtaylor.fedorapeople.org/hyperscan/
Scratch build using the sources above: https://koji.fedoraproject.org/koji/taskinfo?taskID=18247870
Thanks in advance for any help you can provide!
JT
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
Jason Taylor jtfas90@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags| |needinfo?(rc040203@freenet. | |de)
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
Jason Taylor jtfas90@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(rc040203@freenet. | |de) |
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #31 from Ralf Corsepius rc040203@freenet.de --- Jason, apologies for not having reponded to your needinfo, but I never agreed to review this package. I only commented on a detail and was slightly surprized to sending me a needinfo.
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
Zbigniew Jędrzejewski-Szmek zbyszek@in.waw.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zbyszek@in.waw.pl
--- Comment #32 from Zbigniew Jędrzejewski-Szmek zbyszek@in.waw.pl --- You should provide a symlink to the spec file and srpm file directly in comments, so that fedora-review can find them: spec file: https://jtaylor.fedorapeople.org/hyperscan/hyperscan.spec srpm: https://jtaylor.fedorapeople.org/hyperscan/hyperscan-4.4.1-1.fc27.src.rpm
https://github.com/01org/%%7Bname%7D/archive/%%7Bgittag0%7D.tar.gz#/%%7Bgitt...
This isn't useful — you are renaming the tarball to the original (bad) name. You want ...#/hyperscan-%{gittag0}.tar.gz
Patch0: path.patch
A more descriptive patch name would be nice.
make %{?_smp_mflags}
%make_build
make install DESTDIR=%{buildroot}
%make_install
hyperscan.src:13: W: mixed-use-of-spaces-and-tabs (spaces: line 13, tab: line 4)
In the build I see various -m64 -mtune=generic, -march=core2, -march=core-avx2, etc. It seems that it's compiling the code in different variants, which is OK.
The cflags specified by the .pc file are dubious: they add -I/usr/include/hs, even though it would be better no to do that, and require users of the library to use #include <hs/hs.h>. But that's an upstream issue / inelegance.
Package looks OK.
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #33 from Jason Taylor jtfas90@gmail.com --- (In reply to Zbigniew Jędrzejewski-Szmek from comment #32)
You should provide a symlink to the spec file and srpm file directly in comments, so that fedora-review can find them: spec file: https://jtaylor.fedorapeople.org/hyperscan/hyperscan.spec srpm: https://jtaylor.fedorapeople.org/hyperscan/hyperscan-4.4.1-1.fc27.src.rpm
srpm: https://jtaylor.fedorapeople.org/hyperscan/hyperscan-4.4.1-2.fc27.src.rpm spec file: https://jtaylor.fedorapeople.org/hyperscan/hyperscan.spec
latest scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=19507079
https://github.com/01org/%%7Bname%7D/archive/%%7Bgittag0%7D.tar.gz#/%%7Bgitt...
This isn't useful — you are renaming the tarball to the original (bad) name. You want ...#/hyperscan-%{gittag0}.tar.gz
Updated
Patch0: path.patch
A more descriptive patch name would be nice.
Updated to be more descriptive
make %{?_smp_mflags}
%make_build
Updated
make install DESTDIR=%{buildroot}
%make_install
Updated
hyperscan.src:13: W: mixed-use-of-spaces-and-tabs (spaces: line 13, tab: line 4)
Fixed
In the build I see various -m64 -mtune=generic, -march=core2, -march=core-avx2, etc. It seems that it's compiling the code in different variants, which is OK.
I believe the various -march specifications are due to the "fat runtime" functionality introduced in version 4.4.0.
https://github.com/01org/hyperscan/releases
The cflags specified by the .pc file are dubious: they add -I/usr/include/hs, even though it would be better no to do that, and require users of the library to use #include <hs/hs.h>. But that's an upstream issue / inelegance.
Package looks OK.
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #34 from Zbigniew Jędrzejewski-Szmek zbyszek@in.waw.pl --- (In reply to Jason Taylor from comment #33)
(In reply to Zbigniew Jędrzejewski-Szmek from comment #32)
You should provide a symlink to the spec file and srpm file directly in comments, so that fedora-review can find them: spec file: https://jtaylor.fedorapeople.org/hyperscan/hyperscan.spec srpm: https://jtaylor.fedorapeople.org/hyperscan/hyperscan-4.4.1-1.fc27.src.rpm
srpm: https://jtaylor.fedorapeople.org/hyperscan/hyperscan-4.4.1-2.fc27.src.rpm spec file: https://jtaylor.fedorapeople.org/hyperscan/hyperscan.spec
latest scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=19507079
https://github.com/01org/%%7Bname%7D/archive/%%7Bgittag0%7D.tar.gz#/%%7Bgitt...
This isn't useful — you are renaming the tarball to the original (bad) name. You want ...#/hyperscan-%{gittag0}.tar.gz
Updated
Hm, you removed the renaming completely. While not strictly required, its recommended to make the tarball more recognizable. So you want something like this:
Source0: https://github.com/01org/hyperscan/archive/%%7Bversion%7D.tar.gz#/hyperscan-...
(or Source0: https://github.com/01org/%%7Bname%7D/archive/%%7Bversion%7D.tar.gz#/%%7Bname... is you like macros a lot)
But that's just cosmetic. I think you should go ahead with the build, any issues can be tweaked later.
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #35 from Jason Taylor jtfas90@gmail.com --- (In reply to Zbigniew Jędrzejewski-Szmek from comment #34)
(In reply to Jason Taylor from comment #33)
(In reply to Zbigniew Jędrzejewski-Szmek from comment #32)
You should provide a symlink to the spec file and srpm file directly in comments, so that fedora-review can find them: spec file: https://jtaylor.fedorapeople.org/hyperscan/hyperscan.spec srpm: https://jtaylor.fedorapeople.org/hyperscan/hyperscan-4.4.1-1.fc27.src.rpm
srpm: https://jtaylor.fedorapeople.org/hyperscan/hyperscan-4.4.1-2.fc27.src.rpm spec file: https://jtaylor.fedorapeople.org/hyperscan/hyperscan.spec
latest scratch build: https://koji.fedoraproject.org/koji/taskinfo?taskID=19507079
https://github.com/01org/%%7Bname%7D/archive/%%7Bgittag0%7D.tar.gz#/%%7Bgitt...
This isn't useful — you are renaming the tarball to the original (bad) name. You want ...#/hyperscan-%{gittag0}.tar.gz
Updated
Hm, you removed the renaming completely. While not strictly required, its recommended to make the tarball more recognizable. So you want something like this:
Source0: https://github.com/01org/hyperscan/archive/%%7Bversion%7D.tar.gz#/hyperscan- %{version}.tar.gz
(or Source0: https://github.com/01org/%%7Bname%7D/archive/%%7Bversion%7D.tar.gz#/%%7Bname... %{version}.tar.gz is you like macros a lot)
Oh, I see. Thank you for the explanation! I updated the spec:
https://jtaylor.fedorapeople.org/hyperscan/hyperscan.spec
Does that work?
But that's just cosmetic. I think you should go ahead with the build, any issues can be tweaked later.
Great thank you for the help!
JT
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #36 from Zbigniew Jędrzejewski-Szmek zbyszek@in.waw.pl --- One more nitpick: I suggested:
https://github.com/01org/hyperscan/archive/%%7Bversion%7D.tar.gz#/hyperscan-...
That doesn't work, because I forgot a "v". It should have been https://github.com/01org/hyperscan/archive/v%%7Bversion%7D.tar.gz#/hyperscan...
You used:
https://github.com/01org/%%7Bname%7D/archive/%%7Bgittag0%7D.tar.gz#/%%7Bname...
That works, but it uses both gittag0 and version. That is suboptimal because you need to change both gittag0 and version when updating version. What's worse, if you forget one, you'll get a mismatched tarball name and contents. So I'd suggest using %{version} or "v%{version}" everywhere instead of %{gittag0} and removing %gittag0 definition completely.
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #37 from Fedora Update System updates@fedoraproject.org --- hyperscan-4.4.1-1.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-1170ddbee5
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
Fedora Update System updates@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |MODIFIED
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #38 from Jason Taylor jtfas90@gmail.com --- (In reply to Zbigniew Jędrzejewski-Szmek from comment #36)
One more nitpick: I suggested:
https://github.com/01org/hyperscan/archive/%%7Bversion%7D.tar.gz#/hyperscan-...
That doesn't work, because I forgot a "v". It should have been https://github.com/01org/hyperscan/archive/v%%7Bversion%7D.tar.gz#/hyperscan... %{version}.tar.gz
You used:
https://github.com/01org/%%7Bname%7D/archive/%%7Bgittag0%7D.tar.gz#/%%7Bname...
That works, but it uses both gittag0 and version. That is suboptimal because you need to change both gittag0 and version when updating version. What's worse, if you forget one, you'll get a mismatched tarball name and contents. So I'd suggest using %{version} or "v%{version}" everywhere instead of %{gittag0} and removing %gittag0 definition completely.
I fixed this in the release version as you suggested. Thanks again!
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #39 from Fedora Update System updates@fedoraproject.org --- hyperscan-4.4.1-1.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2017-ed7052f5f9
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
Fedora Update System updates@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|MODIFIED |ON_QA
--- Comment #40 from Fedora Update System updates@fedoraproject.org --- hyperscan-4.4.1-1.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-ed7052f5f9
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #41 from Fedora Update System updates@fedoraproject.org --- hyperscan-4.4.1-1.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-1170ddbee5
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
Fedora Update System updates@fedoraproject.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|ON_QA |CLOSED Resolution|--- |ERRATA Last Closed| |2017-05-22 20:39:28
--- Comment #42 from Fedora Update System updates@fedoraproject.org --- hyperscan-4.4.1-1.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.
https://bugzilla.redhat.com/show_bug.cgi?id=1372866
--- Comment #43 from Fedora Update System updates@fedoraproject.org --- hyperscan-4.4.1-1.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.
package-review@lists.fedoraproject.org