Revert "Merge remote branch 'upstream/master'"

This reverts commit 570d0cf104, reversing
changes made to 9da5399425.
This commit is contained in:
Raphael 2010-10-20 09:52:23 -07:00
parent 951c513f39
commit 1bd54aba63
13 changed files with 101 additions and 180 deletions

View file

@ -7,7 +7,6 @@ default:
debug: false debug: false
socket_debug : false socket_debug : false
socket_host: 0.0.0.0 socket_host: 0.0.0.0
socket_pidfile: log/diaspora-wsd.pid
socket_port: 8080 socket_port: 8080
socket_collection_name: 'websocket' socket_collection_name: 'websocket'
pubsub_server: 'https://pubsubhubbub.appspot.com/' pubsub_server: 'https://pubsubhubbub.appspot.com/'

View file

@ -12,11 +12,11 @@ aimed for packaging purposes.
Prerequisites: Prerequisites:
- ruby-1.8, rubygem, git and rake as described in - ruby-1.8, rubygem, git and rake as described in
[RPM installation Fedora](http://github.com/diaspora/diaspora/wiki/Rpm-installation-on-fedora) http://github.com/diaspora/diaspora/wiki/Rpm-installation-on-fedora
or [Installing-on-CentOS-Fedora](http://github.com/diaspora/diaspora/wiki/Installing-on-CentOS-Fedora) or http://github.com/diaspora/diaspora/wiki/Installing-on-CentOS-Fedora
- A personal environment to build RPM:s, also described in - A personal environment to build RPM:s, also described in
[RPM installation Fedora](http://github.com/diaspora/diaspora/wiki/Rpm-installation-on-fedora) http://github.com/diaspora/diaspora/wiki/Rpm-installation-on-fedora
Install g++ (possibly unnnecessary?): Install g++ (possibly unnnecessary?):
% yum install gcc-c++ % yum install gcc-c++
@ -46,7 +46,7 @@ Start development server:
cd /usr/share/diaspora/master cd /usr/share/diaspora/master
./script/server ./script/server
See [Using Apache](http://github.com/diaspora/diaspora/wiki/Using-apache) for See http://github.com/diaspora/diaspora/wiki/Using-apache for
apache/passenger setup. After configuration, start with: apache/passenger setup. After configuration, start with:
/sbin/service diaspora-wsd start /sbin/service diaspora-wsd start
/sbin/service httpd restart /sbin/service httpd restart
@ -120,8 +120,7 @@ directory, copy-paste previous version nr. It will be updated.
This has been confirmed to start up and provide basic functionality both using This has been confirmed to start up and provide basic functionality both using
the thin webserver and apache passenger, on 32/64 bit systems and in the the thin webserver and apache passenger, on 32/64 bit systems and in the
mock build environment. Irregular nightly builds are available form time to time mock build environment.
at [ftp://mumin.dnsalias.net/pub/leamas/diaspora/builds](ftp://mumin.dnsalias.net/pub/leamas/diaspora/builds)
#### Implementation #### Implementation

View file

@ -24,8 +24,6 @@ cd /usr/share/diaspora/master
test -e config/app_config.yml || test -e config/app_config.yml ||
cp config/app_config.yml.example config/app_config.yml cp config/app_config.yml.example config/app_config.yml
sed -i '/socket_pidfile:/s|:.*|: /var/run/diaspora/diaspora-wsd.pid|' \
config/app_config.yml
if rake db:seed:dev; then if rake db:seed:dev; then
echo "Database config OK, new user tom/evankorth in place" echo "Database config OK, new user tom/evankorth in place"

View file

@ -33,7 +33,7 @@ cd /usr/share/diaspora
RETVAL=0 RETVAL=0
prog="Diaspora websocket server" prog="Diaspora websocket server"
exec="script/websocket_server.rb" exec="script/websocket_server.rb"
pidfile="/var/run/diaspora/diaspora-wsd" pidfile="/var/run/diaspora-wsd"
lockfile="/var/lock/subsys/diaspora-wsd" lockfile="/var/lock/subsys/diaspora-wsd"
logfile=/var/log/diaspora-wsd.log logfile=/var/log/diaspora-wsd.log

View file

@ -77,7 +77,6 @@ mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/diaspora/tmp
cp %SOURCE2 $RPM_BUILD_ROOT/%{_datadir}/diaspora cp %SOURCE2 $RPM_BUILD_ROOT/%{_datadir}/diaspora
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/log/diaspora mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/log/diaspora
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/run/diaspora
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/diaspora/uploads mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/diaspora/uploads
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/diaspora/tmp mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/diaspora/tmp
@ -95,8 +94,6 @@ find -L $RPM_BUILD_ROOT/%{_datadir}/diaspora -type f \
cat files >> dirs && mv -f dirs files cat files >> dirs && mv -f dirs files
sed -i -e '\|.*/master/config.ru"$|d' \ sed -i -e '\|.*/master/config.ru"$|d' \
-e '\|.*/master/config/environment.rb"$|d' \ -e '\|.*/master/config/environment.rb"$|d' \
-e '\|.*/run/diaspora"$|d' \
-e '\|.*/pkg/fedora/dist"$|d' \
-e 's|%{buildroot}||' -e 's|//|/|' -e '/""/d' \ -e 's|%{buildroot}||' -e 's|//|/|' -e '/""/d' \
files files
@ -104,7 +101,6 @@ sed -i -e '\|.*/master/config.ru"$|d' \
%post wsd %post wsd
/sbin/chkconfig --add diaspora-wsd || : /sbin/chkconfig --add diaspora-wsd || :
%preun wsd %preun wsd
if [ $1 -eq 0 ] ; then if [ $1 -eq 0 ] ; then
service diaspora-wsd stop &>/dev/null || : service diaspora-wsd stop &>/dev/null || :
@ -121,11 +117,9 @@ rm -fr $RPM_BUILD_ROOT
%doc AUTHORS README.md GNU-AGPL-3.0 COPYRIGHT README-Fedora.md %doc AUTHORS README.md GNU-AGPL-3.0 COPYRIGHT README-Fedora.md
%attr(-, diaspora, diaspora) %{_datadir}/diaspora/master/config.ru %attr(-, diaspora, diaspora) %{_datadir}/diaspora/master/config.ru
%attr(-, diaspora, diaspora) %{_datadir}/diaspora/master/config/environment.rb %attr(-, diaspora, diaspora) %{_datadir}/diaspora/master/config/environment.rb
%attr(-, diaspora, diaspora) %{_datadir}/diaspora/master/pkg/fedora/dist
%attr(-, diaspora, diaspora) %{_localstatedir}/log/diaspora %attr(-, diaspora, diaspora) %{_localstatedir}/log/diaspora
%attr(-, diaspora, diaspora) %{_localstatedir}/lib/diaspora/uploads %attr(-, diaspora, diaspora) %{_localstatedir}/lib/diaspora/uploads
%attr(-, diaspora, diaspora) %{_localstatedir}/lib/diaspora/tmp %attr(-, diaspora, diaspora) %{_localstatedir}/lib/diaspora/tmp
%attr(-, diaspora, diaspora) %{_localstatedir}/run/diaspora
%{_datadir}/diaspora/master/tmp %{_datadir}/diaspora/master/tmp
%{_datadir}/diaspora/master/public/uploads %{_datadir}/diaspora/master/public/uploads

View file

View file

@ -126,7 +126,8 @@ function checkout()
git clone --quiet $GIT_REPO; git clone --quiet $GIT_REPO;
( (
cd diaspora; cd diaspora;
git remote add upstream $GIT_REPO git remote add upstream \
git://github.com/diaspora/diaspora.git
for p in ../../*.patch; do for p in ../../*.patch; do
git apply --whitespace=fix $p > /dev/null git apply --whitespace=fix $p > /dev/null
done &> /dev/null || : done &> /dev/null || :
@ -180,6 +181,7 @@ function make_bundle()
# Usage: make_bundle [ commit, defaults to HEAD] # Usage: make_bundle [ commit, defaults to HEAD]
# #
{ {
set -x
checkout ${1:-'HEAD'} >/dev/null checkout ${1:-'HEAD'} >/dev/null
bundle_id=$( git_id dist/diaspora/Gemfile) bundle_id=$( git_id dist/diaspora/Gemfile)
bundle_name="diaspora-bundle-$VERSION-$bundle_id" bundle_name="diaspora-bundle-$VERSION-$bundle_id"

View file

@ -5,7 +5,6 @@ work as a first step towards packaging, but should be usable as is.
### Synopsis ### Synopsis
Bootstrap the distribution from git: Bootstrap the distribution from git:
% sudo apt-get install git-core % sudo apt-get install git-core
% git clone git://github.com/diaspora/diaspora.git % git clone git://github.com/diaspora/diaspora.git
@ -80,11 +79,19 @@ dependencies lives in the application - nothing is installed by user or
on system level. on system level.
This has been tested on a Ubuntu 32-bit 10.10 , clean server and on 10.04 This has been tested on a Ubuntu 32-bit 10.10 , clean server and on 10.04
Lucid desktop, also clean installation. Irregular nightly builds are Lucid desktop, also clean installation.
available from time to time at
[ftp://mumin.dnsalias.net/pub/leamas/diaspora/builds](ftp://mumin.dnsalias.net/pub/leamas/diaspora/builds)
mongodb is having problems occasionally. Sometimes the dependencies are not mongodb is having problems occasionally. Sometimes the dependencies are not
installed, and mongod refuses to start. invoke */usr/bin/mongod -f installed, and mongod refuses to start. invoke */usr/bin/mongod -f
/etc/mongodb.conf* to test. The lockfile /var/lib/mongodb/mongod.conf is /etc/mongodb.conf* to test. The lockfile /var/lib/mongodb/mongod.conf is
also a potential problem. Remove to make it start again. also a potential problem. Remove to make it start again.
The diaspora-wsd is just placeholder FTM, it does **not** work.

View file

@ -41,8 +41,8 @@ cp master/pkg/ubuntu/diaspora-setup .
mkdir -p /var/log/diaspora mkdir -p /var/log/diaspora
mkdir -p /var/lib/diaspora/uploads mkdir -p /var/lib/diaspora/uploads
mkdir -p /var/lib/diaspora/tmp mkdir -p /var/lib/diaspora/tmp
mkdir -p /var/run/diaspora
mkdir -p /etc/diaspora mkdir -p /etc/diaspora
mkdir -p /usr/share/diaspora/master/pkg/ubuntu/dist
ln -sf /var/log/diaspora ./master/log ln -sf /var/log/diaspora ./master/log
cp master/config/app_config.yml.example /etc/diaspora/app_config.yml cp master/config/app_config.yml.example /etc/diaspora/app_config.yml
@ -65,6 +65,5 @@ chown diaspora:diaspora /var/log/diaspora
chown diaspora:diaspora /var/lib/diaspora/uploads chown diaspora:diaspora /var/lib/diaspora/uploads
chown diaspora:diaspora /var/lib/diaspora/tmp chown diaspora:diaspora /var/lib/diaspora/tmp
chown diaspora:diaspora /var/lib/diaspora chown diaspora:diaspora /var/lib/diaspora
chown diaspora:diaspora /var/run/diaspora
chown diaspora:diaspora /usr/share/diaspora/master/pkg/ubuntu/dist chown diaspora:diaspora /usr/share/diaspora/master/pkg/ubuntu/dist

View file

@ -26,8 +26,6 @@ cd /usr/share/diaspora/master
test -e config/app_config.yml || test -e config/app_config.yml ||
cp config/app_config.yml.example config/app_config.yml cp config/app_config.yml.example config/app_config.yml
sed -i '/socket_pidfile:/s|:.*|: /var/run/diaspora/diaspora-wsd.pid|' \
config/app_config.yml
if rake db:seed:dev; then if rake db:seed:dev; then
echo "Database config OK, new user tom/evankorth in place" echo "Database config OK, new user tom/evankorth in place"

View file

@ -1,154 +1,102 @@
#!/bin/sh #!/bin/bash
#
# /etc/rc.d/init.d/diaspora-wsd
#
# SHOULD start the diaspora websocket daemon, but it doesn't. No way.
#
# chkconfig: - 80 80
# description: Diaspora websocket daemon
### BEGIN INIT INFO ### BEGIN INIT INFO
# Provides: diaspora-wsd # Provides: diaspora-wsd
# Required-Start: $remote_fs $syslog # Required-Start: $local_fs $network
# Required-Stop: $remote_fs $syslog # Required-Stop: $local_fs $network
# Default-Start: 2 3 4 5 # Should-Start: $remote_fs
# Default-Stop: 0 1 6 # Should-Stop: $remote_fs
# Short-Description: diaspora websocket daemon # Default-Start:
# Description: The diaspora websocket service provider, normally # Default-Stop: 0 1 2 3 4 5 6
# listening on port 8080 # Short-Description: start and stop Diaspora websocket server
# Description: The websocket server provides websocket services for
# diaspora.
### END INIT INFO ### END INIT INFO
# Author: Alec leamas <leamas.alec@gmail.com> # Source function library.
. /etc/init.d/functions
PATH=/bin:/sbin:/usr/sbin:/usr/bin if [ -f /etc/sysconfig/diaspora-wsd -a $UID -eq 0 ]; then
DESC="Websocket server for diaspora clients" . /etc/sysconfig/diaspora-wsd
NAME='diaspora-wsd' fi
DAEMON='/usr/local/bin/bundle'
DAEMON_ARGS=' exec ruby ./script/websocket_server.rb'
PIDFILE=/var/run/diaspora/diaspora-wsd.pid
SCRIPTNAME=/etc/init.d/diaspora-wsd
cd /usr/share/diaspora/master # Note: this line is patched by installation scripts.
cd /usr/share/diaspora
[ -x "$DAEMON" ] || exit 0 RETVAL=0
[ -r /etc/default/$NAME ] && . /etc/default/$NAME prog="Diaspora websocket server"
exec="script/websocket_server.rb"
pidfile="/var/run/diaspora-wsd"
lockfile="/var/lock/subsys/diaspora-wsd"
logfile=/var/log/diaspora-wsd.log
# Load the VERBOSE setting and other rcS variables [ -n "$OPTIONS" ] && OPTIONS=" $OPTIONS"
. /lib/init/vars.sh ruby_cmd="ruby -C $PWD $exec$OPTIONS"
# Define LSB log_* functions. start() {
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present. [ $UID -eq 0 ] || exit 4
. /lib/lsb/init-functions [ -f $exec ] || exit 5
# echo -n $"Starting $prog: "
# Function that starts the daemon/service daemon --pidfile $pidfile "$ruby_cmd >>$logfile 2>&1 &"
# RETVAL=$?
do_start() echo
{ if test $RETVAL = 0; then
# Return touch $lockfile
# 0 if daemon has been started pgrep -f "$ruby_cmd" > $pidfile || {
# 1 if daemon was already running echo "Warning: cannot find running diaspora-webserver"
# 2 if daemon could not be started exit 7
[ -f $PIDFILE ] && { }
pid=$( cat $PIDFILE) fi
name=$( ps -p "$pid" -o comm= 2> /dev/null) || : }
[ "$name" = "ruby" ] && return 1
} stop() {
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON \ [ $UID -eq 0 ] || exit 4
--chdir $PWD -- $DAEMON_ARGS \ echo -n $"Stopping $prog: "
|| return 2 killproc -p $pidfile $exec
return 0 RETVAL=$?
[ $RETVAL -eq 0 ] && rm -f $lockfile
echo
} }
# #
# Function that stops the daemon/service # See how we were called.
# #
do_stop()
{
# Return
# 0 if daemon has been stopped
# 1 if daemon was already stopped
# 2 if daemon could not be stopped
# other if a failure occurred
start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE \
--name $NAME --chdir $PWD
RETVAL="$?"
[ "$RETVAL" = 2 ] && return 2
# Wait for children to finish too if this is a daemon that forks
# and if the daemon is only ever run from this initscript.
# If the above conditions are not satisfied then add some other code
# that waits for the process to drop all resources that could be
# needed by services started subsequently. A last resort is to
# sleep for some time.
start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --chdir $PWD \
--exec $DAEMON
[ "$?" = 2 ] && return 2
# Many daemons don't delete their pidfiles when they exit.
rm -f $PIDFILE
return "$RETVAL"
}
#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
#
# If the daemon can reload its configuration without
# restarting (for example, when it is sent a SIGHUP),
# then implement that here.
#
start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --chdir $PWD \
--name $NAME
return 0
}
case "$1" in case "$1" in
start) start)
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" start
do_start
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;; ;;
stop) stop)
[ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" stop
do_stop ;;
case "$?" in force-reload|restart)
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; stop
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; sleep 1
esac start
RETVAL=$?
;;
condrestart|try-restart)
if [ -f $lockfile ]; then
stop
sleep 3
start
fi
;; ;;
status) status)
status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? status -p $pidfile $exec
;; RETVAL=$?
#reload|force-reload)
#
# If do_reload() is not implemented then leave this commented out
# and leave 'force-reload' as an alias for 'restart'.
#
#log_daemon_msg "Reloading $DESC" "$NAME"
#do_reload
#log_end_msg $?
#;;
restart|force-reload)
log_daemon_msg "Restarting $DESC" "$NAME"
do_stop
case "$?" in
0|1)
do_start
case "$?" in
0) log_end_msg 0 ;;
1) log_end_msg 1 ;; # Old process is still running
*) log_end_msg 1 ;; # Failed to start
esac
;;
*)
# Failed to stop
log_end_msg 1
;;
esac
;;
*) echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
exit 3
;; ;;
*)
echo $"Usage: $0 {condrestart|try-restart|start|stop|restart|force-reload|status}"
RETVAL=2
[ "$1" = 'usage' ] && RETVAL=0
esac esac
: exit $RETVAL

View file

View file

@ -5,27 +5,6 @@
require File.dirname(__FILE__) + '/../config/environment' require File.dirname(__FILE__) + '/../config/environment'
require File.dirname(__FILE__) + '/../lib/diaspora/websocket' require File.dirname(__FILE__) + '/../lib/diaspora/websocket'
at_exit do
begin
File.delete(PID_FILE)
rescue
puts 'Cannot remove pidfile: ' + (PID_FILE ? PID_FILE : "NIL")
end
end
def write_pidfile
begin
f = File.open(PID_FILE, "w")
f.write(Process.pid)
f.close
rescue => e
puts "Can't write to pidfile!"
puts e.inspect
puts e.backtrace
end
end
CHANNEL = Magent::GenericChannel.new('websocket') CHANNEL = Magent::GenericChannel.new('websocket')
def process_message def process_message
if CHANNEL.queue_count > 0 if CHANNEL.queue_count > 0
@ -58,8 +37,6 @@ begin
} }
end end
PID_FILE = APP_CONFIG[:socket_pidfile]
write_pidfile
puts "Websocket server started." puts "Websocket server started."
process_message process_message
} }