Handle git gems by cloning repo to local one, rewriting Gemfile urls and sending both repos and gems in source packages. Separate doc dir w licensec. Gemfile, Gemfile.lock now lives in bundle, linked to application. Rewrite http git urls to git: to make it uniform & simpler
79 lines
2.1 KiB
Bash
Executable file
79 lines
2.1 KiB
Bash
Executable file
#!/bin/bash
|
|
#
|
|
# Do what's needed to initiate diaspora.
|
|
#
|
|
# Usage: sudo diaspora-setup [external hostname]
|
|
#
|
|
export PATH=$PATH:/usr/local/bin
|
|
|
|
test "$( perl -e 'print $<')" = "0" || {
|
|
echo "You need to be root to do this, giving up"
|
|
exit 2
|
|
}
|
|
|
|
arg_hostname="$1"
|
|
|
|
services=$( netstat -nl | grep '[^:]:3000[ \t]')
|
|
test -n "$services" && {
|
|
echo "Warning: something is already using port 3000"
|
|
echo " $services"
|
|
}
|
|
|
|
service mongodb stop || :
|
|
rm -f /var/lib/mongodb/mongod.lock
|
|
service mongodb start || :
|
|
|
|
cd /usr/share/diaspora/master
|
|
|
|
libdir="/usr/lib"
|
|
[[ $(arch) == "x86_64" ]] && libdir="/usr/lib64"
|
|
|
|
rm -rf vendor
|
|
ln -s $libdir/diaspora-bundle/vendor .
|
|
ln -sf $libdir/diaspora-bundle/Gemfile .
|
|
ln -sf $libdir/diaspora-bundle/Gemfile.lock .
|
|
|
|
|
|
test -e config/app_config.yml ||
|
|
cp config/app_config.yml.example config/app_config.yml
|
|
|
|
if bundle exec rake db:seed:dev; then
|
|
echo "Database config OK, new user tom/evankorth in place"
|
|
else
|
|
cat <<- EOF
|
|
|
|
Database config failed. You might want to
|
|
- Just remove the db lock file: rm /var/lib/mongodb/mongod.lock
|
|
- Remove all db files: rm -rf /var/lib/mongodb/*
|
|
- Reset the config file by
|
|
cp config/app_config.yml.example config/app_config.yml
|
|
Also, make sure the mongodb server is running e. g., using
|
|
'service mongod status'.
|
|
EOF
|
|
fi
|
|
|
|
chown -R diaspora /var/log/diaspora
|
|
|
|
sed -i '/socket_pidfile:/s|:.*|: /var/run/diaspora/diaspora-wsd.pid|' \
|
|
config/app_config.yml
|
|
|
|
hostname=$( awk '/pod_url:/ { print $2; exit }' <config/app_config.yml)
|
|
|
|
if [ -n "$arg_hostname" ]; then
|
|
sed -i "/pod_url:/s|$hostname|$arg_hostname|g" config/app_config.yml &&
|
|
echo "config/app_config.yml updated."
|
|
exit 0
|
|
fi
|
|
|
|
while : ; do
|
|
echo "Current hostname is \"$hostname\""
|
|
echo -n "Enter new hostname [$hostname] :"
|
|
read new_hostname garbage
|
|
echo -n "Use hostname \"$new_hostname\" as pod_url (Yes/No) [Yes]? :"
|
|
read yesno garbage
|
|
test "${yesno:0:1}" = 'y' -o "${yesno:0:1}" = 'Y' -o -z "$yesno" && {
|
|
sed -i "/pod_url:/s|$hostname|$new_hostname|g" config/app_config.yml &&
|
|
echo "config/app_config.yml updated."
|
|
break
|
|
}
|
|
done
|