Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1372866 - Review Request: hyperscan - Hyperscan is a high-performance multiple regex matching library
Summary: Review Request: hyperscan - Hyperscan is a high-performance multiple regex ma...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: gil cattaneo
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F-ExcludeArch-ARM
TreeView+ depends on / blocked
 
Reported: 2016-09-03 01:51 UTC by Jason Taylor
Modified: 2017-06-09 18:56 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-05-23 00:39:28 UTC
Type: ---
Embargoed:
puntogil: fedora-review+


Attachments (Terms of Use)
spec file (2.24 KB, text/x-matlab)
2016-09-03 19:56 UTC, gil cattaneo
no flags Details

Description Jason Taylor 2016-09-03 01:51:31 UTC
Spec URL: http://copr-dist-git.fedorainfracloud.org/cgit/jasonish/hyperscan/hyperscan.git/tree/hyperscan.spec
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

Comment 1 gil cattaneo 2016-09-03 02:11:38 UTC
can you take this https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=1372429 for me ?

Comment 2 gil cattaneo 2016-09-03 02:19:15 UTC
Please, remove "Group:	 	Development/Libraries"

%install
Please, remove "rm -rf %{buildroot}"

Please, use %license macro
%doc COPYING
%doc LICENSE

Comment 3 gil cattaneo 2016-09-03 02:21:29 UTC
Please, use full "SRPM URL"

Comment 4 gil cattaneo 2016-09-03 02:23:02 UTC
Please, use Source0:	https://github.com/01org/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz

Comment 5 gil cattaneo 2016-09-03 02:36:18 UTC

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/*

Comment 7 Jason Taylor 2016-09-03 03:26:59 UTC
thanks gil,

I have made the changes as requested.

Thank you for the links, I read them again since it had been a while.

Comment 8 Ralf Corsepius 2016-09-03 05:04:23 UTC
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>

Comment 9 gil cattaneo 2016-09-03 16:04:25 UTC
(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

Comment 10 gil cattaneo 2016-09-03 17:13:16 UTC
Build fails. Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=15485494

Comment 11 gil cattaneo 2016-09-03 19:51:17 UTC
Sorry, mkdir -p %{buildroot}%{_libdir} what is it? Please, remove

Comment 12 gil cattaneo 2016-09-03 19:56:49 UTC
Created attachment 1197506 [details]
spec file

Build fails. Task info:Task info: http://koji.fedoraproject.org/koji/taskinfo?taskID=15487263

Comment 13 Jason Taylor 2016-09-03 23:43:43 UTC
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

Comment 14 gil cattaneo 2016-09-03 23:52:02 UTC
(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!
> 
> 
> [0] https://github.com/01org/hyperscan/issues/20

Comment 15 gil cattaneo 2016-09-03 23:53:59 UTC
directory /usr/include/hs/ is still unowned.

Comment 16 Jason Taylor 2016-09-04 00:52:29 UTC
here is the latest scratch build (successful)

http://koji.fedoraproject.org/koji/taskinfo?taskID=15490876

I believe the directory ownership is corrected as well.

Comment 17 gil cattaneo 2016-09-04 10:31:32 UTC
ERROR: 'Cannot find source rpm URL' see Comments#3

Comment 18 gil cattaneo 2016-09-04 12:15:25 UTC
(In reply to Jason Taylor from comment #16)
> here is the latest scratch build (successful)
> 
> http://koji.fedoraproject.org/koji/taskinfo?taskID=15490876
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

Comment 19 Jason Taylor 2016-09-04 14:50:31 UTC
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/


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

Comment 20 gil cattaneo 2016-09-04 16:08:12 UTC
(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.

Comment 22 gil cattaneo 2016-09-04 18:06:12 UTC
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.tar.gz :
  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

Comment 23 gil cattaneo 2016-09-04 18:14:24 UTC
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

Comment 24 Jason Taylor 2016-09-04 23:34:35 UTC
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.git/tree/hyperscan.spec

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

Comment 25 Ralf Corsepius 2016-09-05 03:20:50 UTC
(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.

Comment 26 Gwyn Ciesla 2016-09-05 16:14:35 UTC
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/rpms/hyperscan

Comment 27 Ralf Corsepius 2016-09-06 14:26:08 UTC
(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 :-)

Comment 28 Jason Taylor 2016-09-06 14:35:58 UTC
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.

Comment 29 marcindulak 2017-02-25 23:18:13 UTC
https://github.com/01org/hyperscan/issues/47

Comment 30 Jason Taylor 2017-03-07 14:20:19 UTC
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

Comment 31 Ralf Corsepius 2017-05-11 13:57:22 UTC
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.

Comment 32 Zbigniew Jędrzejewski-Szmek 2017-05-11 15:15:32 UTC
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/%{name}/archive/%{gittag0}.tar.gz#/%{gittag0}.tar.gz
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.

Comment 33 Jason Taylor 2017-05-12 14:16:59 UTC
(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/%{name}/archive/%{gittag0}.tar.gz#/%{gittag0}.tar.gz
> 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.

Comment 34 Zbigniew Jędrzejewski-Szmek 2017-05-12 14:26:03 UTC
(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/%{name}/archive/%{gittag0}.tar.gz#/%{gittag0}.tar.gz
> > 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/%{version}.tar.gz#/hyperscan-%{version}.tar.gz

(or Source0: https://github.com/01org/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz 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.

Comment 35 Jason Taylor 2017-05-12 14:48:09 UTC
(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/%{name}/archive/%{gittag0}.tar.gz#/%{gittag0}.tar.gz
> > > 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/%{version}.tar.gz#/hyperscan-
> %{version}.tar.gz
> 
> (or Source0:
> https://github.com/01org/%{name}/archive/%{version}.tar.gz#/%{name}-
> %{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

Comment 36 Zbigniew Jędrzejewski-Szmek 2017-05-12 15:47:58 UTC
One more nitpick:
I suggested:
> https://github.com/01org/hyperscan/archive/%{version}.tar.gz#/hyperscan-%{version}.tar.gz

That doesn't work, because I forgot a "v". It should have been
https://github.com/01org/hyperscan/archive/v%{version}.tar.gz#/hyperscan-%{version}.tar.gz

You used:
> https://github.com/01org/%{name}/archive/%{gittag0}.tar.gz#/%{name}-%{version}.tar.gz

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.

Comment 37 Fedora Update System 2017-05-13 00:04:29 UTC
hyperscan-4.4.1-1.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-1170ddbee5

Comment 38 Jason Taylor 2017-05-13 00:06:19 UTC
(In reply to Zbigniew Jędrzejewski-Szmek from comment #36)
> One more nitpick:
> I suggested:
> > https://github.com/01org/hyperscan/archive/%{version}.tar.gz#/hyperscan-%{version}.tar.gz
> 
> That doesn't work, because I forgot a "v". It should have been
> https://github.com/01org/hyperscan/archive/v%{version}.tar.gz#/hyperscan-
> %{version}.tar.gz
> 
> You used:
> > https://github.com/01org/%{name}/archive/%{gittag0}.tar.gz#/%{name}-%{version}.tar.gz
> 
> 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!

Comment 39 Fedora Update System 2017-05-13 00:08:00 UTC
hyperscan-4.4.1-1.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2017-ed7052f5f9

Comment 40 Fedora Update System 2017-05-15 06:34:54 UTC
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

Comment 41 Fedora Update System 2017-05-15 10:20:02 UTC
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

Comment 42 Fedora Update System 2017-05-23 00:39:28 UTC
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.

Comment 43 Fedora Update System 2017-06-09 18:56:44 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.