| Summary: | Review Request: iprange - Manage IP ranges | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Michael Hampton <error> |
| Component: | Package Review | Assignee: | Antonio T. (sagitter) <anto.trande> |
| Status: | CLOSED CANTFIX | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | rawhide | CC: | mist, package-review, rfrancis |
| Target Milestone: | --- | Flags: | anto.trande:
fedora-review?
|
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2016-10-21 21:27:40 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Bug Depends On: | |||
| Bug Blocks: | 1199465 | ||
|
Description
Michael Hampton
2016-04-26 00:15:11 UTC
Why not create manpage by using 'help2man ?
Package approved.
Package Review
==============
Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed
===== MUST items =====
C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: 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: "MIT/X11 (BSD like)", "GPL (v2 or later)", "Unknown or
generated". 8 files have unknown license. Detailed output of
licensecheck in
/home/sagitter/FedoraReview/1330343-iprange/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[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.
[-]: 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.
[-]: Large documentation must go in a -doc subpackage. Large could be size
(~1MB) or number of files.
Note: Documentation size is 10240 bytes in 1 files.
[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 %license.
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any
that are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as
provided in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
%{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local
===== SHOULD items =====
Generic:
[-]: If the source package does not include license text(s) as a separate
file from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[-]: Fully versioned dependency in subpackages if applicable.
Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in iprange-
debuginfo
[ ]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: 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]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
$RPM_BUILD_ROOT)
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Uses parallel make %{?_smp_mflags} macro.
[x]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.
===== EXTRA items =====
Generic:
[x]: Rpmlint is run on debuginfo package(s).
Note: No rpmlint messages.
[x]: Rpmlint is run on all installed packages.
Note: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package
is arched.
[x]: Spec file according to URL is the same as in SRPM.
Rpmlint
-------
Checking: iprange-1.0.2-1.fc25.x86_64.rpm
iprange-debuginfo-1.0.2-1.fc25.x86_64.rpm
iprange-1.0.2-1.fc25.src.rpm
iprange.x86_64: W: no-manual-page-for-binary iprange
3 packages and 0 specfiles checked; 0 errors, 1 warnings.
Rpmlint (debuginfo)
-------------------
Checking: iprange-debuginfo-1.0.2-1.fc25.x86_64.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
Rpmlint (installed packages)
----------------------------
iprange.x86_64: W: no-manual-page-for-binary iprange
2 packages and 0 specfiles checked; 0 errors, 1 warnings.
Requires
--------
iprange-debuginfo (rpmlib, GLIBC filtered):
iprange (rpmlib, GLIBC filtered):
libc.so.6()(64bit)
libpthread.so.0()(64bit)
rtld(GNU_HASH)
Provides
--------
iprange-debuginfo:
iprange-debuginfo
iprange-debuginfo(x86-64)
iprange:
iprange
iprange(x86-64)
Source checksums
----------------
http://firehol.org/download/iprange/latest/iprange-1.0.2.tar.xz :
CHECKSUM(SHA256) this package : 5a136728d7ed27b94fd0c5e6307b7bae9ab3795f4006cbfab353ea2a77503d2e
CHECKSUM(SHA256) upstream package : 5a136728d7ed27b94fd0c5e6307b7bae9ab3795f4006cbfab353ea2a77503d2e
Generated by fedora-review 0.6.0 (7737a2a) last change: 2015-11-26
Command line :./try-fedora-review -m fedora-rawhide-x86_64 -b 1330343
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, DISTTAG, EPEL5, BATCH, EPEL6
A problem is, that the haproxy package also contains a binary named iprange, which seems to be not compatible with firehols iprange. (In reply to Jens Lody from comment #2) > A problem is, that the haproxy package also contains a binary named iprange, > which seems to be not compatible with firehols iprange. We need to resolve this conflict: http://fedoraproject.org/wiki/Packaging:Conflicts#Incompatible_Binary_Files_with_Conflicting_Naming_.28and_stubborn_upstreams.29 (In reply to Antonio Trande from comment #3) > (In reply to Jens Lody from comment #2) > > A problem is, that the haproxy package also contains a binary named iprange, > > which seems to be not compatible with firehols iprange. > > We need to resolve this conflict: > http://fedoraproject.org/wiki/Packaging: > Conflicts#Incompatible_Binary_Files_with_Conflicting_Naming_. > 28and_stubborn_upstreams.29 I have contacted upstream for both packages and will be awaiting their response before proceeding further. Upstream did not seem very interested in resolving this conflict, and I no longer have the time to deal with it. Someone else can try to pick this up in the future, if there is interest. [Disclaimer: very very new to this. But I have a thought that seemed worth sharing, and is relevant.] Having run across this, I dig some digging in both sources and have an observation and a perhaps naive question: why is contrib/iprange in the haproxy dist being installed in _bindir anyway? It's excessively special purpose (and a little cantankerous -- the input file has to have at least one extra character after the two IPs or it ignores the line, which yes, is fixable, but that's not my point) and, in fact, the iprange package in question here can do the same thing with a little work: Input file (input.txt): # two spaces because contrib/iprange from haproxy eats the first space as per my parenthetical above 139.78.140.0,139.78.143.255 # this is a range From haproxy/contrib/iprange: $ ./iprange < input.txt 139.78.140.0/22 this is a range From iprange per github:firehol/iprange: $ paste <(cut -d" " -f1 input.txt | sed "s/,/-/" | ./iprange -) <(cut -d" " -f2- input.txt) 139.78.140.0/22 # this is a range Okay, a little kludgy, but on the other hand, the one from haproxy's contrib eats characters anyway, so... My point is that I don't really understand why contrib/iprange from haproxy needs to be installed in _bindir instead of making the contrib source available under /usr/share/doc -- in point of fact, the current package appears to be throwing away everything under contrib but halog and iprange -- and then the problem here goes away. :-) A naive suggestion. The number of users that want haproxy OR firehol is much greater than the number of users that want haproxy AND firehol. Mark haproxy as conflicting with iprange. Mark iprange as conflicting with haproxy. Get the new iprange out as a package. Get the new firehol out as a package. Problem temporarily resolved. A large number of users are then happy. A small number of users are unhappy. The small number of users who need both packages then complain. In time, the unhappy user's complaint is pushed up the Fedora chain of command. Fedora higher-ups determine which package remains named iprange, and the new name of the package that does not remain named iprange. Packages are then renamed. Problem solved. Calling this problem "CANTFIX" is screwing the larger population of users who want firehol OR haproxy, to temporarily protect a tiny population of users who want to use both firehol AND haproxy. And as soon as that tiny population complains, there is a procedure to resolve their issue. Please, can someone move this forward? |