fix deploy of role server
[opensuse:yast-rest-service.git] / webservice / Rakefile
1 #--
2 # Copyright (c) 2009, 2010 Novell, Inc.
3
4 # All Rights Reserved.
5
6 # This program is free software; you can redistribute it and/or modify it
7 # under the terms of version 2 of the GNU General Public License
8 # as published by the Free Software Foundation.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
14
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, contact Novell, Inc.
17
18 # To contact Novell about this file by physical or electronic mail,
19 # you may find current contact information at www.novell.com
20 #++
21 #
22 # Add your own tasks in files placed in lib/tasks ending in .rake,
23 # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
24
25 require(File.join(File.dirname(__FILE__), 'config', 'boot'))
26 $:.unshift File.join(File.dirname(__FILE__), "..", "webservice-tasks", "lib")
27
28 require 'rake'
29 require 'rake/testtask'
30 require 'rake/rdoctask'
31
32 #include in doc:app also shared test enhancements for plugins
33 #FIXME find way how to change original rails task app:doc we only need include some files to it
34 namespace :doc do
35   Rake::RDocTask.new("app") { |rdoc|
36     rdoc.rdoc_dir = 'doc/app'
37     rdoc.title    = "Rails Application Documentation"
38     rdoc.options << '--line-numbers' << '--inline-source'
39     rdoc.rdoc_files.include('doc/README_FOR_APP')
40     rdoc.rdoc_files.include('app/**/*.rb')
41     rdoc.rdoc_files.include('lib/**/*.rb')
42 #include shared test functionality in documentation
43     rdoc.rdoc_files.include('test/plugin_basic_tests.rb')
44   }
45 end
46
47 # load the shared rake files from the package itself
48 # skip 'deploy_local' task, it's redefined here
49 require 'tasks/webservice_tasks'
50 WebserviceTasks.loadTasks(:exclude => ["deploy_local.rake"])
51
52 # this call also loads WebserviceTasks but the second call is ignored there
53 # so this 'require' must be called _after_ WebserviceTasks.loadTasks
54 require 'tasks/rails'
55
56 require 'fileutils'
57
58 desc "Deploy for development - run db:migrate, create basic dirs and install grantwebyastrights."
59 task :deploy_local => :"db:migrate" do |t|
60   FileUtils.mkdir_p "/etc/webyast"
61   FileUtils.mkdir_p "/var/lib/yastws"
62   FileUtils.mkdir_p "/usr/share/yastws"
63   FileUtils.install "package/grantwebyastrights", "/usr/sbin", :mode => 0555
64   mkdir_p "/etc/dbus-1/system.d/"
65   cp_r    "package/webyast.permissions.conf", "/etc/dbus-1/system.d/"
66   cp_r    "package/webyastPermissionsService.rb", "/usr/sbin/"
67   chmod  0744, "/usr/sbin/webyastPermissionsService.rb"
68   mkdir_p "/usr/share/dbus-1/system-services/"
69   cp_r    "package/webyast.permissions.service.service", "/usr/share/dbus-1/system-services/"
70   # add user yastws
71   system "/usr/sbin/groupadd -r yastws &>/dev/null ||:"
72   system "/usr/sbin/useradd  -g yastws -s /bin/false -r -c 'User for YaST-Webservice' -d /var/lib/yastws yastws &>/dev/null ||:"
73   # grant rights to him
74   system "/usr/bin/polkit-auth --user yastws --grant org.opensuse.yast.module-manager.import > /dev/null"
75   system "/usr/bin/polkit-auth --user yastws --grant org.freedesktop.policykit.read > /dev/null"
76   system "/usr/bin/polkit-auth --user yastws --grant org.freedesktop.packagekit.system-update > /dev/null"
77 end
78