Compare commits

...

7 Commits

Author SHA1 Message Date
Kamil Dudka
15e833b17f use the upstream patch for SO versioning 2014-12-11 12:25:33 +01:00
Kamil Dudka
4b4429307a use the upstream patch to respect %{_libdir} 2014-12-11 12:25:33 +01:00
Kamil Dudka
4b1fa21823 use the upstream patch to install libssh2.pc 2014-12-11 12:25:33 +01:00
Kamil Dudka
c0d3bf26d1 use the upstream patch to install man pages 2014-12-11 12:25:33 +01:00
Kamil Dudka
be077eda3c use CMake as the build system 2014-12-11 12:25:33 +01:00
Kamil Dudka
20200c74e9 libssh2.spec: use git to apply patches in %prep 2014-12-11 12:25:33 +01:00
Kamil Dudka
c5618432a5 libssh2-1.4.2-utf8.patch: decorate as a git patch 2014-12-08 10:37:04 +01:00
3 changed files with 11515 additions and 16 deletions

View File

@ -1,3 +1,9 @@
From 4422e54e12aa6dc748672d285923944d115d38fb Mon Sep 17 00:00:00 2001
From: Kamil Dudka <kdudka@redhat.com>
Date: Mon, 8 Dec 2014 10:35:20 +0100
Subject: [PATCH] libssh2-1.4.2-utf8.patch
---
NEWS | 2 +- NEWS | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-) 1 files changed, 1 insertions(+), 1 deletions(-)

11469
libssh2-1.4.3-cmake.patch Normal file

File diff suppressed because it is too large Load Diff

View File

@ -12,7 +12,7 @@
Name: libssh2 Name: libssh2
Version: 1.4.3 Version: 1.4.3
Release: 16%{?dist} Release: 16.1%{?dist}
Summary: A library implementing the SSH2 protocol Summary: A library implementing the SSH2 protocol
Group: System Environment/Libraries Group: System Environment/Libraries
License: BSD License: BSD
@ -31,7 +31,10 @@ Patch9: 0009-_libssh2_channel_read-Honour-window_size_initial.patch
Patch10: 0010-Set-default-window-size-to-2MB.patch Patch10: 0010-Set-default-window-size-to-2MB.patch
Patch11: 0011-channel_receive_window_adjust-store-windows-size-alw.patch Patch11: 0011-channel_receive_window_adjust-store-windows-size-alw.patch
Patch12: 0012-libssh2_agent_init-init-fd-to-LIBSSH2_INVALID_SOCKET.patch Patch12: 0012-libssh2_agent_init-init-fd-to-LIBSSH2_INVALID_SOCKET.patch
Patch13: libssh2-1.4.3-cmake.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(id -nu) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(id -nu)
BuildRequires: cmake
BuildRequires: git
BuildRequires: openssl-devel BuildRequires: openssl-devel
BuildRequires: zlib-devel BuildRequires: zlib-devel
BuildRequires: /usr/bin/man BuildRequires: /usr/bin/man
@ -77,9 +80,18 @@ developing applications that use libssh2.
%prep %prep
%setup -q %setup -q
# Replace hard wired port number in the test suite to avoid collisions # remove auto-generated files
# between 32-bit and 64-bit builds running on a single build-host rm -v {src,example}/libssh2_config.h.in
sed -i s/4711/47%{?__isa_bits}/ tests/ssh2.{c,sh} find -name Makefile.in -delete
# use git to apply patches
git init
git config user.email 'buildsys@fedoraproject.org'
git config user.name 'Fedora Koji Build System'
git add --all
git commit -m init
git branch init
%global __patch sh -c 'git am --keep-cr'
# Make sure things are UTF-8... # Make sure things are UTF-8...
%patch0 -p1 %patch0 -p1
@ -106,6 +118,16 @@ sed -i s/4711/47%{?__isa_bits}/ tests/ssh2.{c,sh}
# prevent a not-connected agent from closing STDIN (#1147717) # prevent a not-connected agent from closing STDIN (#1147717)
%patch12 -p1 %patch12 -p1
# add support for the CMake build system
%patch13 -p1
# remove auto-generated files
find -name Makefile.am -delete
# Replace hard wired port number in the test suite to avoid collisions
# between 32-bit and 64-bit builds running on a single build-host
sed -i s/4711/47%{?__isa_bits}/ tests/{ssh2.c,sshd_fixture.sh.in}
# Make sshd transition appropriately if building in an SELinux environment # Make sshd transition appropriately if building in an SELinux environment
%if !(0%{?fedora} >= 17 || 0%{?rhel} >= 7) %if !(0%{?fedora} >= 17 || 0%{?rhel} >= 7)
chcon $(/usr/sbin/matchpathcon -n /etc/rc.d/init.d/sshd) tests/ssh2.sh || : chcon $(/usr/sbin/matchpathcon -n /etc/rc.d/init.d/sshd) tests/ssh2.sh || :
@ -114,24 +136,21 @@ chcon $(/usr/sbin/matchpathcon -n /etc/ssh/ssh_host_key) tests/etc/{host,user} |
%endif %endif
%build %build
%configure --disable-static --enable-shared mkdir libssh2_build
cd libssh2_build
%{cmake} .. -DBUILD_SHARED_LIBS=ON
make %{?_smp_mflags} make %{?_smp_mflags}
# Avoid polluting libssh2.pc with linker options (#947813)
sed -i -e 's|[[:space:]]-Wl,[^[:space:]]*||' libssh2.pc
%install %install
rm -rf %{buildroot} rm -rf %{buildroot}
cd libssh2_build
make install DESTDIR=%{buildroot} INSTALL="install -p" make install DESTDIR=%{buildroot} INSTALL="install -p"
find %{buildroot} -name '*.la' -exec rm -f {} \;
# clean things up a bit for packaging
make -C example clean
rm -rf example/.deps
find example/ -type f '(' -name '*.am' -o -name '*.in' ')' -exec rm -v {} \;
# avoid multilib conflict on libssh2-devel # avoid multilib conflict on libssh2-devel
mv -v example example.%{_arch} mv -v ../example ../example.%{_arch}
# remove redundant files installed by CMake
rm -rf %{buildroot}/usr/{lib/cmake,share/libssh2}
%check %check
echo "Running tests for %{_arch}" echo "Running tests for %{_arch}"
@ -151,7 +170,8 @@ echo "exit 0" > tests/ssh2.sh
echo "Skipping mansyntax test on PPC* and aarch64" echo "Skipping mansyntax test on PPC* and aarch64"
echo "exit 0" > tests/mansyntax.sh echo "exit 0" > tests/mansyntax.sh
%endif %endif
make -C tests check cd libssh2_build
make test
%clean %clean
rm -rf %{buildroot} rm -rf %{buildroot}
@ -180,6 +200,10 @@ rm -rf %{buildroot}
%{_libdir}/pkgconfig/libssh2.pc %{_libdir}/pkgconfig/libssh2.pc
%changelog %changelog
* Mon Dec 08 2014 Kamil Dudka <kdudka@redhat.com> 1.4.3-16.1
- use git to apply patches
- use CMake as the build system
* Fri Oct 10 2014 Kamil Dudka <kdudka@redhat.com> 1.4.3-16 * Fri Oct 10 2014 Kamil Dudka <kdudka@redhat.com> 1.4.3-16
- prevent a not-connected agent from closing STDIN (#1147717) - prevent a not-connected agent from closing STDIN (#1147717)