Files
packages/net/openssh/Makefile
John Crispin d4042ec35e generic userid: use the new USERID api
recent changes in trunk allow us to specify the userid inside the openwrt makefile.
the info is stored int he meta data of the IPK contorl file and users are generated
by the new generic postinst trigger.

Signed-off-by: John Crispin <blogic@openwrt.org>
2014-10-08 03:45:30 +02:00

269 lines
6.4 KiB
Makefile

#
# Copyright (C) 2006-2011 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=openssh
PKG_VERSION:=6.6p1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/ \
http://ftp.belnet.be/pub/OpenBSD/OpenSSH/portable/
PKG_MD5SUM:=3e9800e6bca1fbac0eea4d41baa7f239
PKG_LICENSE:=BSD ISC
PKG_LICENSE_FILE:=LICENCE
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
PKG_BUILD_DEPENDS:=libopenssl
include $(INCLUDE_DIR)/package.mk
define Package/openssh/Default
SECTION:=net
CATEGORY:=Network
DEPENDS:=+libopenssl +zlib +SSP_SUPPORT:libssp
TITLE:=OpenSSH
MAINTAINER:=Peter Wagner <tripolar@gmx.at>
URL:=http://www.openssh.com/
SUBMENU:=SSH
VARIANT:=without-pam
USERID:=sshd=22:sshd=22
endef
define Package/openssh-moduli
$(call Package/openssh/Default)
DEPENDS+= +openssh-keygen
TITLE+= moduli file
endef
define Package/openssh-moduli/description
OpenSSH server moduli file.
endef
define Package/openssh-client
$(call Package/openssh/Default)
TITLE+= client
endef
define Package/openssh-client/description
OpenSSH client.
endef
define Package/openssh-client/conffiles
/etc/ssh/ssh_config
endef
define Package/openssh-client-utils
$(call Package/openssh/Default)
DEPENDS+= +openssh-client +openssh-keygen
TITLE+= client utilities
endef
define Package/openssh-client-utils/description
OpenSSH client utilities.
endef
define Package/openssh-keygen
$(call Package/openssh/Default)
TITLE+= keygen
endef
define Package/openssh-keygen/description
OpenSSH keygen.
endef
define Package/openssh-server
$(call Package/openssh/Default)
DEPENDS+= +openssh-keygen
TITLE+= server
endef
define Package/openssh-server/description
OpenSSH server.
endef
define Package/openssh-server/conffiles
/etc/ssh/sshd_config
endef
define Package/openssh-server-pam
$(call Package/openssh/Default)
DEPENDS+= +libpthread +openssh-keygen +libpam
TITLE+= server (with PAM support)
VARIANT:=with-pam
endef
define Package/openssh-server-pam/description
OpenSSH server (with PAM support).
endef
define Package/openssh-server-pam/conffiles
/etc/pam.d/sshd
/etc/security/access-sshd-local.conf
/etc/ssh/sshd_config
endef
define Package/openssh-sftp-client
$(call Package/openssh/Default)
TITLE+= SFTP client
endef
define Package/openssh-sftp-client/description
OpenSSH SFTP client.
endef
define Package/openssh-sftp-server
$(call Package/openssh/Default)
TITLE+= SFTP server
DEPENDS:=+SSP_SUPPORT:libssp
endef
define Package/openssh-sftp-server/description
OpenSSH SFTP server.
endef
CONFIGURE_ARGS+= \
$(DISABLE_NLS) \
--sysconfdir=/etc/ssh \
--with-privsep-user=sshd \
--with-privsep-path=/var/empty \
--enable-shared \
--disable-static \
--disable-debug \
--disable-strip \
--disable-etc-default-login \
--disable-lastlog \
--disable-utmp \
--disable-utmpx \
--disable-wtmp \
--disable-wtmpx \
--without-bsd-auth \
--without-kerberos5 \
--without-x
ifeq ($(BUILD_VARIANT),with-pam)
CONFIGURE_ARGS += \
--with-pam
else
CONFIGURE_ARGS += \
--without-pam
endif
ifeq ($(CONFIG_OPENSSL_ENGINE),y)
CONFIGURE_ARGS+= \
--with-ssl-engine
endif
ifneq ($(CONFIG_SSP_SUPPORT),y)
CONFIGURE_ARGS += \
--without-stackprotect
endif
CONFIGURE_VARS += LD="$(TARGET_CC)"
ifeq ($(BUILD_VARIANT),with-pam)
TARGET_LDFLAGS += -lpthread
endif
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR) \
DESTDIR="$(PKG_INSTALL_DIR)" \
LIBS="" \
sftp-server
$(MAKE) -C $(PKG_BUILD_DIR) \
DESTDIR="$(PKG_INSTALL_DIR)" \
STRIP_OPT="" \
all install
endef
define Package/openssh-client/preinst
#!/bin/sh
if [ -L $${IPKG_INSTROOT}/usr/bin/ssh ] && [ -L $${IPKG_INSTROOT}/usr/bin/scp ]; then
rm -f $${IPKG_INSTROOT}/usr/bin/ssh $${IPKG_INSTROOT}/usr/bin/scp;
fi
exit 0
endef
define Package/openssh-client/postrm
#!/bin/sh
rm -f $${IPKG_INSTROOT}/usr/bin/ssh $${IPKG_INSTROOT}/usr/bin/scp;
if [ -x $${IPKG_INSTROOT}/usr/sbin/dropbear ] ; then
ln -s /usr/sbin/dropbear $${IPKG_INSTROOT}/usr/bin/ssh;
ln -s /usr/sbin/dropbear $${IPKG_INSTROOT}/usr/bin/scp;
fi
exit 0
endef
define Package/openssh-moduli/install
$(INSTALL_DIR) $(1)/etc/ssh
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/ssh/moduli $(1)/etc/ssh/
endef
define Package/openssh-client/install
$(INSTALL_DIR) $(1)/etc/ssh
chmod 0700 $(1)/etc/ssh
$(CP) $(PKG_INSTALL_DIR)/etc/ssh/ssh_config $(1)/etc/ssh/
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ssh $(1)/usr/bin/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/scp $(1)/usr/bin/
endef
define Package/openssh-client-utils/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(foreach bin,add agent keyscan keysign,$(PKG_BUILD_DIR)/ssh-$(bin)) $(1)/usr/bin/
endef
define Package/openssh-keygen/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ssh-keygen $(1)/usr/bin/
endef
define Package/openssh-server/install
$(INSTALL_DIR) $(1)/etc/ssh
chmod 0700 $(1)/etc/ssh
$(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/ssh/sshd_config $(1)/etc/ssh/
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/sshd.init $(1)/etc/init.d/sshd
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/sshd $(1)/usr/sbin/
endef
define Package/openssh-server-pam/install
$(call Package/openssh-server/install,$(1))
sed -i 's,#PasswordAuthentication yes,PasswordAuthentication no,g' $(1)/etc/ssh/sshd_config
sed -i 's,#UsePAM no,UsePAM yes,g' $(1)/etc/ssh/sshd_config
$(INSTALL_DIR) $(1)/etc/pam.d
$(INSTALL_DATA) ./files/sshd.pam $(1)/etc/pam.d/sshd
$(INSTALL_DIR) $(1)/etc/security
$(INSTALL_DATA) ./files/sshd.pam-access $(1)/etc/security/access-sshd-local.conf
endef
define Package/openssh-sftp-client/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sftp $(1)/usr/bin/
endef
define Package/openssh-sftp-server/install
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/sftp-server $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/libexec
ln -sf ../lib/sftp-server $(1)/usr/libexec/sftp-server
endef
$(eval $(call BuildPackage,openssh-client))
$(eval $(call BuildPackage,openssh-moduli))
$(eval $(call BuildPackage,openssh-client-utils))
$(eval $(call BuildPackage,openssh-keygen))
$(eval $(call BuildPackage,openssh-server))
$(eval $(call BuildPackage,openssh-server-pam))
$(eval $(call BuildPackage,openssh-sftp-client))
$(eval $(call BuildPackage,openssh-sftp-server))