# Maintainer: Natanael Copa global pkgname := 'quagga' global pkgver := '1.2.2' global pkgrel := '0' global pkgdesc := '"A free routing daemon replacing Zebra supporting RIP, OSPF, BGP and NHRP'" global url := '"http://quagga.net/'" global arch := '"all'" global license := '"GPL2'" global depends := '"iproute2'" global replaces := '"quagga-nhrp'" global provides := ""quagga-nhrp=$pkgver"" global makedepends := '"linux-headers readline-dev ncurses-dev c-ares-dev net-snmp-dev gawk texinfo perl'" global install := ""$pkgname.pre-install $pkgname.post-install $pkgname.post-upgrade"" global subpackages := ""$pkgname-dev $pkgname-doc $pkgname-dbg"" global pkgusers := '"quagga'" global pkggroups := '"quagga'" global source := ""http://download.savannah.gnu.org/releases/quagga/quagga-$pkgver.tar.gz 1001-bgpd-allow-using-ebgp-multihop-for-ibgp-connections.patch dont-hook-core-signals.patch bgpd.initd zebra.initd zebra.confd "" # secfixes: # 1.1.1-r0: # - CVE-2017-5495 global builddir := ""$srcdir"/$pkgname-$pkgver" proc build { cd $builddir env quagga_cv_ipforward_method=proc \ ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --disable-static \ --enable-ospf6d \ --enable-rtadv \ --enable-user=quagga \ --enable-group=quagga \ --enable-vty-group=quagga \ --enable-vtysh \ --enable-snmp \ --enable-multipath=64 \ --enable-pimd \ --sysconfdir=/etc/quagga \ --enable-exampledir=/usr/share/doc/quagga/ \ --localstatedir=/var/run/quagga \ || return 1 # add CFLAGS to work around textrel issue make CFLAGS+="-fPIC" || return 1 } proc package { cd $builddir make DESTDIR="$pkgdir" install || return 1 install -o quagga -g quagga -d "$pkgdir"/var/run/quagga for i in [zebra bgpd] { install -Dm755 "$srcdir"/$i.initd "$pkgdir"/etc/init.d/$i } for i in [ripd ospfd ripngd ospf6d nhrpd] { ln -s bgpd "$pkgdir"/etc/init.d/$i || return 1 } install -Dm644 "$srcdir/zebra.confd" "$pkgdir"/etc/conf.d/zebra install -o quagga -g quagga -d -m755 "$pkgdir"/etc/quagga } global sha512sums := '"861f6524bcdc01d1a895762bf1904744c12ae4dfc7c3583ecb7e55b3978c98187bde76df0ff85093c744139be9d5cf324fec75b5ba86cf1fdbce70d923710d14 quagga-1.2.2.tar.gz dfa33341119fe51caa7bc33b44256f57361f2e3f8192862cca215b312ceb68e6a8c264dbf2a43d6244e6152bfad110cb0fdbefb065d95dd50389cf613d9720b3 1001-bgpd-allow-using-ebgp-multihop-for-ibgp-connections.patch 5ef5c5e6d70d991b33b13a062e25b6fbde395dceee36aea29384b0640a48d2957ed5f50d416a1f2f770bf69bae2340133e35b1114be7e1fa722eb6d3d021f37a dont-hook-core-signals.patch 13b5b57e10df013bd2d931abc49bf76b8c4dee59dbceab22c9f151ccb988b2c5f7167f2909027d5e0f990b59da8de115667b02484aee9a67d347625700f6cacd bgpd.initd 1638a4a64ffd066b1884f7e5a4243edab68739aabd83bd35ea8c9608af7b8623eece1d59fb08feead84e4386b6d1da4220764ccf5fd7f2a9959a8470d5cce86a zebra.initd 900972c6f98e561dfacf384111251db262326e8764b8c763a5ef639fa11c7949c03eef5e3bce324a4b1964fe45416d2db74ae1b6bc967f7d4ba48c2eeda017c4 zebra.confd'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(quagga)} spids:[3])] spids: [3] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(1.2.2)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("A free routing daemon replacing Zebra supporting RIP, OSPF, BGP and NHRP"))} spids: [12] ) ] spids: [12] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://quagga.net/"))} spids: [17] ) ] spids: [17] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (all))} spids:[22])] spids: [22] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (GPL2))} spids:[27])] spids: [27] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:depends) op:Equal rhs:{(DQ (iproute2))} spids:[32])] spids: [32] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:replaces) op:Equal rhs:{(DQ (quagga-nhrp))} spids:[37])] spids: [37] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:provides) op: Equal rhs: {(DQ ("quagga-nhrp=") ($ VSub_Name "$pkgver"))} spids: [42] ) ] spids: [42] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: { (DQ ("linux-headers readline-dev ncurses-dev c-ares-dev net-snmp-dev\n") ("\tgawk texinfo perl") ) } spids: [48] ) ] spids: [48] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:install) op: Equal rhs: { (DQ ($ VSub_Name "$pkgname") (".pre-install ") ($ VSub_Name "$pkgname") (".post-install ") ($ VSub_Name "$pkgname") (.post-upgrade) ) } spids: [54] ) ] spids: [54] ) (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") (-dbg) ) } spids: [64] ) ] spids: [64] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgusers) op:Equal rhs:{(DQ (quagga))} spids:[74])] spids: [74] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkggroups) op:Equal rhs:{(DQ (quagga))} spids:[79])] spids: [79] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("http://download.savannah.gnu.org/releases/quagga/quagga-") ($ VSub_Name "$pkgver") (".tar.gz\n") ("\t1001-bgpd-allow-using-ebgp-multihop-for-ibgp-connections.patch\n") ("\tdont-hook-core-signals.patch\n") ("\n") ("\tbgpd.initd\n") ("\tzebra.initd\n") ("\tzebra.confd\n") ("\t") ) } spids: [84] ) ] spids: [84] ) (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: [109] ) ] spids: [109] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (AndOr children: [ (SimpleCommand words: [ {(./configure)} {(--build) (Lit_Other "=") ($ VSub_Name "$CBUILD")} {(--host) (Lit_Other "=") ($ VSub_Name "$CHOST")} {(--prefix) (Lit_Other "=") (/usr)} {(--disable-static)} {(--enable-ospf6d)} {(--enable-rtadv)} {(--enable-user) (Lit_Other "=") (quagga)} {(--enable-group) (Lit_Other "=") (quagga)} {(--enable-vty-group) (Lit_Other "=") (quagga)} {(--enable-vtysh)} {(--enable-snmp)} {(--enable-multipath) (Lit_Other "=") (64)} {(--enable-pimd)} {(--sysconfdir) (Lit_Other "=") (/etc/quagga)} {(--enable-exampledir) (Lit_Other "=") (/usr/share/doc/quagga/)} {(--localstatedir) (Lit_Other "=") (/var/run/quagga)} ] more_env: [(env_pair name:quagga_cv_ipforward_method val:{(proc)} spids:[133])] ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(make)} {(Lit_VarLike "CFLAGS+=") (DQ (-fPIC))}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [123] ) spids: [119 122] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$builddir"))}) (AndOr children: [ (C {(make)} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} {(install)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (C {(install)} {(-o)} {(quagga)} {(-g)} {(quagga)} {(-d)} {(DQ ($ VSub_Name "$pkgdir")) (/var/run/quagga)} ) (ForEach iter_name: i iter_words: [{(zebra)} {(bgpd)}] do_arg_iter: False body: (DoGroup children: [ (C {(install)} {(-Dm755)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$i") (.initd)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/init.d/) ($ VSub_Name "$i")} ) ] spids: [314 335] ) spids: [308 312] ) (ForEach iter_name: i iter_words: [{(ripd)} {(ospfd)} {(ripngd)} {(ospf6d)} {(nhrpd)}] do_arg_iter: False body: (DoGroup children: [ (AndOr children: [ (C {(ln)} {(-s)} {(bgpd)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/init.d/) ($ VSub_Name "$i")} ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) ] spids: [355 377] ) spids: [343 353] ) (C {(install)} {(-Dm644)} {(DQ ($ VSub_Name "$srcdir") (/zebra.confd))} {(DQ ($ VSub_Name "$pkgdir")) (/etc/conf.d/zebra)} ) (C {(install)} {(-o)} {(quagga)} {(-g)} {(quagga)} {(-d)} {(-m755)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/quagga)} ) ] spids: [258] ) spids: [254 257] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "861f6524bcdc01d1a895762bf1904744c12ae4dfc7c3583ecb7e55b3978c98187bde76df0ff85093c744139be9d5cf324fec75b5ba86cf1fdbce70d923710d14 quagga-1.2.2.tar.gz\n" ) ( "dfa33341119fe51caa7bc33b44256f57361f2e3f8192862cca215b312ceb68e6a8c264dbf2a43d6244e6152bfad110cb0fdbefb065d95dd50389cf613d9720b3 1001-bgpd-allow-using-ebgp-multihop-for-ibgp-connections.patch\n" ) ( "5ef5c5e6d70d991b33b13a062e25b6fbde395dceee36aea29384b0640a48d2957ed5f50d416a1f2f770bf69bae2340133e35b1114be7e1fa722eb6d3d021f37a dont-hook-core-signals.patch\n" ) ( "13b5b57e10df013bd2d931abc49bf76b8c4dee59dbceab22c9f151ccb988b2c5f7167f2909027d5e0f990b59da8de115667b02484aee9a67d347625700f6cacd bgpd.initd\n" ) ( "1638a4a64ffd066b1884f7e5a4243edab68739aabd83bd35ea8c9608af7b8623eece1d59fb08feead84e4386b6d1da4220764ccf5fd7f2a9959a8470d5cce86a zebra.initd\n" ) ( "900972c6f98e561dfacf384111251db262326e8764b8c763a5ef639fa11c7949c03eef5e3bce324a4b1964fe45416d2db74ae1b6bc967f7d4ba48c2eeda017c4 zebra.confd" ) ) } spids: [416] ) ] spids: [416] ) ] )