# Contributor: Leonardo Arena # Contributor: V.Krishn # Maintainer: Natanael Copa global pkgname := 'varnish' global pkgver := '5.1.3' global pkgrel := '0' global pkgdesc := '"High-performance HTTP accelerator'" global url := '"http://www.varnish-cache.org/'" global arch := '"all'" global license := '"BSD'" global depends := '"gcc libc-dev libgcc'" global depends_dev := '' global makedepends := ""$depends_dev pcre-dev ncurses-dev libedit-dev py-docutils linux-headers libexecinfo-dev"" global install := '"varnish.pre-install'" global subpackages := ""$pkgname-dbg $pkgname-dev $pkgname-doc $pkgname-libs $pkgname-geoip::noarch"" global pkgusers := '"varnish'" global pkggroups := '"varnish'" global source := ""http://repo.varnish-cache.org/source/varnish-$pkgver.tar.gz fix-stack-overflow.patch musl-mode_t.patch varnishd.initd varnishd.confd varnishlog.initd varnishlog.confd varnishncsa.initd varnishncsa.confd varnishd.logrotate maxminddb.vcl"" global builddir := ""$srcdir"/varnish-$pkgver" # secfixes: # 5.1.3-r0: # - CVE-2017-12425 proc build { cd $builddir ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --localstatedir=/var/lib \ --without-jemalloc make } proc package { cd $builddir make DESTDIR="$pkgdir" install for i in [$source] { matchstr $i { *.initd { install -Dm755 "$srcdir"/$i \ "$pkgdir"/etc/init.d/$(i%.*) } *.confd { install -Dm644 "$srcdir"/$i \ "$pkgdir"/etc/conf.d/$(i%.*) } } } install -Dm644 "$srcdir"/varnishd.logrotate \ "$pkgdir"/etc/logrotate.d/varnishd install -d -o varnish -g varnish -m750 \ "$pkgdir"/var/cache/varnish \ "$pkgdir"/var/log/varnish \ "$pkgdir"/var/lib/varnish install -d -o root -g varnish -m750 "$pkgdir"/etc/varnish } proc libs { global pkgdesc := '"Libraries for varnish'" mkdir -p "$subpkgdir"/usr/lib mv "$pkgdir"/usr/lib/*.so.* "$subpkgdir"/usr/lib/ } proc geoip { global pkgdesc := '"Maxmind GeoIP2 lookup plugin for varnish'" global depends := '"libmaxminddb-dev'" install -m755 -D "$srcdir"/maxminddb.vcl \ "$subpkgdir"/usr/lib/varnish/plugins/maxminddb.vcl } global sha512sums := '"a10c317dc38ddff139ca8153f6388955df449c3abeb4d4f069b632ba2b32064a2827ab05fa8515994b251a68507fc3a7bf4e08eacc991fc03283ab234b9efd0a varnish-5.1.3.tar.gz a76dc31c95367defb2de00dd1c55f09a6217ef911056c0dc8807320f76549087453563f07dad22b6f19cb4a594a0352f414d8ad8c39bf3f8bb6fb3251f143e96 fix-stack-overflow.patch 8758bef9039a2cca23b7302668bd49f1ea07f54835512a8a9558bb9ed5de1c0fca53f2085ccd298fe0c6579fc81c3b583a85f4f6b25b6ad85f89bf3be04afb70 musl-mode_t.patch 5f9cd1da8a72e71d6317d9c9b625d4b2f4f46ff6c4f7aaf8fed5958ce141be572d7e4d2d207af51b1cf4201b19b9bc1574d3cfcf7616c043a309c04ce6ae949e varnishd.initd 98c8901e53f3c6adb908b9eb01fd441ea53f3c54d4a79aecb1fb1eddfa2fc93de3d0de403a4464a9baff15873b3a20623837e3a37cb225e924a329e32b9e37d6 varnishd.confd 31758d5b328700d31cf078efce64421ab7b6f00961733b990367efa8ce9aa406e72b46be1cf21fe2f8e11e3cc1803dc9158930ae7803131a88d71f7193d2d270 varnishlog.initd 88fe9b545a2b25d6e6e45f1cfecbeca5f503bc1fbe95856386e568edee41b487b162cddceba8cb152b0a37d8d96635a76c0715fc69d87d6c667ac403ebae0bb7 varnishlog.confd d620dd5ad8b81c561ff395fcf0307df9d4b49ef34b5d4322f461e570ffce58fea687365017b27cb6fde8c41b554750bb913fd1337764fdc16f1513429ee3d9fb varnishncsa.initd a5426ff66b89d2afb6273f05e4117b3eec5ce0162a624d52c92b418960f72e58bd01224165613221af76ec241bd98e1eb985b2ef7b83a5b615e9ece67234dcc8 varnishncsa.confd 51cc6d46ff7439de93977ab87dfb0af399458c1e446475696f73342ae7a0c1a8ca8fc6e79e593659f1af30716a5f8a1ee5e3b1f5e7b35df40b45d47e7b0f2ffd varnishd.logrotate 69f088819cff6d4441813be284f4117f232d08908515bd15d96bd5bb9d41ba7100657a52fd408d44c396d004366062ae22fbf08e2a983cd8023b554539ccf596 maxminddb.vcl'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(varnish)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(5.1.3)} 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 ("High-performance HTTP accelerator"))} spids: [18] ) ] spids: [18] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://www.varnish-cache.org/"))} spids: [23] ) ] spids: [23] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[28])] spids: [28] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (BSD))} spids:[33])] spids: [33] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ ("gcc libc-dev libgcc"))} spids: [38] ) ] spids: [38] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends_dev) op:Equal rhs:{(SQ )} spids:[43])] spids: [43] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: { (DQ ($ VSub_Name "$depends_dev") (" pcre-dev ncurses-dev libedit-dev py-docutils\n") ("\tlinux-headers libexecinfo-dev") ) } spids: [45] ) ] spids: [45] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:install) op: Equal rhs: {(DQ (varnish.pre-install))} spids: [52] ) ] spids: [52] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subpackages) op: Equal rhs: { (DQ ($ VSub_Name "$pkgname") ("-dbg ") ($ VSub_Name "$pkgname") ("-dev ") ($ VSub_Name "$pkgname") ("-doc ") ($ VSub_Name "$pkgname") ("-libs ") ($ VSub_Name "$pkgname") ("-geoip::noarch") ) } spids: [57] ) ] spids: [57] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgusers) op:Equal rhs:{(DQ (varnish))} spids:[71])] spids: [71] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkggroups) op:Equal rhs:{(DQ (varnish))} spids:[76])] spids: [76] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("http://repo.varnish-cache.org/source/varnish-") ($ VSub_Name "$pkgver") (".tar.gz\n") ("\tfix-stack-overflow.patch\n") ("\tmusl-mode_t.patch\n") ("\n") ("\tvarnishd.initd\n") ("\tvarnishd.confd\n") ("\tvarnishlog.initd\n") ("\tvarnishlog.confd\n") ("\tvarnishncsa.initd\n") ("\tvarnishncsa.confd\n") ("\tvarnishd.logrotate\n") ("\tmaxminddb.vcl") ) } spids: [81] ) ] spids: [81] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir")) (/varnish-) ($ VSub_Name "$pkgver")} spids: [100] ) ] spids: [100] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(./configure)} {(--build) (Lit_Other "=") ($ VSub_Name "$CBUILD")} {(--host) (Lit_Other "=") ($ VSub_Name "$CHOST")} {(--prefix) (Lit_Other "=") (/usr)} {(--sysconfdir) (Lit_Other "=") (/etc)} {(--mandir) (Lit_Other "=") (/usr/share/man)} {(--infodir) (Lit_Other "=") (/usr/share/info)} {(--localstatedir) (Lit_Other "=") (/var/lib)} {(--without-jemalloc)} ) (C {(make)}) ] spids: [123] ) spids: [119 122] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (C {(make)} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} {(install)}) (ForEach iter_name: i iter_words: [{($ VSub_Name "$source")}] do_arg_iter: False body: (DoGroup children: [ (Case to_match: {($ VSub_Name "$i")} arms: [ (case_arm pat_list: [{(Lit_Other "*") (.initd)}] action: [ (C {(install)} {(-Dm755)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$i")} {(DQ ($ VSub_Name "$pkgdir")) (/etc/init.d/) (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(".*")}) spids: [250 254] ) } ) ] spids: [230 232 256 -1] ) (case_arm pat_list: [{(Lit_Other "*") (.confd)}] action: [ (C {(install)} {(-Dm644)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$i")} {(DQ ($ VSub_Name "$pkgdir")) (/etc/conf.d/) (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(".*")}) spids: [279 283] ) } ) ] spids: [259 261 285 -1] ) ] spids: [223 227 288] ) ] spids: [220 291] ) spids: [216 218] ) (C {(install)} {(-Dm644)} {(DQ ($ VSub_Name "$srcdir")) (/varnishd.logrotate)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/logrotate.d/varnishd)} ) (C {(install)} {(-d)} {(-o)} {(varnish)} {(-g)} {(varnish)} {(-m750)} {(DQ ($ VSub_Name "$pkgdir")) (/var/cache/varnish)} {(DQ ($ VSub_Name "$pkgdir")) (/var/log/varnish)} {(DQ ($ VSub_Name "$pkgdir")) (/var/lib/varnish)} ) (C {(install)} {(-d)} {(-o)} {(root)} {(-g)} {(varnish)} {(-m750)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/varnish)} ) ] spids: [191] ) spids: [187 190] ) (FuncDef name: libs body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Libraries for varnish"))} spids: [376] ) ] spids: [376] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib)}) (C {(mv)} {(DQ ($ VSub_Name "$pkgdir")) (/usr/lib/) (Lit_Other "*") (.so.) (Lit_Other "*")} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/)} ) ] spids: [373] ) spids: [369 372] ) (FuncDef name: geoip body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Maxmind GeoIP2 lookup plugin for varnish"))} spids: [417] ) ] spids: [417] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ (libmaxminddb-dev))} spids: [423] ) ] spids: [423] ) (C {(install)} {(-m755)} {(-D)} {(DQ ($ VSub_Name "$srcdir")) (/maxminddb.vcl)} {(DQ ($ VSub_Name "$subpkgdir")) (/usr/lib/varnish/plugins/maxminddb.vcl)} ) ] spids: [414] ) spids: [410 413] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "a10c317dc38ddff139ca8153f6388955df449c3abeb4d4f069b632ba2b32064a2827ab05fa8515994b251a68507fc3a7bf4e08eacc991fc03283ab234b9efd0a varnish-5.1.3.tar.gz\n" ) ( "a76dc31c95367defb2de00dd1c55f09a6217ef911056c0dc8807320f76549087453563f07dad22b6f19cb4a594a0352f414d8ad8c39bf3f8bb6fb3251f143e96 fix-stack-overflow.patch\n" ) ( "8758bef9039a2cca23b7302668bd49f1ea07f54835512a8a9558bb9ed5de1c0fca53f2085ccd298fe0c6579fc81c3b583a85f4f6b25b6ad85f89bf3be04afb70 musl-mode_t.patch\n" ) ( "5f9cd1da8a72e71d6317d9c9b625d4b2f4f46ff6c4f7aaf8fed5958ce141be572d7e4d2d207af51b1cf4201b19b9bc1574d3cfcf7616c043a309c04ce6ae949e varnishd.initd\n" ) ( "98c8901e53f3c6adb908b9eb01fd441ea53f3c54d4a79aecb1fb1eddfa2fc93de3d0de403a4464a9baff15873b3a20623837e3a37cb225e924a329e32b9e37d6 varnishd.confd\n" ) ( "31758d5b328700d31cf078efce64421ab7b6f00961733b990367efa8ce9aa406e72b46be1cf21fe2f8e11e3cc1803dc9158930ae7803131a88d71f7193d2d270 varnishlog.initd\n" ) ( "88fe9b545a2b25d6e6e45f1cfecbeca5f503bc1fbe95856386e568edee41b487b162cddceba8cb152b0a37d8d96635a76c0715fc69d87d6c667ac403ebae0bb7 varnishlog.confd\n" ) ( "d620dd5ad8b81c561ff395fcf0307df9d4b49ef34b5d4322f461e570ffce58fea687365017b27cb6fde8c41b554750bb913fd1337764fdc16f1513429ee3d9fb varnishncsa.initd\n" ) ( "a5426ff66b89d2afb6273f05e4117b3eec5ce0162a624d52c92b418960f72e58bd01224165613221af76ec241bd98e1eb985b2ef7b83a5b615e9ece67234dcc8 varnishncsa.confd\n" ) ( "51cc6d46ff7439de93977ab87dfb0af399458c1e446475696f73342ae7a0c1a8ca8fc6e79e593659f1af30716a5f8a1ee5e3b1f5e7b35df40b45d47e7b0f2ffd varnishd.logrotate\n" ) ( "69f088819cff6d4441813be284f4117f232d08908515bd15d96bd5bb9d41ba7100657a52fd408d44c396d004366062ae22fbf08e2a983cd8023b554539ccf596 maxminddb.vcl" ) ) } spids: [451] ) ] spids: [451] ) ] )