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 1097426 - Review Request: dpdk - dataplane development toolkit for optimized network appliances
Summary: Review Request: dpdk - dataplane development toolkit for optimized network ap...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: John W. Linville
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: DebugInfo
TreeView+ depends on / blocked
 
Reported: 2014-05-13 19:28 UTC by Neil Horman
Modified: 2014-07-18 13:32 UTC (History)
7 users (show)

Fixed In Version: dpdk-1.7.0-0.6.20140603git5ebbb1728.fc20
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-07-03 13:51:24 UTC
Type: ---
Embargoed:
linville: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)
Don't suppress useful build output (772 bytes, patch)
2014-06-09 07:57 UTC, Ville Skyttä
no flags Details | Diff
dpdk-spec-optflags.patch (379 bytes, patch)
2014-06-30 15:11 UTC, John W. Linville
no flags Details | Diff
proposed-guidline-fixups.patch (26.41 KB, patch)
2014-07-17 19:40 UTC, John W. Linville
no flags Details | Diff
proposed-guidline-fixups.patch (26.29 KB, patch)
2014-07-17 23:45 UTC, John W. Linville
no flags Details | Diff
proposed-guideline-fixups.patch (26.29 KB, patch)
2014-07-18 13:29 UTC, John W. Linville
no flags Details | Diff

Description Neil Horman 2014-05-13 19:28:35 UTC
Spec URL: http://people.redhat.com/nhorman/dpdk.spec
SRPM URL: http://people.redhat.com/nhorman/dpdk-1.7.0-0.1.gitb20539d68.src.rpm
Description: The DPDK is a set of user space libraries that assists in the creation of high speed networking appliances.
Fedora Account System Username: nhorman

Comment 1 Michael Schwendt 2014-05-13 20:34:55 UTC
Just some spec file oddities:


> Version: 1.7.0 
> Release: 0.1.gitb20539d68 

https://fedoraproject.org/wiki/Packaging:NamingGuidelines#Snapshot_packages


> Summary: Intel(r) Data Plane Development Kit core

> %description
> Intel(r) DPDK core includes kernel modules, core libraries and tools.

https://fedoraproject.org/wiki/Packaging:Guidelines#Trademarks_in_Summary_or_Description


> Group: System Environment/Libraries

There are no system libraries included yet. See further below about the %files section.


> ExclusiveArch: i686, x86_64

https://fedoraproject.org/wiki/Packaging:Guidelines#Architecture_Build_Failures



> %define target %{_arch}-default-linuxapp-gcc
> %define machine default

https://fedoraproject.org/wiki/Packaging:Guidelines#.25global_preferred_over_.25define

> %package devel

https://fedoraproject.org/wiki/Packaging:Guidelines#Requiring_Base_Package


> %install
> rm -rf %{buildroot}

https://fedoraproject.org/wiki/Packaging:Guidelines#BuildRoot_tag


> %post
> /sbin/ldconfig
> /sbin/depmod

> %postun
> /sbin/ldconfig
> /sbin/depmod

> %files
> %{_libdir}/%{name}-%{version}

That directory is not in runtime linker's search path list, so running ldconfig is superfluous.


> %doc %{docdir}

Files below %_docdir are implicitly marked as %doc. See "rpm -E %__docdir_path".

Comment 2 Neil Horman 2014-05-14 15:36:17 UTC
new SPEC: 
http://people.redhat.com/nhorman/dpdk.spec


new SRPM: 
https://people.redhat.com/nhorman/dpdk-1.7.0-0.1.20140513gitb20539d68.src.rpm

Listed problems fixed.  Thanks.

Comment 3 Neil Horman 2014-05-21 16:14:01 UTC
New spec and srpm to keep up with latest git updates:

SPEC: http://people.redhat.com/nhorman/dpdk.spec 
SRPM: https://people.redhat.com/nhorman/dpdk-1.7.0-0.2.20140521git519f32279.src.rpm

Comment 4 Thomas Monjalon 2014-05-21 16:22:54 UTC
As you use external configuration file, you don't need anymore the "machine" variable which was for configuration overriding.

In next update, you'll need to use "native" target name.

You'll be able to disable igb_uio compilation when VFIO patchset will be integrated, hopefully soon.

Comment 5 Flavio Leitner 2014-05-28 21:59:08 UTC
#
# The DPDK is designed to optimize througput of network traffic using, among
# other techniques, carefully crafted x86 assembly instructions.  As such it
# currently (and likely never will) run on non-x86 platforms
#
ExcludeArch: pp64
ExcludeARch: ppc
Excludearch: s390x

why not use ExclusiveArch: i386 x86_64 ?
Also, there is a capital R in ExcludeARch: ppc line.

