# Contributor: Markus M. May # Contributor: Carlo Landmeter # Maintainer: Natanael Copa global _railsver := '4.2' global pkgname := 'redmine' global pkgver := '3.2.1' global pkgrel := '2' global pkgdesc := '"Project management web application written in Ruby'" global url := '"http://redmine.org'" global arch := '"noarch'" global license := '"GPL2'" # ruby-io-console is part of ruby std package but splitted # seems bundler does not detect its missing global depends := ""ruby ruby-actionpack-action_caching$(_railsver) ruby-actionpack-xml_parser$(_railsver) ruby-bigdecimal ruby-coderay ruby-fastercsv ruby-i18n ruby-jquery-rails$(_railsver) ruby-json ruby-mocha ruby-net-ldap ruby-openid<2.4 ruby-rack ruby-rack-openid ruby-rails$(_railsver) ruby-rbpdf ruby-rdoc ruby-redcarpet ruby-request_store ruby-rmagick ruby-protected_attributes$(_railsver) ruby-roadie-rails ruby-io-console "" global depends_dev := 'ruby-io-console' global makedepends := $depends_dev global install := ""$pkgname.pre-install $pkgname.post-install"" global subpackages := ''"" global pkgusers := $pkgname global pkggroups := ""$pkgname www-data"" global source := ""http://www.redmine.org/releases/redmine-$pkgver.tar.gz gemfile.patch database.yml.patch "" global _webapps := '"usr/share/webapps'" global _builddir := ""$srcdir"/redmine-$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 # verify that all deps are installed if ! bundler check { bundler list return 1 } } proc package { cd $_builddir # create dirs mkdir -p "$pkgdir/$_webapps/$pkgname" "$pkgdir"/etc/redmine \ || return 1 install -o redmine -g www-data -m775 -d \ "$pkgdir"/var/lib/redmine "$pkgdir"/var/log/redmine \ || return 1 # move config files for i in [database.yml.example configuration.yml.example \ additional_environment.rb.example routes.rb] { mv config/$(i) "$pkgdir"/etc/redmine/$(i%.example) || return 1 ln -s /etc/redmine/$(i%.example) config/$(i%.example) \ || return 1 } # writeable data dirs for i in [db files tmp public/plugin_assets] { chown redmine:www-data $i || return 1 chmod 775 $i || return 1 mv $i "$pkgdir"/var/lib/redmine/ || return 1 ln -s /var/lib/redmine/$(i#*/) $i || return 1 } chown redmine Gemfile.lock || return 1 # the secret token is generated by post-install ln -s /var/lib/redmine/secret_token.rb config/initializers/ # log dir rm -r log && ln -s /var/log/redmine log || return 1 mv * "$pkgdir/$_webapps/$pkgname" || return 1 } global md5sums := '"425aa0c56b66bf48c878798a9f7c6546 redmine-3.2.1.tar.gz a80146b41b912f248140e616154073f6 gemfile.patch d834bef9b5f01484f1e0ee82676f4109 database.yml.patch'" global sha256sums := '"5e69ad50eef27b581e58ea0d72f2dcb19f38db3626e3bd6ed27b74d5a4da5bd6 redmine-3.2.1.tar.gz d9d94fcb696aed05b308114c0b053f878918e3d2dbd12e5ee0b46c041bd18bcd gemfile.patch 28b1ec099ae87c43d00d7e997edabaece01d6fc2e67b46c50735e9a1bb72f130 database.yml.patch'" global sha512sums := '"20bc63f82aa58a67c10733338e7aebae3348689531f1f0a6dbedb00301f128ef6a29bd6a33d3075b614e01b23f5311a9739b251fb911298e54d4df06df628bf3 redmine-3.2.1.tar.gz 9f3be9039f9c576b56d77e3e3f477fe16fdd5d0f8b8b1bb3722cad1aff669f2ee65c308d27ec8c25300b4a3991b65fcf9d4d127abd0542477f1dd8f5af82d7ee gemfile.patch 1b5880979f050a71d726c844369cc5340a8d4aa0b59b2301e1d32dea28f70ca2a85e619c8b845c37de08772154eef13fa63716c1beaaa50d97b80fd65c297bf9 database.yml.patch'" (CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:_railsver) op:Equal rhs:{(4.2)} spids:[9])] spids: [9] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(redmine)} spids:[12])] spids: [12] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(3.2.1)} spids:[15])] spids: [15] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(2)} spids:[18])] spids: [18] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgdesc) op: Equal rhs: {(DQ ("Project management web application written in Ruby"))} spids: [21] ) ] spids: [21] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:url) op: Equal rhs: {(DQ ("http://redmine.org"))} spids: [26] ) ] spids: [26] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (noarch))} spids:[31])] spids: [31] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (GPL2))} spids:[36])] spids: [36] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends) op: Equal rhs: { (DQ ("ruby\n") ("\truby-actionpack-action_caching") (${ VSub_Name _railsver) ("\n") ("\truby-actionpack-xml_parser") (${ VSub_Name _railsver) ("\n") ("\truby-bigdecimal\n") ("\truby-coderay\n") ("\truby-fastercsv\n") ("\truby-i18n\n") ("\truby-jquery-rails") (${ VSub_Name _railsver) ("\n") ("\truby-json\n") ("\truby-mocha\n") ("\truby-net-ldap\n") ("\truby-openid<2.4\n") ("\truby-rack\n") ("\truby-rack-openid\n") ("\truby-rails") (${ VSub_Name _railsver) ("\n") ("\truby-rbpdf\n") ("\truby-rdoc\n") ("\truby-redcarpet\n") ("\truby-request_store\n") ("\truby-rmagick\n") ("\truby-protected_attributes") (${ VSub_Name _railsver) ("\n") ("\truby-roadie-rails\n") ("\n") ("\truby-io-console\n") ("\t") ) } spids: [47] ) ] spids: [47] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:depends_dev) op: Equal rhs: {(ruby-io-console)} spids: [96] ) ] spids: [96] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:makedepends) op: Equal rhs: {(DQ ($ VSub_Name "$depends_dev"))} spids: [99] ) ] spids: [99] ) (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)) } spids: [104] ) ] spids: [104] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:subpackages) op:Equal rhs:{(DQ )} spids:[112])] spids: [112] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkgusers) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname"))} spids: [116] ) ] spids: [116] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pkggroups) op: Equal rhs: {(DQ ($ VSub_Name "$pkgname") (" www-data"))} spids: [121] ) ] spids: [121] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:source) op: Equal rhs: { (DQ ("http://www.redmine.org/releases/redmine-") ($ VSub_Name "$pkgver") (".tar.gz\n") ("\tgemfile.patch\n") ("\tdatabase.yml.patch\n") ("\t") ) } spids: [127] ) ] spids: [127] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_webapps) op: Equal rhs: {(DQ (usr/share/webapps))} spids: [137] ) ] spids: [137] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_builddir) op: Equal rhs: {(DQ ($ VSub_Name "$srcdir")) (/redmine-) ($ VSub_Name "$pkgver")} spids: [143] ) ] spids: [143] ) (FuncDef name: prepare body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[160])] spids: [158] ) (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: [189 191 215 -1] ) ] spids: [182 186 218] ) ] spids: [179 221] ) spids: [175 177] ) ] spids: [155] ) spids: [151 154] ) (FuncDef name: build body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))}) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children:[(C {(bundler)} {(check)})] negated:True) terminator: ) ] action: [ (C {(bundler)} {(list)}) (ControlFlow token: arg_word:{(1)}) ] spids: [-1 253] ) ] spids: [-1 266] ) ] spids: [230] ) spids: [226 229] ) (FuncDef name: package body: (BraceGroup children: [ (C {(cd)} {(DQ ($ VSub_Name "$_builddir"))}) (AndOr children: [ (C {(mkdir)} {(-p)} { (DQ ($ VSub_Name "$pkgdir") (/) ($ VSub_Name "$_webapps") (/) ($ VSub_Name "$pkgname") ) } {(DQ ($ VSub_Name "$pkgdir")) (/etc/redmine)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (AndOr children: [ (C {(install)} {(-o)} {(redmine)} {(-g)} {(www-data)} {(-m775)} {(-d)} {(DQ ($ VSub_Name "$pkgdir")) (/var/lib/redmine)} {(DQ ($ VSub_Name "$pkgdir")) (/var/log/redmine)} ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (ForEach iter_name: i iter_words: [ {(database.yml.example)} {(configuration.yml.example)} {(additional_environment.rb.example)} {(routes.rb)} ] do_arg_iter: False body: (DoGroup children: [ (AndOr children: [ (C {(mv)} {(config/) (${ VSub_Name i)} {(DQ ($ VSub_Name "$pkgdir")) (/etc/redmine/) (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(.example)}) spids: [386 390] ) } ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) (AndOr children: [ (C {(ln)} {(-s)} {(/etc/redmine/) (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(.example)}) spids: [404 408] ) } {(config/) (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(.example)}) spids: [411 415] ) } ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) ] spids: [372 426] ) spids: [360 370] ) (ForEach iter_name: i iter_words: [{(db)} {(files)} {(tmp)} {(public/plugin_assets)}] do_arg_iter: False body: (DoGroup children: [ (AndOr children: [ (C {(chown)} {(redmine) (Lit_Other ":") (www-data)} {($ VSub_Name "$i")}) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) (AndOr children: [ (C {(chmod)} {(775)} {($ VSub_Name "$i")}) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) (AndOr children: [ (C {(mv)} {($ VSub_Name "$i")} {(DQ ($ VSub_Name "$pkgdir")) (/var/lib/redmine/)} ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) (AndOr children: [ (C {(ln)} {(-s)} {(/var/lib/redmine/) (BracedVarSub token: suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{("*") (Lit_Slash /)}) spids: [501 506] ) } {($ VSub_Name "$i")} ) (ControlFlow token: arg_word: {(1)} ) ] op_id: Op_DPipe ) ] spids: [449 517] ) spids: [439 447] ) (AndOr children: [ (C {(chown)} {(redmine)} {(Gemfile.lock)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) (C {(ln)} {(-s)} {(/var/lib/redmine/secret_token.rb)} {(config/initializers/)}) (AndOr children: [ (C {(rm)} {(-r)} {(log)}) (AndOr children: [ (C {(ln)} {(-s)} {(/var/log/redmine)} {(log)}) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) (AndOr children: [ (C {(mv)} {(Lit_Other "*")} { (DQ ($ VSub_Name "$pkgdir") (/) ($ VSub_Name "$_webapps") (/) ($ VSub_Name "$pkgname") ) } ) (ControlFlow token: arg_word:{(1)}) ] op_id: Op_DPipe ) ] spids: [275] ) spids: [271 274] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:md5sums) op: Equal rhs: { (DQ ("425aa0c56b66bf48c878798a9f7c6546 redmine-3.2.1.tar.gz\n") ("a80146b41b912f248140e616154073f6 gemfile.patch\n") ("d834bef9b5f01484f1e0ee82676f4109 database.yml.patch") ) } spids: [597] ) ] spids: [597] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha256sums) op: Equal rhs: { (DQ ( "5e69ad50eef27b581e58ea0d72f2dcb19f38db3626e3bd6ed27b74d5a4da5bd6 redmine-3.2.1.tar.gz\n" ) ("d9d94fcb696aed05b308114c0b053f878918e3d2dbd12e5ee0b46c041bd18bcd gemfile.patch\n") ( "28b1ec099ae87c43d00d7e997edabaece01d6fc2e67b46c50735e9a1bb72f130 database.yml.patch" ) ) } spids: [604] ) ] spids: [604] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha512sums) op: Equal rhs: { (DQ ( "20bc63f82aa58a67c10733338e7aebae3348689531f1f0a6dbedb00301f128ef6a29bd6a33d3075b614e01b23f5311a9739b251fb911298e54d4df06df628bf3 redmine-3.2.1.tar.gz\n" ) ( "9f3be9039f9c576b56d77e3e3f477fe16fdd5d0f8b8b1bb3722cad1aff669f2ee65c308d27ec8c25300b4a3991b65fcf9d4d127abd0542477f1dd8f5af82d7ee gemfile.patch\n" ) ( "1b5880979f050a71d726c844369cc5340a8d4aa0b59b2301e1d32dea28f70ca2a85e619c8b845c37de08772154eef13fa63716c1beaaa50d97b80fd65c297bf9 database.yml.patch" ) ) } spids: [611] ) ] spids: [611] ) ] )