wok-next annotate openssh/receipt @ rev 20337
orpheus: tiny patch
author | Pascal Bellard <pascal.bellard@slitaz.org> |
---|---|
date | Thu Nov 16 21:37:29 2017 +0100 (2017-11-16) |
parents | c6b8c8e476d9 |
children | e6615350078d |
rev | line source |
---|---|
al@19850 | 1 # SliTaz package receipt v2. |
pascal@860 | 2 |
pascal@860 | 3 PACKAGE="openssh" |
al@19850 | 4 VERSION="7.5p1" |
pascal@860 | 5 CATEGORY="security" |
al@19850 | 6 SHORT_DESC="OpenSSH clients and daemon" |
pascal@860 | 7 MAINTAINER="pascal.bellard@slitaz.org" |
pascal@14657 | 8 LICENSE="BSD" |
al@19850 | 9 WEB_SITE="https://www.openssh.com/" |
al@19850 | 10 |
pascal@860 | 11 TARBALL="$PACKAGE-$VERSION.tar.gz" |
al@19850 | 12 WGET_URL="http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/$TARBALL" |
pankso@16381 | 13 |
pascal@20281 | 14 BUILD_DEPENDS="libcrypto-dev zlib-dev openssl-dev perl mdocml-dev pam-dev" # groff |
pascal@20281 | 15 SPLIT="sftp-server openssh openssh-pam" |
pascal@860 | 16 |
pascal@860 | 17 # Rules to configure and make the package. |
pascal@860 | 18 compile_rules() |
pascal@860 | 19 { |
al@19850 | 20 # http://www.linuxfromscratch.org/blfs/view/stable/postlfs/openssh.html |
al@19850 | 21 install -v -m700 -d /var/lib/sshd && |
al@19850 | 22 chown -v root:sys /var/lib/sshd && |
al@19850 | 23 |
al@19850 | 24 addgroup -g 50 -S sshd && |
al@19850 | 25 adduser \ |
al@19850 | 26 -h /var/lib/sshd \ |
al@19850 | 27 -g 'sshd PrivSep' \ |
al@19850 | 28 -s /bin/false \ |
al@19850 | 29 -G sshd \ |
al@19850 | 30 -S -D \ |
al@19850 | 31 -u 50 \ |
al@19850 | 32 sshd && |
al@19850 | 33 |
pascal@20281 | 34 cp -a $src $src-pam |
pankso@16381 | 35 ./configure \ |
pankso@16381 | 36 --sysconfdir=/etc/ssh \ |
al@19850 | 37 --with-md5-passwords \ |
al@19850 | 38 --with-privsep-path=/var/lib/sshd \ |
pascal@20281 | 39 --without-pam \ |
pascal@20281 | 40 --without-ssh1 \ |
pascal@1514 | 41 $CONFIGURE_ARGS && |
al@19850 | 42 make && make DESTDIR=$DESTDIR install || return 1 |
pascal@860 | 43 |
pascal@20281 | 44 cd $src-pam |
pascal@20281 | 45 ./configure \ |
pascal@20281 | 46 --sysconfdir=/etc/ssh \ |
pascal@20281 | 47 --with-privsep-path=/var/lib/sshd \ |
pascal@20281 | 48 --with-pam \ |
pascal@20281 | 49 --with-xauth=/usr/bin/xauth \ |
pascal@20281 | 50 --without-ssh1 \ |
pascal@20281 | 51 $CONFIGURE_ARGS && |
pascal@20281 | 52 make && make DESTDIR=$DESTDIR-pam install || return 1 |
pascal@18807 | 53 |
pascal@20281 | 54 for inst in $install $install-pam ; do |
pascal@20281 | 55 install -vm755 contrib/ssh-copy-id $inst/usr/bin |
al@19850 | 56 |
pascal@20281 | 57 install=$inst cook_pick_manpages contrib/ssh-copy-id.1 |
pascal@20281 | 58 install=$inst cook_pick_docs INSTALL LICENCE OVERVIEW README* |
al@19850 | 59 |
pascal@20281 | 60 # SliTaz stuff |
pascal@20281 | 61 |
pascal@20281 | 62 mkdir -p $inst/etc/init.d |
pascal@20281 | 63 cp $stuff/openssh $inst/etc/init.d |
pascal@20281 | 64 cat >> $inst/etc/ssh/ssh_config <<EOT |
pascal@19409 | 65 |
pascal@19409 | 66 # client bug CVE-2016-0777 and CVE-2016-0778 |
pascal@19409 | 67 Host * |
pascal@19409 | 68 UseRoaming no |
pascal@19409 | 69 |
al@19850 | 70 # From https://wiki.gentoo.org/wiki/SSH_jump_host |
pascal@19409 | 71 Host *+* |
pascal@19409 | 72 ProxyCommand ssh $(echo %h | sed 's/+[^+]*$//;s/\([^+%%]*\)%%\([^+]*\)$/\2 -l \1/;s/:/ -p /') exec nc -w1 $(echo %h | sed 's/^.*+//;/:/!s/$/ %p/;s/:/ /') |
pascal@19409 | 73 |
pascal@19409 | 74 EOT |
pascal@20281 | 75 done |
pascal@860 | 76 } |
pascal@860 | 77 |
al@19850 | 78 # Rules to gen a SliTaz package suitable for Tazpkg. |
al@19850 | 79 genpkg_rules() |
pascal@7303 | 80 { |
al@19850 | 81 case $PACKAGE in |
al@19850 | 82 sftp-server) |
al@19850 | 83 copy sftp-server |
al@19850 | 84 CAT="security|secure FTP server" |
al@19850 | 85 TAGS="ssh" |
al@19850 | 86 DEPENDS="libcrypto zlib" |
al@19850 | 87 ;; |
al@19850 | 88 openssh) |
al@19850 | 89 copy @std sshd/ |
al@19850 | 90 DEPENDS="sftp-server libcrypto zlib" |
al@19850 | 91 CONFIG_FILES="/etc/ssh/moduli /etc/ssh/ssh_config /etc/ssh/sshd_config \ |
al@19850 | 92 /etc/inetd.conf" |
al@19850 | 93 TAGS="ssh security" |
al@19850 | 94 PROVIDE="ssh" |
al@19850 | 95 TAZPANEL_DAEMON="man::sshd|edit::/etc/ssh/sshd_config|options|web::$WEB_SITE" |
al@19850 | 96 ;; |
pascal@20281 | 97 openssh-pam) |
pascal@20281 | 98 install=$install-pam copy @std sshd/ |
pascal@20284 | 99 sed -i 's/.*UsePAM.*/UsePAM yes/' $fs/etc/ssh/sshd_config |
al@20292 | 100 CAT="security|with PAM support" |
pascal@20281 | 101 DEPENDS="sftp-server libcrypto zlib pam" |
pascal@20281 | 102 CONFIG_FILES="/etc/ssh/moduli /etc/ssh/ssh_config /etc/ssh/sshd_config \ |
pascal@20281 | 103 /etc/inetd.conf" |
pascal@20281 | 104 TAGS="ssh security" |
pascal@20281 | 105 PROVIDE="openssh:pam ssh:pam" |
pascal@20281 | 106 TAZPANEL_DAEMON="man::sshd|edit::/etc/ssh/sshd_config|options|web::$WEB_SITE" |
pascal@20281 | 107 ;; |
al@19850 | 108 esac |
al@19850 | 109 } |
al@19850 | 110 |
al@19850 | 111 post_install_openssh() { |
al@18689 | 112 grep -q ssh "$1/etc/inetd.conf" || cat >> "$1/etc/inetd.conf" <<EOT |
pascal@17048 | 113 #ssh stream tcp nowait root sshd sshd -i |
pascal@17048 | 114 EOT |
al@19850 | 115 |
al@19850 | 116 while read dropbear openssh; do |
al@18689 | 117 [ -s "$1$dropbear" ] || continue |
pascal@18730 | 118 chroot "$1/" dropbearconvert dropbear openssh $dropbear $openssh |
pascal@18730 | 119 chroot "$1/" dropbearkey -y -f $dropbear | grep ssh > "$1$openssh.pub" |
pascal@18730 | 120 chroot "$1/" dropbearkey -y -f $dropbear | grep Fingerprint |
pascal@16753 | 121 done <<EOT |
pascal@7303 | 122 /etc/dropbear/dropbear_rsa_host_key /etc/ssh/ssh_host_rsa_key |
pascal@7305 | 123 /etc/dropbear/dropbear_dss_host_key /etc/ssh/ssh_host_dsa_key |
pascal@19889 | 124 /etc/dropbear/dropbear_ecdsa_host_key /etc/ssh/ssh_host_ecdsa_key |
pascal@7303 | 125 EOT |
al@18689 | 126 |
al@18689 | 127 chroot "$1/" ssh-keygen -A |
pascal@7303 | 128 } |
pascal@17048 | 129 |
al@19850 | 130 post_remove_openssh() { |
al@19850 | 131 grep -q sshd "$1/etc/inetd.conf" && |
al@19850 | 132 sed -i '/sshd/d' "$1/etc/inetd.conf" |
pascal@17048 | 133 } |
pascal@20281 | 134 |
pascal@20281 | 135 post_install_openssh_pam() { |
pascal@20281 | 136 grep -q ssh "$1/etc/inetd.conf" || cat >> "$1/etc/inetd.conf" <<EOT |
pascal@20281 | 137 #ssh stream tcp nowait root sshd sshd -i |
pascal@20281 | 138 EOT |
pascal@20281 | 139 |
pascal@20281 | 140 while read dropbear openssh; do |
pascal@20281 | 141 [ -s "$1$dropbear" ] || continue |
pascal@20281 | 142 chroot "$1/" dropbearconvert dropbear openssh $dropbear $openssh |
pascal@20281 | 143 chroot "$1/" dropbearkey -y -f $dropbear | grep ssh > "$1$openssh.pub" |
pascal@20281 | 144 chroot "$1/" dropbearkey -y -f $dropbear | grep Fingerprint |
pascal@20281 | 145 done <<EOT |
pascal@20281 | 146 /etc/dropbear/dropbear_rsa_host_key /etc/ssh/ssh_host_rsa_key |
pascal@20281 | 147 /etc/dropbear/dropbear_dss_host_key /etc/ssh/ssh_host_dsa_key |
pascal@20281 | 148 /etc/dropbear/dropbear_ecdsa_host_key /etc/ssh/ssh_host_ecdsa_key |
pascal@20281 | 149 EOT |
pascal@20281 | 150 |
pascal@20281 | 151 chroot "$1/" ssh-keygen -A |
pascal@20281 | 152 } |
pascal@20281 | 153 |
pascal@20281 | 154 post_remove_openssh_pam() { |
pascal@20281 | 155 grep -q sshd "$1/etc/inetd.conf" && |
pascal@20281 | 156 sed -i '/sshd/d' "$1/etc/inetd.conf" |
pascal@20281 | 157 } |