aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorTBK <tbk@jjtc.eu>2019-05-21 18:05:20 +0200
committerNatanael Copa <ncopa@alpinelinux.org>2019-08-05 12:07:27 +0000
commit3b5652246a72061f65136d4556b6eb8d87dad099 (patch)
treec54422124213fd2ed97c275d2cd47d5acdd27e52 /main
parentb1b7fa90dd470ef226a9e80c0572986b9932ffe9 (diff)
downloadaports-3b5652246a72061f65136d4556b6eb8d87dad099.tar.bz2
aports-3b5652246a72061f65136d4556b6eb8d87dad099.tar.xz
main/libssh: upgrade to 0.8.7
Diffstat (limited to 'main')
-rw-r--r--main/libssh/APKBUILD40
-rw-r--r--main/libssh/fix-includes.patch10
-rw-r--r--main/libssh/fix-unittests-torture_config.patch35
3 files changed, 61 insertions, 24 deletions
diff --git a/main/libssh/APKBUILD b/main/libssh/APKBUILD
index 504837ec62..13959004bb 100644
--- a/main/libssh/APKBUILD
+++ b/main/libssh/APKBUILD
@@ -1,32 +1,44 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=libssh
-pkgver=0.7.6
-pkgrel=1
+pkgver=0.8.7
+pkgrel=0
pkgdesc="Library for accessing ssh client services through C libraries"
-url="http://www.libssh.org/"
+url="https://www.libssh.org"
arch="all"
-license="LGPL"
-makedepends="zlib-dev openssl-dev cmake doxygen"
+license="LGPL-2.1-or-later BSD-2-Clause"
+depends_dev="openssl-dev zlib-dev"
+makedepends="$depends_dev cmake doxygen"
+checkdepends="cmocka-dev"
subpackages="$pkgname-dev"
-options="!check"
-source="https://www.libssh.org/files/0.7/libssh-$pkgver.tar.xz
- fix-includes.patch"
+source="https://www.libssh.org/files/${pkgver%.*}/libssh-$pkgver.tar.xz
+ fix-unittests-torture_config.patch
+ "
builddir="$srcdir"/$pkgname-$pkgver
+# secfixes:
+# 0.7.6-r0:
+# - CVE-2018-10933
build() {
- cd "$srcdir"
+ cd "$builddir"
mkdir build && cd build
- cmake "$builddir" \
+ cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr \
- -DCMAKE_BUILD_TYPE=Release
+ -DCMAKE_BUILD_TYPE=Release \
+ -DWITH_GSSAPI=OFF \
+ -DUNIT_TESTING=ON
make
}
+check() {
+ cd "$builddir/build"
+ ctest --output-on-failure
+}
+
package() {
- cd "$srcdir"/build
+ cd "$builddir/build"
make DESTDIR="$pkgdir" install
}
-sha512sums="2a01402b5a9fab9ecc29200544ed45d3f2c40871ed1c8241ca793f8dc7fdb3ad2150f6a522c4321affa9b8778e280dc7ed10f76adfc4a73f0751ae735a42f56c libssh-0.7.6.tar.xz
-055a8f6b97c65384a5a3ab8fe00c69d94cc30092fe926093dbbc122ce301fbe9d76127aa07b5e6107d7fa9dd2aad6b165fa0958b56520253b5d64428ff42a318 fix-includes.patch"
+sha512sums="13c3dccad81d521edf29c8a5e2c5f7fdd90507a0eda652b2b040a0a17bab88860873e089a46e181907ea3f449ca1847b1c84453b1960f456e391eefe5be983c5 libssh-0.8.7.tar.xz
+e1f735492d5e847de218790a92c1ce4591e1ed7b8c31805829acbcd90729842d65d8e20676c02e7567be7a64f9565b8d3fc326339e099054dc880763c9e07f97 fix-unittests-torture_config.patch"
diff --git a/main/libssh/fix-includes.patch b/main/libssh/fix-includes.patch
deleted file mode 100644
index 1151353698..0000000000
--- a/main/libssh/fix-includes.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- libssh-0.5.5.orig/include/libssh/libssh.h
-+++ libssh-0.5.5/include/libssh/libssh.h
-@@ -57,6 +57,7 @@
- typedef unsigned long long uint64_t;
- typedef int mode_t;
- #else /* _MSC_VER */
-+ #include <sys/types.h>
- #include <unistd.h>
- #include <inttypes.h>
- #endif /* _MSC_VER */
diff --git a/main/libssh/fix-unittests-torture_config.patch b/main/libssh/fix-unittests-torture_config.patch
new file mode 100644
index 0000000000..ba13385660
--- /dev/null
+++ b/main/libssh/fix-unittests-torture_config.patch
@@ -0,0 +1,35 @@
+Has been fixed in master with https://bugs.libssh.org/rLIBSSH1f43b52117fc97eef95e3627517cadb531b2b43e
+
+Can be removed as of next release (0.8.7+)
+
+--- a/tests/unittests/torture_config.c
++++ b/tests/unittests/torture_config.c
+@@ -208,16 +208,16 @@
+ static void torture_config_glob(void **state) {
+ ssh_session session = *state;
+ int ret;
+-#ifdef HAVE_GLOB
++#if defined(HAVE_GLOB) && defined(HAVE_GLOB_GL_FLAGS_MEMBER)
+ char *v;
+-#endif
++#endif /* HAVE_GLOB && HAVE_GLOB_GL_FLAGS_MEMBER */
+
+ ret = ssh_config_parse_file(session, LIBSSH_TESTCONFIG5);
+ assert_true(ret == 0); /* non-existing files should not error */
+
+ /* Test the variable presence */
+
+-#ifdef HAVE_GLOB
++#if defined(HAVE_GLOB) && defined(HAVE_GLOB_GL_FLAGS_MEMBER)
+ ret = ssh_options_get(session, SSH_OPTIONS_PROXYCOMMAND, &v);
+ assert_true(ret == 0);
+ assert_non_null(v);
+@@ -231,7 +231,7 @@
+
+ assert_string_equal(v, ID_FILE);
+ SSH_STRING_FREE_CHAR(v);
+-#endif /* HAVE_GLOB */
++#endif /* HAVE_GLOB && HAVE_GLOB_GL_FLAGS_MEMBER */
+ }
+
+ /**