X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/df1d9706f4e8dc21c18dd210c16cef8620ca7efe..6655c7f910b94a7f1c299a00c4f3e9ad811e38b9:/package/dropbear/Makefile diff --git a/package/dropbear/Makefile b/package/dropbear/Makefile index 48d0068c4..290addef0 100644 --- a/package/dropbear/Makefile +++ b/package/dropbear/Makefile @@ -1,84 +1,108 @@ -# $Id$ +# +# Copyright (C) 2006-2009 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# include $(TOPDIR)/rules.mk -DROPBEAR_VERSION:=0.45 -DROPBEAR_MD5SUM:=2bcc46e4c239aec982bf36a723dd0b0e +PKG_NAME:=dropbear +PKG_VERSION:=0.52 +PKG_RELEASE:=3 -DROPBEAR_SOURCE:=dropbear-$(DROPBEAR_VERSION).tar.bz2 -DROPBEAR_SITE:=http://matt.ucc.asn.au/dropbear/releases/ -DROPBEAR_DIR:=$(BUILD_DIR)/dropbear-$(DROPBEAR_VERSION) -DROPBEAR_CAT:=bzcat -DROPBEAR_BINARY:=dropbearmulti -DROPBEAR_TARGET_BINARY:=usr/sbin/dropbear -DROPBEAR_IPK:=dropbear_$(DROPBEAR_VERSION)-1_$(ARCH).ipk -DROPBEAR_IPK_DIR:=$(DROPBEAR_DIR)/ipkg +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:= \ + http://matt.ucc.asn.au/dropbear/releases/ \ + http://www.mirrors.wiretapped.net/security/cryptography/apps/ssh/dropbear/ +PKG_MD5SUM:=1c69ec674481d7745452f68f2ea5597e -$(DL_DIR)/$(DROPBEAR_SOURCE): - $(SCRIPT_DIR)/download.pl $(DL_DIR) $(DROPBEAR_SOURCE) $(DROPBEAR_MD5SUM) $(DROPBEAR_SITE) +include $(INCLUDE_DIR)/package.mk -$(DROPBEAR_DIR)/.patched: $(DL_DIR)/$(DROPBEAR_SOURCE) - $(DROPBEAR_CAT) $(DL_DIR)/$(DROPBEAR_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - - $(PATCH) $(DROPBEAR_DIR) ./patches \*.patch - $(SED) 's,^/\* #define DROPBEAR_MULTI.*,#define DROPBEAR_MULTI,g' $(DROPBEAR_DIR)/options.h - touch $(DROPBEAR_DIR)/.patched +define Package/dropbear/Default + URL:=http://matt.ucc.asn.au/dropbear/ +endef -$(DROPBEAR_DIR)/.configured: $(DROPBEAR_DIR)/.patched - (cd $(DROPBEAR_DIR); rm -rf config.cache; \ - autoconf; \ - $(TARGET_CONFIGURE_OPTS) \ - CFLAGS="$(TARGET_CFLAGS)" \ - ./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_DIR)/.configured +define Package/dropbear + $(call Package/dropbear/Default) + SECTION:=net + CATEGORY:=Base system + TITLE:=Small SSH2 client/server +endef + +define Package/dropbear/description + A small SSH2 server/client designed for small memory environments. +endef + +define Package/dropbear/conffiles +/etc/dropbear/dropbear_rsa_host_key +/etc/dropbear/dropbear_dss_host_key +/etc/config/dropbear +endef -$(DROPBEAR_DIR)/$(DROPBEAR_BINARY): $(DROPBEAR_DIR)/.configured - $(MAKE) $(TARGET_CONFIGURE_OPTS) LD=$(TARGET_CC) \ - PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" \ - MULTI=1 SCPPROGRESS=1 -C $(DROPBEAR_DIR) +define Package/dropbearconvert + $(call Package/dropbear/Default) + SECTION:=utils + CATEGORY:=Utilities + TITLE:=Utility for converting SSH keys +endef -$(PACKAGE_DIR)/$(DROPBEAR_IPK): $(DROPBEAR_DIR)/$(DROPBEAR_BINARY) - $(SCRIPT_DIR)/make-ipkg-dir.sh $(DROPBEAR_IPK_DIR) dropbear.control $(DROPBEAR_VERSION)-1 $(ARCH) - cp dropbear.conffiles $(DROPBEAR_IPK_DIR)/CONTROL/conffiles - mkdir -p $(DROPBEAR_IPK_DIR)/usr/bin - mkdir -p $(DROPBEAR_IPK_DIR)/usr/sbin - install -m 755 $(DROPBEAR_DIR)/$(DROPBEAR_BINARY) \ - $(DROPBEAR_IPK_DIR)/$(DROPBEAR_TARGET_BINARY) - $(STRIP) $(DROPBEAR_IPK_DIR)/usr/sbin/dropbear - ln -sf ../sbin/dropbear $(DROPBEAR_IPK_DIR)/usr/bin/scp - ln -sf ../sbin/dropbear $(DROPBEAR_IPK_DIR)/usr/bin/ssh - ln -sf ../sbin/dropbear $(DROPBEAR_IPK_DIR)/usr/bin/dropbearkey - ln -sf ../sbin/dropbear $(DROPBEAR_IPK_DIR)/usr/bin/dropbearconvert - mkdir -p $(DROPBEAR_IPK_DIR)/etc/init.d - cp ./files/passwd $(DROPBEAR_IPK_DIR)/etc - cp ./files/S50dropbear $(DROPBEAR_IPK_DIR)/etc/init.d/ - chmod a+x $(DROPBEAR_IPK_DIR)/etc/init.d/S50dropbear - $(IPKG_BUILD) $(DROPBEAR_IPK_DIR) $(PACKAGE_DIR) +CONFIGURE_ARGS += \ + --with-shared \ + --disable-pam \ + --enable-openpty \ + --enable-syslog \ + $(if $(CONFIG_SHADOW_PASSWORDS),,--disable-shadow) \ + --disable-lastlog \ + --disable-utmp \ + --disable-utmpx \ + --disable-wtmp \ + --disable-wtmpx \ + --disable-loginfunc \ + --disable-pututline \ + --disable-pututxline \ + --disable-zlib -$(IPKG_STATE_DIR)/info/dropbear.list: $(PACKAGE_DIR)/$(DROPBEAR_IPK) - $(IPKG) install $(PACKAGE_DIR)/$(DROPBEAR_IPK) +define Build/Configure + $(SED) 's,^/\* #define PKG_MULTI.*,#define PKG_MULTI,g' $(PKG_BUILD_DIR)/options.h + $(SED) 's,^#define DO_HOST_LOOKUP,/* & */,g' $(PKG_BUILD_DIR)/options.h + $(call Build/Configure/Default) +endef + +define Build/Compile + $(MAKE) -C $(PKG_BUILD_DIR) \ + $(TARGET_CONFIGURE_OPTS) \ + LD="$(TARGET_CC)" \ + PROGRAMS="dropbear dbclient dropbearkey scp" \ + MULTI=1 SCPPROGRESS=1 + $(MAKE) -C $(PKG_BUILD_DIR) \ + $(TARGET_CONFIGURE_OPTS) \ + LD="$(TARGET_CC)" \ + PROGRAMS="dropbearconvert" +endef -source: $(DL_DIR)/$(DROPBEAR_SOURCE) -prepare: $(DROPBEAR_DIR)/.patched -compile: $(PACKAGE_DIR)/$(DROPBEAR_IPK) -install: $(IPKG_STATE_DIR)/info/dropbear.list +define Package/dropbear/install + $(INSTALL_DIR) $(1)/usr/sbin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/dropbearmulti $(1)/usr/sbin/dropbear + $(INSTALL_DIR) $(1)/usr/bin + ln -sf ../sbin/dropbear $(1)/usr/bin/scp + ln -sf ../sbin/dropbear $(1)/usr/bin/ssh + ln -sf ../sbin/dropbear $(1)/usr/bin/dbclient + ln -sf ../sbin/dropbear $(1)/usr/bin/dropbearkey + $(INSTALL_DIR) $(1)/etc/config + $(INSTALL_DATA) ./files/dropbear.config $(1)/etc/config/dropbear + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/dropbear.init $(1)/etc/init.d/dropbear + $(INSTALL_DIR) $(1)/usr/lib/opkg/info + $(INSTALL_DIR) $(1)/etc/dropbear + touch $(1)/etc/dropbear/dropbear_rsa_host_key + touch $(1)/etc/dropbear/dropbear_dss_host_key +endef -clean: - rm -rf $(DROPBEAR_DIR) - rm -f $(PACKAGE_DIR)/$(DROPBEAR_IPK) +define Package/dropbearconvert/install + $(INSTALL_DIR) $(1)/usr/bin + $(INSTALL_BIN) $(PKG_BUILD_DIR)/dropbearconvert $(1)/usr/bin/dropbearconvert +endef +$(eval $(call BuildPackage,dropbear)) +$(eval $(call BuildPackage,dropbearconvert))