diff --git a/libssh2.spec b/libssh2.spec index 8826175..4d942dc 100644 --- a/libssh2.spec +++ b/libssh2.spec @@ -1,15 +1,25 @@ +# Fedora 10 onwards support noarch subpackages; by using one, we can +# put the arch-independent docs in a common subpackage and save lots +# of space on the mirrors +%if 0%{?fedora} > 9 || 0%{?rhel} > 5 +%global noarch_docs_package 1 +%else +%global noarch_docs_package 0 +%endif + # Define %%{__isa_bits} for old releases %{!?__isa_bits: %global __isa_bits %((echo '#include '; echo __WORDSIZE) | cpp - | grep -Ex '32|64')} Name: libssh2 Version: 1.7.0 -Release: 4%{?dist} +Release: 5%{?dist} Summary: A library implementing the SSH2 protocol Group: System Environment/Libraries License: BSD URL: http://www.libssh2.org/ Source0: http://libssh2.org/download/libssh2-%{version}.tar.gz Patch2: CVE-2016-0787.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(id -nu) BuildRequires: coreutils BuildRequires: findutils @@ -19,11 +29,16 @@ BuildRequires: openssl-devel BuildRequires: sed BuildRequires: zlib-devel BuildRequires: /usr/bin/man -BuildRequires: libselinux-utils -BuildRequires: selinux-policy-targeted # Test suite requirements - we run the OpenSSH server and try to connect to it BuildRequires: openssh-server +# We use matchpathcon to get the correct SELinux context for the ssh server +# initialization script so that it can transition correctly in an SELinux +# environment +%if !(0%{?fedora} >= 17 || 0%{?rhel} >= 7) +BuildRequires: libselinux-utils +BuildRequires: selinux-policy-targeted +%endif %description libssh2 is a library implementing the SSH2 protocol as defined by @@ -45,7 +60,9 @@ developing applications that use libssh2. Summary: Documentation for libssh2 Group: Development/Libraries Requires: %{name} = %{version}-%{release} +%if %{noarch_docs_package} BuildArch: noarch +%endif %description docs The libssh2-docs package contains man pages and examples for @@ -76,6 +93,7 @@ make %{?_smp_mflags} sed -i -e 's|[[:space:]]-Wl,[^[:space:]]*||' libssh2.pc %install +rm -rf %{buildroot} make install DESTDIR=%{buildroot} INSTALL="install -p" find %{buildroot} -name '*.la' -delete @@ -107,6 +125,8 @@ echo "exit 0" > tests/mansyntax.sh %endif make -C tests check +%clean +rm -rf %{buildroot} %post -p /sbin/ldconfig @@ -120,7 +140,7 @@ make -C tests check %{_libdir}/libssh2.so.1.* %files docs -%doc docs/BINDINGS docs/HACKING docs/TODO +%doc docs/BINDINGS docs/HACKING docs/TODO NEWS %{_mandir}/man3/libssh2_*.3* %files devel @@ -132,7 +152,11 @@ make -C tests check %{_libdir}/pkgconfig/libssh2.pc %changelog -* Sat Mar 5 2016 Peter Robinson 1.7.0-4 +* Sun Mar 6 2016 Paul Howarth - 1.7.0-5 +- Revert parts of previous change that broke EL-5 compatibility +- Include NEWS in docs package, it's much more than RELEASE-NOTES + +* Sat Mar 5 2016 Peter Robinson - 1.7.0-4 - Modernise spec (no we really don't care about el4/fc4) - Don't ship ChangeLog/NEWS, duplicates of RELEASE-NOTES