diff --git a/openwrt/package/dropbear/Makefile b/openwrt/package/dropbear/Makefile index 46b1dd7ad05..bc3ff0d7bec 100644 --- a/openwrt/package/dropbear/Makefile +++ b/openwrt/package/dropbear/Makefile @@ -2,47 +2,57 @@ include $(TOPDIR)/rules.mk -DROPBEAR_VERSION:=0.45 -DROPBEAR_RELEASE:=2 -DROPBEAR_MD5SUM:=2bcc46e4c239aec982bf36a723dd0b0e +PKG_NAME:=dropbear +PKG_VERSION:=0.45 +PKG_RELEASE:=2 +PKG_MD5SUM:=2bcc46e4c239aec982bf36a723dd0b0e -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)-$(DROPBEAR_RELEASE)_$(ARCH).ipk -DROPBEAR_IPK_DIR:=$(DROPBEAR_DIR)/ipkg +PKG_SOURCE_URL:= \ + http://matt.ucc.asn.au/dropbear/releases/ \ + http://nthill.free.fr/openwrt/sources/$(PKG_NAME)/ +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 +PKG_CAT:=bzcat -$(DL_DIR)/$(DROPBEAR_SOURCE): - $(SCRIPT_DIR)/download.pl $(DL_DIR) $(DROPBEAR_SOURCE) $(DROPBEAR_MD5SUM) $(DROPBEAR_SITE) +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) -$(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 +IPKG_DROPBEAR:=$(PACKAGE_DIR)/$(PKG_NAME)_$(PKG_VERSION)-$(PKG_RELEASE)_$(ARCH).ipk +IDIR_DROPBEAR:=$(PKG_BUILD_DIR)/ipkg/$(PKG_NAME) +INFO_DROPBEAR:=$(IPKG_STATE_DIR)/info/$(PKG_NAME).list -$(DROPBEAR_DIR)/.configured: $(DROPBEAR_DIR)/.patched - (cd $(DROPBEAR_DIR); rm -rf config.cache; \ +$(DL_DIR)/$(PKG_SOURCE): + $(SCRIPT_DIR)/download.pl $(DL_DIR) $(PKG_SOURCE) $(PKG_MD5SUM) $(PKG_SOURCE_URL) + +$(PKG_BUILD_DIR)/.prepared: $(DL_DIR)/$(PKG_SOURCE) + $(PKG_CAT) $(DL_DIR)/$(PKG_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - + $(PATCH) $(PKG_BUILD_DIR) ./patches \*.patch + $(SED) 's,^/\* #define PKG_MULTI.*,#define PKG_MULTI,g' $(PKG_BUILD_DIR)/options.h + touch $(PKG_BUILD_DIR)/.prepared + +$(PKG_BUILD_DIR)/.configured: $(PKG_BUILD_DIR)/.prepared + (cd $(PKG_BUILD_DIR); rm -rf config.cache; \ autoconf; \ $(TARGET_CONFIGURE_OPTS) \ - CFLAGS="$(TARGET_CFLAGS)" \ + CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include" \ + LDFLAGS="-L$(STAGING_DIR)/usr/lib" \ ./configure \ --target=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \ --build=$(GNU_HOST_NAME) \ + --program-prefix="" \ + --program-suffix="" \ --prefix=/usr \ --exec-prefix=/usr \ --bindir=/usr/bin \ - --sbindir=/usr/sbin \ - --libexecdir=/usr/lib \ - --sysconfdir=/etc \ --datadir=/usr/share \ + --includedir=/usr/include \ + --infodir=/usr/share/info \ + --libdir=/usr/lib \ + --libexecdir=/usr/lib \ --localstatedir=/var \ - --mandir=/usr/man \ - --infodir=/usr/info \ + --mandir=/usr/share/man \ + --sbindir=/usr/sbin \ + --sysconfdir=/etc \ + $(DISABLE_LARGEFILE) \ $(DISABLE_NLS) \ --with-shared \ --disable-pam \ @@ -58,38 +68,38 @@ $(DROPBEAR_DIR)/.configured: $(DROPBEAR_DIR)/.patched --disable-pututline \ --disable-pututxline \ ); - touch $(DROPBEAR_DIR)/.configured + touch $(PKG_BUILD_DIR)/.configured -$(DROPBEAR_DIR)/$(DROPBEAR_BINARY): $(DROPBEAR_DIR)/.configured - $(MAKE) $(TARGET_CONFIGURE_OPTS) LD=$(TARGET_CC) \ +$(PKG_BUILD_DIR)/dropbearmulti: $(PKG_BUILD_DIR)/.configured + $(MAKE) -C $(PKG_BUILD_DIR) \ + LD=$(TARGET_CC) \ PROGRAMS="dropbear dbclient dropbearkey dropbearconvert scp" \ - MULTI=1 SCPPROGRESS=1 -C $(DROPBEAR_DIR) + MULTI=1 SCPPROGRESS=1 -$(PACKAGE_DIR)/$(DROPBEAR_IPK): $(DROPBEAR_DIR)/$(DROPBEAR_BINARY) - $(SCRIPT_DIR)/make-ipkg-dir.sh $(DROPBEAR_IPK_DIR) dropbear.control $(DROPBEAR_VERSION)-$(DROPBEAR_RELEASE) $(ARCH) - 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/dbclient - 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 - install -m 755 ./files/S50dropbear $(DROPBEAR_IPK_DIR)/etc/init.d/ - $(IPKG_BUILD) $(DROPBEAR_IPK_DIR) $(PACKAGE_DIR) +$(IPKG_DROPBEAR): $(PKG_BUILD_DIR)/dropbearmulti + $(SCRIPT_DIR)/make-ipkg-dir.sh $(IDIR_DROPBEAR) $(PKG_NAME).control $(PKG_VERSION)-$(PKG_RELEASE) $(ARCH) + mkdir -p $(IDIR_DROPBEAR)/usr/bin + mkdir -p $(IDIR_DROPBEAR)/usr/sbin + install -m 755 $(PKG_BUILD_DIR)/dropbearmulti \ + $(IDIR_DROPBEAR)/usr/sbin/dropbear + $(STRIP) $(IDIR_DROPBEAR)/usr/sbin/dropbear + ln -sf ../sbin/dropbear $(IDIR_DROPBEAR)/usr/bin/scp + ln -sf ../sbin/dropbear $(IDIR_DROPBEAR)/usr/bin/ssh + ln -sf ../sbin/dropbear $(IDIR_DROPBEAR)/usr/bin/dbclient + ln -sf ../sbin/dropbear $(IDIR_DROPBEAR)/usr/bin/dropbearkey + ln -sf ../sbin/dropbear $(IDIR_DROPBEAR)/usr/bin/dropbearconvert + mkdir -p $(IDIR_DROPBEAR)/etc/init.d + install -m 755 ./files/S50dropbear $(IDIR_DROPBEAR)/etc/init.d/ + $(IPKG_BUILD) $(IDIR_DROPBEAR) $(PACKAGE_DIR) -$(IPKG_STATE_DIR)/info/dropbear.list: $(PACKAGE_DIR)/$(DROPBEAR_IPK) - $(IPKG) install $(PACKAGE_DIR)/$(DROPBEAR_IPK) +$(INFO_DROPBEAR): $(IPKG_DROPBEAR) + $(IPKG) install $(IPKG_DROPBEAR) -source: $(DL_DIR)/$(DROPBEAR_SOURCE) -prepare: $(DROPBEAR_DIR)/.patched -compile: $(PACKAGE_DIR)/$(DROPBEAR_IPK) -install: $(IPKG_STATE_DIR)/info/dropbear.list +source: $(DL_DIR)/$(PKG_SOURCE) +prepare: $(PKG_BUILD_DIR)/.prepared +compile: $(IPKG_DROPBEAR) +install: $(INFO_DROPBEAR) clean: - rm -rf $(DROPBEAR_DIR) - rm -f $(PACKAGE_DIR)/$(DROPBEAR_IPK) + rm -rf $(PKG_BUILD_DIR) $(IPKG_DROPBEAR)