forked from Freetz/freetz
/
dropbear.mk
100 lines (79 loc) · 3.78 KB
/
dropbear.mk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
$(call PKG_INIT_BIN, 2020.81)
$(PKG)_SOURCE:=$(pkg)-$($(PKG)_VERSION).tar.bz2
$(PKG)_SOURCE_SHA256:=48235d10b37775dbda59341ac0c4b239b82ad6318c31568b985730c788aac53b
$(PKG)_SITE:=https://matt.ucc.asn.au/dropbear/releases,https://dropbear.nl/mirror/releases
#$(PKG)_SITE:=hg@https://secure.ucc.asn.au/hg/dropbear
### WEBSITE:=https://matt.ucc.asn.au/dropbear/dropbear.html
### CHANGES:=https://matt.ucc.asn.au/dropbear/CHANGES
### CVSREPO:=https://hg.ucc.asn.au/dropbear/file/tip
$(PKG)_BINARY:=$($(PKG)_DIR)/dropbearmulti
$(PKG)_TARGET_BINARY:=$($(PKG)_DEST_DIR)/usr/sbin/dropbearmulti
$(PKG)_STARTLEVEL=30
ifeq ($(strip $(FREETZ_PACKAGE_DROPBEAR_WITH_ZLIB)),y)
$(PKG)_DEPENDS_ON += zlib
endif
ifeq ($(strip $(FREETZ_PACKAGE_DROPBEAR_SERVER_ONLY)),y)
$(PKG)_MAKE_OPTIONS:=PROGRAMS="dropbear dropbearkey" MULTI=1
$(PKG)_EXCLUDED += $(patsubst %,$($(PKG)_DEST_DIR)/usr/bin/%,ssh scp)
else
$(PKG)_MAKE_OPTIONS:=PROGRAMS="dropbear dbclient dropbearkey scp" MULTI=1 SCPPROGRESS=1
endif
# disable argument null checking (libtomcrypt)
$(PKG)_CPPFLAGS := -DARGTYPE=3
# disable X11 forwarding
$(PKG)_CPPFLAGS += -DDROPBEAR_X11FWD=0
# enable/disable reverse DNS lookups
$(PKG)_CPPFLAGS += -DDO_HOST_LOOKUP=$(if $(FREETZ_PACKAGE_DROPBEAR_DISABLE_HOST_LOOKUP),0,1)
# enable/disable MOTD printing
$(PKG)_CPPFLAGS += -DDO_MOTD=$(if $(FREETZ_PACKAGE_DROPBEAR_ENABLE_MOTD),1,0)
ifeq ($(strip $(FREETZ_PACKAGE_DROPBEAR_NONFREETZ)),y)
$(PKG)_CPPFLAGS += -DDB_NONFREETZ
endif
ifeq ($(strip $(FREETZ_PACKAGE_DROPBEAR_SFTP_SERVER)),y)
$(PKG)_CPPFLAGS += -DDROPBEAR_SFTPSERVER
endif
$(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_DROPBEAR_SERVER_ONLY
$(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_DROPBEAR_WITH_ZLIB
$(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_DROPBEAR_UTMP
$(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_DROPBEAR_WTMP
$(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_DROPBEAR_SFTP_SERVER
$(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_DROPBEAR_DISABLE_HOST_LOOKUP
$(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_DROPBEAR_ENABLE_MOTD
$(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_DROPBEAR_STATIC
$(PKG)_REBUILD_SUBOPTS += FREETZ_PACKAGE_DROPBEAR_NONFREETZ
#$(PKG)_CONFIGURE_PRE_CMDS += $(AUTORECONF)
$(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_DROPBEAR_WITH_ZLIB),,--disable-zlib)
$(PKG)_CONFIGURE_OPTIONS += --disable-pam
$(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_DROPBEAR_NONFREETZ),$(if $(FREETZ_PACKAGE_DROPBEAR_STATIC),--enable-openpty,--disable-openpty),--enable-openpty)
$(PKG)_CONFIGURE_OPTIONS += --enable-syslog
$(PKG)_CONFIGURE_OPTIONS += --enable-shadow
$(PKG)_CONFIGURE_OPTIONS += --disable-harden
$(PKG)_CONFIGURE_OPTIONS += --disable-lastlog
$(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_DROPBEAR_STATIC),--enable-static)
$(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_DROPBEAR_UTMP),,--disable-utmp)
$(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_DROPBEAR_UTMP),,--disable-utmpx)
$(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_DROPBEAR_WTMP),,--disable-wtmp)
$(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_DROPBEAR_WTMP),,--disable-wtmpx)
$(PKG)_CONFIGURE_OPTIONS += --disable-loginfunc
$(PKG)_CONFIGURE_OPTIONS += $(if $(FREETZ_PACKAGE_DROPBEAR_UTMP),,--disable-pututline)
$(PKG)_CONFIGURE_OPTIONS += --disable-pututxline
$(PKG)_CONFIGURE_OPTIONS += --enable-bundled-libtom
$(PKG_SOURCE_DOWNLOAD)
$(PKG_UNPACKED)
$(PKG_CONFIGURED_CONFIGURE)
$($(PKG)_BINARY): $($(PKG)_DIR)/.configured
$(SUBMAKE) -C $(DROPBEAR_DIR) \
$(DROPBEAR_MAKE_OPTIONS) \
EXTRA_CFLAGS="-ffunction-sections -fdata-sections" \
EXTRA_CPPFLAGS="$(DROPBEAR_CPPFLAGS)" \
EXTRA_LDFLAGS="-Wl,--gc-sections"
$($(PKG)_TARGET_BINARY): $($(PKG)_BINARY)
$(INSTALL_BINARY_STRIP)
$(pkg):
$(pkg)-precompiled: $($(PKG)_TARGET_BINARY)
$(pkg)-clean:
-$(SUBMAKE) -C $(DROPBEAR_DIR) clean
$(RM) $(DROPBEAR_FREETZ_CONFIG_FILE)
$(pkg)-uninstall:
$(RM) $(DROPBEAR_TARGET_BINARY)
$(PKG_FINISH)