From 92e3224db845584f0b1c84be4328891278e4ddfa Mon Sep 17 00:00:00 2001 From: R4SAS Date: Tue, 22 Oct 2019 09:56:54 +0000 Subject: [PATCH] upload spec file from el7 package --- miniupnpc.spec | 206 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 206 insertions(+) create mode 100644 miniupnpc.spec diff --git a/miniupnpc.spec b/miniupnpc.spec new file mode 100644 index 0000000..766b930 --- /dev/null +++ b/miniupnpc.spec @@ -0,0 +1,206 @@ +%if 0%{?fedora} >= 18 +%global with_python3 1 +%global basepy3dir %(echo ../`basename %{py3dir}`) +%else +%global with_python3 0 +%endif +%global major 16 +%filter_provides_in %{python_sitearch}/.*\.so$ + +Summary: Library and tool to control NAT in UPnP-enabled routers +Name: miniupnpc +Version: 2.0 +Release: 1%{?dist} +License: BSD +Group: System Environment/Libraries +URL: http://miniupnp.free.fr/ +Source: http://miniupnp.free.fr/files/%{name}-%{version}.tar.gz +BuildRequires: cmake +BuildRequires: python2-devel +# Do not create libminiupnpc.so.%%{version} and libminiupnpc.so.%%{major} linking to it +Patch0: %{name}-version.patch +# Link to and find libminiupnpc +Patch1: %{name}-tests.patch +Source1: USAGE + +%description +miniupnpc is an implementation of a UPnP client library, enabling +applications to access the services provided by an UPnP "Internet +Gateway Device" present on the network. In UPnP terminology, it is +a UPnP Control Point. + +This package includes upnpc, a UPnP client application for configuring +port forwarding in UPnP enabled routers. + +%package devel +Summary: Development files for miniupnpc +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +This package contains the header files and development documentation +for %{name}. + +%package -n python-%{name} +Summary: Python interface to %{name} +Group: System Environment/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description -n python-%{name} +This package contains python interfaces to %{name}. + +%if %{with_python3} +%package -n python3-%{name} +Summary: Python3 interface to %{name} +Group: System Environment/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +BuildRequires: python3-devel + +%description -n python3-%{name} +This package contains python3 interfaces to %{name}. +%endif + +%prep +%setup -q +%patch0 -p0 +%patch1 -p1 +cp %{SOURCE1} . + +sed -i "s|\(\tpython setup.py install\)$|\1 --root=\$(DESTDIR)/|" Makefile +%if %{with_python3} +sed -i "s|\(\tpython3 setup.py install\)$|\1 --root=\$(DESTDIR)/|" Makefile +%endif + +# version not updated in setup.py +sed -i 's/"1\.7"/"%{version}"/' setup.py + +# Changelog says added -ansi without reason, but that +# breaks C files (python module) using C++ comments +sed -i 's/\(CFLAGS += -ansi\)/#\1/' Makefile + +%build +mkdir -p build +pushd build +%cmake \ + -DUPNPC_BUILD_STATIC=OFF \ + -DUPNPC_BUILD_TESTS=ON \ + .. + make upnpc-shared all +popd +make pythonmodule +%if %{with_python3} +make pythonmodule3 +%endif +make upnpc-shared + +%install +make install DESTDIR=$RPM_BUILD_ROOT -C build +make DESTDIR=$RPM_BUILD_ROOT installpythonmodule +%if %{with_python3} +make DESTDIR=$RPM_BUILD_ROOT installpythonmodule3 +%endif +install -D -m644 man3/miniupnpc.3 $RPM_BUILD_ROOT/%{_mandir}/man3/miniupnpc.3 +install -D -m 0755 upnpc-shared $RPM_BUILD_ROOT%{_bindir}/upnpc + +%check +make CFLAGS="%{optflags} -DMINIUPNPC_SET_SOCKET_TIMEOUT" check + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%files +%doc Changelog.txt +%doc LICENSE +%doc README +%{_libdir}/libminiupnpc.so.%{major} +%{_bindir}/upnpc +%doc USAGE + +%files devel +%{_includedir}/miniupnpc +%{_libdir}/libminiupnpc.so +%{_mandir}/man3/miniupnpc.3* + +%files -n python-%{name} +%{python_sitearch}/miniupnpc-%{version}-py?.?.egg-info +%{python_sitearch}/miniupnpc.so + +%if %{with_python3} +%files -n python3-%{name} +%{python3_sitearch}/miniupnpc-%{version}-py?.?.egg-info +%{python3_sitearch}/miniupnpc*.so +%endif + +%changelog +* Wed Jun 08 2016 François Kooman - 2.0-1 +- update to 2.0 + +* Thu Feb 04 2016 Fedora Release Engineering - 1.9-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Nov 10 2015 Fedora Release Engineering - 1.9-7 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Sat Oct 31 2015 pcpa - 1.9-6 +- Correct buffer overflow in XML parsing (#1270842, #1270182) + +* Wed Jun 17 2015 Fedora Release Engineering - 1.9-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sun Aug 17 2014 Fedora Release Engineering - 1.9-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 1.9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed May 28 2014 Kalev Lember - 1.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4 + +* Wed Apr 16 2014 pcpa - 1.9-1 +- Update to latest upstream release (#1062206) +- Correct possible DoS crash vector (patch already in tarball) (#1085618) + +* Tue Aug 13 2013 pcpa - 1.8-1 +- Update to latest upstream release (#996357) +- Build extra python3 module + +* Sat Aug 03 2013 Fedora Release Engineering - 1.6-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Tue Mar 05 2013 Domingo Becker - 1.6-9 +- Added upnpc, a client side tool, to the main package. +- Added USAGE file with instructions on how to use upnpc. + +* Thu Feb 14 2013 Fedora Release Engineering - 1.6-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Fri Jul 20 2012 Fedora Release Engineering - 1.6-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed May 30 2012 pcpa - 1.6-6 +- Add Changelog.txt to documentation. +- Correct package version in setup.py. +- Correct rpmlint warning on source rpm. +- Filter provides of private python shared object (817311#c19). + +* Sat May 26 2012 pcpa - 1.6-5 +- Build python module (817311#c14). + +* Mon May 21 2012 pcpa - 1.6-4 +- Use %%name for source and patch names. +- Enable %%check. + +* Mon May 7 2012 pcpa - 1.6-3 +- Prefer %%global over %%define. +- Add proper documentation to main package. +- Ensure library is built before making simple test programs. + +* Wed May 2 2012 pcpa - 1.6-2 +- Rename package to miniupnpc to match source tarball. +- Add patch to enable build of tests. +- Include manual page to devel package. +- Change License to match LICENSE file. + +* Sat Apr 28 2012 pcpa - 1.6-1 +- Initial libminiupnpc spec.