Bug 239470 - Review Request: arping-ng - Sends IP and/or ARP pings (to the MAC address)
Review Request: arping-ng - Sends IP and/or ARP pings (to the MAC address)
Status: CLOSED DUPLICATE of bug 467157
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Jochen Schmitt
Fedora Package Reviews List
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-05-08 13:12 EDT by Sindre Pedersen Bjørdal
Modified: 2008-10-16 10:29 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-01-30 14:22:59 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
jochen: fedora‑review-


Attachments (Terms of Use)

  None (edit)
Description Sindre Pedersen Bjørdal 2007-05-08 13:12:54 EDT
Spec URL: http://folk.ntnu.no/sindrb/packages/green_nyc/arping.spec
SRPM URL: http://folk.ntnu.no/sindrb/packages/green_nyc/arping-2.05-1.fc7.src.rpm

Description:

The arping utility sends ARP and/or ICMP requests to the specified host
and displays the replies. The host may be specified by its hostname,
its IP address, or its MAC address.
Comment 1 Jochen Schmitt 2007-05-08 13:34:27 EDT
Good:
+ Naming seems ok.
+ Sources matches with upstream.
+ License seems ok.
+ Package contains verbatin copy of the license.
+ Mock build works fine.
+ Rpmlint is quite on binary rpm.


Bad:
- Local build fails with errors:
sleep 3
In file included from arping-2/arping.c:48:
/usr/include/libnet.h:87:2: error: #error "byte order has not been specified,
you'll need to #define either LIBNET_LIL_ENDIAN or LIBNET_BIG_ENDIAN.  See the
documentation regarding the libnet-config script."
arping-2/arping.c:94: error: expected '=', ',', ';', 'asm' or '__attribute__'
before '*' token
arping-2/arping.c: In function 'do_libnet_init':
arping-2/arping.c:128: error: 'libnet' undeclared (first use in this function)
arping-2/arping.c:128: error: (Each undeclared identifier is reported only once
arping-2/arping.c:128: error: for each function it appears in.)
arping-2/arping.c:138: error: 'LIBNET_LINK' undeclared (first use in this function)
arping-2/arping.c: In function 'pingmac_send':
arping-2/arping.c:394: error: expected '=', ',', ';', 'asm' or '__attribute__'
before 'icmp'
arping-2/arping.c:394: error: 'icmp' undeclared (first use in this function)
arping-2/arping.c:394: error: 'ipv4' undeclared (first use in this function)
arping-2/arping.c:394: error: 'eth' undeclared (first use in this function)
arping-2/arping.c:404: error: 'libnet' undeclared (first use in this function)
arping-2/arping.c:411: error: 'LIBNET_IPV4_H' undeclared (first use in this
function)
arping-2/arping.c:412: error: 'LIBNET_ICMPV4_ECHO_H' undeclared (first use in
this function)
arping-2/arping.c:424: warning: passing argument 9 of 'libnet_build_ipv4' makes
pointer from integer without a cast
arping-2/arping.c:424: warning: passing argument 10 of 'libnet_build_ipv4' makes
integer from pointer without a cast
arping-2/arping.c:424: error: too many arguments to function 'libnet_build_ipv4'
arping-2/arping.c:435: error: too many arguments to function 'libnet_build_ethernet'
arping-2/arping.c: In function 'pingip_send':
arping-2/arping.c:462: error: expected '=', ',', ';', 'asm' or '__attribute__'
before 'arp'
arping-2/arping.c:462: error: 'arp' undeclared (first use in this function)
arping-2/arping.c:462: error: 'eth' undeclared (first use in this function)
arping-2/arping.c:474: error: 'libnet' undeclared (first use in this function)
arping-2/arping.c:475: error: too many arguments to function 'libnet_build_arp'
arping-2/arping.c:486: error: too many arguments to function 'libnet_build_ethernet'
arping-2/arping.c: In function 'pingip_recv':
arping-2/arping.c:547: error: dereferencing pointer to incomplete type
arping-2/arping.c:565: error: dereferencing pointer to incomplete type
arping-2/arping.c:575: error: dereferencing pointer to incomplete type
arping-2/arping.c: In function 'pingmac_recv':
arping-2/arping.c:614: error: 'LIBNET_IPV4_H' undeclared (first use in this
function)
arping-2/arping.c:616: error: dereferencing pointer to incomplete type
arping-2/arping.c:617: error: dereferencing pointer to incomplete type
arping-2/arping.c:619: error: dereferencing pointer to incomplete type
arping-2/arping.c:623: error: dereferencing pointer to incomplete type
arping-2/arping.c:634: error: dereferencing pointer to incomplete type
arping-2/arping.c:636: error: dereferencing pointer to incomplete type
arping-2/arping.c:640: error: dereferencing pointer to incomplete type
arping-2/arping.c:645: error: dereferencing pointer to incomplete type
arping-2/arping.c:649: error: dereferencing pointer to incomplete type
arping-2/arping.c:655: error: dereferencing pointer to incomplete type
arping-2/arping.c:659: error: dereferencing pointer to incomplete type
arping-2/arping.c: In function 'main':
arping-2/arping.c:910: error: 'libnet' undeclared (first use in this function)
arping-2/arping.c:983: warning: passing argument 1 of 'strdup' makes pointer
from integer without a cast
arping-2/arping.c:1023: warning: passing argument 1 of 'strdup' makes pointer
from integer without a cast
arping-2/arping.c:1128: error: too few arguments to function 'libnet_get_hwaddr'
make: *** [arping-2/arping] Error 1
make: *** Waiting for unfinished jobs....
Fehler: Fehler-Status beim Beenden von /var/tmp/rpm-tmp.14424 (%build)
- $RPM_OPT_FLAGS was not used during the build.



 
Comment 2 Ville Skyttä 2007-05-08 14:17:06 EDT
Doesn't this conflict or at least cause lots of confusion with the arping tool
included in iputils?
Comment 3 Sindre Pedersen Bjørdal 2007-05-08 18:36:23 EDT
It does. I wasn't aware of the conflict. Does this package even make sense
considering the iputils arping tool is already available?
Comment 4 Patrice Dumas 2007-05-08 18:45:25 EDT
It depends on you. duplicate functionality is not an issue in Fedora.
But it would certainly be better if the name was not arping, maybe
synscan-arping or something else. And it shouldn't conflict with
existing packages. It may also happen that it doesn't have exactly
the same functionalities even though it has the same name in which
case it could make sense to package it.
Comment 5 manuel wolfshant 2007-05-08 18:57:37 EDT
Please do keep it, but change the name (I would go with arping-ng :) ). It has
additional functionality, compared to the one already included.
Comment 6 Sindre Pedersen Bjørdal 2007-05-08 19:22:56 EDT
Renamed package to arping-ng, hopefully this avoids any conflicts:

