rpms/monotone/FC-4 monotone.init, NONE, 1.1 monotone.sysconfig, NONE, 1.1 monotone.spec, 1.5, 1.6
Roland McGrath (roland)
fedora-extras-commits at redhat.com
Tue Aug 23 05:31:13 UTC 2005
- Previous message (by thread): rpms/scim-hangul/devel README, NONE, 1.1 Makefile, 1.1, NONE scim-hangul.spec, 1.1, NONE sources, 1.2, NONE
- Next message (by thread): rpms/monotone/FC-4 monotone.spec,1.6,1.7
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: roland
Update of /cvs/extras/rpms/monotone/FC-4
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv30863
Modified Files:
monotone.spec
Added Files:
monotone.init monotone.sysconfig
Log Message:
monotone-server subpackage
--- NEW FILE monotone.init ---
#!/bin/sh
#
# This script starts and stops the monotone server.
#
# chkconfig: 2345 90 10
# description: Monotone netsync protocol server
# processname: monotone-server
# pidfile: /var/run/monotone-server.pid
# config: /etc/sysconfig/monotone
# config: /etc/monotonerc
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
# Get configuration settings.
[ -f /etc/sysconfig/monotone ] && . /etc/sysconfig/monotone
# By default it's all good
RETVAL=0
MT=/usr/bin/monotone
MTSERVER=/usr/sbin/monotone-server
MONOTONE_LOGFILE=${MONOTONE_LOGFILE:-/var/log/monotone.log}
random_passphrase()
{
dd if=/dev/urandom count=1 2> /dev/null | sha1sum |
{ read sum rest; echo $sum; }
}
umask 077
# See how we were called.
case "$1" in
start)
[ -e $MONOTONE_DBFILE ] || { $0 init && $0 genkey; }
RETVAL=$?
if [ $RETVAL = 0 ]; then
# Start daemon.
echo -n $"Starting monotone server: "
{
exec 3>> $MONOTONE_LOGFILE &&
echo >&3 "Server restart at `date`" &&
daemon --user=${MONOTONE_USER:-monotone} $MTSERVER \
$MONOTONE_RCOPTS $MONOTONE_DBOPTS $MONOTONE_PPOPTS \
serve --pid-file=/var/run/monotone-server.pid \
"$MONOTONE_SERVE_OPTS" ">&3 2>&3 &"
} && success || failure
RETVAL=$?
echo
fi
[ $RETVAL = 0 ] && touch /var/lock/subsys/monotone
;;
stop)
# Stop daemons.
echo -n "Stopping monotone server: "
killproc $MTSERVER
RETVAL=$?
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/monotone
echo
;;
restart)
$0 stop
$0 start
;;
condrestart)
[ -e /var/lock/subsys/monotone ] && $0 restart
;;
status)
status monotone-server
RETVAL=$?
;;
init)
echo -n $"Initializing $MONOTONE_DBFILE: "
{ [ -d /var/db/monotone ] ||
/usr/bin/install -o ${MONOTONE_USER:-monotone} \
-g ${MONOTONE_GROUP:-monotone} \
-m 0770 -d /var/db/monotone; } &&
runuser -s /bin/bash - ${MONOTONE_USER:-monotone} -c \
"$MT $MONOTONE_RCOPTS $MONOTONE_DBOPTS db init" &&
success $"database initialization" ||
failure $"database initialization"
RETVAL=$?
echo
;;
genkey)
MONOTONE_KEYID=${MONOTONE_KEYID:-`/bin/hostname -f`}
MONOTONE_PPFILE=${MONOTONE_PPFILE:-/var/db/monotone/passphrase.lua}
echo -n $"Generating RSA key for server $MONOTONE_KEYID"
tmp=/tmp/mtserver$$
if
passphrase=`random_passphrase` &&
{ echo $passphrase; echo $passphrase; } |
runuser -s /bin/bash - ${MONOTONE_USER:-monotone} -c \
"$MT $MONOTONE_RCOPTS $MONOTONE_DBOPTS \
genkey $MONOTONE_KEYID" > /dev/null 2>&1 &&
cat > $tmp <<EOF &&
function get_passphrase(keyid)
return "$passphrase"
end
EOF
/usr/bin/install -o ${MONOTONE_USER:-monotone} \
-g ${MONOTONE_GROUP:-monotone} \
-m 0600 $tmp ${MONOTONE_PPFILE}
then
success $"key generation"
else
failure $"key generation"
fi
RETVAL=$?
echo
;;
*)
echo "Usage: $0 {start|stop|restart|status|condrestart|init|genkey}"
RETVAL=1
;;
esac
exit $RETVAL
--- NEW FILE monotone.sysconfig ---
MONOTONERC=/etc/monotonerc
MONOTONE_DBFILE=/var/db/monotone/server.db
MONOTONE_PPFILE=/var/db/monotone/passphrase.lua
MONOTONE_RCOPTS="--norc --rcfile=$MONOTONERC"
MONOTONE_DBOPTS="--db=$MONOTONE_DBFILE"
MONOTONE_PPOPTS="--rcfile=$MONOTONE_PPFILE"
MONOTONE_SERVE_OPTS="0.0.0.0 '*'"
Index: monotone.spec
===================================================================
RCS file: /cvs/extras/rpms/monotone/FC-4/monotone.spec,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- monotone.spec 22 Aug 2005 20:53:20 -0000 1.5
+++ monotone.spec 23 Aug 2005 05:31:11 -0000 1.6
@@ -1,6 +1,6 @@
Name: monotone
Version: 0.22
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: A free, distributed version control system
Group: Development/Tools
@@ -8,6 +8,8 @@
URL: http://www.venge.net/monotone/
Source0: http://www.venge.net/monotone/downloads/%{name}-%{version}.tar.gz
+Source1: monotone.init
+Source2: monotone.sysconfig
Patch1: monotone-0.21-xfail-if-root.patch
@@ -42,6 +44,15 @@
performs history-sensitive merging, and delegates trust
functions to client-side RSA certificates.
+%package server
+Summary: Standalone server setup for monotone
+Requires: monotone = %{version}-%{release}
+Group: Development/Tools
+
+%description server
+This package provides an easy-to-use standalone server setup for monotone.
+
+
%prep
%setup -q
@@ -57,13 +68,27 @@
%install
rm -rf %{buildroot}
make install DESTDIR=%{buildroot}
-rm -f %{buildroot}/%{_infodir}/dir
+rm -f %{buildroot}%{_infodir}/dir
-lispdir=%{buildroot}/%{_datadir}/emacs/site-lisp
+lispdir=%{buildroot}%{_datadir}/emacs/site-lisp
mkdir -p ${lispdir}
%{__install} -c -m 0444 contrib/monotone*.el ${lispdir}
emacs -batch -f batch-byte-compile ${lispdir}
+mkdir -p %{buildroot}%{_sbindir}
+mkdir -p %{buildroot}/etc/init.d
+mkdir -p %{buildroot}/etc/sysconfig
+mkdir -p %{buildroot}/var/db
+ln -snf ../bin/monotone %{buildroot}%{_sbindir}/monotone-server
+%{__install} -c -m 0555 %{SOURCE1} %{buildroot}/etc/init.d/monotone
+%{__install} -c -m 0644 %{SOURCE2} %{buildroot}/etc/sysconfig/monotone
+%{__install} -c -m 0644 /dev/null %{buildroot}/etc/monotonerc
+%{__install} -d -m 0770 %{buildroot}/var/db/monotone
+
+# These do not actually wind up in the package, due to %%ghost.
+touch %{buildroot}/var/db/monotone/server.db
+touch %{buildroot}/var/db/monotone/passphrase.lua
+
%clean
rm -rf %{buildroot}
@@ -89,9 +114,37 @@
%{_mandir}/man1/monotone.1*
%{_datadir}/emacs/site-lisp/monotone*.el*
+
+%files server
+%defattr(-,root,root,-)
+%{_sbindir}/monotone-server
+/etc/init.d/monotone
+%config(noreplace) /etc/sysconfig/monotone
+%config(noreplace) /etc/monotonerc
+%dir %attr(0770,monotone,monotone) /var/db/monotone
+%attr(0660,monotone,monotone) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/db/monotone/server.db
+%attr(0600,monotone,monotone) %verify(not md5 size mtime) %ghost %config(missingok,noreplace) /var/db/monotone/passphrase.lua
+
+%pre server
+# Add the "monotone" user
+/usr/sbin/useradd -c "Monotone Netsync Server" \
+ -s /sbin/nologin -r -d /var/db/monotone apache 2> /dev/null || :
+
+%post server
+# Register the monotone service
+/sbin/chkconfig --add monotone
+
+%preun server
+if [ $1 = 0 ]; then
+ /sbin/service monotone stop > /dev/null 2>&1
+ /sbin/chkconfig --del monotone
+fi
+
+
%changelog
-* Mon Aug 22 2005 Roland McGrath <roland at redhat.com> - 0.22-2
+* Mon Aug 22 2005 Roland McGrath <roland at redhat.com> - 0.22-3
- Updated for 0.22 release.
+- Added monotone-server package.
* Sun Aug 7 2005 Roland McGrath <roland at redhat.com> - 0.21-3
- Work around non-root build user owning / in mock chroot builds.
- Previous message (by thread): rpms/scim-hangul/devel README, NONE, 1.1 Makefile, 1.1, NONE scim-hangul.spec, 1.1, NONE sources, 1.2, NONE
- Next message (by thread): rpms/monotone/FC-4 monotone.spec,1.6,1.7
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-extras-commits
mailing list