# Contributor: Leonardo Arena # Maintainer: Natanael Copa global _php := 'php7' global pkgname := 'roundcubemail' global pkgver := '1.3.1' global pkgrel := '0' global pkgdesc := '"A PHP web-based mail client'" global url := '"http://www.roundcube.net'" global arch := '"noarch'" global license := '"GPL3+'" global install := ""$pkgname.post-upgrade"" global depends := ""$(_php) $(_php)-imap $(_php)-xml $(_php)-json $(_php)-dom $(_php)-exif $(_php)-pear-net_idna2 $(_php)-pear-mail_mime $(_php)-pear-net_smtp $(_php)-pear-auth_sasl $(_php)-openssl $(_php)-session $(_php)-mbstring $(_php)-iconv $(_php)-intl "" global options := '"!check'" global subpackages := ""$pkgname-installer $pkgname-doc"" global source := ""https://github.com/roundcube/$pkgname/releases/download/$pkgver/$(pkgname)-$pkgver.tar.gz fix-dirs.patch"" global builddir := ""$srcdir"/roundcubemail-$pkgver" # secfixes: # 1.2.5-r0: # - CVE-2017-8114 proc prepare { cd $builddir default_prepare # fix permissions find . -type f -print | xargs chmod a-x # remove .htaccess find . -name '.'htaccess -print | xargs rm -f # fixup paths to use the right paths sed -i -e 's|temp/|/tmp/|' \ -e 's|config/|/etc/roundcube/|' \ -e 's|logs/|/var/log/roundcube/|' \ config/defaults.inc.php || return 1 # cleanup sed -i 's/\r//' SQL/mssql.initial.sql rm -rf logs temp } proc build { return 0 } proc package { global _instdir := ""$pkgdir"/usr/share/webapps/roundcube" mkdir -p $(_instdir) cd $(_instdir) cp -rp "$builddir"/* . # install config in /etc/roundcube so config files are not overwritten # on upgrades mkdir -p "$pkgdir"/etc/ mv config "$pkgdir"/etc/roundcube install -d "$pkgdir"/var/log/roundcube mkdir -p "$pkgdir"/usr/share/doc/roundcube mkdir -p "$pkgdir"/usr/share/licenses/roundcube for file in [CHANGELOG INSTALL README.md UPGRADING] { mv "$pkgdir"/usr/share/webapps/roundcube/$file \ "$pkgdir"/usr/share/doc/roundcube || return 1 } mv "$pkgdir"/usr/share/webapps/roundcube/LICENSE \ "$pkgdir"/usr/share/licenses/roundcube || return 1 } proc installer { global pkgdesc := '"Roundcubemail installer script'" mkdir -p "$subpkgdir"/usr/share/webapps/roundcube mv "$pkgdir"/usr/share/webapps/roundcube/installer \ "$subpkgdir"/usr/share/webapps/roundcube } global sha512sums := '"7a130629f199c59f3454558c5b773700abcdf7d2c9cd9296490959ef266e7fdc66adac7474a693c96dea2d6b5f9b79ff736d3cc0aebaedbd9027356c7a333f2e roundcubemail-1.3.1.tar.gz 5c645ab7f130f8f3b17b7821e2cd0be88b6d7999da38876bde36c9b116bf7d34bcf52e2d8939d9359649e3fc5ddfb1cab7798ffb9e649be11bebd1d2c4ee006b fix-dirs.patch'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_php) op:Equal rhs:{(php7)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(roundcubemail)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(1.3.1)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[15])] spids: [15] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("A PHP web-based mail client"))} spids: [18] ) ] spids: [18] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://www.roundcube.net"))} spids: [23] ) ] spids: [23] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (noarch))} spids:[28])] spids: [28] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ ("GPL3+"))} spids:[33])] spids: [33] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:install) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname") (.post-upgrade))} spids: [38] ) ] spids: [38] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: { (DQ (${ VSub_Name _php) (" ") (${ VSub_Name _php) ("-imap ") (${ VSub_Name _php) ("-xml ") (${ VSub_Name _php) ("-json ") (${ VSub_Name _php) ("-dom\n") ("\t") (${ VSub_Name _php) ("-exif ") (${ VSub_Name _php) ("-pear-net_idna2 ") (${ VSub_Name _php) ("-pear-mail_mime\n") ("\t") (${ VSub_Name _php) ("-pear-net_smtp ") (${ VSub_Name _php) ("-pear-auth_sasl ") (${ VSub_Name _php) ("-openssl\n") ("\t") (${ VSub_Name _php) ("-session ") (${ VSub_Name _php) ("-mbstring ") (${ VSub_Name _php) ("-iconv ") (${ VSub_Name _php) ("-intl\n") ("\t") ) } spids: [44] ) ] spids: [44] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:options) op:Equal rhs:{(DQ ("!check"))} spids:[112])] spids: [112] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname") ("-installer ") ($ VSub_Name "$pkgname") (-doc))} spids: [117] ) ] spids: [117] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("https://github.com/roundcube/") ($ VSub_Name "$pkgname") (/releases/download/) ($ VSub_Name "$pkgver") (/) (${ VSub_Name pkgname) (-) ($ VSub_Name "$pkgver") (".tar.gz\n") ("\tfix-dirs.patch") ) } spids: [125] ) ] spids: [125] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir")) (/roundcubemail-) ($ VSub_Name "$pkgver")} spids: [141] ) ] spids: [141] ) (FuncDef name: prepare body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(default_prepare)}) (Pipeline children: [(C {(find)} {(.)} {(-type)} {(f)} {(-print)}) (C {(xargs)} {(chmod)} {(a-x)})] negated: False ) (Pipeline children: [ (C {(find)} {(.)} {(-name)} {(EscapedLiteralPart token:) (htaccess)} {(-print)} ) (C {(xargs)} {(rm)} {(-f)}) ] negated: False ) (AndOr children: [ (C {(sed)} {(-i)} {(-e)} {(SQ <"s|temp/|/tmp/|">)} {(-e)} {(SQ <"s|config/|/etc/roundcube/|">)} {(-e)} {(SQ <"s|logs/|/var/log/roundcube/|">)} {(config/defaults.inc.php)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (C {(sed)} {(-i)} {(SQ <"s/\\r//">)} {(SQL/mssql.initial.sql)}) (C {(rm)} {(-rf)} {(logs)} {(temp)}) ] spids: [163] ) spids: [159 162] ) (FuncDef name: build body: (BraceGroup children: [(ControlFlow token: arg_word:{(0)})] spids: [297] ) spids: [293 296] ) (FuncDef name: package body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_instdir) op: Equal rhs: {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/webapps/roundcube)} spids: [314] ) ] spids: [314] ) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name _instdir))}) (C {(cd)} {(DQ (${ VSub_Name _instdir))}) (C {(cp)} {(-rp)} {(DQ ($ VSub_Name "$builddir")) (/) (Lit_Other "*")} {(.)}) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/)}) (C {(mv)} {(config)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/roundcube)}) (C {(install)} {(-d)} {(DQ ($ VSub_Name "$pkgdir")) (/var/log/roundcube)}) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/doc/roundcube)}) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/licenses/roundcube)}) (ForEach iter_name: file iter_words: [{(CHANGELOG)} {(INSTALL)} {(README.md)} {(UPGRADING)}] do_arg_iter: False body: (DoGroup children: [ (AndOr children: [ (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/webapps/roundcube/) ($ VSub_Name "$file") } {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/doc/roundcube)} ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) ] spids: [428 453] ) spids: [418 -1] ) (AndOr children: [ (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/webapps/roundcube/LICENSE)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/licenses/roundcube)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [311] ) spids: [307 310] ) (FuncDef name: installer body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Roundcubemail installer script"))} spids: [486] ) ] spids: [486] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/webapps/roundcube)}) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/share/webapps/roundcube/installer)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/share/webapps/roundcube)} ) ] spids: [483] ) spids: [479 482] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "7a130629f199c59f3454558c5b773700abcdf7d2c9cd9296490959ef266e7fdc66adac7474a693c96dea2d6b5f9b79ff736d3cc0aebaedbd9027356c7a333f2e roundcubemail-1.3.1.tar.gz\n" ) ( "5c645ab7f130f8f3b17b7821e2cd0be88b6d7999da38876bde36c9b116bf7d34bcf52e2d8939d9359649e3fc5ddfb1cab7798ffb9e649be11bebd1d2c4ee006b fix-dirs.patch" ) ) } spids: [519] ) ] spids: [519] ) ] )