2 # Copyright (C) 2006-2014 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
14 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.gz
15 PKG_SOURCE_URL
:=https
://ftp.openbsd.org
/pub
/OpenBSD
/OpenSSH
/portable
/
16 PKG_MD5SUM
:=b2db2a83caf66a208bb78d6d287cdaa3
19 PKG_LICENSE_FILES
:=LICENCE
22 PKG_BUILD_DIR
:=$(BUILD_DIR
)/$(PKG_NAME
)-$(BUILD_VARIANT
)/$(PKG_NAME
)-$(PKG_VERSION
)
24 PKG_BUILD_DEPENDS
:=libopenssl
26 include $(INCLUDE_DIR
)/package.mk
28 define Package
/openssh
/Default
31 DEPENDS
:=+libopenssl
+zlib
33 MAINTAINER
:=Peter Wagner
<tripolar@gmx.at
>
34 URL
:=http
://www.openssh.com
/
39 define Package
/openssh-moduli
40 $(call Package
/openssh
/Default
)
41 DEPENDS
+= +openssh-keygen
45 define Package
/openssh-moduli
/description
46 OpenSSH server moduli file.
49 define Package
/openssh-client
50 $(call Package
/openssh
/Default
)
54 define Package
/openssh-client
/description
58 define Package
/openssh-client
/conffiles
62 define Package
/openssh-client-utils
63 $(call Package
/openssh
/Default
)
64 DEPENDS
+= +openssh-client
+openssh-keygen
65 TITLE
+= client utilities
68 define Package
/openssh-client-utils
/description
69 OpenSSH client utilities.
72 define Package
/openssh-keygen
73 $(call Package
/openssh
/Default
)
77 define Package
/openssh-keygen
/description
81 define Package
/openssh-server
82 $(call Package
/openssh
/Default
)
83 DEPENDS
+= +openssh-keygen
85 USERID
:=sshd
=22:sshd
=22
88 define Package
/openssh-server
/description
92 define Package
/openssh-server
/conffiles
96 define Package
/openssh-server-pam
97 $(call Package
/openssh
/Default
)
98 DEPENDS
+= +libpthread
+openssh-keygen
+libpam
99 TITLE
+= server
(with PAM support
)
101 USERID
:=sshd
=22:sshd
=22
104 define Package
/openssh-server-pam
/description
105 OpenSSH server
(with PAM support
).
108 define Package
/openssh-server-pam
/conffiles
110 /etc
/security
/access-sshd-local.conf
114 define Package
/openssh-sftp-client
115 $(call Package
/openssh
/Default
)
119 define Package
/openssh-sftp-client
/description
123 define Package
/openssh-sftp-server
124 $(call Package
/openssh
/Default
)
126 # Strip dependencies to avoid pulling in OpenSSL etc.
130 define Package
/openssh-sftp-server
/description
134 define Package
/openssh-sftp-avahi-service
135 $(call Package
/openssh
/Default
)
136 TITLE
+= (SFTP Avahi service
)
137 DEPENDS
:=+openssh-sftp-server
+avahi-daemon
140 define Package
/openssh-sftp-avahi-service
/description
141 This package contains the service definition for announcing
142 SFTP support via mDNS
/DNS-SD.
145 define Package
/openssh-sftp-avahi-service
/conffiles
146 /etc
/avahi
/services
/sftp-ssh.service
151 --sysconfdir
=/etc
/ssh \
152 --with-privsep-user
=sshd \
153 --with-privsep-path
=/var
/empty \
158 --disable-etc-default-login \
165 --without-kerberos5 \
168 ifeq ($(BUILD_VARIANT
),with-pam
)
176 ifeq ($(CONFIG_OPENSSL_ENGINE
),y
)
181 ifneq ($(CONFIG_SSP_SUPPORT
),y
)
183 --without-stackprotect
186 CONFIGURE_VARS
+= LD
="$(TARGET_CC)"
188 ifeq ($(BUILD_VARIANT
),with-pam
)
189 TARGET_LDFLAGS
+= -lpthread
193 $(MAKE
) -C
$(PKG_BUILD_DIR
) \
194 DESTDIR
="$(PKG_INSTALL_DIR)" \
197 $(MAKE
) -C
$(PKG_BUILD_DIR
) \
198 DESTDIR
="$(PKG_INSTALL_DIR)" \
203 define Package
/openssh-client
/preinst
205 if
[ -L
$${IPKG_INSTROOT}/usr
/bin
/ssh
] && [ -L
$${IPKG_INSTROOT}/usr
/bin
/scp
]; then
206 rm -f
$${IPKG_INSTROOT}/usr
/bin
/ssh
$${IPKG_INSTROOT}/usr
/bin
/scp
;
211 define Package
/openssh-client
/postrm
213 rm -f
$${IPKG_INSTROOT}/usr
/bin
/ssh
$${IPKG_INSTROOT}/usr
/bin
/scp
;
214 if
[ -x
$${IPKG_INSTROOT}/usr
/sbin
/dropbear
] ; then
215 ln
-s
/usr
/sbin
/dropbear
$${IPKG_INSTROOT}/usr
/bin
/ssh
;
216 ln
-s
/usr
/sbin
/dropbear
$${IPKG_INSTROOT}/usr
/bin
/scp
;
221 define Package
/openssh-moduli
/install
222 $(INSTALL_DIR
) $(1)/etc
/ssh
223 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/etc
/ssh
/moduli
$(1)/etc
/ssh
/
226 define Package
/openssh-client
/install
227 $(INSTALL_DIR
) $(1)/etc
/ssh
228 chmod
0700 $(1)/etc
/ssh
229 $(CP
) $(PKG_INSTALL_DIR
)/etc
/ssh
/ssh_config
$(1)/etc
/ssh
/
230 $(INSTALL_DIR
) $(1)/usr
/bin
231 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/ssh
$(1)/usr
/bin
/
232 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/scp
$(1)/usr
/bin
/
235 define Package
/openssh-client-utils
/install
236 $(INSTALL_DIR
) $(1)/usr
/bin
237 $(INSTALL_BIN
) $(foreach bin
,add agent keyscan keysign
,$(PKG_BUILD_DIR
)/ssh-
$(bin
)) $(1)/usr
/bin
/
240 define Package
/openssh-keygen
/install
241 $(INSTALL_DIR
) $(1)/usr
/bin
242 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/ssh-keygen
$(1)/usr
/bin
/
245 define Package
/openssh-server
/install
246 $(INSTALL_DIR
) $(1)/etc
/ssh
247 chmod
0700 $(1)/etc
/ssh
248 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/etc
/ssh
/sshd_config
$(1)/etc
/ssh
/
249 $(INSTALL_DIR
) $(1)/etc
/init.d
250 $(INSTALL_BIN
) .
/files
/sshd.init
$(1)/etc
/init.d
/sshd
251 $(INSTALL_DIR
) $(1)/usr
/sbin
252 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/sbin
/sshd
$(1)/usr
/sbin
/
255 define Package
/openssh-server-pam
/install
256 $(call Package
/openssh-server
/install,$(1))
257 sed
-i
's,#PasswordAuthentication yes,PasswordAuthentication no,g' $(1)/etc
/ssh
/sshd_config
258 sed
-i
's,#UsePAM no,UsePAM yes,g' $(1)/etc
/ssh
/sshd_config
259 $(INSTALL_DIR
) $(1)/etc
/pam.d
260 $(INSTALL_DATA
) .
/files
/sshd.pam
$(1)/etc
/pam.d
/sshd
261 $(INSTALL_DIR
) $(1)/etc
/security
262 $(INSTALL_DATA
) .
/files
/sshd.pam-access
$(1)/etc
/security
/access-sshd-local.conf
265 define Package
/openssh-sftp-client
/install
266 $(INSTALL_DIR
) $(1)/usr
/bin
267 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/sftp
$(1)/usr
/bin
/
270 define Package
/openssh-sftp-server
/install
271 $(INSTALL_DIR
) $(1)/usr
/lib
272 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/sftp-server
$(1)/usr
/lib
/
273 $(INSTALL_DIR
) $(1)/usr
/libexec
274 ln
-sf ..
/lib
/sftp-server
$(1)/usr
/libexec
/sftp-server
277 define Package
/openssh-sftp-avahi-service
/install
278 $(INSTALL_DIR
) $(1)/etc
/avahi
/services
279 $(INSTALL_DATA
) .
/files
/sftp-ssh.service
$(1)/etc
/avahi
/services
/
282 $(eval
$(call BuildPackage
,openssh-client
))
283 $(eval
$(call BuildPackage
,openssh-moduli
))
284 $(eval
$(call BuildPackage
,openssh-client-utils
))
285 $(eval
$(call BuildPackage
,openssh-keygen
))
286 $(eval
$(call BuildPackage
,openssh-server
))
287 $(eval
$(call BuildPackage
,openssh-server-pam
))
288 $(eval
$(call BuildPackage
,openssh-sftp-client
))
289 $(eval
$(call BuildPackage
,openssh-sftp-server
))
290 $(eval
$(call BuildPackage
,openssh-sftp-avahi-service
))