Bug 1036320 - Review Request: nftables - Netfilter Tables userspace utillites
Summary: Review Request: nftables - Netfilter Tables userspace utillites
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Christopher Meng
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1036319
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-11-30 21:54 UTC by Kevin Fenzi
Modified: 2014-03-26 21:09 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-03-26 21:09:42 UTC
Type: ---
Embargoed:
i: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)
update notification with special email/message icon next to kdelibs entry (66.79 KB, image/png)
2014-02-22 13:19 UTC, Piotr Dobrogost
no flags Details

Description Kevin Fenzi 2013-11-30 21:54:42 UTC
Spec URL: http://www.scrye.com/~kevin/fedora/review/nftables/nftables.spec
SRPM URL: http://www.scrye.com/~kevin/fedora/review/nftables/nftables-0.0-0.1.20131130git.fc21.src.rpm
Description:
Netfilter Tables userspace utilities

Fedora Account System Username: kevin

Note that this package needs the libnftables library to build/function.

Comment 1 Kevin Fenzi 2013-12-03 20:32:49 UTC
Updated to use upstream snapshot repo for sources and changed versioning to 0 instead of 0.0:

Spec URL: http://www.scrye.com/~kevin/fedora/review/nftables/nftables.spec
SRPM URL: http://www.scrye.com/~kevin/fedora/review/nftables/nftables-0-0.2.20131202git.fc21.src.rpm

Comment 2 Michael Schwendt 2014-01-09 18:54:26 UTC
Starting with "fedora-review -b 1036320", which finds a few issues:

GPL (v2 or later) (with incorrect FSF address)
----------------------------------------------
/var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/nftables-20131202/include/rbtree.h
/var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/nftables-20131202/src/rbtree.c


A closer look (at the file COPYING) reveals:

| nftables is distributed under the terms of the GPL version 2.
| Note that *only* version 2 of the GPL applies, not "any later
| version".

So, that trumps the "or later" clause in the rbtree.* source files and the spec file ought to be "License: GPLv2".

 * https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#.22or_later_version.22_licenses

 * https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#License_Clarification

 * https://fedoraproject.org/wiki/Common_Rpmlint_issues#incorrect-fsf-address


> nftables.x86_64: W: incoherent-version-in-changelog 0-0.2
> ['0-0.2.20131202git.fc21', '0-0.2.20131202git']

True.


> nftables.x86_64: E: executable-marked-as-config-file /etc/nftables/ipv6-filter
> nftables.x86_64: E: wrong-script-interpreter /etc/nftables/ipv6-filter nft
> nftables.x86_64: E: executable-marked-as-config-file /etc/nftables/ipv6-nat
> nftables.x86_64: E: wrong-script-interpreter /etc/nftables/ipv6-nat nft
> nftables.x86_64: E: executable-marked-as-config-file /etc/nftables/ipv4-mangle
> nftables.x86_64: E: wrong-script-interpreter /etc/nftables/ipv4-mangle nft
> nftables.x86_64: E: executable-marked-as-config-file /etc/nftables/bridge-filter
> nftables.x86_64: E: wrong-script-interpreter /etc/nftables/bridge-filter nft
> nftables.x86_64: E: executable-marked-as-config-file /etc/nftables/ipv4-filter
> nftables.x86_64: E: wrong-script-interpreter /etc/nftables/ipv4-filter nft
> nftables.x86_64: E: executable-marked-as-config-file /etc/nftables/ipv6-mangle
> nftables.x86_64: E: wrong-script-interpreter /etc/nftables/ipv6-mangle nft
> nftables.x86_64: E: executable-marked-as-config-file /etc/nftables/ipv4-nat
> nftables.x86_64: E: wrong-script-interpreter /etc/nftables/ipv4-nat nft

Tough ones by design. Rpmlint tells:

'''Executables must not be marked as config files because that may
prevent upgrades from working correctly. If you need to be able to
customize an executable, make it for example read a config file in
/etc/sysconfig.''',


