Makefile (7299B)
1 # 2 # Copyright (C) 2006-2014 OpenWrt.org 3 # 4 # This is free software, licensed under the GNU General Public License v2. 5 # See /LICENSE for more information. 6 # 7 8 include $(TOPDIR)/rules.mk 9 10 PKG_NAME:=openssh 11 PKG_VERSION:=7.5p1 12 PKG_RELEASE:=1 13 14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz 15 PKG_SOURCE_URL:=https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/ \ 16 https://ftp.spline.de/pub/OpenBSD/OpenSSH/portable/ \ 17 https://anorien.csc.warwick.ac.uk/pub/OpenBSD/OpenSSH/portable/ 18 PKG_HASH:=9846e3c5fab9f0547400b4d2c017992f914222b3fd1f8eee6c7dc6bc5e59f9f0 19 20 PKG_LICENSE:=BSD ISC 21 PKG_LICENSE_FILES:=LICENCE 22 23 24 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) 25 26 PKG_BUILD_DEPENDS:=libopenssl 27 28 include $(INCLUDE_DIR)/package.mk 29 30 define Package/openssh/Default 31 SECTION:=net 32 CATEGORY:=Network 33 DEPENDS:=+libopenssl +zlib 34 TITLE:=OpenSSH 35 MAINTAINER:=Peter Wagner <tripolar@gmx.at> 36 URL:=http://www.openssh.com/ 37 SUBMENU:=SSH 38 VARIANT:=without-pam 39 endef 40 41 define Package/openssh-moduli 42 $(call Package/openssh/Default) 43 DEPENDS+= +openssh-keygen 44 TITLE+= moduli file 45 endef 46 47 define Package/openssh-moduli/description 48 OpenSSH server moduli file. 49 endef 50 51 define Package/openssh-client 52 $(call Package/openssh/Default) 53 TITLE+= client 54 endef 55 56 define Package/openssh-client/description 57 OpenSSH client. 58 endef 59 60 define Package/openssh-client/conffiles 61 /etc/ssh/ssh_config 62 endef 63 64 define Package/openssh-client-utils 65 $(call Package/openssh/Default) 66 DEPENDS+= +openssh-client +openssh-keygen 67 TITLE+= client utilities 68 endef 69 70 define Package/openssh-client-utils/description 71 OpenSSH client utilities. 72 endef 73 74 define Package/openssh-keygen 75 $(call Package/openssh/Default) 76 TITLE+= keygen 77 endef 78 79 define Package/openssh-keygen/description 80 OpenSSH keygen. 81 endef 82 83 define Package/openssh-server 84 $(call Package/openssh/Default) 85 DEPENDS+= +openssh-keygen 86 TITLE+= server 87 USERID:=sshd=22:sshd=22 88 endef 89 90 define Package/openssh-server/description 91 OpenSSH server. 92 endef 93 94 define Package/openssh-server/conffiles 95 /etc/ssh/sshd_config 96 endef 97 98 define Package/openssh-server-pam 99 $(call Package/openssh/Default) 100 DEPENDS+= +libpthread +openssh-keygen +libpam 101 TITLE+= server (with PAM support) 102 VARIANT:=with-pam 103 USERID:=sshd=22:sshd=22 104 endef 105 106 define Package/openssh-server-pam/description 107 OpenSSH server (with PAM support). 108 endef 109 110 define Package/openssh-server-pam/conffiles 111 /etc/pam.d/sshd 112 /etc/security/access-sshd-local.conf 113 /etc/ssh/sshd_config 114 endef 115 116 define Package/openssh-sftp-client 117 $(call Package/openssh/Default) 118 TITLE+= SFTP client 119 endef 120 121 define Package/openssh-sftp-client/description 122 OpenSSH SFTP client. 123 endef 124 125 define Package/openssh-sftp-server 126 $(call Package/openssh/Default) 127 TITLE+= SFTP server 128 # Strip dependencies to avoid pulling in OpenSSL etc. 129 DEPENDS:= 130 endef 131 132 define Package/openssh-sftp-server/description 133 OpenSSH SFTP server. 134 endef 135 136 define Package/openssh-sftp-avahi-service 137 $(call Package/openssh/Default) 138 TITLE+= (SFTP Avahi service) 139 DEPENDS:=+openssh-sftp-server +avahi-daemon 140 endef 141 142 define Package/openssh-sftp-avahi-service/description 143 This package contains the service definition for announcing 144 SFTP support via mDNS/DNS-SD. 145 endef 146 147 define Package/openssh-sftp-avahi-service/conffiles 148 /etc/avahi/services/sftp-ssh.service 149 endef 150 151 CONFIGURE_ARGS+= \ 152 $(DISABLE_NLS) \ 153 --sysconfdir=/etc/ssh \ 154 --with-privsep-user=sshd \ 155 --with-privsep-path=/var/empty \ 156 --enable-shared \ 157 --disable-static \ 158 --disable-debug \ 159 --disable-strip \ 160 --disable-etc-default-login \ 161 --disable-lastlog \ 162 --disable-utmp \ 163 --disable-utmpx \ 164 --disable-wtmp \ 165 --disable-wtmpx \ 166 --without-bsd-auth \ 167 --without-kerberos5 \ 168 --without-x 169 170 ifeq ($(BUILD_VARIANT),with-pam) 171 CONFIGURE_ARGS += \ 172 --with-pam 173 else 174 CONFIGURE_ARGS += \ 175 --without-pam 176 endif 177 178 ifeq ($(CONFIG_OPENSSL_ENGINE_CRYPTO),y) 179 CONFIGURE_ARGS+= \ 180 --with-ssl-engine 181 endif 182 183 ifneq ($(CONFIG_SSP_SUPPORT),y) 184 CONFIGURE_ARGS += \ 185 --without-stackprotect 186 endif 187 188 CONFIGURE_VARS += LD="$(TARGET_CC)" 189 190 ifeq ($(BUILD_VARIANT),with-pam) 191 TARGET_LDFLAGS += -lpthread 192 endif 193 194 define Build/Compile 195 $(MAKE) -C $(PKG_BUILD_DIR) \ 196 DESTDIR="$(PKG_INSTALL_DIR)" \ 197 LIBS="" \ 198 sftp-server 199 $(MAKE) -C $(PKG_BUILD_DIR) \ 200 DESTDIR="$(PKG_INSTALL_DIR)" \ 201 STRIP_OPT="" \ 202 all install 203 endef 204 205 define Package/openssh-client/preinst 206 #!/bin/sh 207 if [ -L $${IPKG_INSTROOT}/usr/bin/ssh ] && [ -L $${IPKG_INSTROOT}/usr/bin/scp ]; then 208 rm -f $${IPKG_INSTROOT}/usr/bin/ssh $${IPKG_INSTROOT}/usr/bin/scp; 209 fi 210 exit 0 211 endef 212 213 define Package/openssh-client/postrm 214 #!/bin/sh 215 rm -f $${IPKG_INSTROOT}/usr/bin/ssh $${IPKG_INSTROOT}/usr/bin/scp; 216 if [ -x $${IPKG_INSTROOT}/usr/sbin/dropbear ] ; then 217 ln -s /usr/sbin/dropbear $${IPKG_INSTROOT}/usr/bin/ssh; 218 ln -s /usr/sbin/dropbear $${IPKG_INSTROOT}/usr/bin/scp; 219 fi 220 exit 0 221 endef 222 223 define Package/openssh-moduli/install 224 $(INSTALL_DIR) $(1)/etc/ssh 225 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/ssh/moduli $(1)/etc/ssh/ 226 endef 227 228 define Package/openssh-client/install 229 $(INSTALL_DIR) $(1)/etc/ssh 230 chmod 0700 $(1)/etc/ssh 231 $(CP) $(PKG_INSTALL_DIR)/etc/ssh/ssh_config $(1)/etc/ssh/ 232 $(INSTALL_DIR) $(1)/usr/bin 233 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ssh $(1)/usr/bin/ 234 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/scp $(1)/usr/bin/ 235 endef 236 237 define Package/openssh-client-utils/install 238 $(INSTALL_DIR) $(1)/usr/bin 239 $(INSTALL_BIN) $(foreach bin,add agent keyscan keysign,$(PKG_BUILD_DIR)/ssh-$(bin)) $(1)/usr/bin/ 240 endef 241 242 define Package/openssh-keygen/install 243 $(INSTALL_DIR) $(1)/usr/bin 244 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ssh-keygen $(1)/usr/bin/ 245 endef 246 247 define Package/openssh-server/install 248 $(INSTALL_DIR) $(1)/etc/ssh 249 chmod 0700 $(1)/etc/ssh 250 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/ssh/sshd_config $(1)/etc/ssh/ 251 $(INSTALL_DIR) $(1)/etc/init.d 252 $(INSTALL_BIN) ./files/sshd.init $(1)/etc/init.d/sshd 253 $(INSTALL_DIR) $(1)/usr/sbin 254 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/sshd $(1)/usr/sbin/ 255 endef 256 257 define Package/openssh-server-pam/install 258 $(call Package/openssh-server/install,$(1)) 259 sed -i 's,#PasswordAuthentication yes,PasswordAuthentication no,g' $(1)/etc/ssh/sshd_config 260 sed -i 's,#UsePAM no,UsePAM yes,g' $(1)/etc/ssh/sshd_config 261 $(INSTALL_DIR) $(1)/etc/pam.d 262 $(INSTALL_DATA) ./files/sshd.pam $(1)/etc/pam.d/sshd 263 $(INSTALL_DIR) $(1)/etc/security 264 $(INSTALL_DATA) ./files/sshd.pam-access $(1)/etc/security/access-sshd-local.conf 265 endef 266 267 define Package/openssh-sftp-client/install 268 $(INSTALL_DIR) $(1)/usr/bin 269 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/sftp $(1)/usr/bin/ 270 endef 271 272 define Package/openssh-sftp-server/install 273 $(INSTALL_DIR) $(1)/usr/lib 274 $(CP) $(PKG_INSTALL_DIR)/usr/lib/sftp-server $(1)/usr/lib/ 275 $(INSTALL_DIR) $(1)/usr/libexec 276 ln -sf ../lib/sftp-server $(1)/usr/libexec/sftp-server 277 endef 278 279 define Package/openssh-sftp-avahi-service/install 280 $(INSTALL_DIR) $(1)/etc/avahi/services 281 $(INSTALL_DATA) ./files/sftp-ssh.service $(1)/etc/avahi/services/ 282 endef 283 284 $(eval $(call BuildPackage,openssh-client)) 285 $(eval $(call BuildPackage,openssh-moduli)) 286 $(eval $(call BuildPackage,openssh-client-utils)) 287 $(eval $(call BuildPackage,openssh-keygen)) 288 $(eval $(call BuildPackage,openssh-server)) 289 $(eval $(call BuildPackage,openssh-server-pam)) 290 $(eval $(call BuildPackage,openssh-sftp-client)) 291 $(eval $(call BuildPackage,openssh-sftp-server)) 292 $(eval $(call BuildPackage,openssh-sftp-avahi-service))