New workflow w 'rake db:seed:dev'. Permissions on logfiles, logrotate conf. README update

This commit is contained in:
Alec Leamas 2010-10-06 18:53:41 +02:00
parent d172a8ff7f
commit 03dbe0bb13
4 changed files with 102 additions and 32 deletions

View file

@ -1,11 +1,13 @@
Here is tools to package diaspora as a RPM package.
## Diaspora RPM tools
Synopsis:
Creates Fedora 13 RPM packages from diaspora git repository.
# Create dist/diaspora-0.0-1010041233_faded4231.tar.gz
#### Synopsis:
# Create dist/diaspora-0.0-1010041233_fade4231.tar.gz
% ./make_dist.sh source
# Create dist/diaspora-bundle-0.0-1010041233_faded4231.tar.gz
# Create dist/diaspora-bundle-0.0-1010041233_fade4231.tar.gz
% ./make_dist.sh bundle
# Setup links to tarballs from RPM source directory:
@ -15,4 +17,39 @@ Synopsis:
rpmbuild -ba dist/diaspora.spec
rpmbuild -ba dist/diaspora-bundle.spec
#Install
rpm -U ~/rmpbuild/rpms/i686/diaspora-bundle-0.0-1.1010042345_4343fade43.fc13.i686
rpm -U ~/rmpbuild/rpms/noarch/diaspora-0.0-1.1010042345_4343fade43.fc13.noarch
#Initiate (as root)
/usr/sbin/diaspora-setup
# Fix hostname afterwards by editing pod_url in
# /usr/share/diaspora/master/config/app_config.yml
# Start development server:
sudo
su - diaspora
cd master
./script/server
# Start using apache passenger:
# See: http://github.com/diaspora/diaspora/wiki/Using-apache
#### Notes
Routines uses last available version from master branch at github.
You need to copy all patches and secondary sources in this dir to
the rpm source directory a. k. a. $(rpm --eval %_sourcedir).
The spec-files in dist/ are patched by ./make_dist.sh source to reference
correct versions of diaspora and diaspora-bundle. The diaspora-bundle
is only updated if Gemfile is updated, upgrading diaspora doesn't
always require a new diaspora-bundle.
rpmlint shows many errors, most of which related to that the server
won't start if the .git directories are not included. Needs investigation.
This has been confirmed to start up and provide basic functionality both using
the thin webserver and apache passenger.

31
pkg/fedora/diaspora-setup Executable file
View file

@ -0,0 +1,31 @@
#!/bin/bash
#
# Do what's needed to initiate diaspora.
#
# See http://github.com/diaspora/diaspora/issues/issue/395
test $UID = "0" || {
echo "You need to be root to do this, giving up"
exit 2
}
cd /usr/share/diaspora/master
if rake --trace db:seed:dev; then
cat <<- EOF
Database config OK, new user tom/evanhort in place.
You might want to edit /usr/share/diaspora/master/config/app_config.yml
and change the pod_url to this host's hostname.
EOF
else
cat <<- EOF
Database config failed. You might want to remove all db files with
rm -rf /var/lib/mongodb/* and giv it a new try.
EOF
fi

View file

@ -1,4 +1,5 @@
/var/log/diaspora/*.log {
create 755 diaspora apache
weekly
rotate 10
copytruncate
@ -7,6 +8,6 @@
notifempty
missingok
postrotate
(/sbin/service diaspora-ws status | grep running /sbin/servive diaspora-ws restart || :) >/dev/null 2>&1
( /sbin/service diaspora-ws condrestart ) >/dev/null 2>&1
endscript
}

View file

@ -11,14 +11,12 @@ URL: http://www.joindiaspora.com/
Vendor: joindiaspora.com
Source: %{name}-%{version}-%{git_release}.tar.gz
Source1: diaspora-ws
Source2: diaspora-setup
BuildArch: noarch
# See http://github.com/diaspora/diaspora/issues/issue/393
Patch0: source-fix.patch
# See: http://github.com/diaspora/diaspora/issues/issue/392
Patch1: perm-fix.patch
BuildRequires: git
Requires(pre): shadow-utils
@ -30,32 +28,33 @@ Requires: diaspora-bundle = %{version}
A privacy aware, personally controlled, do-it-all and
open source social network server.
%pre
getent group diaspora >/dev/null || groupadd -r diaspora
getent passwd diaspora >/dev/null || \
useradd -r -g diaspora \
-md /usr/share/diaspora -s /sbin/nologin \
-c "Diaspora daemon" diaspora
exit 0
%prep
%setup -q -n %{name}-%{version}-%{git_release}
pushd master
%patch0 -p1
# See: http://github.com/diaspora/diaspora/issues/issue/392
git apply %{_sourcedir}/perm-fix.patch
popd
mkdir master/tmp || :
find . -perm /u+x -type f -exec \
sed -i 's|^#!/usr/local/bin/ruby|#!/usr/bin/ruby|' {} \; > /dev/null
%build
rm -rf master/vendor/bundle
mkdir master/tmp || :
pushd master
tar cf public/source.tar --exclude='source.tar' -X .gitignore *
popd
%install
%pre
getent group apache >/dev/null || groupadd -r apache
getent passwd diaspora >/dev/null || \
useradd -r -g apache \
-md /usr/share/diaspora -s /sbin/nologin \
-c "Diaspora daemon" diaspora
exit 0
%install
[ "$RPM_BUILD_ROOT" != "/" ] && rm -fr $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/%{_datadir}/diaspora
cp master/README.md .
@ -72,10 +71,12 @@ cp -ar master $RPM_BUILD_ROOT/%{_datadir}/diaspora
cp master/.gitignore $RPM_BUILD_ROOT/%{_datadir}/diaspora/master
%post
/bin/chown diaspora:diaspora %{_localstatedir}/log/diaspora
ln -sf %{_localstatedir}/log/diaspora \
rm -f %{_datadir}/diaspora/master/vendor/bundle
rm -f %{_datadir}/diaspora/master/log
ln -s %{_localstatedir}/log/diaspora \
%{_datadir}/diaspora/master/log || :
ln -sf %{_libdir}/diaspora-bundle/master/vendor/bundle \
ln -s %{_libdir}/diaspora-bundle/master/vendor/bundle \
%{_datadir}/diaspora/master/vendor || :
/sbin/chkconfig --add diaspora-ws
@ -91,8 +92,8 @@ fi
%files
%defattr(-, root, root, 0755)
%doc README.md GNU-AGPL-3.0
%{_datadir}/diaspora
%{_localstatedir}/log/diaspora
%attr(0555, diaspora, apache) %{_datadir}/diaspora
%attr(0755, diaspora, apache) %{_localstatedir}/log/diaspora
%config(noreplace) %{_sysconfdir}/logrotate.d/diaspora
%{_sysconfdir}/init.d/diaspora-ws