203446370a305af1ca1dac6d3b073124d1ba7daf
[people/pmueller/ipfire-2.x.git] / lfs / openssh
1 ###############################################################################
2 #                                                                             #
3 # IPFire.org - A linux based firewall                                         #
4 # Copyright (C) 2007-2016  IPFire Team  <info@ipfire.org>                     #
5 #                                                                             #
6 # This program is free software: you can redistribute it and/or modify        #
7 # it under the terms of the GNU General Public License as published by        #
8 # the Free Software Foundation, either version 3 of the License, or           #
9 # (at your option) any later version.                                         #
10 #                                                                             #
11 # This program is distributed in the hope that it will be useful,             #
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of              #
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
14 # GNU General Public License for more details.                                #
15 #                                                                             #
16 # You should have received a copy of the GNU General Public License           #
17 # along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
18 #                                                                             #
19 ###############################################################################
20
21 ###############################################################################
22 # Definitions
23 ###############################################################################
24
25 include Config
26
27 VER        = 7.6p1
28
29 THISAPP    = openssh-$(VER)
30 DL_FILE    = $(THISAPP).tar.gz
31 DL_FROM    = $(URL_IPFIRE)
32 DIR_APP    = $(DIR_SRC)/$(THISAPP)
33 TARGET     = $(DIR_INFO)/$(THISAPP)
34
35 ###############################################################################
36 # Top-level Rules
37 ###############################################################################
38
39 objects = $(DL_FILE)
40
41 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
42
43 $(DL_FILE)_MD5 = 06a88699018e5fef13d4655abfed1f63
44
45 install : $(TARGET)
46
47 check : $(patsubst %,$(DIR_CHK)/%,$(objects))
48
49 download :$(patsubst %,$(DIR_DL)/%,$(objects))
50
51 md5 : $(subst %,%_MD5,$(objects))
52
53 ###############################################################################
54 # Downloading, checking, md5sum
55 ###############################################################################
56
57 $(patsubst %,$(DIR_CHK)/%,$(objects)) :
58         @$(CHECK)
59
60 $(patsubst %,$(DIR_DL)/%,$(objects)) :
61         @$(LOAD)
62
63 $(subst %,%_MD5,$(objects)) :
64         @$(MD5)
65
66 ###############################################################################
67 # Installation Details
68 ###############################################################################
69
70 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
71         @$(PREBUILD)
72         @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
73         cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/openssh-7.6p1-openssl-1.1.0.patch
74         cd $(DIR_APP) && sed -i "s/lkrb5 -ldes/lkrb5/" configure
75         cd $(DIR_APP) && ./configure \
76                 --prefix=/usr \
77                 --sysconfdir=/etc/ssh \
78                 --libexecdir=/usr/lib/openssh \
79                 --with-md5-passwords \
80                 --with-privsep-path=/var/empty \
81                 --with-superuser-path=/sbin:/usr/sbin:/bin:/usr/bin
82
83         cd $(DIR_APP) && make $(MAKETUNING)
84         cd $(DIR_APP) && make install
85         sed -i -e 's/^#\?Port .*$$/Port 222/' \
86                 -e 's/^#\?Protocol .*$$/Protocol 2/' \
87                 -e 's/^#\?LoginGraceTime .*$$/LoginGraceTime 30s/' \
88                 -e 's/^#\?PubkeyAuthentication .*$$/PubkeyAuthentication yes/' \
89                 -e 's/^#\?PasswordAuthentication .*$$/PasswordAuthentication yes/' \
90                 -e 's/^#\?MaxStartups .*$$/MaxStartups 5/' \
91                 -e 's/^#\?IgnoreUserKnownHosts .*$$/IgnoreUserKnownHosts yes/' \
92                 -e 's/^#\?UsePAM .*$$//' \
93                 -e 's/^#\?X11Forwarding .*$$/X11Forwarding no/' \
94                 -e 's/^#\?SyslogFacility AUTH .*$$/SyslogFacility AUTH/' \
95                 -e 's/^#\?LogLevel INFO .*$$/LogLevel INFO/' \
96                 -e 's/^#\?AllowTcpForwarding .*$$/AllowTcpForwarding no/' \
97                 -e 's/^#\?PermitRootLogin .*$$/PermitRootLogin yes/' \
98                 -e 's|^#\?HostKey /etc/ssh/ssh_host_dsa_key$$||' \
99                 -e 's|^#\?HostKey /etc/ssh/ssh_host_ecdsa_key$$||' \
100                 -e 's|^#\?HostKey /etc/ssh/ssh_host_ed25519_key$$||' \
101                 -e 's|^#\?HostKey /etc/ssh/ssh_host_rsa_key$$|HostKey /etc/ssh/ssh_host_ecdsa_key\nHostKey /etc/ssh/ssh_host_ed25519_key\nHostKey /etc/ssh/ssh_host_rsa_key|' \
102                 /etc/ssh/sshd_config
103         @rm -rf $(DIR_APP)
104         @$(POSTBUILD)