Add support for the Dropbear SSH server
This commit is contained in:
parent
ded9ff0bcc
commit
aa5091d50c
64
make/dropbear_sshd.mk
Normal file
64
make/dropbear_sshd.mk
Normal file
@ -0,0 +1,64 @@
|
||||
#############################################################
|
||||
#
|
||||
# dropbear_sshd
|
||||
#
|
||||
#############################################################
|
||||
DROPBEAR_SSHD_SOURCE:=dropbear-0.33.tar.bz2
|
||||
DROPBEAR_SSHD_SITE:=http://matt.ucc.asn.au/dropbear/
|
||||
DROPBEAR_SSHD_DIR:=$(BUILD_DIR)/dropbear-0.33
|
||||
DROPBEAR_SSHD_CAT:=bzcat
|
||||
DROPBEAR_SSHD_BINARY:=dropbear
|
||||
DROPBEAR_SSHD_TARGET_BINARY:=usr/sbin/dropbear
|
||||
DROPBEAR_SSHD_PATCH:=$(SOURCE_DIR)/dropbear.patch
|
||||
|
||||
|
||||
$(DL_DIR)/$(DROPBEAR_SSHD_SOURCE):
|
||||
$(WGET) -P $(DL_DIR) $(DROPBEAR_SSHD_SITE)/$(DROPBEAR_SSHD_SOURCE)
|
||||
|
||||
dropbear_sshd-source: $(DL_DIR)/$(DROPBEAR_SSHD_SOURCE)
|
||||
|
||||
$(DROPBEAR_SSHD_DIR)/.unpacked: $(DL_DIR)/$(DROPBEAR_SSHD_SOURCE)
|
||||
$(DROPBEAR_SSHD_CAT) $(DL_DIR)/$(DROPBEAR_SSHD_SOURCE) | tar -C $(BUILD_DIR) -xvf -
|
||||
cat $(DROPBEAR_SSHD_PATCH) | patch -p1 -d $(DROPBEAR_SSHD_DIR)
|
||||
touch $(DROPBEAR_SSHD_DIR)/.unpacked
|
||||
|
||||
$(DROPBEAR_SSHD_DIR)/.configured: $(DROPBEAR_SSHD_DIR)/.unpacked
|
||||
(cd $(DROPBEAR_SSHD_DIR); rm -rf config.cache; \
|
||||
autoconf; \
|
||||
$(TARGET_CONFIGURE_OPTS) \
|
||||
./configure \
|
||||
--target=$(GNU_TARGET_NAME) \
|
||||
--host=$(GNU_TARGET_NAME) \
|
||||
--build=$(GNU_HOST_NAME) \
|
||||
--prefix=/usr \
|
||||
--exec-prefix=/usr \
|
||||
--bindir=/usr/bin \
|
||||
--sbindir=/usr/sbin \
|
||||
--libexecdir=/usr/lib \
|
||||
--sysconfdir=/etc \
|
||||
--datadir=/usr/share \
|
||||
--localstatedir=/var \
|
||||
--mandir=/usr/man \
|
||||
--infodir=/usr/info \
|
||||
--disable-nls \
|
||||
--with-shared \
|
||||
);
|
||||
touch $(DROPBEAR_SSHD_DIR)/.configured
|
||||
|
||||
$(DROPBEAR_SSHD_DIR)/$(DROPBEAR_SSHD_BINARY): $(DROPBEAR_SSHD_DIR)/.configured
|
||||
$(MAKE) CC=$(TARGET_CC) -C $(DROPBEAR_SSHD_DIR)
|
||||
|
||||
$(TARGET_DIR)/$(DROPBEAR_SSHD_TARGET_BINARY): $(DROPBEAR_SSHD_DIR)/$(DROPBEAR_SSHD_BINARY)
|
||||
$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(DROPBEAR_SSHD_DIR) install
|
||||
rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
|
||||
$(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc
|
||||
|
||||
dropbear_sshd: uclibc $(TARGET_DIR)/$(DROPBEAR_SSHD_TARGET_BINARY)
|
||||
|
||||
dropbear_sshd-clean:
|
||||
$(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(DROPBEAR_SSHD_DIR) uninstall
|
||||
-$(MAKE) -C $(DROPBEAR_SSHD_DIR) clean
|
||||
|
||||
dropbear_sshd-dirclean:
|
||||
rm -rf $(DROPBEAR_SSHD_DIR)
|
||||
|
41
sources/dropbear.patch
Normal file
41
sources/dropbear.patch
Normal file
@ -0,0 +1,41 @@
|
||||
--- dropbear-0.33/Makefile.in.orig 2003-06-23 14:29:05.000000000 -0600
|
||||
+++ dropbear-0.33/Makefile.in 2003-06-23 14:42:04.000000000 -0600
|
||||
@@ -46,9 +46,12 @@
|
||||
-strip dropbearconvert
|
||||
|
||||
install: all
|
||||
- install -o root -g root dropbear $(sbindir)
|
||||
- install -o root -g root dropbearkey $(bindir)
|
||||
- install -o root -g root dropbearconvert $(bindir)
|
||||
+ install -m 755 dropbear $(DESTDIR)$(sbindir)
|
||||
+ install -m 755 dropbearkey $(DESTDIR)$(bindir)
|
||||
+ install -m 755 dropbearconvert $(DESTDIR)$(bindir)
|
||||
+ -chown root.root $(DESTDIR)$(sbindir)/dropbear
|
||||
+ -chown root.root $(DESTDIR)$(sbindir)/dropbearkey
|
||||
+ -chown root.root $(DESTDIR)$(sbindir)/dropbearconvert
|
||||
|
||||
static: dropbear-static dropbearkey-static dropbearconvert-static
|
||||
|
||||
--- dropbear-0.33/configure.in.orig 2003-06-23 14:00:49.000000000 -0600
|
||||
+++ dropbear-0.33/configure.in 2003-06-23 14:20:57.000000000 -0600
|
||||
@@ -358,7 +358,19 @@
|
||||
AC_PROG_GCC_TRADITIONAL
|
||||
AC_FUNC_MEMCMP
|
||||
AC_FUNC_SELECT_ARGTYPES
|
||||
-AC_FUNC_SETPGRP
|
||||
+
|
||||
+# Avoid AC_FUNC_SETPGRP for uClibc since we know the answer anyways
|
||||
+# and the AC_FUNC_SETPGRP check does not work when cross compiling
|
||||
+AC_CHECK_DECL(__UCLIBC__,
|
||||
+ [
|
||||
+ AC_DEFINE(SETPGRP_VOID,,)
|
||||
+ AC_MSG_RESULT(stpgrp(void) is correct for uClibc.)
|
||||
+ ],
|
||||
+ [
|
||||
+ AC_FUNC_SETPGRP
|
||||
+ ],,)
|
||||
+
|
||||
+
|
||||
AC_TYPE_SIGNAL
|
||||
AC_CHECK_FUNCS([dup2 getspnam getusershell memset putenv select socket strdup clearenv openpty strlcpy strlcat])
|
||||
|
Loading…
Reference in New Issue
Block a user