libdnet/libdnet.spec

129 lines
4.0 KiB
RPMSpec

#
# 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