# Contributor: William Pitcock # Maintainer: William Pitcock global _flavor := $(FLAVOR:-grsec) global _kpkg := "linux-$_flavor" global _realname := 'ipfw' global _name := "$_realname-$_flavor" global _kver := '4.4.47' global _kpkgrel := '0' global _realver := '20130607' global _mypkgrel := '0' # source the kernel version if test -f ../linux-$_flavor/APKBUILD { source ../linux-$_flavor/APKBUILD test $_kver != $pkgver && die "$_name: Please update _kver to $pkgver" test $_kpkgrel != $pkgrel && die "$_name: Please update _kpkgrel to $pkgrel" } global _kernelver := "$_kver-r$_kpkgrel" global _abi_release := "$(_kver)-$(_kpkgrel)-$(_flavor)" global pkgname := $_name global pkgver := $_kver global pkgrel := $($_kpkgrel + $_mypkgrel) global pkgdesc := '"BSD ipfw firewall and dummynet suite (linux-grsec modules)'" global url := '"http://info.iet.unipi.it/~luigi/dummynet/'" global arch := ''"" global license := '"BSD'" global depends := ""linux-$(_flavor)=$(_kernelver)"" global makedepends := ""linux-$(_flavor)-dev=$(_kernelver) iptables-dev"" global install := '' global install_if := ""linux-$_flavor=$_kernelver $_realname"" global source := ""http://info.iet.unipi.it/~luigi/doc/$(_realver)-$(_realname)3.tgz ipfw-kmod-dereffix.patch ipfw-cgroup.patch ipfw-strict-uidgid.patch ipfw-hookops.patch"" global subpackages := ''"" global _builddir := ""$srcdir/ipfw3-2012"" proc prepare { var i = '' cd $_builddir for i in [$source] { matchstr $i { *.patch { msg $i; patch -p1 -i "$srcdir"/$i || return 1} } } } proc build { cd $_builddir make kipfw KSRC=/usr/src/linux-headers-$(_abi_release) V=1 } proc package { cd "$_builddir/kipfw-mod" mkdir -p "$pkgdir/lib/modules/$(_abi_release)/misc/" for module in [$[find . -type f -name '*.ko]] { install -D -m644 $module "$pkgdir/lib/modules/$(_abi_release)/misc/" } } global md5sums := '"004e65e6d545a89c4dcc3e741e287444 20130607-ipfw3.tgz c4f9a8065d448da3901b3d8219dd98ca ipfw-kmod-dereffix.patch f0d782e9869b26aae8a919645a48fc88 ipfw-cgroup.patch 0784941754652eefcad39f84892857cc ipfw-strict-uidgid.patch ee8b1d86c92e47dc7b188486441653cc ipfw-hookops.patch'" global sha256sums := '"7dc80437b137e629f8ef3a7889b24ffbd1c27274e9cce15fd1f3b2c8620c6d64 20130607-ipfw3.tgz 84967fe411d8c35343c39b321aaddc830ef955ab2e27f78de1cf99c496b2cbfa ipfw-kmod-dereffix.patch 7538104b3ae3ea175c06b3d021877f1961688e9f6a897a80f75e864c21c162d1 ipfw-cgroup.patch 46ca93a91a4cb4a6e84b48c174f8250c3e4316c30035d30393370573c1a25f09 ipfw-strict-uidgid.patch 7fd0388d86dc375c74ff2083ae2a099b5a96339f253e5c606806c23cf5db939a ipfw-hookops.patch'" global sha512sums := '"6c4c2c7d4795094b9ff72212394e7dee44e5f9e09e97021b5ac9c3fad6de5a32b1d608ae9572da17f62cb37d076d89ab26859c61255d03d6bce22ca527f2c8ec 20130607-ipfw3.tgz e445c17ebc01feea5ce473819c386c7e07507889365a8790d8a8e8f41bbea70b06fc7e0a7e98d558b9653abe1c175706684a5222f0003f5350902c6927df9b72 ipfw-kmod-dereffix.patch c1841f7a47ef840a8fde575e84ea47d71b7f80dbb0606f4a53f6c58bfcd157b26db003f1ecf2ff61c0138f81f8e56835c0866ed6ca31188a0bad6790a78edae8 ipfw-cgroup.patch ebdb75c96977e971a40e028ac64f32b6b91cb41b6d1ea17c0583d80880a9a59ede186f071aec2cdbe8aa34c713035c497a4e3cff131bf7e63be2909d8b9a5b1f ipfw-strict-uidgid.patch 768ea00a64205a05b12ed2a8da08b6d3d4d142a13b1dd6ca25d493a46f72a951faca40b6e796240bdec3c37ba249b215c082caeeda7ecd7056d05396ad591340 ipfw-hookops.patch'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_flavor) op: Equal rhs: { (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(grsec)}) spids: [7 11] ) } spids: [6] ) ] spids: [6] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_kpkg) op: Equal rhs: {(linux-) ($ VSub_Name "$_flavor")} spids: [13] ) ] spids: [13] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_realname) op:Equal rhs:{(ipfw)} spids:[17])] spids: [17] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_name) op: Equal rhs: {($ VSub_Name "$_realname") (-) ($ VSub_Name "$_flavor")} spids: [20] ) ] spids: [20] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_kver) op:Equal rhs:{(4.4.47)} spids:[26])] spids: [26] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_kpkgrel) op:Equal rhs:{(0)} spids:[29])] spids: [29] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_realver) op:Equal rhs:{(20130607)} spids:[33])] spids: [33] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_mypkgrel) op:Equal rhs:{(0)} spids:[36])] spids: [36] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-f)} {(../linux-) ($ VSub_Name "$_flavor") (/APKBUILD)} {(Lit_Other "]")} ) terminator: ) ] action: [ (C {(.)} {(../linux-) ($ VSub_Name "$_flavor") (/APKBUILD)}) (AndOr children: [ (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$_kver"))} {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$pkgver"))} {(Lit_Other "]")} ) (C {(die)} {(DQ ($ VSub_Name "$_name") (": Please update _kver to ") ($ VSub_Name "$pkgver"))} ) ] op_id: Op_DAmp ) (AndOr children: [ (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$_kpkgrel"))} {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$pkgrel"))} {(Lit_Other "]")} ) (C {(die)} { (DQ ($ VSub_Name "$_name") (": Please update _kpkgrel to ") ($ VSub_Name "$pkgrel")) } ) ] op_id: Op_DAmp ) ] spids: [-1 56] ) ] spids: [-1 117] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_kernelver) op: Equal rhs: {($ VSub_Name "$_kver") (-r) ($ VSub_Name "$_kpkgrel")} spids: [120] ) ] spids: [120] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_abi_release) op: Equal rhs: {(${ VSub_Name _kver) (-) (${ VSub_Name _kpkgrel) (-) (${ VSub_Name _flavor)} spids: [125] ) ] spids: [125] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgname) op: Equal rhs: {($ VSub_Name "$_name")} spids: [139] ) ] spids: [139] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgver) op: Equal rhs: {($ VSub_Name "$_kver")} spids: [142] ) ] spids: [142] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgrel) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name "$_kpkgrel")}) right: (ArithWord w:{($ VSub_Name "$_mypkgrel")}) ) spids: [146 153] ) } spids: [145] ) ] spids: [145] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("BSD ipfw firewall and dummynet suite (linux-grsec modules)"))} spids: [155] ) ] spids: [155] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://info.iet.unipi.it/~luigi/dummynet/"))} spids: [160] ) ] spids: [160] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ )} spids:[165])] spids: [165] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (BSD))} spids:[169])] spids: [169] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ (linux-) (${ VSub_Name _flavor) ("=") (${ VSub_Name _kernelver))} spids: [174] ) ] spids: [174] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: { (DQ (linux-) (${ VSub_Name _flavor) ("-dev=") (${ VSub_Name _kernelver) (" iptables-dev")) } spids: [186] ) ] spids: [186] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:install) op:Equal rhs:{(SQ )} spids:[199])] spids: [199] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:install_if) op: Equal rhs: { (DQ (linux-) ($ VSub_Name "$_flavor") ("=") ($ VSub_Name "$_kernelver") (" ") ($ VSub_Name "$_realname") ) } spids: [201] ) ] spids: [201] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("http://info.iet.unipi.it/~luigi/doc/") (${ VSub_Name _realver) (-) (${ VSub_Name _realname) ("3.tgz\n") ("\tipfw-kmod-dereffix.patch\n") ("\tipfw-cgroup.patch\n") ("\tipfw-strict-uidgid.patch\n") ("\tipfw-hookops.patch") ) } spids: [211] ) ] spids: [211] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:subpackages) op:Equal rhs:{(DQ )} spids:[228])] spids: [228] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir") (/ipfw3-2012))} spids: [233] ) ] spids: [233] ) (FuncDef name: prepare body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[248])] spids: [246] ) (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))}) (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 "*") (.patch)}] action: [ (Sentence child: (C {(msg)} {($ VSub_Name "$i")}) terminator: ) (AndOr children: [ (C {(patch)} {(-p1)} {(-i)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$i")} ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) ] spids: [277 279 303 -1] ) ] spids: [270 274 306] ) ] spids: [267 309] ) spids: [263 265] ) ] spids: [243] ) spids: [239 242] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))}) (C {(make)} {(kipfw)} {(Lit_VarLike "KSRC=") (/usr/src/linux-headers-) (${ VSub_Name _abi_release)} {(Lit_VarLike "V=") (1)} ) ] spids: [318] ) spids: [314 317] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$_builddir") (/kipfw-mod))}) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$pkgdir") (/lib/modules/) (${ VSub_Name _abi_release) (/misc/))} ) (ForEach iter_name: module iter_words: [ { (CommandSubPart command_list: (CommandList children: [(C {(find)} {(.)} {(-type)} {(f)} {(-name)} {(SQ <"*.ko">)})] ) left_token: spids: [379 393] ) } ] do_arg_iter: False body: (DoGroup children: [ (C {(install)} {(-D)} {(-m644)} {($ VSub_Name "$module")} { (DQ ($ VSub_Name "$pkgdir") (/lib/modules/) (${ VSub_Name _abi_release) (/misc/)) } ) ] spids: [396 417] ) spids: [378 394] ) ] spids: [348] ) spids: [344 347] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:md5sums) op: Equal rhs: { (DQ ("004e65e6d545a89c4dcc3e741e287444 20130607-ipfw3.tgz\n") ("c4f9a8065d448da3901b3d8219dd98ca ipfw-kmod-dereffix.patch\n") ("f0d782e9869b26aae8a919645a48fc88 ipfw-cgroup.patch\n") ("0784941754652eefcad39f84892857cc ipfw-strict-uidgid.patch\n") ("ee8b1d86c92e47dc7b188486441653cc ipfw-hookops.patch") ) } spids: [421] ) ] spids: [421] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha256sums) op: Equal rhs: { (DQ ( "7dc80437b137e629f8ef3a7889b24ffbd1c27274e9cce15fd1f3b2c8620c6d64 20130607-ipfw3.tgz\n" ) ("84967fe411d8c35343c39b321aaddc830ef955ab2e27f78de1cf99c496b2cbfa ipfw-kmod-dereffix.patch\n") ( "7538104b3ae3ea175c06b3d021877f1961688e9f6a897a80f75e864c21c162d1 ipfw-cgroup.patch\n" ) ("46ca93a91a4cb4a6e84b48c174f8250c3e4316c30035d30393370573c1a25f09 ipfw-strict-uidgid.patch\n") ( "7fd0388d86dc375c74ff2083ae2a099b5a96339f253e5c606806c23cf5db939a ipfw-hookops.patch" ) ) } spids: [430] ) ] spids: [430] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "6c4c2c7d4795094b9ff72212394e7dee44e5f9e09e97021b5ac9c3fad6de5a32b1d608ae9572da17f62cb37d076d89ab26859c61255d03d6bce22ca527f2c8ec 20130607-ipfw3.tgz\n" ) ( "e445c17ebc01feea5ce473819c386c7e07507889365a8790d8a8e8f41bbea70b06fc7e0a7e98d558b9653abe1c175706684a5222f0003f5350902c6927df9b72 ipfw-kmod-dereffix.patch\n" ) ( "c1841f7a47ef840a8fde575e84ea47d71b7f80dbb0606f4a53f6c58bfcd157b26db003f1ecf2ff61c0138f81f8e56835c0866ed6ca31188a0bad6790a78edae8 ipfw-cgroup.patch\n" ) ( "ebdb75c96977e971a40e028ac64f32b6b91cb41b6d1ea17c0583d80880a9a59ede186f071aec2cdbe8aa34c713035c497a4e3cff131bf7e63be2909d8b9a5b1f ipfw-strict-uidgid.patch\n" ) ( "768ea00a64205a05b12ed2a8da08b6d3d4d142a13b1dd6ca25d493a46f72a951faca40b6e796240bdec3c37ba249b215c082caeeda7ecd7056d05396ad591340 ipfw-hookops.patch" ) ) } spids: [439] ) ] spids: [439] ) ] )