# Contributor: Leonardo Arena # Contributor: Valery Kartel # Maintainer: Natanael Copa global pkgname := 'openssh' global pkgver := '7.5_p1' global _myver := "$(pkgver%_*)$(pkgver#*_)" global pkgrel := '5' global pkgdesc := '"Port of OpenBSD's free SSH release'" global url := '"http://www.openssh.org/portable.html'" global arch := '"all'" global license := '"as-is'" global options := '"suid'" global depends := '"openssh-client openssh-sftp-server openssh-server'" global makedepends_build := '"linux-pam-dev'" global makedepends_host := '"libressl-dev zlib-dev linux-headers'" global makedepends := ""$makedepends_build $makedepends_host"" # Add more packages support here e.g. kerberos global _pkgsupport := ''"" test -z $BOOTSTRAP && global _pkgsupport := '"pam'" global subpackages := ""$pkgname-doc $pkgname-keygen $pkgname-client $pkgname-keysign $pkgname-sftp-server:sftp $pkgname-server-common:server_common:noarch $pkgname-server "" for _flavour in [$_pkgsupport] { global subpackages := ""$subpackages $(pkgname)-server-$_flavour:_pkg_flavour"" } global source := ""http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/$pkgname-$_myver.tar.gz openssh7.4-peaktput.patch openssh7.4-dynwindows.patch fix-utmp.patch bsd-compatible-realpath.patch sshd.initd sshd.confd sftp-interactive.patch openssh-7.5p1-sandbox.patch "" # secfixes: # 7.4_p1: # - CVE-2016-10009 # - CVE-2016-10010 # - CVE-2016-10011 # - CVE-2016-10012 # HPN patches are from: http://hpnssh.sourceforge.net/ global builddir := ""$srcdir"/$pkgname-$_myver" proc prepare { cd $builddir default_prepare for _flavour in [$_pkgsupport] { cp -R "$srcdir"/$pkgname-$_myver "$srcdir"/$pkgname-$(_myver)-$_flavour } } proc build { cd $builddir export LD="$CC" global _configure_vanilla := ""./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --sysconfdir=/etc/ssh \ --libexecdir=/usr/lib/ssh \ --mandir=/usr/share/man \ --with-pid-dir=/run \ --with-mantype=man \ --with-ldflags='$(LDFLAGS)' \ --disable-lastlog \ --disable-strip \ --disable-wtmp \ --with-privsep-path=/var/empty \ --with-xauth=/usr/bin/xauth \ --with-privsep-user=sshd \ --with-md5-passwords \ --with-ssl-engine \ "" # now we build "vanilla" openssh global _configure := $_configure_vanilla for _flavour in [$_pkgsupport] { global _configure := ""$_configure --without-$_flavour"" } msg "Building openssh..." eval $_configure make # now we build other openssh-$_flavour global _configure := $_configure_vanilla for _flavour in [$_pkgsupport] { cd "$builddir-$_flavour" msg "Building openssh with $_flavour support..." eval "$_configure --with-$_flavour" make } } proc package { cd $builddir make DESTDIR="$pkgdir" install mkdir -p "$pkgdir"/var/empty install -D -m755 "$srcdir"/sshd.initd \ "$pkgdir"/etc/init.d/sshd install -D -m644 "$srcdir"/sshd.confd \ "$pkgdir"/etc/conf.d/sshd install -Dm644 "$builddir"/contrib/ssh-copy-id.1 \ "$pkgdir"/usr/share/man/man1/ssh-copy-id.1 sed -i 's/#UseDNS yes/UseDNS no/' "$pkgdir"/etc/ssh/sshd_config } proc keygen { global pkgdesc := '"ssh helper program for generating keys'" global depends := '' install -d "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/ssh-keygen \ "$subpkgdir"/usr/bin/ } proc client { global pkgdesc := '"OpenBSD's SSH client'" global depends := '"openssh-keygen'" install -d "$subpkgdir"/usr/bin \ "$subpkgdir"/usr/lib/ssh \ "$subpkgdir"/etc/ssh \ "$subpkgdir"/var/empty mv "$pkgdir"/usr/bin/* \ "$subpkgdir"/usr/bin/ mv "$pkgdir"/etc/ssh/ssh_config \ "$pkgdir"/etc/ssh/moduli \ "$subpkgdir"/etc/ssh/ install -Dm755 "$builddir"/contrib/findssl.sh \ "$subpkgdir"/usr/bin/findssl.sh install -Dm755 "$builddir"/contrib/ssh-copy-id \ "$subpkgdir"/usr/bin/ssh-copy-id install -Dm755 "$builddir"/ssh-pkcs11-helper \ "$subpkgdir"/usr/bin/ssh-pkcs11-helper } proc keysign { global pkgdesc := '"ssh helper program for host-based authentication'" global depends := '"openssh-client'" install -d "$subpkgdir"/usr/lib/ssh mv "$pkgdir"/usr/lib/ssh/ssh-keysign \ "$subpkgdir"/usr/lib/ssh/ } proc sftp { global pkgdesc := '"ssh sftp server module'" global depends := ''"" install -d "$subpkgdir"/usr/lib/ssh mv "$pkgdir"/usr/lib/ssh/sftp-server \ "$subpkgdir"/usr/lib/ssh/ } proc server_common { global pkgdesc := '"OpenSSH server configuration files'" global depends := ''"" for i in [etc/ssh/sshd_config \ etc/init.d/sshd \ etc/conf.d/sshd] { install -d "$subpkgdir"/$(i%/*) mv "$pkgdir"/$i \ "$subpkgdir"/$(i%/*)/ } } proc server { global pkgdesc := '"OpenSSH server'" global depends := '"openssh-keygen openssh-server-common'" cd $builddir install -d "$subpkgdir"/usr/sbin mv "$pkgdir"/usr/sbin/sshd "$subpkgdir"/usr/sbin/ } proc _server { cd $builddir install -d "$subpkgdir"/usr/sbin mv "$1"/sshd "$subpkgdir"/usr/sbin/ } proc _pkg_flavour { global pkgdesc := ""OpenSSH server with $_flavour support"" global depends := '"openssh-keygen openssh-server-common'" for _flavour in [$_pkgsupport] { cd "$(builddir)"-$_flavour _server "$(builddir)"-$_flavour } } global sha512sums := '"58c542e8a110fb4316a68db94abb663fa1c810becd0638d45281df8aeca62c1f705090437a80e788e6c29121769b72a505feced537d3118c933fde01b5285c81 openssh-7.5p1.tar.gz 398096a89aa104abeff31aa043ac406a6348e0fdd4d313b7888ee0b931d38fd71fc21bceee46145e88f03bc27e00890e068442faee2d33f86cfbc04d58ffa4b6 openssh7.4-peaktput.patch b9d736eae9b43de91fa3eb277ba8abc6290a8436b0fb00ae3b0f1b2eabba9983e4d2a1e3c68f5514247d0a3f120037f0795fd88fbf302aabd2d1b54a325a04ee openssh7.4-dynwindows.patch f35fffcd26635249ce5d820e7b3e406e586f2d2d7f6a045f221e2f9fb53aebc1ab1dd1e603b3389462296ed77921a1d08456e7aaa3825cbed08f405b381a58e1 fix-utmp.patch f2b8daa537ea3f32754a4485492cc6eb3f40133ed46c0a5a29a89e4bcf8583d82d891d94bf2e5eb1c916fa68ec094abf4e6cd641e9737a6c05053808012b3a73 bsd-compatible-realpath.patch 394a420a36880bb0dd37dfd8727cea91fd9de6534050169e21212a46513ef3aaafe2752c338699b3d4ccd14871b26cf01a152df8060cd37f86ce0665fd53c63f sshd.initd ce0abddbd2004891f88efd8522c4b37a4989290269fab339c0fa9aacc051f7fd3b20813e192e92e0e64315750041cb74012d4321260f4865ff69d7a935b259d4 sshd.confd c1d09c65dbc347f0904edc30f91aa9a24b0baee50309536182455b544f1e3f85a8cecfa959e32be8b101d8282ef06dde3febbbc3f315489339dcf04155c859a9 sftp-interactive.patch 15c5478bcae56c019a2fbd82ec04808537fd4ba1f1ba4a0a88c0343c16c698c45dbfac59eebc3fcfd3c15b302ebec43e60ffa02442a6c77673b14818ad3f7b60 openssh-7.5p1-sandbox.patch'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(openssh)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(7.5_p1)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_myver) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{("_*")}) spids: [16 20] ) (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("*_")}) spids: [21 25] ) } spids: [15] ) ] spids: [15] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(5)} spids:[27])] spids: [27] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Port of OpenBSD's free SSH release"))} spids: [30] ) ] spids: [30] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://www.openssh.org/portable.html"))} spids: [35] ) ] spids: [35] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[40])] spids: [40] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (as-is))} spids:[45])] spids: [45] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:options) op:Equal rhs:{(DQ (suid))} spids:[50])] spids: [50] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ ("openssh-client openssh-sftp-server openssh-server"))} spids: [55] ) ] spids: [55] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends_build) op: Equal rhs: {(DQ (linux-pam-dev))} spids: [60] ) ] spids: [60] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends_host) op: Equal rhs: {(DQ ("libressl-dev zlib-dev linux-headers"))} spids: [65] ) ] spids: [65] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: {(DQ ($ VSub_Name "$makedepends_build") (" ") ($ VSub_Name "$makedepends_host"))} spids: [70] ) ] spids: [70] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_pkgsupport) op:Equal rhs:{(DQ )} spids:[80])] spids: [80] ) (AndOr children: [ (C {(Lit_Other "[")} {(-z)} {(DQ ($ VSub_Name "$BOOTSTRAP"))} {(Lit_Other "]")}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_pkgsupport) op:Equal rhs:{(DQ (pam))} spids:[96])] spids: [96] ) ] op_id: Op_DAmp ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ ($ VSub_Name "$pkgname") ("-doc\n") ("\t") ($ VSub_Name "$pkgname") ("-keygen\n") ("\t") ($ VSub_Name "$pkgname") ("-client\n") ("\t") ($ VSub_Name "$pkgname") ("-keysign\n") ("\t") ($ VSub_Name "$pkgname") ("-sftp-server:sftp\n") ("\t") ($ VSub_Name "$pkgname") ("-server-common:server_common:noarch\n") ("\t") ($ VSub_Name "$pkgname") ("-server\n") ("\t") ) } spids: [101] ) ] spids: [101] ) (ForEach iter_name: _flavour iter_words: [{($ VSub_Name "$_pkgsupport")}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ ($ VSub_Name "$subpackages") (" ") (${ VSub_Name pkgname) (-server-) ($ VSub_Name "$_flavour") (":_pkg_flavour") ) } spids: [138] ) ] spids: [138] ) ] spids: [135 150] ) spids: [131 133] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/") ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$_myver") (".tar.gz\n") ("\topenssh7.4-peaktput.patch\n") ("\topenssh7.4-dynwindows.patch\n") ("\tfix-utmp.patch\n") ("\tbsd-compatible-realpath.patch\n") ("\tsshd.initd\n") ("\tsshd.confd\n") ("\tsftp-interactive.patch\n") ("\topenssh-7.5p1-sandbox.patch\n") ("\t") ) } spids: [153] ) ] spids: [153] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$_myver")} spids: [194] ) ] spids: [194] ) (FuncDef name: prepare body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(default_prepare)}) (ForEach iter_name: _flavour iter_words: [{($ VSub_Name "$_pkgsupport")}] do_arg_iter: False body: (DoGroup children: [ (C {(cp)} {(-R)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$_myver") } {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (-) (${ VSub_Name _myver) (-) ($ VSub_Name "$_flavour") } ) ] spids: [230 258] ) spids: [226 228] ) ] spids: [208] ) spids: [204 207] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(export)} {(Lit_VarLike "LD=") (DQ ($ VSub_Name "$CC"))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_configure_vanilla) op: Equal rhs: { (DQ ("./configure ") ("\t\t--build=") ($ VSub_Name "$CBUILD") (" ") ("\t\t--host=") ($ VSub_Name "$CHOST") (" ") ("\t\t--prefix=/usr ") ("\t\t--sysconfdir=/etc/ssh ") ("\t\t--libexecdir=/usr/lib/ssh ") ("\t\t--mandir=/usr/share/man ") ("\t\t--with-pid-dir=/run ") ("\t\t--with-mantype=man ") ("\t\t--with-ldflags='") (${ VSub_Name LDFLAGS) ("' ") ("\t\t--disable-lastlog ") ("\t\t--disable-strip ") ("\t\t--disable-wtmp ") ("\t\t--with-privsep-path=/var/empty ") ("\t\t--with-xauth=/usr/bin/xauth ") ("\t\t--with-privsep-user=sshd ") ("\t\t--with-md5-passwords ") ("\t\t--with-ssl-engine ") ("\t\t") ) } spids: [285] ) ] spids: [285] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_configure) op: Equal rhs: {(DQ ($ VSub_Name "$_configure_vanilla"))} spids: [339] ) ] spids: [339] ) (ForEach iter_name: _flavour iter_words: [{($ VSub_Name "$_pkgsupport")}] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_configure) op: Equal rhs: { (DQ ($ VSub_Name "$_configure") (" --without-") ($ VSub_Name "$_flavour")) } spids: [357] ) ] spids: [357] ) ] spids: [354 365] ) spids: [350 352] ) (C {(msg)} {(DQ ("Building openssh..."))}) (C {(eval)} {(DQ ($ VSub_Name "$_configure"))}) (C {(make)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_configure) op: Equal rhs: {(DQ ($ VSub_Name "$_configure_vanilla"))} spids: [390] ) ] spids: [390] ) (ForEach iter_name: _flavour iter_words: [{($ VSub_Name "$_pkgsupport")}] do_arg_iter: False body: (DoGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir") (-) ($ VSub_Name "$_flavour"))}) (C {(msg)} {(DQ ("Building openssh with ") ($ VSub_Name "$_flavour") (" support..."))} ) (C {(eval)} {(DQ ($ VSub_Name "$_configure") (" --with-") ($ VSub_Name "$_flavour"))} ) (C {(make)}) ] spids: [405 438] ) spids: [401 403] ) ] spids: [267] ) spids: [263 266] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(make)} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} {(install)}) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir")) (/var/empty)}) (C {(install)} {(-D)} {(-m755)} {(DQ ($ VSub_Name "$srcdir")) (/sshd.initd)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/init.d/sshd)} ) (C {(install)} {(-D)} {(-m644)} {(DQ ($ VSub_Name "$srcdir")) (/sshd.confd)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/conf.d/sshd)} ) (C {(install)} {(-Dm644)} {(DQ ($ VSub_Name "$builddir")) (/contrib/ssh-copy-id.1)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/man/man1/ssh-copy-id.1)} ) (C {(sed)} {(-i)} {(SQ <"s/#UseDNS yes/UseDNS no/">)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/ssh/sshd_config)} ) ] spids: [447] ) spids: [443 446] ) (FuncDef name: keygen body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("ssh helper program for generating keys"))} spids: [555] ) ] spids: [555] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(SQ )} spids:[561])] spids: [561] ) (C {(install)} {(-d)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin)}) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/ssh-keygen)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin/)} ) ] spids: [552] ) spids: [548 551] ) (FuncDef name: client body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("OpenBSD's SSH client"))} spids: [598] ) ] spids: [598] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ (openssh-keygen))} spids: [604] ) ] spids: [604] ) (C {(install)} {(-d)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/ssh)} {(DQ ($ VSub_Name "$subpkgdir")) (/etc/ssh)} {(DQ ($ VSub_Name "$subpkgdir")) (/var/empty)} ) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/) (Lit_Other "*")} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin/)} ) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/ssh/ssh_config)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/ssh/moduli)} {(DQ ($ VSub_Name "$subpkgdir")) (/etc/ssh/)} ) (C {(install)} {(-Dm755)} {(DQ ($ VSub_Name "$builddir")) (/contrib/findssl.sh)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin/findssl.sh)} ) (C {(install)} {(-Dm755)} {(DQ ($ VSub_Name "$builddir")) (/contrib/ssh-copy-id)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin/ssh-copy-id)} ) (C {(install)} {(-Dm755)} {(DQ ($ VSub_Name "$builddir")) (/ssh-pkcs11-helper)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin/ssh-pkcs11-helper)} ) ] spids: [595] ) spids: [591 594] ) (FuncDef name: keysign body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("ssh helper program for host-based authentication"))} spids: [740] ) ] spids: [740] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ (openssh-client))} spids: [746] ) ] spids: [746] ) (C {(install)} {(-d)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/ssh)}) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/ssh/ssh-keysign)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/ssh/)} ) ] spids: [737] ) spids: [733 736] ) (FuncDef name: sftp body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("ssh sftp server module"))} spids: [786] ) ] spids: [786] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[792])] spids: [792] ) (C {(install)} {(-d)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/ssh)}) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/ssh/sftp-server)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/ssh/)} ) ] spids: [783] ) spids: [779 782] ) (FuncDef name: server_common body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("OpenSSH server configuration files"))} spids: [831] ) ] spids: [831] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[837])] spids: [837] ) (ForEach iter_name: i iter_words: [{(etc/ssh/sshd_config)} {(etc/init.d/sshd)} {(etc/conf.d/sshd)}] do_arg_iter: False body: (DoGroup children: [ (C {(install)} {(-d)} {(DQ ($ VSub_Name "$subpkgdir")) (/) (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ("*")}) spids: [871 876] ) } ) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/) ($ VSub_Name "$i")} {(DQ ($ VSub_Name "$subpkgdir")) (/) (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ("*")}) spids: [893 898] ) (/) } ) ] spids: [859 903] ) spids: [847 857] ) ] spids: [828] ) spids: [824 827] ) (FuncDef name: server body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("OpenSSH server"))} spids: [915] ) ] spids: [915] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ ("openssh-keygen openssh-server-common"))} spids: [921] ) ] spids: [921] ) (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(install)} {(-d)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/sbin)}) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/sbin/sshd)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/sbin/)} ) ] spids: [912] ) spids: [908 911] ) (FuncDef name: _server body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(install)} {(-d)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/sbin)}) (C {(mv)} {(DQ ($ VSub_Number "$1")) (/sshd)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/sbin/)}) ] spids: [963] ) spids: [959 962] ) (FuncDef name: _pkg_flavour body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("OpenSSH server with ") ($ VSub_Name "$_flavour") (" support"))} spids: [1005] ) ] spids: [1005] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ ("openssh-keygen openssh-server-common"))} spids: [1013] ) ] spids: [1013] ) (ForEach iter_name: _flavour iter_words: [{($ VSub_Name "$_pkgsupport")}] do_arg_iter: False body: (DoGroup children: [ (C {(cd)} {(DQ (${ VSub_Name builddir)) (-) ($ VSub_Name "$_flavour")}) (C {(_server)} {(DQ (${ VSub_Name builddir)) (-) ($ VSub_Name "$_flavour")}) ] spids: [1028 1053] ) spids: [1024 1026] ) ] spids: [1002] ) spids: [998 1001] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "58c542e8a110fb4316a68db94abb663fa1c810becd0638d45281df8aeca62c1f705090437a80e788e6c29121769b72a505feced537d3118c933fde01b5285c81 openssh-7.5p1.tar.gz\n" ) ( "398096a89aa104abeff31aa043ac406a6348e0fdd4d313b7888ee0b931d38fd71fc21bceee46145e88f03bc27e00890e068442faee2d33f86cfbc04d58ffa4b6 openssh7.4-peaktput.patch\n" ) ( "b9d736eae9b43de91fa3eb277ba8abc6290a8436b0fb00ae3b0f1b2eabba9983e4d2a1e3c68f5514247d0a3f120037f0795fd88fbf302aabd2d1b54a325a04ee openssh7.4-dynwindows.patch\n" ) ( "f35fffcd26635249ce5d820e7b3e406e586f2d2d7f6a045f221e2f9fb53aebc1ab1dd1e603b3389462296ed77921a1d08456e7aaa3825cbed08f405b381a58e1 fix-utmp.patch\n" ) ( "f2b8daa537ea3f32754a4485492cc6eb3f40133ed46c0a5a29a89e4bcf8583d82d891d94bf2e5eb1c916fa68ec094abf4e6cd641e9737a6c05053808012b3a73 bsd-compatible-realpath.patch\n" ) ( "394a420a36880bb0dd37dfd8727cea91fd9de6534050169e21212a46513ef3aaafe2752c338699b3d4ccd14871b26cf01a152df8060cd37f86ce0665fd53c63f sshd.initd\n" ) ( "ce0abddbd2004891f88efd8522c4b37a4989290269fab339c0fa9aacc051f7fd3b20813e192e92e0e64315750041cb74012d4321260f4865ff69d7a935b259d4 sshd.confd\n" ) ( "c1d09c65dbc347f0904edc30f91aa9a24b0baee50309536182455b544f1e3f85a8cecfa959e32be8b101d8282ef06dde3febbbc3f315489339dcf04155c859a9 sftp-interactive.patch\n" ) ( "15c5478bcae56c019a2fbd82ec04808537fd4ba1f1ba4a0a88c0343c16c698c45dbfac59eebc3fcfd3c15b302ebec43e60ffa02442a6c77673b14818ad3f7b60 openssh-7.5p1-sandbox.patch" ) ) } spids: [1058] ) ] spids: [1058] ) ] )