# Contributor: Elizabeth Jennifer Myers # Contributor: Valery Kartel # Maintainer: Valery Kartel global pkgname := 'proftpd' global pkgver := '1.3.6' global pkgrel := '1' global _pkgver := $(pkgver/_rc/rc) global pkgdesc := '"Highly configurable FTP server software'" global url := '"http://www.proftpd.org/'" global pkgusers := $pkgname global pkggroups := $pkgname global arch := '"all'" global license := '"GPL'" global options := '"!check'" global depends := ''"" global depends_dev := '"perl'" global makedepends := ""$depends_dev bash file pcre-dev libmemcached-dev libressl-dev sqlite-dev mariadb-dev hiredis-dev unixodbc-dev postgresql-dev openldap-dev geoip-dev net-snmp-dev"" global install := ""$pkgname.pre-install"" global _modules := '"auth_file auth_otp:sftp ban copy ctrls_admin deflate delay dnsbl dynmasq exec geoip facl facts ident ifsession:=zz ifversion lang ldap load log_forensic memcache qos quotatab:-- quotatab_file:quotatab quotatab_ldap:quotatab quotatab_radius:quotatab quotatab_sql:quotatab,sql radius ratio readme redis rewrite sftp_sql:sftp,sql site_misc shaper sql:-- sql_passwd:sql sql_sqlite:sql sql_mysql:sql sql_odbc:sql sql_postgres:sql statcache tls tls_fscache:tls tls_memcache:tls tls_redis:tls tls_shmcache:tls unique_id wrap2:-- wrap2_file:wrap2 wrap2_redis:wrap2,redis wrap2_sql:wrap2,sql'" for _module in [$_modules] { test -z $(_module##*:*) && eval _load_mod_$(_module%:*)=$(_module#*:) global subpackages := ""$subpackages $pkgname-mod_$(_module%:*):_module"" global _shared_mods := ""$(_shared_mods:+$_shared_mods:)mod_$(_module%:*)"" } global subpackages := ""$pkgname-dev $pkgname-doc $pkgname-utils $pkgname-mod_sftp $pkgname-mod_snmp $subpackages "" global source := ""ftp://ftp.proftpd.org/distrib/source/$pkgname-$_pkgver.tar.gz $pkgname.logrotate $pkgname.initd mod_delay.conf mod_load.conf mod_sftp.conf mod_tls_shmcache.conf libressl.patch "" global builddir := ""$srcdir/$pkgname-$_pkgver"" proc prepare { default_prepare update_config_guess } proc build { cd $builddir ./configure \ --prefix=/usr \ --sysconfdir=/etc/$pkgname \ --localstatedir=/run/$pkgname \ --libexecdir=/usr/lib/$pkgname \ --disable-strip \ --disable-pam \ --enable-dso \ --enable-facl \ --enable-pcre \ --enable-ipv6 \ --enable-ctrls \ --enable-openssl \ --with-shared=mod_sftp:mod_snmp:$_shared_mods \ || return 1 make || return 1 } proc package { make -C $builddir DESTDIR="$pkgdir" install || return 1 sed -i -e "5 a Include /etc/$pkgname/modules.d/*.conf" \ -e "5 a Include /etc/$pkgname/conf.d/*.conf\n" \ -e "s/nobody/$pkgname/" \ -e "s/nogroup/$pkgname/" \ "$pkgdir"/etc/$pkgname/$pkgname.conf || return 1 mkdir -p "$pkgdir"/var/log/$pkgname \ "$pkgdir"/etc/$pkgname/conf.d \ "$pkgdir"/etc/$pkgname/modules.d || return 1 install -dm750 -o ftp -g ftp "$pkgdir"/var/lib/ftp || return 1 install -Dm755 "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname || return 1 install -Dm644 "$srcdir"/$pkgname.logrotate "$pkgdir"/etc/logrotate.d/$pkgname || return 1 rm -fr "$pkgdir"/run "$pkgdir"/usr/share/locale \ "$pkgdir"/usr/sbin/in.$pkgname } proc dev { default_dev || return 1 mkdir -p "$subpkgdir"/usr/bin || return 1 mv "$pkgdir"/usr/bin/prxs "$subpkgdir"/usr/bin } proc doc { default_doc || return 1 mkdir -p "$subpkgdir"/usr/share/doc/$pkgname || return 1 cd $builddir cp -r RELEASE_NOTES doc/* contrib/README* \ contrib/mod_quotatab_ldap.ldif \ contrib/mod_quotatab_ldap.schema \ "$subpkgdir"/usr/share/doc/$pkgname } proc utils { global pkgdesc := ""$pkgdesc (utilities)"" global depends := ""$pkgname perl perl-mail-sendmail"" mkdir -p "$subpkgdir"/usr/sbin || return 1 mv "$pkgdir"/usr/sbin/ftpscrub \ "$pkgdir"/usr/sbin/ftpshut \ "$subpkgdir"/usr/sbin || return 1 mv "$pkgdir"/usr/bin "$subpkgdir"/usr } proc _module { var name = $(subpkgname#$pkgname-) var load = $[eval echo '$'_load_$name] global pkgdesc := ""ProFTPd module: $name"" global depends := $pkgname mkdir -p "$subpkgdir"/usr/lib/$pkgname || return 1 mv "$pkgdir"/usr/lib/$pkgname/$name.so \ "$subpkgdir"/usr/lib/$pkgname || return 1 test -f "$srcdir"/$name.conf && install -Dm644 "$srcdir"/$name.conf \ "$subpkgdir"/etc/$pkgname/conf.d/$(name#mod_).conf if test $load != "--" { var file = ""$subpkgdir"/etc/$pkgname/modules.d/$(name#mod_).conf" if test -z $(load##=*) { file := ""$subpkgdir"/etc/$pkgname/modules.d/$(load#=)$(name#mod_).conf" load := ''"" } mkdir -p $(file%/*) || return 1 echo "" > $file var dep = ''; for dep in [$[echo $load | tr "," " ]] { global depends := ""$depends $pkgname-mod_$dep"" echo " " >> $file echo " LoadModule mod_$dep.c" >> $file echo " " >> $file } echo " LoadModule $name.c" >> $file echo "" >> $file } } proc mod_snmp { _module || return 1 mkdir -p "$subpkgdir"/usr/share/snmp/mibs || return 1 mv "$pkgdir"/etc/$pkgname/PROFTPD-MIB.txt \ "$subpkgdir"/usr/share/snmp/mibs } proc mod_sftp { _module || return 1 mkdir -p "$subpkgdir"/etc/$pkgname/authorized_keys || return 1 mv "$pkgdir"/etc/$pkgname/dhparams.pem \ "$pkgdir"/etc/$pkgname/blacklist.dat \ "$subpkgdir"/etc/$pkgname/ } global sha512sums := '"2a3ca76a0c35ba31e9d79f7f652f4f35768262f5039c5dc04ef83ac9218f624645ac6cee445af4ec6a8c59a9bdad1e7b48e0e90cd13934cbe7c3e77a2f6013c0 proftpd-1.3.6.tar.gz 142f8ba096844eb48883cdd3890fa3c0c4c8f73f7ce4f2acd5fb742053f8a3605b3f6ca5d5ab6c62c673d76eb60885d796af55bd7b53950794c4e7e2837973b8 proftpd.logrotate a03124a88c0c9f3981762804c62aa479f36227f24408a60437bf737c1e783c539a2d2c0aed0b1d95e56a587bdb5c372f6d670c298cdb7433ecd1f64d4bef7c42 proftpd.initd e918e9fdf42e46953faeb55f5a8e7e7afc8951b861059182993f45b7ca870b9bdfa261fc893923772060bf500c44f98503d44878473dce7534f0825a7ff87831 mod_delay.conf 06c149f4c1b8e0deb8102a0ddbe5314354d53cb70934c9315968ab69b9d2b1e16c33bf652aba05472eac4ca44137ce18c93214bb1257fad6c6e2e9b0728cf556 mod_load.conf 557cbf2c1ca3a724216837f98c0f86b7d14df5f91564e1aceef721389c4774562edbd584d3ce2611ea4b2853c50acd569c33302f534e6e60452cf12b4b997ece mod_sftp.conf 768ce1e63b44eafb9033212655c9a5a9aa65a6f7e1b97b11210ccc0e49caf5c32dd2514dba10a098a4ab2c8bd5f3ad5167f337f5fa0a1cdd5efa4e37c980f6e5 mod_tls_shmcache.conf abee13da067175c1f3dd1c02f8055b551e2d1370cfc430d22e204a174a4518ccf0b55cb8415676362508f4504d28d1d711f4d27001e69b6b6ce7bd7ea3f521ef libressl.patch'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(proftpd)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(1.3.6)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(1)} spids:[15])] spids: [15] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_pkgver) op: Equal rhs: { (BracedVarSub token: suffix_op: (PatSub pat: {(_rc)} replace: {(rc)} do_all: False do_prefix: False do_suffix: False ) spids: [19 25] ) } spids: [18] ) ] spids: [18] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Highly configurable FTP server software"))} spids: [27] ) ] spids: [27] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://www.proftpd.org/"))} spids: [32] ) ] spids: [32] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgusers) op: Equal rhs: {($ VSub_Name "$pkgname")} spids: [37] ) ] spids: [37] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkggroups) op: Equal rhs: {($ VSub_Name "$pkgname")} spids: [40] ) ] spids: [40] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[43])] spids: [43] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (GPL))} spids:[48])] spids: [48] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:options) op:Equal rhs:{(DQ ("!check"))} spids:[53])] spids: [53] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ )} spids:[58])] spids: [58] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends_dev) op:Equal rhs:{(DQ (perl))} spids:[62])] spids: [62] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: { (DQ ($ VSub_Name "$depends_dev") (" bash file pcre-dev libmemcached-dev libressl-dev sqlite-dev mariadb-dev\n") ("\thiredis-dev unixodbc-dev postgresql-dev openldap-dev geoip-dev net-snmp-dev") ) } spids: [67] ) ] spids: [67] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:install) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname") (.pre-install))} spids: [74] ) ] spids: [74] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_modules) op: Equal rhs: { (DQ ( "auth_file auth_otp:sftp ban copy ctrls_admin deflate delay dnsbl dynmasq exec geoip\n" ) ("\tfacl facts ident ifsession:=zz ifversion lang ldap load log_forensic memcache qos\n") ( "\tquotatab:-- quotatab_file:quotatab quotatab_ldap:quotatab quotatab_radius:quotatab\n" ) ("\tquotatab_sql:quotatab,sql radius ratio readme redis rewrite sftp_sql:sftp,sql site_misc\n") ( "\tshaper sql:-- sql_passwd:sql sql_sqlite:sql sql_mysql:sql sql_odbc:sql sql_postgres:sql\n" ) ("\tstatcache tls tls_fscache:tls tls_memcache:tls tls_redis:tls tls_shmcache:tls unique_id\n") ("\twrap2:-- wrap2_file:wrap2 wrap2_redis:wrap2,redis wrap2_sql:wrap2,sql") ) } spids: [80] ) ] spids: [80] ) (ForEach iter_name: _module iter_words: [{($ VSub_Name "$_modules")}] do_arg_iter: False body: (DoGroup children: [ (AndOr children: [ (C {(Lit_Other "[")} {(-z)} { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*:*")}) spids: [108 112] ) ) } {(Lit_Other "]")} ) (C {(eval)} {(_load_mod_) (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(":*")}) spids: [122 126] ) (Lit_Other "=") (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("*:")}) spids: [128 132] ) } ) ] op_id: Op_DAmp ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ ($ VSub_Name "$subpackages") (" ") ($ VSub_Name "$pkgname") (-mod_) (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(":*")}) spids: [141 145] ) (":_module") ) } spids: [135] ) ] spids: [135] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_shared_mods) op: Equal rhs: { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: {($ VSub_Name "$_shared_mods") (":")} ) spids: [152 157] ) (mod_) (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(":*")}) spids: [159 163] ) ) } spids: [150] ) ] spids: [150] ) ] spids: [100 166] ) spids: [96 98] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ ($ VSub_Name "$pkgname") ("-dev ") ($ VSub_Name "$pkgname") ("-doc ") ($ VSub_Name "$pkgname") ("-utils\n") ("\t") ($ VSub_Name "$pkgname") ("-mod_sftp ") ($ VSub_Name "$pkgname") ("-mod_snmp ") ($ VSub_Name "$subpackages") ("\n") ("\t") ) } spids: [168] ) ] spids: [168] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("ftp://ftp.proftpd.org/distrib/source/") ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$_pkgver") (".tar.gz\n") ("\t") ($ VSub_Name "$pkgname") (".logrotate\n") ("\t") ($ VSub_Name "$pkgname") (".initd\n") ("\tmod_delay.conf\n") ("\tmod_load.conf\n") ("\tmod_sftp.conf\n") ("\tmod_tls_shmcache.conf\n") ("\tlibressl.patch\n") ("\t") ) } spids: [186] ) ] spids: [186] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir") (/) ($ VSub_Name "$pkgname") (-) ($ VSub_Name "$_pkgver"))} spids: [207] ) ] spids: [207] ) (FuncDef name: prepare body: (BraceGroup children:[(C {(default_prepare)})(C {(update_config_guess)})] spids:[220]) spids: [216 219] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (AndOr children: [ (C {(./configure)} {(--prefix) (Lit_Other "=") (/usr)} {(--sysconfdir) (Lit_Other "=") (/etc/) ($ VSub_Name "$pkgname")} {(--localstatedir) (Lit_Other "=") (/run/) ($ VSub_Name "$pkgname")} {(--libexecdir) (Lit_Other "=") (/usr/lib/) ($ VSub_Name "$pkgname")} {(--disable-strip)} {(--disable-pam)} {(--enable-dso)} {(--enable-facl)} {(--enable-pcre)} {(--enable-ipv6)} {(--enable-ctrls)} {(--enable-openssl)} {(--with-shared) (Lit_Other "=") (mod_sftp) (Lit_Other ":") (mod_snmp) (Lit_Other ":") ($ VSub_Name "$_shared_mods") } ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [(C {(make)}) (ControlFlow token: arg_word:{(1)})] op_id: Op_DPipe ) ] spids: [235] ) spids: [231 234] ) (FuncDef name: package body: (BraceGroup children: [ (AndOr children: [ (C {(make)} {(-C)} {(DQ ($ VSub_Name "$builddir"))} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} {(install)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(sed)} {(-i)} {(-e)} {(DQ ("5 a Include /etc/") ($ VSub_Name "$pkgname") ("/modules.d/*.conf"))} {(-e)} { (DQ ("5 a Include /etc/") ($ VSub_Name "$pkgname") ("/conf.d/*.conf") (EscapedLiteralPart token:) ) } {(-e)} {(DQ (s/nobody/) ($ VSub_Name "$pkgname") (/))} {(-e)} {(DQ (s/nogroup/) ($ VSub_Name "$pkgname") (/))} {(DQ ($ VSub_Name "$pkgdir")) (/etc/) ($ VSub_Name "$pkgname") (/) ($ VSub_Name "$pkgname") (.conf)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir")) (/var/log/) ($ VSub_Name "$pkgname")} {(DQ ($ VSub_Name "$pkgdir")) (/etc/) ($ VSub_Name "$pkgname") (/conf.d)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/) ($ VSub_Name "$pkgname") (/modules.d)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(install)} {(-dm750)} {(-o)} {(ftp)} {(-g)} {(ftp)} {(DQ ($ VSub_Name "$pkgdir")) (/var/lib/ftp)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(install)} {(-Dm755)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (.initd)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/init.d/) ($ VSub_Name "$pkgname")} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(install)} {(-Dm644)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (.logrotate)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/logrotate.d/) ($ VSub_Name "$pkgname")} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (C {(rm)} {(-fr)} {(DQ ($ VSub_Name "$pkgdir")) (/run)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/locale)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/sbin/in.) ($ VSub_Name "$pkgname")} ) ] spids: [340] ) spids: [336 339] ) (FuncDef name: dev body: (BraceGroup children: [ (AndOr children: [ (C {(default_dev)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin/prxs)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/bin)} ) ] spids: [562] ) spids: [558 561] ) (FuncDef name: doc body: (BraceGroup children: [ (AndOr children: [ (C {(default_doc)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/doc/) ($ VSub_Name "$pkgname")} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(cp)} {(-r)} {(RELEASE_NOTES)} {(doc/) (Lit_Other "*")} {(contrib/README) (Lit_Other "*")} {(contrib/mod_quotatab_ldap.ldif)} {(contrib/mod_quotatab_ldap.schema)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/doc/) ($ VSub_Name "$pkgname")} ) ] spids: [609] ) spids: [605 608] ) (FuncDef name: utils body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ($ VSub_Name "$pkgdesc") (" (utilities)"))} spids: [683] ) ] spids: [683] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname") (" perl perl-mail-sendmail"))} spids: [690] ) ] spids: [690] ) (AndOr children: [ (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/sbin)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/sbin/ftpscrub)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/sbin/ftpshut)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/sbin)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/bin)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr)}) ] spids: [680] ) spids: [676 679] ) (FuncDef name: _module body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:name) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id: VOp1_Pound arg_word: {($ VSub_Name "$pkgname") (-)} ) spids: [766 771] ) } spids: [765] ) ] spids: [763] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:load) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(eval)} {(echo)} {(EscapedLiteralPart token:) (_load_) ($ VSub_Name "$name") } ) ] ) left_token: spids: [777 785] ) } spids: [776] ) ] spids: [774] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("ProFTPd module: ") ($ VSub_Name "$name"))} spids: [788] ) ] spids: [788] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname"))} spids: [795] ) ] spids: [795] ) (AndOr children: [ (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/) ($ VSub_Name "$pkgname")} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/) ($ VSub_Name "$pkgname") (/) ($ VSub_Name "$name") (.so) } {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/) ($ VSub_Name "$pkgname")} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(Lit_Other "[")} {(-f)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$name") (.conf)} {(Lit_Other "]")} ) (C {(install)} {(-Dm644)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$name") (.conf)} {(DQ ($ VSub_Name "$subpkgdir")) (/etc/) ($ VSub_Name "$pkgname") (/conf.d/) (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(mod_)}) spids: [878 882] ) (.conf) } ) ] op_id: Op_DAmp ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$load"))} {(KW_Bang "!") (Lit_Other "=")} {(DQ (--))} {(Lit_Other "]")} ) terminator: ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: {(DQ ($ VSub_Name "$subpkgdir")) (/etc/) ($ VSub_Name "$pkgname") (/modules.d/) (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(mod_)}) spids: [916 920] ) (.conf) } spids: [909] ) ] spids: [907] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-z)} { (DQ (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("=*")}) spids: [931 935] ) ) } {(Lit_Other "]")} ) terminator: ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:file) op: Equal rhs: {(DQ ($ VSub_Name "$subpkgdir")) (/etc/) ($ VSub_Name "$pkgname") (/modules.d/) (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("=")}) spids: [951 955] ) (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(mod_)}) spids: [956 960] ) (.conf) } spids: [944] ) ] spids: [944] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:load) op: Equal rhs: {(DQ )} spids: [964] ) ] spids: [964] ) ] spids: [-1 941] ) ] spids: [-1 969] ) (AndOr children: [ (C {(mkdir)} {(-p)} { (BracedVarSub token: suffix_op: (StringUnary op_id: VOp1_Percent arg_word: {(Lit_Slash /) ("*")} ) spids: [976 981] ) } ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) (SimpleCommand words: [{(echo)} {(DQ (""))}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {($ VSub_Name "$file")} spids: [998] ) ] ) (Sentence child: (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:dep) op:Equal spids:[1005])] spids: [1003] ) terminator: ) (ForEach iter_name: dep iter_words: [ { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {($ VSub_Name "$load")}) (C {(tr)} {(DQ (","))} {(DQ (" "))}) ] negated: False ) ] ) left_token: spids: [1014 1030] ) } ] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: { (DQ ($ VSub_Name "$depends") (" ") ($ VSub_Name "$pkgname") (-mod_) ($ VSub_Name "$dep") ) } spids: [1036] ) ] spids: [1036] ) (SimpleCommand words: [{(echo)} {(DQ (" "))}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {($ VSub_Name "$file")} spids: [1054] ) ] ) (SimpleCommand words: [{(echo)} {(DQ (" LoadModule mod_") ($ VSub_Name "$dep") (.c))}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {($ VSub_Name "$file")} spids: [1067] ) ] ) (SimpleCommand words: [{(echo)} {(DQ (" "))}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {($ VSub_Name "$file")} spids: [1078] ) ] ) ] spids: [1033 1083] ) spids: [1013 1031] ) (SimpleCommand words: [{(echo)} {(DQ (" LoadModule ") ($ VSub_Name "$name") (.c))}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {($ VSub_Name "$file")} spids: [1094] ) ] ) (SimpleCommand words: [{(echo)} {(DQ (""))}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {($ VSub_Name "$file")} spids: [1105] ) ] ) ] spids: [-1 904] ) ] spids: [-1 1110] ) ] spids: [760] ) spids: [756 759] ) (FuncDef name: mod_snmp body: (BraceGroup children: [ (AndOr children: [(C {(_module)}) (ControlFlow token: arg_word:{(1)})] op_id: Op_DPipe ) (AndOr children: [ (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/snmp/mibs)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/) ($ VSub_Name "$pkgname") (/PROFTPD-MIB.txt)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/snmp/mibs)} ) ] spids: [1119] ) spids: [1115 1118] ) (FuncDef name: mod_sftp body: (BraceGroup children: [ (AndOr children: [(C {(_module)}) (ControlFlow token: arg_word:{(1)})] op_id: Op_DPipe ) (AndOr children: [ (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/etc/) ($ VSub_Name "$pkgname") (/authorized_keys)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/) ($ VSub_Name "$pkgname") (/dhparams.pem)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/) ($ VSub_Name "$pkgname") (/blacklist.dat)} {(DQ ($ VSub_Name "$subpkgdir")) (/etc/) ($ VSub_Name "$pkgname") (/)} ) ] spids: [1170] ) spids: [1166 1169] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "2a3ca76a0c35ba31e9d79f7f652f4f35768262f5039c5dc04ef83ac9218f624645ac6cee445af4ec6a8c59a9bdad1e7b48e0e90cd13934cbe7c3e77a2f6013c0 proftpd-1.3.6.tar.gz\n" ) ( "142f8ba096844eb48883cdd3890fa3c0c4c8f73f7ce4f2acd5fb742053f8a3605b3f6ca5d5ab6c62c673d76eb60885d796af55bd7b53950794c4e7e2837973b8 proftpd.logrotate\n" ) ( "a03124a88c0c9f3981762804c62aa479f36227f24408a60437bf737c1e783c539a2d2c0aed0b1d95e56a587bdb5c372f6d670c298cdb7433ecd1f64d4bef7c42 proftpd.initd\n" ) ( "e918e9fdf42e46953faeb55f5a8e7e7afc8951b861059182993f45b7ca870b9bdfa261fc893923772060bf500c44f98503d44878473dce7534f0825a7ff87831 mod_delay.conf\n" ) ( "06c149f4c1b8e0deb8102a0ddbe5314354d53cb70934c9315968ab69b9d2b1e16c33bf652aba05472eac4ca44137ce18c93214bb1257fad6c6e2e9b0728cf556 mod_load.conf\n" ) ( "557cbf2c1ca3a724216837f98c0f86b7d14df5f91564e1aceef721389c4774562edbd584d3ce2611ea4b2853c50acd569c33302f534e6e60452cf12b4b997ece mod_sftp.conf\n" ) ( "768ce1e63b44eafb9033212655c9a5a9aa65a6f7e1b97b11210ccc0e49caf5c32dd2514dba10a098a4ab2c8bd5f3ad5167f337f5fa0a1cdd5efa4e37c980f6e5 mod_tls_shmcache.conf\n" ) ( "abee13da067175c1f3dd1c02f8055b551e2d1370cfc430d22e204a174a4518ccf0b55cb8415676362508f4504d28d1d711f4d27001e69b6b6ce7bd7ea3f521ef libressl.patch" ) ) } spids: [1230] ) ] spids: [1230] ) ] )