Bug 241903

Summary: Review Request: etherbat - Ethernet topology discovery
Product: [Fedora] Fedora Reporter: Gwyn Ciesla <gwync>
Component: Package ReviewAssignee: Jason Tibbitts <j>
Status: CLOSED ERRATA QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideFlags: j: fedora-review+
kevin: fedora-cvs+
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 1.0.1-2.fc7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-06-18 16:42:09 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Build log from mock build on fc6. none

Description Gwyn Ciesla 2007-05-31 16:00:15 UTC
Spec URL: http://zanoni.jcomserv.net/fedora/etherbat/etherbat.spec
SRPM URL: http://zanoni.jcomserv.net/fedora/etherbat/etherbat-1.0.1-1.src.rpm
Description: Etherbat performs Ethernet topology discovery between 3 hosts: the machine running Etherbat and two other devices.

Comment 1 Jason Tibbitts 2007-06-02 05:50:21 UTC
This fails to build in mock for me:

+ make
cc -Wall -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include    -D_BSD_SOURCE
-D__BSD_SOURCE -D__FAVOR_BSD -DHAVE_NET_ETHERNET_H   -c -o eb-injector.o
eb-injector.c
make: *** No rule to make target `/usr/lib/libnet.a', needed by `eb-injector'. 
Stop.
error: Bad exit status from /var/tmp/rpm-tmp.42874 (%build)


Comment 2 Gwyn Ciesla 2007-06-04 17:04:25 UTC
Created attachment 156096 [details]
Build log from mock build on fc6.

In what release are you building this with mock?  Could it be an f7/rawhide
problem? I see the libnet-devel versions for f7 and fc6 are different.

Comment 3 Jason Tibbitts 2007-06-09 22:51:12 UTC
I always build in rawhide.  However, I also always build on x86_64 which is the
problem here.  The library lives in /usr/lib64/libnet.a on that platform.  In
additionm, the compiler isn't called with the proper set of flags.  This breaks
the debuginfo package.

To fix these, you just need to change the make line to
   CFLAGS="$RPM_OPT_FLAGS" make LIBNET_STATIC=%{_libdir}/libnet.a
and everything builds fine.

Unfortunately this does a static link, and according to the current rules this
needs to go through FESCo.  Ugh.  And it's possible that they won't approve it,
because it's possible to have a dynamic libnet.  (Debian ships it as a dynamic
lib, for example.)

Review:
* source files match upstream:
   2245dab0a9db77e4a742e3bf07862161de6623f46ae063312c38e32c8fb344f9  
   etherbat-1.0.1.tar.gz
* package meets naming and versioning guidelines.
* specfile is properly named, is cleanly written and uses macros consistently.
* summary is OK.
* description is OK.
* dist tag is present.
* build root is OK.
* license field matches the actual license.
* license is open source-compatible.
* license text not included upstream.
* latest version is being packaged.
* BuildRequires are proper.
X compiler flags not correct.
* %clean is present.
X package fails to build in mock (development, x86_64)
* package installs properly (once build is fixed, at least)
X debuginfo package is incomplete.
* rpmlint is silent (once build is fixed)
* final provides and requires are sane:
   etherbat = 1.0.1-1.fc8
  =
   /usr/bin/ruby
   libglib-2.0.so.0()(64bit)
   libpcap.so.0.9()(64bit)
   ruby
* %check is not present; no test suite upstream.
* no shared libraries are added to the regular linker search paths.
* owns the directories it creates.
* doesn't own any directories it shouldn't.
* no duplicates in %files.
* file permissions are appropriate.
* no scriptlets present.
* code, not content.
* documentation is small, so no -docs subpackage is necessary.
* %docs are not necessary for the proper functioning of the package.
* no headers.
* no pkgconfig files.
* no static libraries.
* no libtool .la files.

Comment 4 Gwyn Ciesla 2007-06-12 18:36:45 UTC
Fixed.
Spec URL: http://zanoni.jcomserv.net/fedora/etherbat/etherbat.spec
SRPM URL: http://zanoni.jcomserv.net/fedora/etherbat/etherbat-1.0.1-2.fc7.src.rpm

What's the procedure for bringing this to FESCO?

Comment 5 Jason Tibbitts 2007-06-12 19:15:15 UTC
I've already taken it to FESCo.  The plan is two-pronged: get the rules changed
so that packages don't need approval if they need to link to something that is
only available as a static library, and to try and get the maintainer of libnet
to use the patches that Debian uses to ship libnet as a dynamic library.

Hopefully I'll have an answer for you soon.  The changes you've made are fine
and I'd approve the package if not for the static linking issue.

Comment 6 Jason Tibbitts 2007-06-14 19:59:50 UTC
OK, the bottom line is that it's OK to link to libnet as is.  The libnet
maintainer doesn't seem open to making use of Debian's patches so for the time
being libnet will remain static-only.  So I guess we're done.

APPROVED

Comment 7 Gwyn Ciesla 2007-06-15 02:46:23 UTC
I sort of figured that'd be the result.  I discussed this with Patrice already
when I was trying to get this to build, and his response prompted me to have
upstream patch to allow static linking.  (sigh)

Thanks much for the review and the legwork. :)

New Package CVS Request
=======================
Package Name: etherbat 
Short Description: Ethernet topology discovery
Owners: limb
Branches: 
InitialCC: 

Comment 8 Gwyn Ciesla 2007-06-15 10:06:26 UTC
Whoops:
New Package CVS Request
=======================
Package Name: etherbat 
Short Description: Ethernet topology discovery
Owners: limb
Branches: FC-5 FC-6 F-7
InitialCC: 

Comment 9 Kevin Fenzi 2007-06-16 03:34:14 UTC
cvs done.

Comment 10 Gwyn Ciesla 2007-06-18 11:30:33 UTC
Imported and built in devel, thanks all!

Comment 11 Fedora Update System 2007-06-18 16:42:07 UTC
etherbat-1.0.1-2.fc7 has been pushed to the Fedora 7 stable repository.  If problems still persist, please make note of it in this bug report.