Spec URL: http://folk.ntnu.no/sindrb/packages/green_nyc/arping-ng.spec
SRPM URL: http://folk.ntnu.no/sindrb/packages/green_nyc/arping-ng-2.05-1.fc7.src.rpm

Don't know what to do about the build failure though. Suggestions?
Comment 7 manuel wolfshant 2007-05-08 19:27:39 EDT
The correct srpm url is 
http://folk.ntnu.no/sindrb/packages/green_nyc/arping-ng-2.05-2.fc7.src.rpm
Comment 8 manuel wolfshant 2007-05-08 19:41:33 EDT
Please don't forget to edit the description too, next time that you modify the
spec. The application is still referred to as "arping".

On my test computer the package built OK in mock, too. The only issue that I see
(and it is a show stoper!) is that during compile the default Fedora compiler
flags are ignored.

Jochen, could you please explain what did you do when you obtained the build
failure? By any chance, was it a rpmbuild -bb without having libnet-devel
installed ? Once compiling in mock succeeds, other build failures should not be
seen, AFAIK.
Comment 9 manuel wolfshant 2007-05-08 19:45:31 EDT
Can't figure how to rename the bug ticket, so I am adding an alias. Sindre,
please correct me if this was not your intent (given the rename of the spec &
binary I assume it is).
Comment 10 manuel wolfshant 2007-05-08 19:46:35 EDT
OK, I need some sleep. Editing summary.
Comment 11 Sindre Pedersen Bjørdal 2007-06-06 12:12:38 EDT
Was anyone able to reproduce the build failure as reported by Jochen Schmitt?
Comment 12 Patrice Dumas 2007-06-06 14:01:16 EDT
Maybe it is only on a specific target?

In any case I suggest instead of using the Makefile which
is not extremely useful, that you should just do everything
by hand, along

%{__cc} %{optflage} `libnet-config --defines --cflags` -o arping
arping-2/arping.c `libnet-config --libs` -lpcap

