# Contributor: Carlo Landmeter # Maintainer: global pkgname := 'opennebula' global pkgver := '4.9.80' global pkgrel := '2' global pkgdesc := '"Virtual management infrastructure as a service (IaaS) toolkit for cloud computing'" global url := '"http://opennebula.org'" global arch := ''"" global license := '"Apache'" global depends := '"ruby-json ruby-sequel ruby-nokogiri ruby-sqlite ruby-mysql2 ruby-nokogiri ruby-rack14 ruby-sinatra ruby-thin ruby-crack ruby-thin ruby-net-ldap ruby-uuidtools ruby-curb ruby-amazon-ec2 ruby-io-console bash curl wget'" global depends_dev := '"xmlrpc-c-dev sqlite-dev openssl-dev libxml2-dev curl-dev'" global makedepends := ""$depends_dev scons ruby bash"" global install := '"opennebula.pre-install'" global pkgusers := 'oneadmin' global pkggroups := 'oneadmin' global subpackages := ""$pkgname-dev $pkgname-doc $pkgname-node-kvm:node_kvm"" global source := ""http://downloads.opennebula.org/packages/opennebula-$pkgver/opennebula-$pkgver.tar.gz opennebula.initd opennebula.confd getopt.patch ssh.config one_auth"" global _builddir := ""$srcdir"/opennebula-$pkgver" 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 scons -j$(JOBS:-2) || return 1 } proc package { cd $_builddir env DESTDIR=$pkgdir ./install.sh \ -u $pkgusers -g $pkggroups || return 1 install -m755 -D "$srcdir"/$pkgname.initd \ "$pkgdir"/etc/init.d/$pkgname || return 1 install -m644 -D "$srcdir"/$pkgname.confd \ "$pkgdir"/etc/conf.d/$pkgname || return 1 install -o $pkgusers -g $pkggroups -d \ "$pkgdir"/var/lib/one/.ssh \ "$pkgdir"/var/lib/one/.one || return 1 install -m600 -o $pkgusers -g $pkggroups -D \ "$srcdir"/ssh.config \ "$pkgdir"/var/lib/one/.ssh/config || return 1 install -m600 -o $pkgusers -g $pkggroups -D \ "$srcdir"/one_auth \ "$pkgdir"/var/lib/one/.one/one_auth || return 1 # set the default emulator echo -e "\nEMULATOR = /usr/bin/qemu-system-x86_64" >> \ "$pkgdir"/etc/one/vmm_exec/vmm_exec_kvm.conf || return 1 } proc node_kvm { global pkgdesc := '"KVM node for OpenNebula'" global arch := '"noarch'" global install := '"opennebula-node-kvm.pre-install'" global depends := '"ruby openssh qemu-x86_64 libvirt-qemu procps bash'" mkdir -p $subpkgdir } global md5sums := '"43ef6a658b5ae121ad4461178abdbd88 opennebula-4.9.80.tar.gz 44ecaf28b2f0293d55aa401e0ec49948 opennebula.initd 0b9c5ef240d1cb13d35b21c081e756ad opennebula.confd 8f1a346b4020b7c3e2853f42cc38d35b getopt.patch 37b82927bd6b0c1dd9cbde2a3728e719 ssh.config 3ae86352df192e0aae9fdee58532610e one_auth'" global sha256sums := '"8e69dedd69001bce6d224661649bc3f5b1608bf87e69dd1ac5ff1e774745a3c9 opennebula-4.9.80.tar.gz 20ea2103ccd37988c1426a7e39f37c9923465e1769cc3669dc47751876f3266a opennebula.initd 296d445dfaee90c114a5cd8ecb208c495a3a22dabde13ec9ece623368f5627a1 opennebula.confd 072ad62b3ef18eb3c9d33b47acb7a867d076c3083ce561bdbffcf98bb852d663 getopt.patch e934a2b5083a04126e5948a6abf1adfa8e557bb086010453824b44282dafdc8b ssh.config 4af1f964af87ed62f2b953e8b0269b2ad8dfbcba57b5eebddcb9e8f0cc4379da one_auth'" global sha512sums := '"54aff34770a29262a4e3ef886957044489f4d4b1905e847522adff6ad1012df21e9c2caa46bc060fbbbb9d1ce23cb41768f28ca90af5c4e5844b054c0d0d7349 opennebula-4.9.80.tar.gz 2b87e93bce79325ecd57be053e08cc626bdec2bfd9048635452957efc88e5104cbbf74d3c2757e3e42738276b7bd37db2c9845e85570b7ff5f27117dad1d06e2 opennebula.initd 0b5c98642a74a804e36729f0a0abb5434a55ecaa5a9c29620f8940ba69b141f47fa1693a63bc22298e735bba61d3f0b15c82278b5d8071eeb19f02398332f6ae opennebula.confd 7f39da47a89011bd368217bc7cb33a1647b49d43960bf47f22b742dfa109d04e9b18ad0827d5d3b4c05bd6b31d723322b9c899520fbb2db5b4217a38bab9eefe getopt.patch 9da0adff52401e5bd50b25a0ec240e781257330f9084c55c6ca741c9179c29681ee6855bc3607d05949124559828f6fdd029b3ea01b881f472292c96489c64cf ssh.config 8aaab56ae8c8bf7d1c06a47f4f3339c9e62486270b9ab00751dd21fabee19824f05b20b3d979741886539570e761fd3227acd5ef55a04a9273f0b706f93c813f one_auth'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(opennebula)} spids:[6])] spids: [6] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(4.9.80)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(2)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: { (DQ ( "Virtual management infrastructure as a service (IaaS) toolkit for cloud computing" ) ) } spids: [15] ) ] spids: [15] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://opennebula.org"))} spids: [20] ) ] spids: [20] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ )} spids:[25])] spids: [25] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (Apache))} spids:[29])] spids: [29] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: { (DQ ("ruby-json ruby-sequel ruby-nokogiri ruby-sqlite ruby-mysql2 ruby-nokogiri\n") ("\truby-rack14 ruby-sinatra ruby-thin ruby-crack ruby-thin ruby-net-ldap\n") ("\truby-uuidtools ruby-curb ruby-amazon-ec2 ruby-io-console bash\n") ("\tcurl wget") ) } spids: [34] ) ] spids: [34] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends_dev) op: Equal rhs: {(DQ ("xmlrpc-c-dev sqlite-dev openssl-dev libxml2-dev curl-dev"))} spids: [42] ) ] spids: [42] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: {(DQ ($ VSub_Name "$depends_dev") (" scons ruby bash"))} spids: [47] ) ] spids: [47] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:install) op: Equal rhs: {(DQ (opennebula.pre-install))} spids: [53] ) ] spids: [53] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgusers) op:Equal rhs:{(oneadmin)} spids:[58])] spids: [58] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkggroups) op:Equal rhs:{(oneadmin)} spids:[61])] spids: [61] ) (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") ("-node-kvm:node_kvm") ) } spids: [64] ) ] spids: [64] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("http://downloads.opennebula.org/packages/opennebula-") ($ VSub_Name "$pkgver") (/opennebula-) ($ VSub_Name "$pkgver") (".tar.gz\n") ("\topennebula.initd\n") ("\topennebula.confd\n") ("\tgetopt.patch\n") ("\tssh.config\n") ("\tone_auth") ) } spids: [74] ) ] spids: [74] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir")) (/opennebula-) ($ VSub_Name "$pkgver")} spids: [89] ) ] spids: [89] ) (FuncDef name: prepare body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[106])] spids: [104] ) (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: [135 137 161 -1] ) ] spids: [128 132 164] ) ] spids: [125 167] ) spids: [121 123] ) ] spids: [101] ) spids: [97 100] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))}) (AndOr children: [ (C {(scons)} {(-j) (BracedVarSub token: suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(2)}) spids: [189 193] ) } ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [176] ) spids: [172 175] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))}) (AndOr children: [ (SimpleCommand words: [ {(./install.sh)} {(-u)} {($ VSub_Name "$pkgusers")} {(-g)} {($ VSub_Name "$pkggroups")} ] more_env: [(env_pair name:DESTDIR val:{(DQ ($ VSub_Name "$pkgdir"))} spids:[218])] ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(install)} {(-m755)} {(-D)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (.initd)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/init.d/) ($ VSub_Name "$pkgname")} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(install)} {(-m644)} {(-D)} {(DQ ($ VSub_Name "$srcdir")) (/) ($ VSub_Name "$pkgname") (.confd)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/conf.d/) ($ VSub_Name "$pkgname")} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(install)} {(-o)} {($ VSub_Name "$pkgusers")} {(-g)} {($ VSub_Name "$pkggroups")} {(-d)} {(DQ ($ VSub_Name "$pkgdir")) (/var/lib/one/.ssh)} {(DQ ($ VSub_Name "$pkgdir")) (/var/lib/one/.one)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(install)} {(-m600)} {(-o)} {($ VSub_Name "$pkgusers")} {(-g)} {($ VSub_Name "$pkggroups")} {(-D)} {(DQ ($ VSub_Name "$srcdir")) (/ssh.config)} {(DQ ($ VSub_Name "$pkgdir")) (/var/lib/one/.ssh/config)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(install)} {(-m600)} {(-o)} {($ VSub_Name "$pkgusers")} {(-g)} {($ VSub_Name "$pkggroups")} {(-D)} {(DQ ($ VSub_Name "$srcdir")) (/one_auth)} {(DQ ($ VSub_Name "$pkgdir")) (/var/lib/one/.one/one_auth)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (SimpleCommand words: [ {(echo)} {(-e)} { (DQ (EscapedLiteralPart token:) ("EMULATOR = /usr/bin/qemu-system-x86_64") ) } ] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(DQ ($ VSub_Name "$pkgdir")) (/etc/one/vmm_exec/vmm_exec_kvm.conf)} spids: [414] ) ] ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [208] ) spids: [204 207] ) (FuncDef name: node_kvm body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("KVM node for OpenNebula"))} spids: [439] ) ] spids: [439] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (noarch))} spids:[445])] spids: [445] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:install) op: Equal rhs: {(DQ (opennebula-node-kvm.pre-install))} spids: [451] ) ] spids: [451] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: {(DQ ("ruby openssh qemu-x86_64 libvirt-qemu procps bash"))} spids: [457] ) ] spids: [457] ) (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name "$subpkgdir"))}) ] spids: [436] ) spids: [432 435] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:md5sums) op: Equal rhs: { (DQ ("43ef6a658b5ae121ad4461178abdbd88 opennebula-4.9.80.tar.gz\n") ("44ecaf28b2f0293d55aa401e0ec49948 opennebula.initd\n") ("0b9c5ef240d1cb13d35b21c081e756ad opennebula.confd\n") ("8f1a346b4020b7c3e2853f42cc38d35b getopt.patch\n") ("37b82927bd6b0c1dd9cbde2a3728e719 ssh.config\n") ("3ae86352df192e0aae9fdee58532610e one_auth") ) } spids: [474] ) ] spids: [474] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha256sums) op: Equal rhs: { (DQ ( "8e69dedd69001bce6d224661649bc3f5b1608bf87e69dd1ac5ff1e774745a3c9 opennebula-4.9.80.tar.gz\n" ) ("20ea2103ccd37988c1426a7e39f37c9923465e1769cc3669dc47751876f3266a opennebula.initd\n") ( "296d445dfaee90c114a5cd8ecb208c495a3a22dabde13ec9ece623368f5627a1 opennebula.confd\n" ) ("072ad62b3ef18eb3c9d33b47acb7a867d076c3083ce561bdbffcf98bb852d663 getopt.patch\n") ("e934a2b5083a04126e5948a6abf1adfa8e557bb086010453824b44282dafdc8b ssh.config\n") ("4af1f964af87ed62f2b953e8b0269b2ad8dfbcba57b5eebddcb9e8f0cc4379da one_auth") ) } spids: [484] ) ] spids: [484] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "54aff34770a29262a4e3ef886957044489f4d4b1905e847522adff6ad1012df21e9c2caa46bc060fbbbb9d1ce23cb41768f28ca90af5c4e5844b054c0d0d7349 opennebula-4.9.80.tar.gz\n" ) ( "2b87e93bce79325ecd57be053e08cc626bdec2bfd9048635452957efc88e5104cbbf74d3c2757e3e42738276b7bd37db2c9845e85570b7ff5f27117dad1d06e2 opennebula.initd\n" ) ( "0b5c98642a74a804e36729f0a0abb5434a55ecaa5a9c29620f8940ba69b141f47fa1693a63bc22298e735bba61d3f0b15c82278b5d8071eeb19f02398332f6ae opennebula.confd\n" ) ( "7f39da47a89011bd368217bc7cb33a1647b49d43960bf47f22b742dfa109d04e9b18ad0827d5d3b4c05bd6b31d723322b9c899520fbb2db5b4217a38bab9eefe getopt.patch\n" ) ( "9da0adff52401e5bd50b25a0ec240e781257330f9084c55c6ca741c9179c29681ee6855bc3607d05949124559828f6fdd029b3ea01b881f472292c96489c64cf ssh.config\n" ) ( "8aaab56ae8c8bf7d1c06a47f4f3339c9e62486270b9ab00751dd21fabee19824f05b20b3d979741886539570e761fd3227acd5ef55a04a9273f0b706f93c813f one_auth" ) ) } spids: [494] ) ] spids: [494] ) ] )