This is a multi-license package, and the guidelines requires additional explanation: https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#Multiple_Licensing_Scenarios
------8<-------
In addition, the package must contain a comment explaining the multiple licensing breakdown. The actual implementation of this is left to the maintainer. Some suggested implementations include

    A comment right above the License: field: 

# The entire source code is GPLv2+ except foolib/ which is BSD
License: GPLv2+ and BSD

    Including a file as %doc which contains the licensing breakdown for the packaged files, then using: 

# For a breakdown of the licensing, see PACKAGE-LICENSING 

    Noting the license above the appropriate %files section: 

%files
%doc Changes
# Python
%{_bindir}/cobra-util
%{_bindir}/viper-util
# LGPLv2+
%{_bindir}/gnu-util
%{_bindir}/rms-util
# BSD
%{_bindir}/berkeley-util
------8<-------

It misses BuildRequires: libpcap-devel

Otherwise the package looks good to me.

Comment 6 Neil Horman 2014-05-29 14:16:21 UTC
Flavio, the ExcludeArch directive is because of this:
https://fedoraproject.org/wiki/Packaging:Guidelines#Architecture_Support

though, they do use an ExclusiveArch example right below it, and dpdk is never going to run on anything non-x86, so I may as well change it.

As for the Dual licensing, All the items in DPDK that are GPL or LGPL licensed are actually out of tree kernel modules, that I've configured to not build (for obvious reasons).  As such everything that makes it into the manifest is BSD licensed, but I can add a comment to that effect.

Will update the buildrequires, thanks!

Comment 7 Neil Horman 2014-06-03 18:23:57 UTC
New Spec and srpm:

SPEC: http://people.redhat.com/nhorman/dpdk.spec
SRPM: http://people.redhat.com/nhorman/dpdk-1.7.0-0.3.20140603git5ebbb1728.fc19.src.rpm


Fixed Flavios concerns, and a build break resulting from a an erroneous attempt to build an out of tree kernel module (disabled now in the build).  Also fixed some other trivial issues found by the automated review package

Comment 8 John W. Linville 2014-06-05 18:23:25 UTC
Not too bad, but a few issues identified...

Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed


Issues:
=======
- Sources used to build the package match the upstream source, as
provided in
  the spec URL.
  Note: Upstream MD5sum check error, diff is
in /tmp/1097426-dpdk/diff.txt
  See: http://fedoraproject.org/wiki/Packaging/SourceURL

Packaging is based on pre-release of 1.7.0.  There actually is no
snapshot at the specified URL.  The automated download just gets a
404-style HTML page.

- Static libraries in -static or -devel subpackage, providing -devel if
  present.
  Note: Package has .a files: dpdk. Illegal package name: dpdk. Does not
  provide -static: dpdk.
  See:
http://fedoraproject.org/wiki/Packaging/Guidelines#StaticLibraries

Needs something like the following in dpdk.spec:

%package devel
Provides: dpdk-static = %{version}-%{release}

- Large documentation must go in a -doc subpackage. Large could be size
(~1MB)
  or number of files.
  Note: Documentation size is 3328000 bytes in 286 files.
  See:
http://fedoraproject.org/wiki/Packaging/Guidelines#PackageDocumentation