The interpreter "nft" without path /usr/sbin is fragile.


> nftables.x86_64: W: no-manual-page-for-binary nft

build.log contains something that could be related:

checking for docbook2x-man... n
configure: WARNING: docbookx2-man not found, no manpages will be built
checking for db2pdf... n
configure: WARNING: db2pdf not found, no PDF manpages will be built


> %install
> rm -rf $RPM_BUILD_ROOT

Killing buildroot is only needed for EL5:
https://fedoraproject.org/wiki/Packaging:Guidelines#BuildRoot_tag


> %config(noreplace) %{_sysconfdir}/nftables

A growing number of packagers add a trailing slash to such lines in %files to be explicit that this is not a single file but a directory:

%config(noreplace) %{_sysconfdir}/nftables/


> build.log

Build output is non-verbose, so one cannot see/verify preprocessor definitions and compiler optflags. This is because in Makefile.rules (at the very bottom) it explicitly calls "$(MAKE) -s" for the subdirs.

Comment 3 Kevin Fenzi 2014-01-11 19:22:08 UTC
Many thanks in advance for the comments... 

(In reply to Michael Schwendt from comment #2)
> Starting with "fedora-review -b 1036320", which finds a few issues:
> 
> GPL (v2 or later) (with incorrect FSF address)
> ----------------------------------------------
> /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/nftables-
> 20131202/include/rbtree.h
> /var/lib/mock/fedora-rawhide-x86_64/root/builddir/build/BUILD/nftables-
> 20131202/src/rbtree.c

Will note it to upstream. 

> 
> A closer look (at the file COPYING) reveals:
> 
> | nftables is distributed under the terms of the GPL version 2.
> | Note that *only* version 2 of the GPL applies, not "any later
> | version".
> 
> So, that trumps the "or later" clause in the rbtree.* source files and the
> spec file ought to be "License: GPLv2".

Good eye. Will fix. 

> > nftables.x86_64: W: incoherent-version-in-changelog 0-0.2
> > ['0-0.2.20131202git.fc21', '0-0.2.20131202git']
> 
> True.

Will fix.  

> > nftables.x86_64: E: executable-marked-as-config-file /etc/nftables/ipv6-filter
> > nftables.x86_64: E: wrong-script-interpreter /etc/nftables/ipv6-filter nft
> > nftables.x86_64: E: executable-marked-as-config-file /etc/nftables/ipv6-nat
> > nftables.x86_64: E: wrong-script-interpreter /etc/nftables/ipv6-nat nft
> > nftables.x86_64: E: executable-marked-as-config-file /etc/nftables/ipv4-mangle
> > nftables.x86_64: E: wrong-script-interpreter /etc/nftables/ipv4-mangle nft
> > nftables.x86_64: E: executable-marked-as-config-file /etc/nftables/bridge-filter
> > nftables.x86_64: E: wrong-script-interpreter /etc/nftables/bridge-filter nft
> > nftables.x86_64: E: executable-marked-as-config-file /etc/nftables/ipv4-filter
> > nftables.x86_64: E: wrong-script-interpreter /etc/nftables/ipv4-filter nft
> > nftables.x86_64: E: executable-marked-as-config-file /etc/nftables/ipv6-mangle
> > nftables.x86_64: E: wrong-script-interpreter /etc/nftables/ipv6-mangle nft
> > nftables.x86_64: E: executable-marked-as-config-file /etc/nftables/ipv4-nat
> > nftables.x86_64: E: wrong-script-interpreter /etc/nftables/ipv4-nat nft
> 
> Tough ones by design. Rpmlint tells:
> 
> '''Executables must not be marked as config files because that may
> prevent upgrades from working correctly. If you need to be able to
> customize an executable, make it for example read a config file in
> /etc/sysconfig.''',
>  
> The interpreter "nft" without path /usr/sbin is fragile.

Indeed. Just changing this to /usr/sbin/nft isn't a full solution tho. I'll talk to upstream. Perhaps they could be moved to /usr/share or libexec. 
> 
> > nftables.x86_64: W: no-manual-page-for-binary nft
> 
> build.log contains something that could be related:
> 
> checking for docbook2x-man... n
> configure: WARNING: docbookx2-man not found, no manpages will be built
> checking for db2pdf... n
> configure: WARNING: db2pdf not found, no PDF manpages will be built

Sadly, no. I tried a number of things to get that working, but it seems to just be a stub. At least in that version. Will see if I can get it working with the newest version. 

> 
> > %install
> > rm -rf $RPM_BUILD_ROOT
> 
> Killing buildroot is only needed for EL5:
> https://fedoraproject.org/wiki/Packaging:Guidelines#BuildRoot_tag

Sure wish rawhides rpmdev-newspec didn't add it. ;) 
> 
> 
> > %config(noreplace) %{_sysconfdir}/nftables
> 
> A growing number of packagers add a trailing slash to such lines in %files
> to be explicit that this is not a single file but a directory:
> 
> %config(noreplace) %{_sysconfdir}/nftables/

sure. 
> 
> > build.log
> 
> Build output is non-verbose, so one cannot see/verify preprocessor
> definitions and compiler optflags. This is because in Makefile.rules (at the
> very bottom) it explicitly calls "$(MAKE) -s" for the subdirs.

Yep. Will patch/talk to upstream. 

Thanks for the feedback, will post a new version soon...

Comment 4 Kevin Fenzi 2014-01-18 23:18:25 UTC
ok, fixed a bunch of stuff. 

On the /etc/nftables/* scripts, some more background. They are scripts that when run give you a set of chains like the current iptables setup (but implemented by nft). Upstream expects that some people will want to start with that setup and then add their own setup on top (thus why they are in /etc). If I make them non executable, find-debuginfo breaks. I could move them to /usr/share or make them call something in /etc/sysconfig, but I think this development is too early to decide that, so I would prefer to just leave them in the upstream location for now. 

SPEC: http://www.scrye.com/~kevin/fedora/review/nftables/nftables.spec
SRPM: http://www.scrye.com/~kevin/fedora/review/nftables/nftables-0-0.3.20140118git.fc21.src.rpm

Comment 5 Account closed by the user 2014-01-20 20:40:11 UTC
FYI, [ANNOUNCE]: Release of nftables 0.099
http://marc.info/?l=linux-netdev&m=139022351723838

Comment 6 Christopher Meng 2014-01-21 06:31:33 UTC
Hmm...

Dependency has been renamed!

http://netfilter.org/projects/libnftnl/

Comment 7 Michael Schwendt 2014-01-21 12:18:34 UTC
> Dependency has been renamed!

Haha! It would have been better to not review that one so quickly.

Just kidding. Temporarily adding Provides to libnftables for virtual package names may suffice as a quick work-around,

  Provides: libnftnl%{?_isa} = %{version}-%{release}
  %{?_isa:Provides: libnftnl = %{version}-%{release}

and a corresponding thing in the -devel pkg.

Hopefully upstream will not rename again, and then a single Rename Request could be opened.

[...]

> If I make them non executable, find-debuginfo breaks.

That would be very unusual. They are only scripts.


> I think this development is too early to decide that

True. Being aware of the dangers is what's important, and rpmlint output must be mentioned in the review to meet the guidelines. If a future update wants to modify the scripts, but the user has modified them before, RPM treating them like config files may lead to problems depending on how/when the files get executed. That's less of a problem, if only the user runs them manually. More of a problem, if they get integrated somehow (even if only the user does that after modifying them) and if they would not run anymore without errors. That could be worse than incompatible changes to a config file, but of course, in upgrades one can break ordinary config files, too (with the important changes only entering the .rpmnew file).

Currently, the scripts look more like examples for "nft -f …", IMO.

Comment 8 Kevin Fenzi 2014-01-21 15:26:39 UTC
(In reply to Michael Schwendt from comment #7)
> > Dependency has been renamed!
> 
> Haha! It would have been better to not review that one so quickly.
> 
> Just kidding. Temporarily adding Provides to libnftables for virtual package
> names may suffice as a quick work-around,
> 
>   Provides: libnftnl%{?_isa} = %{version}-%{release}
>   %{?_isa:Provides: libnftnl = %{version}-%{release}
> 
> and a corresponding thing in the -devel pkg.
> 
> Hopefully upstream will not rename again, and then a single Rename Request
> could be opened.

I'm waiting for things to stablize a bit upstream before filing a new review request on libnftnl. 
(for example, the 1.0.0 release has a horribly broken pkgconfig with the old names still in it). 

> 
> [...]
> 
> > If I make them non executable, find-debuginfo breaks.
> 
> That would be very unusual. They are only scripts.

Indeed, and now I can't duplicate it. ;)

> 
> > I think this development is too early to decide that
> 
> True. Being aware of the dangers is what's important, and rpmlint output
> must be mentioned in the review to meet the guidelines. If a future update
> wants to modify the scripts, but the user has modified them before, RPM
> treating them like config files may lead to problems depending on how/when
> the files get executed. That's less of a problem, if only the user runs them
> manually. More of a problem, if they get integrated somehow (even if only
> the user does that after modifying them) and if they would not run anymore
> without errors. That could be worse than incompatible changes to a config
> file, but of course, in upgrades one can break ordinary config files, too
> (with the important changes only entering the .rpmnew file).
> 
> Currently, the scripts look more like examples for "nft -f …", IMO.

Right. A lot of it will depend on how Fedora intends to move forward to it and how firewalld and other consumers want things setup. For now, I think just shipping them as config files for people who want a basic iptables-like setup makes sense. 

Anyhow, will soon send in a new review for libnftnl and once thats finished up, will update this review to use that. 

Thanks for all the comments.

Comment 9 Kevin Fenzi 2014-01-26 00:50:39 UTC
Updated: 

Spec URL: http://www.scrye.com/~kevin/fedora/review/nftables/nftables.spec
SRPM URL: http://www.scrye.com/~kevin/fedora/review/nftables/nftables-0.0-0.4.20140125git.fc21.src.rpm

* Sat Jan 25 2014 Kevin Fenzi <kevin> 0-0.4.20140125git
- Update to 20140125 snapshot

* Sat Jan 18 2014 Kevin Fenzi <kevin> 0-0.3.20140118git
- Update to 20140118 snapshot
- Fixed License tag to be correct
- Fixed changelog
- nft scripts now use full path for nft
- Fixed man page building
- Dropped unneeded rm in install
- Patched build to not be silent.·

Comment 10 Account closed by the user 2014-01-26 00:58:17 UTC
(In reply to Kevin Fenzi from comment #9)

> * Sat Jan 25 2014 Kevin Fenzi <kevin> 0-0.4.20140125git
> - Update to 20140125 snapshot

You can use stable releases instead snapshots.
The latest is nftables-0.100 at http://ftp.netfilter.org/pub/nftables/

0.099 was announced days ago as "the first regular release intended for users" : http://marc.info/?l=linux-netdev&m=139022351723838

Comment 11 Kevin Fenzi 2014-01-26 01:34:27 UTC
Since the 1.0.0 version of libnftnl is broken, I was going to wait for the next round of stables to update that and this.

Comment 12 Piotr Dobrogost 2014-02-22 13:19:40 UTC
Created attachment 866380 [details]
update notification with special email/message icon next to kdelibs entry

Why do I see this email/message icon next to kdelibs entry in update notification?

Comment 13 Piotr Dobrogost 2014-02-22 13:20:56 UTC
Sorry, wrong bug. Please disregard comment 12.

Comment 14 Kevin Fenzi 2014-03-08 17:52:48 UTC
Updated: 

Spec URL: http://www.scrye.com/~kevin/fedora/review/nftables/nftables.spec
SRPM URL: http://www.scrye.com/~kevin/fedora/review/nftables/nftables-0-0.5.20140307git.fc21.src.rpm

Just a version update to sync it up with the libnftnl.

Comment 15 Christopher Meng 2014-03-14 04:29:02 UTC
Hmmmm.....

When should I review this? I just saw 20140313...

Comment 16 Kevin Fenzi 2014-03-14 14:46:40 UTC
Anytime.

Comment 17 Christopher Meng 2014-03-21 10:06:16 UTC
Please update to git snapshot 20130321 at least when you see the bugzilla email.

Then I will start the formal review. ;)

Comment 18 Christopher Meng 2014-03-21 10:14:55 UTC
/2013/2014/

Comment 20 Christopher Meng 2014-03-25 04:18:36 UTC
Package Review
==============

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




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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[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]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "GPL (v2 or later) (with incorrect FSF address)", "GPL (v2)", "Unknown or
     generated". 29 files have unknown license. Detailed output of
     licensecheck:

GPL (v2 or later) (with incorrect FSF address)
----------------------------------------------
nftables-20140324/include/rbtree.h
nftables-20140324/src/rbtree.c

GPL (v2)
--------
nftables-20140324/src/cli.c
nftables-20140324/src/ct.c
nftables-20140324/src/datatype.c
nftables-20140324/src/erec.c
nftables-20140324/src/evaluate.c
nftables-20140324/src/expression.c
nftables-20140324/src/exthdr.c
nftables-20140324/src/gmputil.c
nftables-20140324/src/main.c
nftables-20140324/src/meta.c
nftables-20140324/src/mnl.c
nftables-20140324/src/netlink.c
nftables-20140324/src/netlink_delinearize.c
nftables-20140324/src/netlink_linearize.c
nftables-20140324/src/payload.c
nftables-20140324/src/proto.c
nftables-20140324/src/rule.c
nftables-20140324/src/segtree.c
nftables-20140324/src/statement.c
nftables-20140324/src/utils.c

Unknown or generated
--------------------
nftables-20140324/autogen.sh
nftables-20140324/include/ct.h
nftables-20140324/include/datatype.h
nftables-20140324/include/erec.h
nftables-20140324/include/expression.h
nftables-20140324/include/exthdr.h
nftables-20140324/include/gmputil.h
nftables-20140324/include/headers.h
nftables-20140324/include/linux/netfilter.h
nftables-20140324/include/linux/netfilter/nf_conntrack_common.h
nftables-20140324/include/linux/netfilter/nf_conntrack_tuple_common.h
nftables-20140324/include/linux/netfilter/nf_tables.h
nftables-20140324/include/linux/netfilter/nfnetlink.h
nftables-20140324/include/linux/netfilter_arp.h
nftables-20140324/include/linux/netfilter_bridge.h
nftables-20140324/include/linux/netfilter_decnet.h
nftables-20140324/include/linux/netfilter_ipv4.h
nftables-20140324/include/linux/netfilter_ipv6.h
nftables-20140324/include/list.h
nftables-20140324/include/meta.h
nftables-20140324/include/mnl.h
nftables-20140324/include/netlink.h
nftables-20140324/include/nftables.h
nftables-20140324/include/parser.h
nftables-20140324/include/payload.h
nftables-20140324/include/proto.h
nftables-20140324/include/rule.h
nftables-20140324/include/statement.h
nftables-20140324/include/utils.h

[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.
[-]: 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.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 30720 bytes in 2 files.
[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]: If (and only if) the source package includes the text of the license(s)
     in its own file, then that file, containing the text of the license(s)
     for the package is included in %doc.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: 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]: %config files are marked noreplace or the reason is justified.
[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]: No %config files under /usr.
[x]: Package do not use a name that already exist
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

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

Generic:
[x]: 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.
[x]: 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]: 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]: Uses parallel make %{?_smp_mflags} macro.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

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

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[x]: Package should not use obsolete m4 macros


Rpmlint
-------
Checking: nftables-0-0.6.20140324git.fc21.i686.rpm
          nftables-0-0.6.20140324git.fc21.src.rpm
nftables.i686: W: spelling-error Summary(en_US) Netfilter -> Net filter, Net-filter, Filterer
nftables.i686: W: spelling-error Summary(en_US) userspace -> user space, user-space, users pace
nftables.i686: W: spelling-error Summary(en_US) utillites -> utilizes, illiterates, titillates
nftables.i686: W: spelling-error %description -l en_US Netfilter -> Net filter, Net-filter, Filterer
nftables.i686: W: spelling-error %description -l en_US userspace -> user space, user-space, users pace
nftables.i686: E: executable-marked-as-config-file /etc/nftables/inet-filter
nftables.i686: E: executable-marked-as-config-file /etc/nftables/ipv6-filter
nftables.i686: E: executable-marked-as-config-file /etc/nftables/ipv6-nat
nftables.i686: E: executable-marked-as-config-file /etc/nftables/ipv4-mangle
nftables.i686: E: executable-marked-as-config-file /etc/nftables/bridge-filter
nftables.i686: W: spurious-executable-perm /usr/share/man/man8/nftables.8.gz
nftables.i686: E: executable-marked-as-config-file /etc/nftables/ipv4-filter
nftables.i686: E: executable-marked-as-config-file /etc/nftables/ipv6-mangle
nftables.i686: E: executable-marked-as-config-file /etc/nftables/ipv4-nat
nftables.i686: W: no-manual-page-for-binary nft
nftables.src: W: spelling-error Summary(en_US) Netfilter -> Net filter, Net-filter, Filterer
nftables.src: W: spelling-error Summary(en_US) userspace -> user space, user-space, users pace
nftables.src: W: spelling-error Summary(en_US) utillites -> utilizes, illiterates, titillates
nftables.src: W: spelling-error %description -l en_US Netfilter -> Net filter, Net-filter, Filterer
nftables.src: W: spelling-error %description -l en_US userspace -> user space, user-space, users pace
2 packages and 0 specfiles checked; 8 errors, 12 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint nftables
nftables.i686: W: spelling-error Summary(en_US) Netfilter -> Net filter, Net-filter, Filterer
nftables.i686: W: spelling-error Summary(en_US) userspace -> user space, user-space, users pace
nftables.i686: W: spelling-error Summary(en_US) utillites -> utilizes, illiterates, titillates
nftables.i686: W: spelling-error %description -l en_US Netfilter -> Net filter, Net-filter, Filterer
nftables.i686: W: spelling-error %description -l en_US userspace -> user space, user-space, users pace
nftables.i686: E: executable-marked-as-config-file /etc/nftables/inet-filter
nftables.i686: E: executable-marked-as-config-file /etc/nftables/ipv6-filter
nftables.i686: E: executable-marked-as-config-file /etc/nftables/ipv6-nat
nftables.i686: E: executable-marked-as-config-file /etc/nftables/ipv4-mangle
nftables.i686: E: executable-marked-as-config-file /etc/nftables/bridge-filter
nftables.i686: W: spurious-executable-perm /usr/share/man/man8/nftables.8.gz
nftables.i686: E: executable-marked-as-config-file /etc/nftables/ipv4-filter
nftables.i686: E: executable-marked-as-config-file /etc/nftables/ipv6-mangle
nftables.i686: E: executable-marked-as-config-file /etc/nftables/ipv4-nat
nftables.i686: W: no-manual-page-for-binary nft
1 packages and 0 specfiles checked; 8 errors, 7 warnings.
# echo 'rpmlint-done:'



Requires
--------
nftables (rpmlib, GLIBC filtered):
    /usr/sbin/nft
    config(nftables)
    libc.so.6
    libgmp.so.10
    libmnl.so.0
    libmnl.so.0(LIBMNL_1.0)
    libnftnl.so.0
    libnftnl.so.0(LIBNFTNL_1.0)
    libnftnl.so.0(LIBNFTNL_1.1)
    libreadline.so.6
    rtld(GNU_HASH)



Provides
--------
nftables:
    config(nftables)
    nftables
    nftables(x86-32)



Source checksums
----------------
http://ftp.netfilter.org/pub/nftables/snapshot/nftables-20140324.tar.bz2 :
  CHECKSUM(SHA256) this package     : 9906aaf4812558f669a4622b1333c864e813a412f1e376bf3ae4b5aeec21a780
  CHECKSUM(SHA256) upstream package : 9906aaf4812558f669a4622b1333c864e813a412f1e376bf3ae4b5aeec21a780


Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13
Command line :/usr/bin/fedora-review -rvn nftables-0-0.6.20140324git.fc21.src.rpm
Buildroot used: fedora-rawhide-i386
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

===========
1. Fix E: executable-marked-as-config-file.

2. I still can see:

  SUBDIR	src/
  SUBDIR	files/
make[1]: Entering directory `/builddir/build/BUILD/nftables-20140324'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/builddir/build/BUILD/nftables-20140324'
make[1]: Entering directory `/builddir/build/BUILD/nftables-20140324'
  SUBDIR	doc/
  LEX		src/scanner.l
/usr/bin/flex -t --header-file=src/scanner.h src/scanner.l > src/scanner.c
make[1]: Entering directory `/builddir/build/BUILD/nftables-20140324'
  MAN		doc/nftables.8
(cd doc/; db2x_docbook2man ../doc/nftables.xml)
  YACC		src/parser.y
/usr/bin/bison  --defines=src/parser.h.tmp -o src/parser.c src/parser.y
make[1]: Leaving directory `/builddir/build/BUILD/nftables-20140324'
  DEP		src/mnl.c

Have you tried --disable-silent-rules?

3. Thinking about iptables, does nftables have the needs of shipping systemd files? Actually ip(|6)tables use /usr/libexec/iptables/ip(|6)tables.init.

Comment 21 Kevin Fenzi 2014-03-25 21:17:09 UTC
Thanks for the review!

1. See earlier discussion about the /etc/nftables/ scripts. I think in this case it's valid to have them executable and still marked as config.

2. That isn't something this configure script understands: 
configure: WARNING: unrecognized options: --disable-silent-rules
I could patch the doc building to be more verbose, but how important is it? It shouldn't be needed to see compiler flags or anything... 

3. It doesn't currently. It's just the command line utils. Perhaps someday it would grow some functionality around that, but it might never do so and just depend on things that use it at a higher level like firewalld to save persistent rules.

Comment 22 Christopher Meng 2014-03-26 07:54:52 UTC
(In reply to Kevin Fenzi from comment #21)
> Thanks for the review!
> 
> 1. See earlier discussion about the /etc/nftables/ scripts. I think in this
> case it's valid to have them executable and still marked as config.

Ok.

> 2. That isn't something this configure script understands: 
> configure: WARNING: unrecognized options: --disable-silent-rules
> I could patch the doc building to be more verbose, but how important is it?
> It shouldn't be needed to see compiler flags or anything... 

Ok.

> 3. It doesn't currently. It's just the command line utils. Perhaps someday
> it would grow some functionality around that, but it might never do so and
> just depend on things that use it at a higher level like firewalld to save
> persistent rules.

Ok.

---------------------------------
nftables.i686: W: spurious-executable-perm /usr/share/man/man8/nftables.8.gz

Can you please ensure that it's 644 set? Please do this before SCM import.

PACKAGE APPROVED.

Comment 23 Kevin Fenzi 2014-03-26 18:36:02 UTC
Thanks!

Will fix the man page permission before importing... 

New Package SCM Request
=======================
Package Name: nftables
Short Description: Netfilter Tables userspace utilities
Owners: kevin twoerner jpopelka
Branches: devel
InitialCC:

Comment 24 Gwyn Ciesla 2014-03-26 19:03:23 UTC
Git done (by process-git-requests).

Comment 25 Kevin Fenzi 2014-03-26 21:09:42 UTC
Built in rawhide. Thanks!


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