chiliproj/chiliproj.spec

Sun, 31 Mar 2013 17:55:10 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sun, 31 Mar 2013 17:55:10 +0200
changeset 764
b3f4be54aeb4
child 765
5be956b2db74
permissions
-rw-r--r--

Import new package spec for introduction into repository as a first cut.

     1 ##
     2 ##  chiliproj.spec -- OpenPKG RPM Package Specification
     3 ##  Copyright (c) 2013 Michael Schloh von Bennewitz <michael@schloh.com>
     4 ##
     5 ##  Permission to use, copy, modify, and distribute this software for
     6 ##  any purpose with or without fee is hereby granted, provided that
     7 ##  the above copyright notice and this permission notice appear in all
     8 ##  copies.
     9 ##
    10 ##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
    11 ##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    12 ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
    13 ##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
    14 ##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    15 ##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    16 ##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
    17 ##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    18 ##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    19 ##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
    20 ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    21 ##  SUCH DAMAGE.
    22 ##
    24 # FIXME: GEM_HOME=$HOME/.gem RAILS_ENV=production PATH=$PATH:%{l_prefix}/lib/ruby/gems/1.9.1/bin bundle install --without test development mysql postgres rmagick
    25 # FIXME: bundle exec rails s
    26 # FIXME: w3m http://localhost:3000/
    27 # FIXME: log in with Login: admin and Password: admin
    29 #   package version
    30 %define       V_pref            427
    31 %define       V_rake            10.0.4
    32 %define       V_activesupport   2.3.18
    33 %define       V_rack            1.1.6
    34 %define       V_actionpack      2.3.18
    35 %define       V_actionmailer    2.3.18
    36 %define       V_activerecord    2.3.18
    37 %define       V_activeresource  2.3.18
    38 %define       V_rails           2.3.18
    39 %define       V_actsastaggable  2.1.0
    40 %define       V_coderay         1.0.9
    41 %define       V_daemons         1.1.9
    42 %define       V_eventmachine    1.0.3
    43 %define       V_gravatarify     3.0.0
    44 %define       V_i18n            0.4.2
    45 %define       V_json            1.7.7
    46 %define       V_liquid          2.3.0
    47 %define       V_mysql2          0.2.18
    48 %define       V_netldap         0.3.1
    49 %define       V_rdoc            4.0.1
    50 %define       V_rubyopenid      2.1.8
    51 %define       V_rubytree        0.5.3
    52 %define       V_sqlite3         1.3.7
    53 %define       V_thin            1.5.1
    54 %define       V_tzinfo          0.3.37
    55 %define       V_bundler         1.3.4
    57 #   package information
    58 Name:         chiliproj
    59 Summary:      Comprehensive Rails-based Project Manager
    60 URL:          http://www.chiliproject.org/
    61 Vendor:       Felix Schaefer et al.
    62 Packager:     Michael Schloh von Bennewitz
    63 Distribution: Europalab Networks Production
    64 Class:        EVAL
    65 Group:        Calendar
    66 License:      GPL
    67 Version:      20130328
    68 Release:      20120800
    70 #   list of sources
    71 Source0:      http://www.chiliproject.org/attachments/download/%{V_pref}/chiliproject-%{version}.tar.bz2
    72 Source1:      rc.chiliproj
    73 Source2:      Gemfile.lock
    74 Source3:      http://rubygems.org/downloads/rake-%{V_rake}.gem
    75 Source4:      http://rubygems.org/downloads/activesupport-%{V_activesupport}.gem
    76 Source5:      http://rubygems.org/downloads/rack-%{V_rack}.gem
    77 Source6:      http://rubygems.org/downloads/actionpack-%{V_actionpack}.gem
    78 Source7:      http://rubygems.org/downloads/actionmailer-%{V_actionmailer}.gem
    79 Source8:      http://rubygems.org/downloads/activerecord-%{V_activerecord}.gem
    80 Source9:      http://rubygems.org/downloads/activeresource-%{V_activeresource}.gem
    81 Source10:     http://rubygems.org/downloads/rails-%{V_rails}.gem
    82 Source11:     http://rubygems.org/downloads/acts-as-taggable-on-%{V_actsastaggable}.gem
    83 Source12:     http://rubygems.org/downloads/coderay-%{V_coderay}.gem
    84 Source13:     http://rubygems.org/downloads/daemons-%{V_daemons}.gem
    85 Source14:     http://rubygems.org/downloads/eventmachine-%{V_eventmachine}.gem
    86 Source15:     http://rubygems.org/downloads/gravatarify-%{V_gravatarify}.gem
    87 Source16:     http://rubygems.org/downloads/i18n-%{V_i18n}.gem
    88 Source17:     http://rubygems.org/downloads/json-%{V_json}.gem
    89 Source18:     http://rubygems.org/downloads/liquid-%{V_liquid}.gem
    90 Source19:     http://rubygems.org/downloads/mysql2-%{V_mysql2}.gem
    91 Source20:     http://rubygems.org/downloads/net-ldap-%{V_netldap}.gem
    92 Source21:     http://rubygems.org/downloads/rdoc-%{V_rdoc}.gem
    93 Source22:     http://rubygems.org/downloads/ruby-openid-%{V_rubyopenid}.gem
    94 Source23:     http://rubygems.org/downloads/rubytree-%{V_rubytree}.gem
    95 Source24:     http://rubygems.org/downloads/sqlite3-%{V_sqlite3}.gem
    96 Source25:     http://rubygems.org/downloads/thin-%{V_thin}.gem
    97 Source26:     http://rubygems.org/downloads/tzinfo-%{V_tzinfo}.gem
    98 Source27:     http://rubygems.org/downloads/bundler-%{V_bundler}.gem
   100 #   build information
   101 BuildPreReq:  OpenPKG, openpkg >= 20100101, ruby < 2.0.0, ruby-rails, ruby-thin
   102 PreReq:       OpenPKG, openpkg >= 20100101, ruby < 2.0.0, ruby-rails, ruby-thin
   104 %description
   105     ChiliProject is a web based project management system. It supports
   106     your team throughout the complete project life cycle, from setting
   107     up and discussing a project plan, over tracking issues and reporting
   108     work progress to collaboratively sharing knowledge.
   110 %track
   111     prog chiliproj:chiliproj = {
   112         version   = %{version}
   113         url       = http://www.chiliproject.org/attachments/download/
   114         regex     = (\d+)
   115         url       = http://www.chiliproject.org/attachments/download/__NEWVER__/
   116         regex     = chiliproject-(__VER__)\.tar.bz2
   117     }
   118     prog chiliproj:rake = {
   119         version   = %{V_rake}
   120         url       = http://rubygems.org/gems/rake
   121         regex     = rake-(__VER__)\.gem
   122     }
   123     prog chiliproj:activesupport = {
   124         version   = %{V_activesupport}
   125         url       = http://rubygems.org/gems/activesupport
   126         regex     = activesupport-(__VER__)\.gem
   127     }
   128     prog chiliproj:rack = {
   129         version   = %{V_rack}
   130         url       = http://rubygems.org/gems/rack
   131         regex     = rack-(__VER__)\.gem
   132     }
   133     prog chiliproj:actionpack = {
   134         version   = %{V_actionpack}
   135         url       = http://rubygems.org/gems/actionpack
   136         regex     = actionpack-(__VER__)\.gem
   137     }
   138     prog chiliproj:actionmailer = {
   139         version   = %{V_actionmailer}
   140         url       = http://rubygems.org/gems/actionmailer
   141         regex     = actionmailer-(__VER__)\.gem
   142     }
   143     prog chiliproj:activerecord = {
   144         version   = %{V_activerecord}
   145         url       = http://rubygems.org/gems/activerecord
   146         regex     = activerecord-(__VER__)\.gem
   147     }
   148     prog chiliproj:activeresource = {
   149         version   = %{V_activeresource}
   150         url       = http://rubygems.org/gems/activeresource
   151         regex     = activeresource-(__VER__)\.gem
   152     }
   153     prog chiliproj:rails = {
   154         version   = %{V_rails}
   155         url       = http://rubygems.org/gems/rails
   156         regex     = rails-(__VER__)\.gem
   157     }
   158     prog chiliproj:actsastaggable = {
   159         version   = %{V_actsastaggable}
   160         url       = http://rubygems.org/gems/acts-as-taggable-on
   161         regex     = acts-as-taggable-on-(__VER__)\.gem
   162     }
   163     prog chiliproj:coderay = {
   164         version   = %{V_coderay}
   165         url       = http://rubygems.org/gems/coderay
   166         regex     = coderay-(__VER__)\.gem
   167     }
   168     prog chiliproj:daemons = {
   169         version   = %{V_daemons}
   170         url       = http://rubygems.org/gems/daemons
   171         regex     = daemons-(__VER__)\.gem
   172     }
   173     prog chiliproj:eventmachine = {
   174         version   = %{V_eventmachine}
   175         url       = http://rubygems.org/gems/eventmachine
   176         regex     = eventmachine-(__VER__)\.gem
   177     }
   178     prog chiliproj:gravatarify = {
   179         version   = %{V_gravatarify}
   180         url       = http://rubygems.org/gems/gravatarify
   181         regex     = gravatarify-(__VER__)\.gem
   182     }
   183     prog chiliproj:i18n = {
   184         version   = %{V_i18n}
   185         url       = http://rubygems.org/gems/i18n
   186         regex     = i18n-(__VER__)\.gem
   187     }
   188     prog chiliproj:json = {
   189         version   = %{V_json}
   190         url       = http://rubygems.org/gems/json
   191         regex     = json-(__VER__)\.gem
   192     }
   193     prog chiliproj:liquid = {
   194         version   = %{V_liquid}
   195         url       = http://rubygems.org/gems/liquid
   196         regex     = liquid-(__VER__)\.gem
   197     }
   198     prog chiliproj:mysql2 = {
   199         version   = %{V_mysql2}
   200         url       = http://rubygems.org/gems/mysql2
   201         regex     = mysql2-(__VER__)\.gem
   202     }
   203     prog chiliproj:netldap = {
   204         version   = %{V_netldap}
   205         url       = http://rubygems.org/gems/net-ldap
   206         regex     = net-ldap-(__VER__)\.gem
   207     }
   208     prog chiliproj:rdoc = {
   209         version   = %{V_rdoc}
   210         url       = http://rubygems.org/gems/rdoc
   211         regex     = rdoc-(__VER__)\.gem
   212     }
   213     prog chiliproj:rubyopenid = {
   214         version   = %{V_rubyopenid}
   215         url       = http://rubygems.org/gems/ruby-openid
   216         regex     = ruby-openid-(__VER__)\.gem
   217     }
   218     prog chiliproj:rubytree = {
   219         version   = %{V_rubytree}
   220         url       = http://rubygems.org/gems/rubytree
   221         regex     = rubytree-(__VER__)\.gem
   222     }
   223     prog chiliproj:sqlite3 = {
   224         version   = %{V_sqlite3}
   225         url       = http://rubygems.org/gems/sqlite3
   226         regex     = sqlite3-(__VER__)\.gem
   227     }
   228     prog chiliproj:thin = {
   229         version   = %{V_thin}
   230         url       = http://rubygems.org/gems/thin
   231         regex     = thin-(__VER__)\.gem
   232     }
   233     prog chiliproj:tzinfo = {
   234         version   = %{V_tzinfo}
   235         url       = http://rubygems.org/gems/tzinfo
   236         regex     = tzinfo-(__VER__)\.gem
   237     }
   238     prog chiliproj:bundler = {
   239         version   = %{V_bundler}
   240         url       = http://rubygems.org/gems/bundler
   241         regex     = bundler-(__VER__)\.gem
   242     }
   244 %prep
   245     %setup -q -n chiliproject-%{version}
   246     %{l_shtool} subst \
   247         -e 's;# \(ENV\[.RAILS_ENV.\] ||= .production.\);\1;' \
   248         config/environment.rb
   250 %build
   252 %install
   253     RUBY_VERSION=`%{l_prefix}/bin/gem which rubygems | sed -e 's;.*/\([^/]*\)/rubygems\.rb$;\1;'`
   254     export GEM_HOME=$RPM_BUILD_ROOT%{l_prefix}/lib/chiliproj/gems/$RUBY_VERSION
   255     %{l_shtool} mkdir -f -p -m 755 $GEM_HOME
   256     %{l_shtool} mkdir -f -p public/plugin_assets
   257     %{l_tar} cf - . | %{l_tar} xf - -C $RPM_BUILD_ROOT%{l_prefix}/lib/chiliproj
   258     %{l_prefix}/bin/gem install --local %{SOURCE3}
   259     %{l_prefix}/bin/gem install --local %{SOURCE4}
   260     %{l_prefix}/bin/gem install --local %{SOURCE5}
   261     %{l_prefix}/bin/gem install --local %{SOURCE6}
   262     %{l_prefix}/bin/gem install --local %{SOURCE7}
   263     %{l_prefix}/bin/gem install --local %{SOURCE8}
   264     %{l_prefix}/bin/gem install --local %{SOURCE9}
   265     %{l_prefix}/bin/gem install --local %{SOURCE10}
   266     %{l_prefix}/bin/gem install --local %{SOURCE11}
   267     %{l_prefix}/bin/gem install --local %{SOURCE12}
   268     %{l_prefix}/bin/gem install --local %{SOURCE13}
   269     %{l_prefix}/bin/gem install --local %{SOURCE14}
   270     %{l_prefix}/bin/gem install --local %{SOURCE15}
   271     %{l_prefix}/bin/gem install --local %{SOURCE16}
   272     %{l_prefix}/bin/gem install --local %{SOURCE17}
   273     %{l_prefix}/bin/gem install --local %{SOURCE18}
   274     %{l_prefix}/bin/gem install --local %{SOURCE19}
   275     %{l_prefix}/bin/gem install --local %{SOURCE20}
   276     %{l_prefix}/bin/gem install --local %{SOURCE21}
   277     %{l_prefix}/bin/gem install --local %{SOURCE22}
   278     %{l_prefix}/bin/gem install --local %{SOURCE23}
   279     %{l_prefix}/bin/gem install --local %{SOURCE24}
   280     %{l_prefix}/bin/gem install --local %{SOURCE25}
   281     %{l_prefix}/bin/gem install --local %{SOURCE27}
   283     #   install configuration
   284     ( cd $RPM_BUILD_ROOT%{l_prefix}/lib/chiliproj
   285       %{l_shtool} mkdir -f -p -m 755 .bundle
   286       cp %{SOURCE Gemfile.lock} .
   287       echo 'gem "thin"' >>Gemfile
   288       cp config/configuration.yml.example config/configuration.yml
   289       cp config/additional_environment.rb.example config/additional_environment.rb
   290       echo "ENV['GEM_PATH'] = '%{l_prefix}/lib/ruby/gems/$RUBY_VERSION:%{l_prefix}/lib/chiliproj/gems/$RUBY_VERSION'" >>config/additional_environment.rb
   291       #echo 'config.action_controller.session = { :key => "_chiliproject_session", :secret => "54bbf51a99cbce2a8881af4fa0fa23895e071f8c8c4773e76b09388135bd9d3671534bf4db20c9f3" }' >>config/additional_environment.rb
   292       cat >config/database.yml <<EOF
   293 production:
   294   adapter: sqlite3
   295   database: db/prod.sqlite
   296 EOF
   297       #   try this block with ---
   298       cat >.bundle/config <<EOF
   299 ---
   300 BUNDLE_WITHOUT: test:de:development:postgres:mysql:rmagick
   301 EOF
   302     ) || exit $?
   304     #   install run command script
   305     %{l_shtool} mkdir -f -p -m 755 \
   306         $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
   307     %{l_shtool} install -c -m 755 %{l_value -s -a} \
   308         -e 's;@l_gempath@;$RPM_BUILD_ROOT%{l_prefix}/lib/ruby/gems/$RUBY_VERSION;g' \
   309         %{SOURCE rc.chiliproj} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
   311     #   clean up white spaces
   312     rm -rf $RPM_BUILD_ROOT%{l_prefix}/lib/chiliproj/gems/$RUBY_VERSION/gems/rdoc-*/test
   314     #   problem with typical name 'files', existing in this case
   315     %{l_rpmtool} files -v -oaltfiles -r$RPM_BUILD_ROOT \
   316         %{l_files_std} \
   317         '%config %{l_prefix}/lib/chiliproj/config/*'
   318         #'%attr(775,%{l_nusr},%{l_mgrp}) %{l_prefix}/lib/chiliproj/files' \
   319         #'%attr(775,%{l_nusr},%{l_mgrp}) %{l_prefix}/lib/chiliproj/files/*' \
   320         #'%attr(775,%{l_nusr},%{l_mgrp}) %{l_prefix}/lib/chiliproj/log' \
   321         #'%attr(775,%{l_nusr},%{l_mgrp}) %{l_prefix}/lib/chiliproj/log/*' \
   322         #'%attr(775,%{l_nusr},%{l_mgrp}) %{l_prefix}/lib/chiliproj/tmp' \
   323         #'%attr(775,%{l_nusr},%{l_mgrp}) %{l_prefix}/lib/chiliproj/tmp/*' \
   324         #'%attr(775,%{l_nusr},%{l_mgrp}) %{l_prefix}/lib/chiliproj/public/plugin_assets' \
   325         #'%attr(-,%{l_nusr},%{l_ngrp}) %{l_prefix}/lib/chiliproj/public/plugin_assets/*'
   327 %files -f altfiles
   328     #   problem with typical name 'files', existing in this case
   330 %clean
   332 %post
   333     if [ $1 -eq 1 ]; then
   334         RUBY_VERSION=`%{l_prefix}/bin/gem which rubygems | sed -e 's;.*/\([^/]*\)/rubygems\.rb$;\1;'`
   335         ( cd $RPM_INSTALL_PREFIX/lib/chiliproj
   336           #   install session
   337           $RPM_INSTALL_PREFIX/lib/ruby/gems/$RUBY_VERSION/bin/bundle \
   338               exec rake generate_session_store
   339           #   create initial database
   340           RAILS_ENV=production \
   341               $RPM_INSTALL_PREFIX/lib/ruby/gems/$RUBY_VERSION/bin/bundle \
   342               exec rake db:migrate
   343           #   insert default configuration into database
   344           echo 'en' | \
   345               RAILS_ENV=production \
   346               $RPM_INSTALL_PREFIX/lib/ruby/gems/$RUBY_VERSION/bin/bundle \
   347               exec rake redmine:load_default_data
   348         ) || exit $?
   349     fi
   350     if [ $1 -eq 2 ]; then
   351         #   after upgrade
   352         echo NOOP
   353     fi

mercurial