Move /usr/share/doc/dpdk-1.7.0/* to dpdk-doc-1.7.0 package?

- Comment above "License:" clause of dpdk.spec looks a bit garbled.
  Please note that the kni bits (not packaged) seem to be covered by
GPL.

===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Header files in -devel subpackage, if present.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

Generic:
[x]: Package is licensed with an open-source compatible license and
meets
     other legal requirements as defined in the legal section of
Packaging
     Guidelines.
[x]: 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.

Tarball contains LICENSE.GPL and LICENSE.LGPL, but they do not apply
to any packaged files.

[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
found:
     "BSD (3 clause) GPL (v2)", "Unknown or generated", "BSD (4
clause)", "BSD
     (3 clause) LGPL (v2.1)", "BSD (3 clause)", "BSD (2 clause)", "GPL
(v2)".
     58 files have unknown license. Detailed output of licensecheck in
     /tmp/1097426-dpdk/licensecheck.txt
[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.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[x]: Package contains desktop file if it is a GUI application.

This one is N/A.

[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.
[x]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.

This one is N/A.

[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.

This one is N/A.

[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Package complies to the Packaging Guidelines
[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]: 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]: 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]: 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.

Have you pinged the 6wind guys about this?

[!]: Final provides and requires are sane (see attachments).

Missing Provides for dpdk-static as noted above.

[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.

Need a comment for dpdk-1.7.0-igb_uio_disable.patch

[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.

This one is N/A.

[!]: %check is present and all tests pass.

No support from upstream.

[x]: Packages should try to preserve timestamps of original installed
files.
[!]: Spec use %global instead of %define unless justified.
     Note: %define requiring justification: %define destdir
     %{buildroot}%{_prefix}, %define datadir
%{_datadir}/%{name}-%{version},
     %define docdir %{_docdir}/%{name}-%{version}
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: Dist tag is present (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]: Package should compile and build into binary rpms on all supported
     architectures.

===== EXTRA items =====

Generic:
[!]: Large data in /usr/share should live in a noarch subpackage if
package is
     arched.
     Note: Arch-ed rpms have a total of 3665920 bytes in /usr/share

Consider making a -doc package that is noarch?

[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: dpdk-1.7.0-0.3.20140603git5ebbb1728.fc21.x86_64.rpm
          dpdk-devel-1.7.0-0.3.20140603git5ebbb1728.fc21.x86_64.rpm
          dpdk-1.7.0-0.3.20140603git5ebbb1728.fc21.src.rpm
dpdk.x86_64: W: spelling-error %description -l en_US testpmd -> tested
dpdk.x86_64: W: spelling-error %description -l en_US pktgen -> pkt gen,
pkt-gen, Roentgen
dpdk.x86_64: W: spelling-error %description -l en_US rumptcpip ->
scrumptious
dpdk.x86_64: W: incoherent-version-in-changelog 1.0.7-0.1.gitb20539d68
['1.7.0-0.3.20140603git5ebbb1728.fc21',
'1.7.0-0.3.20140603git5ebbb1728']
dpdk.x86_64: W: no-documentation
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/libethdev.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_cmdline.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_pmd_pcap.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_mempool.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_ring.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_mbuf.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_pmd_vmxnet3_uio.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_hash.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_power.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_pmd_ring.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_malloc.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_sched.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_meter.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_eal.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_pmd_virtio_uio.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_lpm.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_kvargs.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_timer.a
dpdk.x86_64: W: no-manual-page-for-binary testpmd-1.7.0
dpdk-devel.x86_64: W: spelling-error %description -l en_US makefiles ->
make files, make-files, filmmakers
dpdk-devel.x86_64: W:
spurious-executable-perm /usr/include/dpdk-1.7.0/exec-env/rte_kni_common.h
dpdk-devel.x86_64: W:
spurious-executable-perm /usr/include/dpdk-1.7.0/rte_timer.h
dpdk.src: W: spelling-error %description -l en_US testpmd -> tested
dpdk.src: W: spelling-error %description -l en_US pktgen -> pkt gen,
pkt-gen, Roentgen
dpdk.src: W: spelling-error %description -l en_US rumptcpip ->
scrumptious
dpdk.src:95: W: macro-in-comment %{datadir}
dpdk.src:95: W: macro-in-comment %{target}
3 packages and 0 specfiles checked; 0 errors, 32 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint dpdk-devel dpdk
dpdk-devel.x86_64: W: spelling-error %description -l en_US makefiles ->
make files, make-files, filmmakers
dpdk-devel.x86_64: W:
spurious-executable-perm /usr/include/dpdk-1.7.0/exec-env/rte_kni_common.h
dpdk-devel.x86_64: W:
spurious-executable-perm /usr/include/dpdk-1.7.0/rte_timer.h
dpdk.x86_64: W: spelling-error %description -l en_US testpmd -> tested
dpdk.x86_64: W: spelling-error %description -l en_US pktgen -> pkt gen,
pkt-gen, Roentgen
dpdk.x86_64: W: spelling-error %description -l en_US rumptcpip ->
scrumptious
dpdk.x86_64: W: incoherent-version-in-changelog 1.0.7-0.1.gitb20539d68
['1.7.0-0.3.20140603git5ebbb1728.fc21',
'1.7.0-0.3.20140603git5ebbb1728']
dpdk.x86_64: W: no-documentation
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/libethdev.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_cmdline.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_pmd_pcap.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_mempool.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_ring.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_mbuf.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_pmd_vmxnet3_uio.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_hash.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_power.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_pmd_ring.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_malloc.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_sched.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_meter.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_eal.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_pmd_virtio_uio.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_lpm.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_kvargs.a
dpdk.x86_64: W:
devel-file-in-non-devel-package /usr/lib64/dpdk-1.7.0/librte_timer.a
dpdk.x86_64: W: no-manual-page-for-binary testpmd-1.7.0
2 packages and 0 specfiles checked; 0 errors, 27 warnings.
# echo 'rpmlint-done:'



Requires
--------
dpdk-devel (rpmlib, GLIBC filtered):
    dpdk(x86-64)

dpdk (rpmlib, GLIBC filtered):
    /bin/bash
    /usr/bin/python
    libc.so.6()(64bit)
    libdl.so.2()(64bit)
    libm.so.6()(64bit)
    libpcap.so.1()(64bit)
    libpthread.so.0()(64bit)
    librt.so.1()(64bit)
    rtld(GNU_HASH)



Provides
--------
dpdk-devel:
    dpdk-devel
    dpdk-devel(x86-64)

dpdk:
    dpdk
    dpdk(x86-64)



Source checksums
----------------
http://dpdk.org/browse/dpdk/snapshot/dpdk-1.7.0-0.3.20140603git5ebbb1728.tgz :
  CHECKSUM(SHA256) this package     :
cc8ee925adff04ef2f70488f945743764f3a7a9fb23948d2f6327c9852a79bbc
  CHECKSUM(SHA256) upstream package :
27e3fd3902d8025b06a3224883d5fd105dbad5325e2481d9ac27e26482efcbbe
diff -r also reports differences


Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13
Command line :/usr/bin/fedora-review -b 1097426 -m fedora-rawhide-x86_64
Buildroot used: fedora-rawhide-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

Comment 9 Neil Horman 2014-06-05 20:09:33 UTC
New packages:
SPEC: http://people.redhat.com/nhorman/dpdk.spec
SRPM: https://people.redhat.com/nhorman/dpdk-1.7.0-0.4.20140521git519f32279.src.rpm

These should address all the issues you noted, John.  The only ones not explicitly fixed according to your suggestions are the static library packaging, as it should all be a DSO build (which is now fixed), and the licensing issue (because I felt it was too large an undertaking to just fix up).  I have sent a note upstream about sorting out licensing clarity however.

Let me know what you think.

Comment 10 Neil Horman 2014-06-06 14:12:24 UTC
Sorry, had the wrong SRPM url above, should be:
https://people.redhat.com/nhorman/dpdk-1.7.0-0.4.20140603git5ebbb1728.fc19.src.rpm

Comment 11 Neil Horman 2014-06-06 14:59:24 UTC
Grrrr, new python code slipped in.  We don't need it.  The igb_uio.py code is useless as we're not yet supporting igb drivers, plus we can just do uio detachment with scripts already available.  The cpu_layout script functionality is already covered by the available lscpu utility.  So just remove them.

SPEC: http://people.redhat.com/nhorman/dpdk.spec
SRPM: https://people.redhat.com/nhorman/dpdk-1.7.0-0.5.20140521git519f32279.src.rpm

Comment 13 Neil Horman 2014-06-06 15:38:43 UTC
New SRPM/SPEC fixing directory ownership issue:

SPEC: http://people.redhat.com/nhorman/dpdk.spec
SRPM: https://people.redhat.com/nhorman/dpdk-1.7.0-0.6.20140603git5ebbb1728.fc19.src.rpm

Comment 14 John W. Linville 2014-06-06 17:52:44 UTC
OK, overall it looks good to me.

I would prefer to see a comment in the spec file about the git tag you are using, as described here:

https://fedoraproject.org/wiki/Packaging:SourceURL?rd=Packaging/SourceURL

Other than that, I'm satisfied that this is a PASS.

Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed


Issues:
=======
- Sources used to build the package match the upstream source, as provided in
  the spec URL.
  Note: Upstream MD5sum check error, diff is in /tmp/1097426-dpdk/diff.txt
  See: http://fedoraproject.org/wiki/Packaging/SourceURL

Packaging is based on pre-release of 1.7.0.  There actually is no
snapshot at the specified URL.  The automated download just gets a
404-style HTML page.

===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.
[x]: Header files in -devel subpackage, if present.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: 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.

Tarball contains LICENSE.GPL and LICENSE.LGPL, but they do not apply
to any packaged files.

[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "BSD (3 clause) GPL (v2)", "Unknown or generated", "BSD (4 clause)", "BSD
     (3 clause) LGPL (v2.1)", "BSD (3 clause)", "BSD (2 clause)", "GPL (v2)".
     58 files have unknown license. Detailed output of licensecheck in
     /tmp/1097426-dpdk/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.

Above is N/A.

[x]: 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]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[x]: Package contains desktop file if it is a GUI application.

Above is N/A.

[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.
[x]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.

Above is N/A.

[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.

Above is N/A.

[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Package complies to the Packaging Guidelines
[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]: 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]: 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]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 0 bytes in 0 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[x]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.

Above is N/A.

[x]: %check is present and all tests pass.

No support from upstream.

[x]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: Dist tag is present (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]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[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: dpdk-1.7.0-0.6.20140603git5ebbb1728.fc21.x86_64.rpm
          dpdk-devel-1.7.0-0.6.20140603git5ebbb1728.fc21.x86_64.rpm
          dpdk-doc-1.7.0-0.6.20140603git5ebbb1728.fc21.noarch.rpm
          dpdk-1.7.0-0.6.20140603git5ebbb1728.fc21.src.rpm
dpdk.x86_64: W: spelling-error %description -l en_US testpmd -> tested
dpdk.x86_64: W: spelling-error %description -l en_US pktgen -> pkt gen, pkt-gen, Roentgen
dpdk.x86_64: W: spelling-error %description -l en_US rumptcpip -> scrumptious
dpdk.x86_64: W: incoherent-version-in-changelog 1.0.7-0.4.20140603git5ebbb1728 ['1.7.0-0.6.20140603git5ebbb1728.fc21', '1.7.0-0.6.20140603git5ebbb1728']
dpdk.x86_64: W: no-documentation
dpdk.x86_64: W: no-manual-page-for-binary testpmd-1.7.0
dpdk-devel.x86_64: W: spelling-error %description -l en_US makefiles -> make files, make-files, filmmakers
dpdk-devel.x86_64: W: no-documentation
dpdk-devel.x86_64: W: spurious-executable-perm /usr/include/dpdk-1.7.0/rte_timer.h
dpdk-devel.x86_64: W: spurious-executable-perm /usr/include/dpdk-1.7.0/exec-env/rte_kni_common.h
dpdk.src: W: spelling-error %description -l en_US testpmd -> tested
dpdk.src: W: spelling-error %description -l en_US pktgen -> pkt gen, pkt-gen, Roentgen
dpdk.src: W: spelling-error %description -l en_US rumptcpip -> scrumptious
dpdk.src:123: W: macro-in-comment %{datadir}
dpdk.src:123: W: macro-in-comment %{target}
4 packages and 0 specfiles checked; 0 errors, 15 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint dpdk-devel dpdk-doc dpdk
dpdk-devel.x86_64: W: spelling-error %description -l en_US makefiles -> make files, make-files, filmmakers
dpdk-devel.x86_64: W: no-documentation
dpdk-devel.x86_64: W: spurious-executable-perm /usr/include/dpdk-1.7.0/rte_timer.h
dpdk-devel.x86_64: W: spurious-executable-perm /usr/include/dpdk-1.7.0/exec-env/rte_kni_common.h
dpdk.x86_64: W: spelling-error %description -l en_US testpmd -> tested
dpdk.x86_64: W: spelling-error %description -l en_US pktgen -> pkt gen, pkt-gen, Roentgen
dpdk.x86_64: W: spelling-error %description -l en_US rumptcpip -> scrumptious
dpdk.x86_64: W: incoherent-version-in-changelog 1.0.7-0.4.20140603git5ebbb1728 ['1.7.0-0.6.20140603git5ebbb1728.fc21', '1.7.0-0.6.20140603git5ebbb1728']
dpdk.x86_64: W: no-documentation
dpdk.x86_64: W: no-manual-page-for-binary testpmd-1.7.0
3 packages and 0 specfiles checked; 0 errors, 10 warnings.
# echo 'rpmlint-done:'



Requires
--------
dpdk-devel (rpmlib, GLIBC filtered):
    dpdk(x86-64)

dpdk-doc (rpmlib, GLIBC filtered):
    dpdk(x86-64)

dpdk (rpmlib, GLIBC filtered):
    ld-linux-x86-64.so.2()(64bit)
    libc.so.6()(64bit)
    libdl.so.2()(64bit)
    libethdev.so()(64bit)
    libgcc_s.so.1()(64bit)
    libm.so.6()(64bit)
    libpcap.so.1()(64bit)
    libpthread.so.0()(64bit)
    librt.so.1()(64bit)
    librte_cmdline.so()(64bit)
    librte_eal.so()(64bit)
    librte_hash.so()(64bit)
    librte_kvargs.so()(64bit)
    librte_lpm.so()(64bit)
    librte_malloc.so()(64bit)
    librte_mbuf.so()(64bit)
    librte_mempool.so()(64bit)
    librte_meter.so()(64bit)
    librte_power.so()(64bit)
    librte_ring.so()(64bit)
    librte_sched.so()(64bit)
    librte_timer.so()(64bit)
    rtld(GNU_HASH)



Provides
--------
dpdk-devel:
    dpdk-devel
    dpdk-devel(x86-64)

dpdk-doc:
    dpdk-doc

dpdk:
    dpdk
    dpdk(x86-64)
    libethdev.so()(64bit)
    librte_cmdline.so()(64bit)
    librte_eal.so()(64bit)
    librte_hash.so()(64bit)
    librte_kvargs.so()(64bit)
    librte_lpm.so()(64bit)
    librte_malloc.so()(64bit)
    librte_mbuf.so()(64bit)
    librte_mempool.so()(64bit)
    librte_meter.so()(64bit)
    librte_pmd_pcap.so()(64bit)
    librte_pmd_ring.so()(64bit)
    librte_pmd_virtio_uio.so()(64bit)
    librte_pmd_vmxnet3_uio.so()(64bit)
    librte_power.so()(64bit)
    librte_ring.so()(64bit)
    librte_sched.so()(64bit)
    librte_timer.so()(64bit)



Unversioned so-files
--------------------
dpdk: /usr/lib64/dpdk-1.7.0/libethdev.so
dpdk: /usr/lib64/dpdk-1.7.0/librte_cmdline.so
dpdk: /usr/lib64/dpdk-1.7.0/librte_eal.so
dpdk: /usr/lib64/dpdk-1.7.0/librte_hash.so
dpdk: /usr/lib64/dpdk-1.7.0/librte_kvargs.so
dpdk: /usr/lib64/dpdk-1.7.0/librte_lpm.so
dpdk: /usr/lib64/dpdk-1.7.0/librte_malloc.so
dpdk: /usr/lib64/dpdk-1.7.0/librte_mbuf.so
dpdk: /usr/lib64/dpdk-1.7.0/librte_mempool.so
dpdk: /usr/lib64/dpdk-1.7.0/librte_meter.so
dpdk: /usr/lib64/dpdk-1.7.0/librte_pmd_pcap.so
dpdk: /usr/lib64/dpdk-1.7.0/librte_pmd_ring.so
dpdk: /usr/lib64/dpdk-1.7.0/librte_pmd_virtio_uio.so
dpdk: /usr/lib64/dpdk-1.7.0/librte_pmd_vmxnet3_uio.so
dpdk: /usr/lib64/dpdk-1.7.0/librte_power.so
dpdk: /usr/lib64/dpdk-1.7.0/librte_ring.so
dpdk: /usr/lib64/dpdk-1.7.0/librte_sched.so
dpdk: /usr/lib64/dpdk-1.7.0/librte_timer.so

Source checksums
----------------
http://dpdk.org/browse/dpdk/snapshot/dpdk-1.7.0-20140603git5ebbb1728.tgz :
  CHECKSUM(SHA256) this package     : cc8ee925adff04ef2f70488f945743764f3a7a9fb23948d2f6327c9852a79bbc
  CHECKSUM(SHA256) upstream package : 772c705fee7d47488b4b17d8c6a95bc2f702b8c534453d44ac6524255687735b
diff -r also reports differences


Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13
Command line :/usr/bin/fedora-review -b 1097426 -m fedora-rawhide-x86_64
Buildroot used: fedora-rawhide-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

Comment 15 Neil Horman 2014-06-06 18:53:01 UTC
New Package SCM Request
=======================
Package Name: dpdk
Short Description: Data Plane Development Kit libraries
Upstream URL:  http://dpdk.org
Owners: nhorman
Branches: f20
InitialCC:

Comment 16 Gwyn Ciesla 2014-06-06 19:46:39 UTC
Git done (by process-git-requests).

Comment 17 Neil Horman 2014-06-06 20:59:18 UTC
Thank you!

Comment 18 Fedora Update System 2014-06-06 21:19:54 UTC
dpdk-1.7.0-0.6.20140603git5ebbb1728.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/dpdk-1.7.0-0.6.20140603git5ebbb1728.fc20

Comment 19 Ville Skyttä 2014-06-09 07:56:18 UTC
(In reply to John W. Linville from comment #14)
> [x]: Useful -debuginfo package or justification otherwise.

It's not useful, it's lacking sources. Further, as the build suppresses useful output it cannot be immediately seen from the build logs why that happens. Making the build verbose is a start (will submit a patch for that), and it reveals that the build is not done using $RPM_OPT_FLAGS at all, and it contains flags like -march which most likely aren't a good idea.

Comment 20 Ville Skyttä 2014-06-09 07:57:17 UTC
Created attachment 904575 [details]
Don't suppress useful build output

Comment 21 John W. Linville 2014-06-09 14:04:56 UTC
Hmmm...my bad.  I guess I could use some info on what makes a useful -debuginfo package...

Comment 22 Neil Horman 2014-06-09 16:27:31 UTC
Fixed in rawhide and F20

Comment 23 Fedora Update System 2014-06-17 23:31:45 UTC
dpdk-1.7.0-0.6.20140603git5ebbb1728.fc20 has been pushed to the Fedora 20 stable repository.

Comment 24 Ville Skyttä 2014-06-30 11:29:05 UTC
(In reply to Neil Horman from comment #22)
> Fixed in rawhide and F20

Nope, debuginfo still has no sources, $RPM_OPT_FLAGS are not being used, and there are still those problematic flags in use such as -march, SSE things etc.

Additionally, the package has ExclusiveArch: i386 x86_64 which means it won't be built on our current 32-bit i686 Fedora at all, i386 should be replaced with %{ix86} to fix that.

Comment 25 John W. Linville 2014-06-30 15:11:51 UTC
Created attachment 913459 [details]
dpdk-spec-optflags.patch

Maybe this helps with the CFLAGS?

Comment 26 John W. Linville 2014-06-30 15:28:19 UTC
https://fedoraproject.org/wiki/Packaging:Debuginfo?rd=Packaging/Debuginfo

Some info there on debuginfo packaging problems.  It is a little impenetrable, but maybe you can find a tidbit there that I missed...

Comment 27 Neil Horman 2014-06-30 15:29:31 UTC
I won't be using RPM_OPT_FLAGS, because they override options that the dpdk has to set which will otherwise cause build failures/run time failures.  Its not problematic, its just the way it builds.

I'll look at the Exclusive arch and debug issues when I get a chance.  It looks like a later git pull changed the way debug flags are passed into the build.

Comment 28 Neil Horman 2014-06-30 16:33:49 UTC
also note, dpdk doesn't build for i386 platforms.  i686 and x86_64 are the only arches it builds on currently.

Comment 29 Ville Skyttä 2014-07-01 12:10:01 UTC
(In reply to Neil Horman from comment #27)
> I won't be using RPM_OPT_FLAGS, because they override options that the dpdk
> has to set which will otherwise cause build failures/run time failures.

The proper way to do it is to use RPM_OPT_FLAGS (or more generally user set CFLAGS) as the basis, and append/override parts in them that need to be appended/overridden.

http://fedoraproject.org/wiki/Packaging:Guidelines#Compiler_flags

(In reply to Neil Horman from comment #28)
> also note, dpdk doesn't build for i386 platforms.  i686 and x86_64 are the
> only arches it builds on currently.

Nevertheless I suggest doing "ExclusiveArch: %{ix86} x86_64" which in practice in Fedora is the same as "ExclusiveArch: i686 x86_64" nowadays.

Comment 30 Thomas Monjalon 2014-07-02 16:16:36 UTC
You should be able to remove the patches:

- dpdk-link-using-cc.patch is already upstream:
  http://dpdk.org/browse/dpdk/commit/?id=21cdc2e77a

- dpdk-debug.patch could be avoided by using EXTRA_CFLAGS,
  see "make help"

Comment 31 Neil Horman 2014-07-02 17:25:44 UTC
Yes, Thomas, I'm aware of both of these issues, the former patch will be removed when I next update the release tarball (at the 1.7.0 tag), and the latter I'm having issues with, I'm in the process of figuring out whats going on there.

Comment 32 Ville Skyttä 2014-07-03 07:40:03 UTC
The build is still not using RPM_OPT_FLAGS (including the security related ones) nor documenting why it is not doing so in the specfile. One of those is a MUST in the packaging guidelines, see link in comment 29.

Also, the release tag of the latest revision makes it older than the previous one as far as rpm is concerned; instead of 0.9.1 it should have been e.g. 0.10:

$ rpmdev-vercmp 1.0.7-0.9.20140603git5ebbb1728 1.0.7-0.9.1.20140603git5ebbb1728
1.0.7-0.9.20140603git5ebbb1728 > 1.0.7-0.9.1.20140603git5ebbb1728

Comment 33 Neil Horman 2014-07-03 11:45:44 UTC
Ville, please read comments before responding, I made specific note of why we're not using RPM_OPT_FLAGS in this, and I'm not changing that.

Comment 34 Ville Skyttä 2014-07-03 12:23:27 UTC
I have read the comments, and I see that the specfile now contains some mention of RPM_OPT_FLAGS.  However I think that's not a real rationale, and it's _far_ from specific -- it doesn't even begin to explain why things like -O2 -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -mtune=generic would "conflict with flags the package sets" and why it is important to leave some of those out or override e.g. -O2 with -O3 for this package. Or why it for example builds with -march=core2 and all those things that look like they assume SSE/SSE2/SSE3/SSSE3 features being present (haven't checked the source on this though) when the target is i686 which includes things much older than core2 and where various SSE levels can't be assumed present.

Comment 35 Neil Horman 2014-07-03 13:51:24 UTC
Ville, go look at the dpdk site to understand what the library does and how it is put together please.  I'm not saying its well designed, I'm just saying thats how it is.

Until then, I'm done with this.

Comment 36 Ville Skyttä 2014-07-11 08:01:42 UTC
(In reply to Neil Horman from comment #35)
> Ville, go look at the dpdk site to understand what the library does and how
> it is put together please.

No, that would be a waste of my time, and asking me to do that is proof that I haven't been able to communicate what the guidelines demand from packagers even by pointing them out and asking further specific questions in case they aren't clear, or that you don't seem to care. Either way continuing here would also feel a waste of my time, so I've escalated the issue to FESCo.

https://fedorahosted.org/fesco/ticket/1323

Comment 37 Thomas Monjalon 2014-07-11 12:24:18 UTC
Hi Ville and Neil,

Maybe I can help with CFLAGS issue but I'm not sure to understand the problem.
Please could you summarize it?

Why the ticket is closed?

Thanks

Comment 38 Neil Horman 2014-07-11 13:01:52 UTC
The ticket is closed because the package is integrated into fedora, so theres no need to keep it open any more.

The CFLAGS issue is a tricky one.  Ville wants me to do a few things, chief among them build the dpdk with the RPM_OPT_FLAGS macro.  This is a large set of compiler flags that is used to enforce security policy in fedora built packages.  Unfortunately doing so has several problems, among them the fact that several compiler flags in RPM_OPT_FLAGS conflict with compiler flags that the dpdk build sets internally.  Add to that the EXTRA_CFLAGS macro doesn't seem to apply to all sources, and doesn't always parse properly, leading a large series of breaks in the build (both at compile time, and in the package).  When Ville says I don't care, I'm really just not that worried about it, given that the Fedora DPDK is an unoptimized build for which there is general consensus that no one will build a product out of the package without a complete rebuild of the libraries anyway.

I've not managed to compile a complete list of build breaks for adding RPM_OPT_FLAGS yet, but if you want to take a look, you are more than welcome to.  I'm on vacation for the next week, but will be checking my email if you have questions on how to do anything.  Otherwise I'll get back to this once I get home.

Comment 39 Thomas Monjalon 2014-07-11 13:23:26 UTC
OK, I understand better.

Patches would be better accepted if Ville was explaining this issue on the mailing list.
So I strongly suggest Ville to join dev and explains his concern there.
Thanks

Comment 40 Neil Horman 2014-07-11 13:29:13 UTC
Its not his responsibility to do so, its mine.  He's just playing policeman.  I'm just not worried about it yet, because no one will use the dpdk as its currently built in a production environment.  We'll get it fixed eventually, Ville is just being a blowhard.

Comment 41 John W. Linville 2014-07-17 19:38:44 UTC
re: comment 34

Upstream DPDK is a performance-oriented project.  By default, it uses a variety of compiler optimizations specific to the machine where it is built in order to squeeze as much performance from that machine as possible.

In many ways, packaging for Fedora is an alien environment for DPDK.  Fedora requires a generic package that runs generically on all machines of the same architecture (more or less).  That is the source of the tension here.

Most likely, no one will use a generic Fedora DPDK package for deploying an app.  But they might use it for development.  Since that is our target, we can live with more generic compiler options.  Given that, I think we can use the EXTRA_CFLAGS option to include the %{optflags}.  Also, we can specify CONFIG_RTE_MACHINE=default to build for a least-common-denominator machine.

Unfortunately, I can not get i686 to build when specifying the machine type (default or otherwise) and using the Fedora build options.  I am removing %{ix86} from the ExclusiveArch line in dpdk.spec.

I'll attach a patch with my proposed changes to the package.  I have done a scratch build here:

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

Please let me know ASAP if anyone has any severe problem with these changes...thanks!

Comment 42 John W. Linville 2014-07-17 19:40:22 UTC
Created attachment 918804 [details]
proposed-guidline-fixups.patch

Patch with proposed package overhaul to satisfy guidelines...

Comment 43 John W. Linville 2014-07-17 23:45:24 UTC
Created attachment 918861 [details]
proposed-guidline-fixups.patch

Post the correct/current version of the patch...

Comment 44 Neil Horman 2014-07-18 12:51:42 UTC
John, first, thanks for taking a look at this.  Second, I'm fine with removing i686 if its just not building with optflags in place.  lastly, i notice you removed the custom config files I had, which turned on several pmd's that were not otherwise enabled.  Did you patch those config changes into the shipping configs?  I didn't see that in your patch.

Comment 45 John W. Linville 2014-07-18 13:29:52 UTC
Created attachment 919088 [details]
proposed-guideline-fixups.patch

Retry...not sure what that last patch was...

Comment 46 John W. Linville 2014-07-18 13:32:37 UTC
Sorry about the busted patch posting -- not sure what happened, must have been in a hurry...

I patch the config to turn-on the PCAP PMD and turn-off the hardware PMDs that require kernel support.  I _think_ all the right libraries are there, but please do check to be sure!


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