diff options
author | Nicolás Reynolds <fauno@kiwwwi.com.ar> | 2011-01-28 03:23:04 -0300 |
---|---|---|
committer | Nicolás Reynolds <fauno@kiwwwi.com.ar> | 2011-01-28 03:23:04 -0300 |
commit | 4fd38b1c7635719535ed16a2ed7cf6814ded90f8 (patch) | |
tree | 5a3adb6091fae6f777c4654663018715d04ab789 /pkgs/diaspora-git | |
parent | 21c6105c4fdacb617bd6a1cc06222f1de93be47e (diff) |
Diffstat (limited to 'pkgs/diaspora-git')
-rw-r--r-- | pkgs/diaspora-git/PKGBUILD | 89 | ||||
-rw-r--r-- | pkgs/diaspora-git/diaspora.bin | 3 | ||||
-rw-r--r-- | pkgs/diaspora-git/diaspora.install | 29 | ||||
-rw-r--r-- | pkgs/diaspora-git/diaspora.logrotate | 5 | ||||
-rw-r--r-- | pkgs/diaspora-git/diaspora.pam | 3 | ||||
-rw-r--r-- | pkgs/diaspora-git/diaspora.rc | 65 |
6 files changed, 194 insertions, 0 deletions
diff --git a/pkgs/diaspora-git/PKGBUILD b/pkgs/diaspora-git/PKGBUILD new file mode 100644 index 0000000..9435a7e --- /dev/null +++ b/pkgs/diaspora-git/PKGBUILD @@ -0,0 +1,89 @@ +# Maintainer: Hilton Medeiros <medeiros.hilton at gmail dot com> +# Contributor: Splashy <splash at open-web dot fr> + +# After installing, see the Diaspora wiki page for more information: +# https://wiki.archlinux.org/index.php/Diaspora + +pkgname=diaspora-git +pkgver=20101224 +pkgrel=1 +pkgdesc="A privacy aware, personally controlled, do-it-all, open source social network" +arch=('i686' 'x86_64') +url="http://www.joindiaspora.com/" +license=('AGPL3') +depends=('ruby' 'ruby-bundler' 'mongodb' 'redis' 'imagemagick' 'libxslt') +makedepends=('git') +groups=('social-web') +install=diaspora.install +source=('diaspora.bin' + 'diaspora.rc' + 'diaspora.logrotate' + 'diaspora.pam') +md5sums=('96db508a5a0e2e078521ad71c994eee6' + 'f9477e2421f24e9a3798ff253f3e5765' + '60f6b3972c73cbc6b1c9ab87c88fb655' + '96f82c38f3f540b53f3e5144900acf17') + +_gitroot="git://github.com/diaspora/diaspora.git" +_gitname="diaspora" + +build() { + cd "$srcdir" + + msg "Connecting to the Git server..." + + if [[ -d $_gitname ]] ; then + pushd $_gitname + git pull origin + msg "The local files are updated." + popd + else + git clone $_gitroot + msg "Git clone done." + fi + + msg "Start making..." + + [[ -d $_gitname-build ]] && rm -fr $_gitname-build + git clone $_gitname $_gitname-build + + # Recover gems cache + rm -fr $_gitname-gems + mkdir -p $_gitname-gems + [[ -d cache ]] && mv cache $_gitname-gems + + export GEM_HOME="$srcdir/$_gitname-gems" + + # Patch ruby_core_source to not install the headers in the system + # Remove this if you are behind a proxy and install the ruby-headers package instead + gem install ruby_core_source + sed -i "s@^ dest_dir.*@ dest_dir = \"$srcdir/rubyhdrs/\" + ruby_dir@" \ + $_gitname-gems/gems/ruby_core_source*/lib/ruby_core_source.rb + + pushd $_gitname-build + bundle install + + # We make this now because we do not install the git history + tar czf public/source.tar.gz `git ls-tree -r master | awk '{print $4}'` + + rm -fr .git + popd + + # Keep the gems cache + mv $_gitname-gems/cache "$srcdir" +} + +package() { + cd "$srcdir" + + install -d "$pkgdir/opt" + mv $_gitname-build "$pkgdir/opt/$_gitname" + cp -r $_gitname-gems "$pkgdir/opt/" + find "$pkgdir/opt/$_gitname-gems" \ + -type d -name ".git" -exec rm -fr '{}' \; &>/dev/null || true + + install -Dm755 $_gitname.bin "$pkgdir/usr/bin/$_gitname" + install -Dm755 $_gitname.rc "$pkgdir/etc/rc.d/$_gitname" + install -Dm644 $_gitname.logrotate "$pkgdir/etc/logrotate.d/$_gitname" + install -Dm644 $_gitname.pam "$pkgdir/etc/pam.d/$_gitname" +} diff --git a/pkgs/diaspora-git/diaspora.bin b/pkgs/diaspora-git/diaspora.bin new file mode 100644 index 0000000..96639da --- /dev/null +++ b/pkgs/diaspora-git/diaspora.bin @@ -0,0 +1,3 @@ +cd /opt/diaspora +export GEM_HOME=/opt/diaspora-gems/ +./script/server &>>/var/log/diaspora.log diff --git a/pkgs/diaspora-git/diaspora.install b/pkgs/diaspora-git/diaspora.install new file mode 100644 index 0000000..45cbb9e --- /dev/null +++ b/pkgs/diaspora-git/diaspora.install @@ -0,0 +1,29 @@ + +dusr=diaspora +dhome=/opt/diaspora +dgems=/opt/diaspora-gems +dlog=/var/log/diaspora.log + +post_install() { + getent passwd $dusr &>/dev/null || useradd -r -d $dhome -s /bin/bash $dusr &>/dev/null + chown -R $dusr:$dusr $dhome $dgems &>/dev/null + [[ -f $dlog ]] && chown $dusr:$dusr $dlog +} + +pre_upgrade(){ + etc/rc.d/diaspora stop &>/dev/null + return 0 +} + +post_upgrade(){ + post_install $1 +} + +pre_remove(){ + pre_upgrade $1 +} + +post_remove(){ + getent passwd $dusr &>/dev/null && userdel -f $dusr + return 0 +} diff --git a/pkgs/diaspora-git/diaspora.logrotate b/pkgs/diaspora-git/diaspora.logrotate new file mode 100644 index 0000000..bb5564a --- /dev/null +++ b/pkgs/diaspora-git/diaspora.logrotate @@ -0,0 +1,5 @@ +/var/log/diaspora.log { + notifempty + copytruncate + missingok +} diff --git a/pkgs/diaspora-git/diaspora.pam b/pkgs/diaspora-git/diaspora.pam new file mode 100644 index 0000000..53724d1 --- /dev/null +++ b/pkgs/diaspora-git/diaspora.pam @@ -0,0 +1,3 @@ +auth required pam_unix.so +account required pam_unix.so +session required pam_unix.so diff --git a/pkgs/diaspora-git/diaspora.rc b/pkgs/diaspora-git/diaspora.rc new file mode 100644 index 0000000..643856f --- /dev/null +++ b/pkgs/diaspora-git/diaspora.rc @@ -0,0 +1,65 @@ +#!/bin/bash + +daemon_name=diaspora +dusr=diaspora + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pgrep -u $daemon_name` + +case "$1" in + start) + #Check if mongodb and redis are running, start them if not + ck_daemon mongodb && /etc/rc.d/mongodb start + ck_daemon redis && /etc/rc.d/redis start + + if [ ! -e /var/log/$daemon_name.log ]; then + touch /var/log/$daemon_name.log + chown $dusr:$dusr /var/log/$daemon_name.log + fi + + stat_busy "Starting $daemon_name daemon" + [ -z "$PID" ] && /bin/su - $dusr -c "/usr/bin/$daemon_name &" + if [ $? -gt 0 ]; then + stat_fail + exit 1 + else + add_daemon $daemon_name + stat_done + fi + ;; + + stop) + stat_busy "Stopping $daemon_name daemon" + kill $PID &>/dev/null + if [ $? -gt 0 ]; then + stat_fail + exit 1 + else + while [ ! -z "$(pgrep -u $daemon_name)" ]; do + sleep 1; + done + rm_daemon $daemon_name + stat_done + fi + ;; + + restart) + $0 stop + sleep 3 + $0 start + ;; + + status) + stat_busy "Checking $daemon_name status" + ck_status $daemon_name + ;; + + *) + echo "usage: $0 {start|stop|restart|status}" +esac + +exit 0 + +# vim: syntax=sh |