And then install everything by hand.

I also think that it could be nice to patch the man page or use
a sed substitution to also have arping-ng, at least in the 
name and synopsis.
Comment 13 Sindre Pedersen Bjørdal 2007-06-06 15:27:00 EDT
Updated: 

- Update description to reflect name change
- Add patch for manual to reflect name change
- Do build and install manually, drop makefile patch

Spec URL: http://folk.ntnu.no/sindrb/packages/green_nyc/arping-ng.spec
SRPM URL: http://folk.ntnu.no/sindrb/packages/green_nyc/arping-ng-2.05-3.fc7.src.rpm
Comment 14 Patrice Dumas 2007-06-06 16:18:12 EDT
I think that arping-scan-net.sh should be in %doc.

You may also want to keep the man page timestamp.
For that I would have done

%patch1 -p1 -b .man

....

touch -r arping.8.man arping.8

....

install -D -p -m 0644 arping.8 $RPM_BUILD_ROOT%{_mandir}/man8/arping-ng.8

Otherwise it seems to basically work here.
Comment 15 Sindre Pedersen Bjørdal 2007-06-06 18:03:53 EDT
Updated:

- Add arping-scan-net.sh to %%doc
- Keep timestamp on man file

Spec URL: http://folk.ntnu.no/sindrb/packages/green_nyc/arping-ng.spec
SRPM URL: http://folk.ntnu.no/sindrb/packages/green_nyc/arping-ng-2.05-4.fc7.src.rpm
Comment 16 Patrice Dumas 2007-06-07 18:00:00 EDT
The timestamps for man pages are not kept. If you want to 
use my solution you should also do (to regenerate the right
timestamp, before patching)

touch -r arping.8.man arping.8

and keep timestamp wile installing by using -p in
install -D -p -m 0644 arping.8 $RPM_BUILD_ROOT%{_mandir}/man8/arping-ng.8




After adding arping-scan-net.sh to %%doc there is a bogus
dependency on /bin/sh. In my opinion this is not very 
problematic but should be best avoided. I'd propose something
along

rm -rf __fedora_docs
cp -p arping-scan-net.sh __fedora_docs/
chmod a-x __fedora_docs/arping-scan-net.sh

..................

%doc LICENSE README __fedora_docs/arping-scan-net.sh
Comment 17 Sindre Pedersen Bjørdal 2007-06-07 20:05:11 EDT
Updated:

- Really keep timestamps on man file
- Avoid /bin/sh dependency for docfile

Spec URL: http://folk.ntnu.no/sindrb/packages/green_nyc/arping-ng.spec
SRPM URL: http://folk.ntnu.no/sindrb/packages/green_nyc/arping-ng-2.05-5.fc7.src.rpm
Comment 18 Patrice Dumas 2007-06-08 02:21:08 EDT
The source timestamp is not kept:

$ ls -l arping-2.05.tar.gz ../SOURCES/arping-2.05.tar.gz 
-rw-rw-r-- 1 dumas dumas 32287 jan 28  2005 arping-2.05.tar.gz
-rw-rw-r-- 1 dumas dumas 32287 mai  7 16:14 ../SOURCES/arping-2.05.tar.gz

You can use wget -N or spectool -g to keep timestamp (and curl also 
has a similar option).

I don't see any other issue.
Comment 19 Patrice Dumas 2007-06-08 02:28:22 EDT
(In reply to comment #1)

> /usr/include/libnet.h:87:2: error: #error "byte order has not been specified,
> you'll need to #define either LIBNET_LIL_ENDIAN or LIBNET_BIG_ENDIAN.  See the
> documentation regarding the libnet-config script."

Seems that you are using libnet10 instead of libnet-devel
(which contains libnet-1.1). Up to FC6 libnet10 and libnet-devel
relationship were completely messed up. I stated it here:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=229297#c3
Comment 20 Jochen Schmitt 2007-07-16 11:04:40 EDT
Ping Sindre
Comment 21 Jochen Schmitt 2008-01-08 15:21:48 EST
Ping
Comment 22 Jochen Schmitt 2008-01-30 14:22:59 EST
Review Request will be closed as FAILED, because review requestor didn't
response on ping request.
Comment 23 Patrice Dumas 2008-10-16 10:29:08 EDT

*** This bug has been marked as a duplicate of bug 467157 ***

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