# Maintainer: Natanael Copa global _flavor := 'hardened' global _kpkg := "linux-$_flavor" global _kver := '4.9.54' global _kpkgrel := '0' # when chaning _ver we *must* bump _mypkgrel global _ver := '2.2' global _mypkgrel := '0' # verify the kernel version before entering chroot if test -f ../linux-$(_flavor)/APKBUILD { source ../linux-${_flavor}/APKBUILD global pkgname := "ipt-netflow-$(_flavor)" test $_kver != $pkgver && die "please update _kver to $pkgver" test $_kpkgrel != $pkgrel && die "please update _kpkgrel to $pkgrel" } global _kpkgver := ""$_kver-r$_kpkgrel"" global _abi_release := "$(_kver)-$(_kpkgrel)-$(_flavor)" global pkgname := "ipt-netflow-$(_flavor)" global pkgver := $_kver global pkgrel := $( $_kpkgrel + $_mypkgrel ) global pkgdesc := '"Linux kernel netflow sensor module'" global url := '"http://ipt-netflow.sourceforge.net/'" global arch := '"x86 x86_64 armhf'" global license := 'GPL3+' global source := ""ipt-netflow-$_ver.tar.gz::https://github.com/aabc/ipt-netflow/archive/v$_ver.tar.gz kernel-4.6.patch "" global provides := ""ipt-netflow-grsec=$(pkgver)-r$(pkgrel)"" global depends := ""$(_kpkg)=$(_kpkgver)"" global depends_dev := ""$_kpkg-dev=$_kpkgver"" global makedepends := ""linux-$(_flavor)-dev=$_kpkgver iptables-dev bash"" global install_if := ""$_kpkg=$_kpkgver ipt-netflow"" global _builddir := ""$srcdir"/ipt-netflow-$_ver" proc prepare { cd $_builddir for i in [$source] { matchstr $i { *.patch { msg $i; patch -p1 -i "$srcdir"/$i || return 1} } } } proc build { cd $_builddir ./configure --kver=$_abi_release \ --ipt-inc=/usr/include/libiptc \ || return 1 make ipt_NETFLOW.ko || return 1 } proc package { cd $_builddir make -j1 minstall DEPMOD=: DESTDIR="$pkgdir" \ || return 1 } # override dev() from kernel's APKBUILD proc dev { default_dev } global sha512sums := '"e5d9039c079abfb2ef3656d96228616514ac57d87a9c71181f132ecac51e51407bcdc62aa6e1eb43d16f98be5b22d3801c58578317ea21aaa5433ed143daabe2 ipt-netflow-2.2.tar.gz 96a250b87f8fb7d6240850dd0721aa0e1dcc7647b689abb15b07fb8758aea4338e5d169b3d0dca19e45279b38166d791cd0d412a9f4b44caf028cee2e782b72b kernel-4.6.patch'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_flavor) op:Equal rhs:{(hardened)} spids:[4])] spids: [4] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_kpkg) op: Equal rhs: {(linux-) ($ VSub_Name "$_flavor")} spids: [7] ) ] spids: [7] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_kver) op:Equal rhs:{(4.9.54)} spids:[11])] spids: [11] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_kpkgrel) op:Equal rhs:{(0)} spids:[14])] spids: [14] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_ver) op:Equal rhs:{(2.2)} spids:[21])] spids: [21] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_mypkgrel) op:Equal rhs:{(0)} spids:[25])] spids: [25] ) (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)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgname) op: Equal rhs: {(ipt-netflow-) (${ VSub_Name _flavor)} spids: [59] ) ] spids: [59] ) (AndOr children: [ (C {(Lit_Other "[")} {(DQ ($ VSub_Name "$_kver"))} {(KW_Bang "!") (Lit_Other "=")} {(DQ ($ VSub_Name "$pkgver"))} {(Lit_Other "]")} ) (C {(die)} {(DQ ("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 ("please update _kpkgrel to ") ($ VSub_Name "$pkgrel"))}) ] op_id: Op_DAmp ) ] spids: [-1 47] ) ] spids: [-1 115] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_kpkgver) op: Equal rhs: {(DQ ($ VSub_Name "$_kver") (-r) ($ VSub_Name "$_kpkgrel"))} spids: [118] ) ] spids: [118] ) (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: {(ipt-netflow-) (${ VSub_Name _flavor)} spids: [139] ) ] spids: [139] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgver) op: Equal rhs: {($ VSub_Name "$_kver")} spids: [145] ) ] spids: [145] ) (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: [150 159] ) } spids: [149] ) ] spids: [149] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Linux kernel netflow sensor module"))} spids: [161] ) ] spids: [161] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://ipt-netflow.sourceforge.net/"))} spids: [166] ) ] spids: [166] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:arch) op: Equal rhs: {(DQ ("x86 x86_64 armhf"))} spids: [171] ) ] spids: [171] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:license) op: Equal rhs: {(GPL3) (Lit_Other "+")} spids: [176] ) ] spids: [176] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ (ipt-netflow-) ($ VSub_Name "$_ver") (".tar.gz::https://github.com/aabc/ipt-netflow/archive/v") ($ VSub_Name "$_ver") (".tar.gz\n") ("\tkernel-4.6.patch\n") ("\t") ) } spids: [180] ) ] spids: [180] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:provides) op: Equal rhs: {(DQ ("ipt-netflow-grsec=") (${ VSub_Name pkgver) (-r) (${ VSub_Name pkgrel))} spids: [191] ) ] spids: [191] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ (${ VSub_Name _kpkg) ("=") (${ VSub_Name _kpkgver))} spids: [203] ) ] spids: [203] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends_dev) op: Equal rhs: {(DQ ($ VSub_Name "$_kpkg") ("-dev=") ($ VSub_Name "$_kpkgver"))} spids: [214] ) ] spids: [214] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: { (DQ (linux-) (${ VSub_Name _flavor) ("-dev=") ($ VSub_Name "$_kpkgver") (" iptables-dev bash") ) } spids: [221] ) ] spids: [221] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:install_if) op: Equal rhs: {(DQ ($ VSub_Name "$_kpkg") ("=") ($ VSub_Name "$_kpkgver") (" ipt-netflow"))} spids: [232] ) ] spids: [232] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir")) (/ipt-netflow-) ($ VSub_Name "$_ver")} spids: [241] ) ] spids: [241] ) (FuncDef name: prepare body: (BraceGroup children: [ (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: [281 283 307 -1] ) ] spids: [274 278 310] ) ] spids: [271 313] ) spids: [267 269] ) ] spids: [252] ) spids: [248 251] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))}) (AndOr children: [ (C {(./configure)} {(--kver) (Lit_Other "=") ($ VSub_Name "$_abi_release")} {(--ipt-inc) (Lit_Other "=") (/usr/include/libiptc)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(make)} {(ipt_NETFLOW.ko)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [322] ) spids: [318 321] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))}) (AndOr children: [ (C {(make)} {(-j1)} {(minstall)} {(Lit_VarLike "DEPMOD=") (Lit_Other ":")} {(Lit_VarLike "DESTDIR=") (DQ ($ VSub_Name "$pkgdir"))} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [370] ) spids: [366 369] ) (FuncDef name: dev body: (BraceGroup children:[(C {(default_dev)})] spids:[412]) spids: [408 411] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "e5d9039c079abfb2ef3656d96228616514ac57d87a9c71181f132ecac51e51407bcdc62aa6e1eb43d16f98be5b22d3801c58578317ea21aaa5433ed143daabe2 ipt-netflow-2.2.tar.gz\n" ) ( "96a250b87f8fb7d6240850dd0721aa0e1dcc7647b689abb15b07fb8758aea4338e5d169b3d0dca19e45279b38166d791cd0d412a9f4b44caf028cee2e782b72b kernel-4.6.patch" ) ) } spids: [420] ) ] spids: [420] ) ] )