File libdnet.spec of Package libdnet

#
# spec file for package libdnet
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


Name:           libdnet
Version:        1.12
Release:        0
Summary:        Library for Portable Interface to Low-Level Networking Routines
License:        BSD-3-Clause
Group:          Development/Libraries/C and C++
Url:            https://github.com/dugsong/libdnet
Source0:        https://github.com/dugsong/libdnet/archive/%{name}-%{version}.tar.gz
# PATCH-FIX-UPSTREAM: properly name the dirs for new autoreconf to work
Patch0:         libdnet-autoreconf.patch
# PATCH-FIX-UPSTREAM: work properly on multilib systems (from Fedora)
Patch1:         libdnet-config-multilib.patch
# PATCH-FIX-UPSTREAM: do include string.h when needed, this is autogenerated
# file which can't be generated with today tools :(
Patch2:         libdnet-fortify.patch
BuildRequires:  libbsd-devel
BuildRequires:  libtool
BuildRequires:  python-devel

%description
libdnet provides a portable interface to several low-level
networking routines, including:
* network address manipulation
* kernel arp(4) cache and route(4) table lookup and manipulation
* network firewalling (IP filter, ipfw, ipchains, pf, PktFilter, ...)
* network interface lookup and manipulation
* IP tunnelling (BSD/Linux tun, Universal TUN/TAP device)
* raw IP packet and Ethernet frame transmission

%package -n libdnet1
Summary:        Library for Portable Interface to Low-Level Networking Routines
Group:          System/Libraries

%description -n libdnet1
libdnet provides a portable interface to several low-level
networking routines, including:
* network address manipulation
* kernel arp(4) cache and route(4) table lookup and manipulation
* network firewalling (IP filter, ipfw, ipchains, pf, PktFilter, ...)
* network interface lookup and manipulation
* IP tunnelling (BSD/Linux tun, Universal TUN/TAP device)
* raw IP packet and Ethernet frame transmission

%package devel
Summary:        Development files for libdnet
Group:          Development/Libraries/C and C++
Requires:       glibc-devel
Requires:       libdnet1 = %{version}

%description devel
libdnet provides a portable interface to several low-level
networking routines, including:
- network address manipulation
- kernel arp(4) cache and route(4) table lookup and manipulation
- network firewalling (IP filter, ipfw, ipchains, pf, PktFilter, ...)
- network interface lookup and manipulation
- IP tunnelling (BSD/Linux tun, Universal TUN/TAP device)
- raw IP packet and Ethernet frame transmission

%package python
Summary:        Python bindings for libdnet
Group:          Development/Languages/Python
Requires:       libdnet1 = %{version}

%description python
Dnet library Python 2 bindings.

%prep
%setup -q -n %{name}-%{name}-%{version}
%patch0
%patch1
%patch2 -p1

%build
ACLOCAL="aclocal -I config" autoreconf -fvi
%configure --disable-static
make %{?_smp_mflags}

pushd python
python setup.py build
popd

%install
%make_install
find %{buildroot} -type f -name "*.la" -delete -print

pushd python
python setup.py install --skip-build --root %{buildroot}
popd

%post -n libdnet1 -p /sbin/ldconfig
%postun -n libdnet1 -p /sbin/ldconfig

%files -n libdnet1
%{_libdir}/libdnet.so.1*

%files python
%{python_sitearch}/*

%files devel
%doc LICENSE README TODO THANKS
%{_sbindir}/*
%{_bindir}/dnet-config
%{_includedir}/dnet.h
%dir %{_includedir}/dnet
%{_includedir}/dnet/*.h
%{_libdir}/libdnet.so
%{_mandir}/man?/dnet.*%{ext_man}

%changelog