updated on Sat Jan 14 00:11:12 UTC 2012
[aur-mirror.git] / gitorious / gitorious.install
blobc5abc85a73af489045161db9f2908b9486c94e1f
1 GITDIR="/usr/share/webapps/gitorious"
2 BUNDLE="/opt/ruby-enterprise/bin/bundle"
4 post_install() {
5         SECRET=$(dd if=/dev/random count=1 2>/dev/null | sha256sum | awk '{print $1}')
6         sed -i "s|CHANGEME_SECRET|$SECRET|" /etc/webapps/gitorious/gitorious.yml
8         echo "Creating git user"
9         useradd git -MUd "$GITDIR" -s /bin/bash > /dev/null 2>&1
10         echo "* * * * * cd \"$GITDIR\" && bin/rake ultrasphinx:index RAILS_ENV=production 1>/dev/null" | crontab - -u git
11         cd "$GITDIR" || return 1
12         mkdir -p tmp tarballs repositories pids site/tmp/pids .ssh site/data/hooks/pre site/data/hooks/post
13         touch .ssh/authorized_keys
14         chmod -R 700 script
15         chmod 700 .ssh
16         chmod 600 .ssh/authorized_keys
17         chmod 744 site/data/hooks/pre site/data/hooks/post
18         chown -R git:git "$GITDIR"
20         echo "Configuring mysql & sphinx:"
21         echo -n " - Creating database gitorious: "
22         echo 'CREATE DATABASE gitorious; GRANT ALL ON gitorious.* TO gitorious@localhost IDENTIFIED BY "G170r!oUs";' | mysql > /dev/null 2>&1 && echo ok || echo FAIL
23         echo -n " - db:setup "
24         su - git -c "bin/rake db:setup RAILS_ENV=production" > /dev/null 2>&1 && echo ok || echo FAIL
25         echo -n " - ultrasphinx:configure "
26         su - git -c "bin/rake ultrasphinx:configure RAILS_ENV=production" > /dev/null 2>&1 && echo ok || echo FAIL
27         echo -n " - ultrasphinx:bootstrap "
28         su - git -c "bin/rake ultrasphinx:bootstrap RAILS_ENV=production" > /dev/null 2>&1 && echo ok || echo FAIL
29         echo -n " - ultrasphinx:spelling:build "
30         cd $GITDIR && bin/rake ultrasphinx:spelling:build RAILS_ENV=production > /dev/null 2>&1 && echo ok || echo FAIL
31         echo "DONE."
32         echo
34         echo "If mysql was not running during install (or any of the previous steps failed)"
35         echo "you will need to create the database and run rake manually."
36         echo "# echo 'CREATE DATABASE gitorious; GRANT ALL ON gitorious.* TO gitorious@localhost IDENTIFIED BY \"G170r!oUs\";' | mysql"
37         echo "# su - git -c \"bin/rake db:setup RAILS_ENV=production\""
38         echo "# su - git -c \"bin/rake ultrasphinx:configure RAILS_ENV=production\""
39         echo "# su - git -c \"bin/rake ultrasphinx:bootstrap RAILS_ENV=production\""
40         echo "# cd $GITDIR && bin/rake ultrasphinx:spelling:build RAILS_ENV=production"
41         echo
43         echo "To create the admin user, issue the following command"
44         echo "# su - git -c \"env RAILS_ENV=production $BUNDLE exec script/create_admin\""
45         echo
47         echo "Gitorious is a ruby application and depends on the following daemons that must be running:"
48         echo "# /etc/rc.d/stompserver start"
49         echo "# /etc/rc.d/gitorious-daemon start"
50         echo "# /etc/rc.d/gitorious-poller start"
51         echo "# /etc/rc.d/gitorious-ultrasphinx start"
52         echo
53         echo "To run the application itself you can issue the following command:"
54         echo "# su - git -c \"$BUNDLE exec script/server -e production\""
55         echo "and visit http://localhost.localdomain:3000"
56         echo "or deploy it like any other ruby application (Ex: apache+passenger)"
59 post_upgrade() {
60         chown -R git:git "$GITDIR"
62         echo "The database may need to be migrated to reflect the latest changes in the application"
63         echo "To migrate run the following command:"
64         echo "# su - git -c \"bin/rake db:migrate RAILS_ENV=production\""
67 post_remove() {
68         userdel git
69         rm -f /var/spool/cron/git