Symlink tmp-dir to /var/lib,leaving other files to root.
Turns the overall installation to being write-protected.
This commit is contained in:
parent
0c30f544d9
commit
97f7b4d2ad
3 changed files with 40 additions and 43 deletions
|
|
@ -68,15 +68,6 @@ directory, copy-paste previous version nr. It will be updated.
|
|||
This has been confirmed to start up and provide basic functionality both using
|
||||
the thin webserver and apache passenger, and on 32/64 bit systems.
|
||||
|
||||
#### Bugs
|
||||
|
||||
As of now, diaspora fails if it not owns all file under /usr/share/diaspora.
|
||||
I guess this means diaspora writes some stuff somewhere. In the long run,
|
||||
this should be located and symlinked to /var,leaving the rest of the files
|
||||
owned by root. FTM, all files in /usr/share/diaspore are owned by
|
||||
diaspora
|
||||
|
||||
|
||||
#### Implementation
|
||||
|
||||
'make-dist.sh source' script checks out latest version of diaspora into the
|
||||
|
|
@ -89,16 +80,17 @@ patches, the content of diaspora-bundle.
|
|||
Here is also support for running the diaspora websocket service as a system
|
||||
service through /sbin/service and some install scripts.
|
||||
|
||||
Diaspora files are stored in /usr/share/diaspora, and owned by diaspora. The
|
||||
Diaspora files are stored in /usr/share/diaspora, and owned by root. The
|
||||
bundle, containing some C extensions, is architecture-dependent and lives
|
||||
in /usr/lib[64]/diaspora. Log files are in /var/log/diaspora. Symlinks in
|
||||
/usr/share diaspora makes log and bundle available as expected by diaspora app.
|
||||
This is more or less as mandated by LSB and Fedora packaging rules.
|
||||
/usr/share diaspora makes log, bundle and tmp dir available as expected by
|
||||
diaspora app. This is more or less as mandated by LSB and Fedora packaging rules.
|
||||
|
||||
find /usr/share/diaspora/ -type l -exec ls -l {} \; | awk '{print $9, $10, $11}'
|
||||
/usr/share/diaspora/master/public/uploads -> /var/lib/diaspora/uploads
|
||||
/usr/share/diaspora/master/log -> /var/log/diaspora
|
||||
/usr/share/diaspora/master/vendor/bundle -> /usr/lib/diaspora-bundle/master/vendor/bundle
|
||||
find . -type l -exec ls -l {} \; | awk '{print $9, $10, $11}'
|
||||
./public/uploads -> /var/lib/diaspora/uploads
|
||||
./log -> /var/log/diaspora
|
||||
./tmp -> /var/lib/diaspora/tmp
|
||||
./vendor/bundle -> /usr/lib/diaspora-bundle/master/vendor/bundle
|
||||
|
||||
|
||||
#### Discussion
|
||||
|
|
|
|||
|
|
@ -53,6 +53,7 @@ cp -ar master $RPM_BUILD_ROOT/%{_datadir}/diaspora
|
|||
cp -ar master/.gitignore master/.bundle $RPM_BUILD_ROOT/%{_datadir}/diaspora/master
|
||||
cp diaspora-setup $RPM_BUILD_ROOT/%{_datadir}/diaspora
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/diaspora/uploads
|
||||
mkdir -p $RPM_BUILD_ROOT/%{_localstatedir}/lib/diaspora/tmp
|
||||
|
||||
find $RPM_BUILD_ROOT/%{_datadir}/diaspora -type d -fprintf dirs '%%%dir "%%p"\n'
|
||||
find -L $RPM_BUILD_ROOT/%{_datadir}/diaspora -type f -fprintf files '"%%p"\n'
|
||||
|
|
@ -67,6 +68,7 @@ sed -i -e '\|.*/master/config.ru"$|d' \
|
|||
rm -f %{_datadir}/diaspora/master/vendor/bundle
|
||||
rm -f %{_datadir}/diaspora/master/log
|
||||
rm -f %{_datadir}/diaspora/master/public/uploads
|
||||
rm -rf %{_datadir}/diaspora/master/tmp
|
||||
|
||||
ln -s %{_localstatedir}/log/diaspora \
|
||||
%{_datadir}/diaspora/master/log || :
|
||||
|
|
@ -74,6 +76,8 @@ ln -s %{_libdir}/diaspora-bundle/master/vendor/bundle \
|
|||
%{_datadir}/diaspora/master/vendor || :
|
||||
ln -s %{_localstatedir}/lib/diaspora/uploads \
|
||||
%{_datadir}/diaspora/master/public/uploads || :
|
||||
ln -s %{_localstatedir}/lib/diaspora/tmp \
|
||||
%{_datadir}/diaspora/master/tmp || :
|
||||
/sbin/chkconfig --add diaspora-ws || :
|
||||
|
||||
%preun
|
||||
|
|
@ -86,12 +90,13 @@ fi
|
|||
[ "$RPM_BUILD_ROOT" != "/" ] && rm -fr $RPM_BUILD_ROOT
|
||||
|
||||
%files -f files
|
||||
%defattr(-, diaspora, diaspora, 0755)
|
||||
%defattr(-, root, root, 0755)
|
||||
%doc README.md GNU-AGPL-3.0
|
||||
%attr(-, diaspora, diaspora) %{_datadir}/diaspora/master/config.ru
|
||||
%attr(-, diaspora, diaspora) %{_datadir}/diaspora/master/config/environment.rb
|
||||
%attr(-, diaspora, diaspora) %{_localstatedir}/log/diaspora
|
||||
%attr(-, diaspora, diaspora) %{_localstatedir}/lib/diaspora/uploads
|
||||
%attr(-, diaspora, diaspora) %{_localstatedir}/lib/diaspora/tmp
|
||||
%config(noreplace) %{_sysconfdir}/logrotate.d/diaspora
|
||||
%{_sysconfdir}/init.d/diaspora-ws
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue