libssh: new package
authorScott Fan <fancp2007@gmail.com>
Sun, 30 Aug 2015 16:05:10 +0000 (00:05 +0800)
committerPeter Korsgaard <peter@korsgaard.com>
Sun, 30 Aug 2015 21:38:32 +0000 (23:38 +0200)
libssh2 and libssh both implement SSH and provide a library API for apps.
Both support SSH, SFTP, auth, channels etc. Both are 25K-30K lines of code.

[libssh2 vs libssh - A comparison]
http://www.libssh2.org/libssh2-vs-libssh.html

[Peter: add sha256 hash, fix typo in help text]
Signed-off-by: Scott Fan <fancp2007@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
package/Config.in
package/libssh/Config.in [new file with mode: 0644]
package/libssh/libssh.hash [new file with mode: 0644]
package/libssh/libssh.mk [new file with mode: 0644]

index cb548bb820d28a59d51b8f291dadde2bedfb37f8..914b83833d3ebf9724745a9d037be8c26063d522 100644 (file)
@@ -757,6 +757,7 @@ menu "Crypto"
        source "package/libsecret/Config.in"
        source "package/libsha1/Config.in"
        source "package/libsodium/Config.in"
+       source "package/libssh/Config.in"
        source "package/libssh2/Config.in"
        source "package/nettle/Config.in"
        source "package/openssl/Config.in"
diff --git a/package/libssh/Config.in b/package/libssh/Config.in
new file mode 100644 (file)
index 0000000..080ad18
--- /dev/null
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_LIBSSH
+        bool "libssh"
+        # Either OpenSSL or libgcrypt are mandatory
+        select BR2_PACKAGE_LIBGCRYPT if !BR2_PACKAGE_OPENSSL
+        help
+          libssh is a multiplatform C library implementing the SSHv2
+          and SSHv1 protocol on client and server side. With libssh,
+          you can remotely execute programs, transfer files, use a
+          secure and transparent tunnel for your remote applications.
+
+          http://www.libssh.org/
diff --git a/package/libssh/libssh.hash b/package/libssh/libssh.hash
new file mode 100644 (file)
index 0000000..473ced3
--- /dev/null
@@ -0,0 +1,4 @@
+# from https://red.libssh.org/projects/libssh/files/
+md5    bffc9dc548c3bae3a3afc5ac1654b272        libssh-0.7.1.tar.xz
+# Locally calculated
+sha256 2fc7ccf96d3263cbd8ab520118cb94d9a2e11714c61e22b3f761fc5352fd046d  libssh-0.7.1.tar.xz
diff --git a/package/libssh/libssh.mk b/package/libssh/libssh.mk
new file mode 100644 (file)
index 0000000..39cff50
--- /dev/null
@@ -0,0 +1,36 @@
+################################################################################
+#
+## libssh
+#
+#################################################################################
+
+LIBSSH_VERSION = 0.7.1
+LIBSSH_SOURCE = libssh-$(LIBSSH_VERSION).tar.xz
+LIBSSH_SITE = https://red.libssh.org/attachments/download/154
+LIBSSH_LICENSE = LGPLv2.1
+LIBSSH_LICENSE_FILES = COPYING
+LIBSSH_INSTALL_STAGING = YES
+LIBSSH_SUPPORTS_IN_SOURCE_BUILD = NO
+LIBSSH_CONF_OPTS = \
+        -DWITH_STACK_PROTECTOR=OFF \
+        -DWITH_SERVER=OFF \
+        -DWITH_EXAMPLES=OFF
+
+ifeq ($(BR2_PACKAGE_ZLIB),y)
+LIBSSH_CONF_OPTS += -DWITH_ZLIB=ON
+LIBSSH_DEPENDENCIES += zlib
+else
+LIBSSH_CONF_OPTS += -DWITH_ZLIB=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_LIBGCRYPT),y)
+LIBSSH_CONF_OPTS += -DWITH_GCRYPT=ON
+LIBSSH_DEPENDENCIES += libgcrypt
+else
+LIBSSH_CONF_OPTS += -DWITH_GCRYPT=OFF
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+LIBSSH_DEPENDENCIES += openssl
+endif
+endif
+
+$(eval $(cmake-package))