diff --git a/seafile-5.0.7-pidfile_at_instance_dir.patch b/seafile-5.0.7-pidfile_at_instance_dir.patch new file mode 100644 index 0000000..da417f8 --- /dev/null +++ b/seafile-5.0.7-pidfile_at_instance_dir.patch @@ -0,0 +1,27 @@ +From a241e334aa22e66b0469a3899d73db7df4b6e274 Mon Sep 17 00:00:00 2001 +From: Moritz Maxeiner +Date: Mon, 28 Apr 2014 04:42:11 +0200 +Subject: [PATCH] Revert "[server] put pids/ folder out of seafile-data/" + +This reverts commit 54926205490f9efcd16d22c4bc178576d50449ef. +--- + controller/seafile-controller.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/controller/seafile-controller.c b/controller/seafile-controller.c +index c5bc425..a1a9358 100644 +--- a/controller/seafile-controller.c ++++ b/controller/seafile-controller.c +@@ -611,7 +611,7 @@ stop_ccnet_server () + static void + init_pidfile_path (SeafileController *ctl) + { +- char *pid_dir = g_build_filename (topdir, "pids", NULL); ++ char *pid_dir = g_build_filename (ctl->seafile_dir, "pids", NULL); + if (!g_file_test(pid_dir, G_FILE_TEST_EXISTS)) { + if (g_mkdir(pid_dir, 0777) < 0) { + seaf_warning("failed to create pid dir %s: %s", pid_dir, strerror(errno)); +-- +1.9.2 + + diff --git a/seafile-seafile.service b/seafile-seafile.service deleted file mode 100644 index 669e73e..0000000 --- a/seafile-seafile.service +++ /dev/null @@ -1,15 +0,0 @@ -[Unit] -Description=Seafile -# add mysql.service or postgresql.service depending on your database to the line below -After=network.target mysql.target - -[Service] -Type=oneshot -ExecStart=/usr/share/seafile/seafile-server/seafile.sh start -ExecStop=/usr/share/seafile/seafile-server/seafile.sh stop -RemainAfterExit=yes -User=seafile -Group=seafile - -[Install] -WantedBy=multi-user.target diff --git a/seafile-seafile@.service b/seafile-seafile@.service new file mode 100644 index 0000000..19824dc --- /dev/null +++ b/seafile-seafile@.service @@ -0,0 +1,15 @@ +[Unit] +Description=Next-generation open source cloud storage system +# add mysql.service or postgresql.service depending on your database to the line below +After=syslog.target network.target + +[Service] +Type=forking +User=seafile +WorkingDirectory=/srv/seafile/%i +ExecStart=/usr/bin/seafile-admin start --fastcgi +ExecStop=/usr/bin/seafile-admin stop +PIDFile=/srv/seafile/%i/seafile-data/pids/seaf-server.pid + +[Install] +WantedBy=multi-user.target diff --git a/seafile.spec b/seafile.spec index f53f368..7449de5 100644 --- a/seafile.spec +++ b/seafile.spec @@ -1,7 +1,10 @@ %define seafile_groupid 65435 %define seafile_userid 65435 +%define maj3_version %(echo %version | cut -d. -f1-3) +%define maj2_version %(echo %version | cut -d. -f1-2) +%define MAJver %(echo %version | cut -d. -f1) Name: seafile -Version: 4.4.6 +Version: 5.0.5 Release: 1mamba Summary: A next-generation open source cloud storage system with advanced support for file syncing Group: Applications/Web @@ -11,11 +14,12 @@ Packager: Silvan Calarco URL: http://seafile.com/ ## GITSOURCE https://github.com/haiwen/seafile.git v3.1.4 Source: https://github.com/haiwen/seafile.git/v%{version}-server/seafile-%{version}.tar.bz2 -Source1: seafile-seafile.service +Source1: seafile-seafile@.service Source2: seafile-seahub.service Source3: seafile-client.service Patch0: seafile-3.1.12-delay-start-after-mysql.patch Patch1: seafile-3.1.12-setup-fix-avatars.patch +Patch2: seafile-5.0.7-pidfile_at_instance_dir.patch License: GPL ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel @@ -55,7 +59,7 @@ BuildRequires: libzdb-devel ## AUTOBUILDREQ-END #BuildRequires: libevhtp-devel <= 1.2.9 #Requires: libevhtp <= 1.2.9 -Requires: ccnet +Requires: ccnet >= %{maj2_version} Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} Requires: python-ccnet Requires: python-flup @@ -71,8 +75,9 @@ Seafile allows users to create groups with file syncing, wiki, and discussion to Group: System/Servers Summary: Server package for %{name} Requires: python-%{name} = %{?epoch:%epoch:}%{version}-%{release} -Requires: ccnet -Requires: seahub +Requires: ccnet >= %{maj2_version} +Requires: seahub >= %{maj2_version} +Requires(post): seafile = %{?epoch:%epoch:}%{version}-%{release} %description server Seafile is a next-generation open source cloud storage system with advanced support for file syncing, privacy protection and teamwork. @@ -115,8 +120,9 @@ This package contains python bindings to %{name}. %setup -q #-D -T #:<< _EOF -%patch0 -p1 -%patch1 -p1 +#%patch0 -p1 +#%patch1 -p1 +%patch2 -p1 %build #:<< ___EOF @@ -134,58 +140,43 @@ This package contains python bindings to %{name}. [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %makeinstall -install -d -m0755 %{buildroot}%{_datadir}/seafile/seafile-server -cp scripts/{check_init_admin.py,reset-admin.sh,seaf-cli-wrapper.sh,seaf-fsck.sh,\ -seaf-fuse.sh,seaf-gc.sh,seafile.sh,\ -seahub.sh,setup-seafile-mysql.sh,setup-seafile-mysql.py,\ -reset-admin.sh,seaf-fuse.sh,\ -setup-seafile.sh} \ - %{buildroot}%{_datadir}/seafile/seafile-server - -install -d -m0755 %{buildroot}%{_datadir}/seafile/seafile-server/seafile/bin -install -d -m0755 %{buildroot}%{_datadir}/seafile/seafile-server/seafile/%{_lib} -# don't move seaf-cli seaf-daemon for client package -for f in seaf-fsck seaf-fuse \ - seaf-migrate seaf-server seaf-server-init \ - seafile-admin seafile-controller seafserv-gc; do - mv %{buildroot}%{_bindir}/$f %{buildroot}%{_datadir}/seafile/seafile-server/seafile/bin/ - ln -s %{_datadir}/seafile/seafile-server/seafile/bin/$f %{buildroot}%{_bindir}/$f -done +install -d -m0755 %{buildroot}%{_datadir}/seafile-server -for f in ccnet-init ccnet-server; do - ln -s %{_bindir}/$f %{buildroot}%{_datadir}/seafile/seafile-server/seafile/bin/$f -done +install -d -m0755 %{buildroot}%{_datadir}/seafile-server/scripts -ln -s ../seahub %{buildroot}%{_datadir}/seafile/seafile-server/seahub +cp -a scripts/* %{buildroot}%{_datadir}/seafile-server/scripts/ -install -d -m0755 %{buildroot}%{_datadir}/seafile/seafile-server/runtime -cp scripts/seahub.conf %{buildroot}%{_datadir}/seafile/seafile-server/runtime/ +rm -rf %{buildroot}%{_datadir}/seafile-server/scripts/build +rm -rf %{buildroot}%{_datadir}/seafile-server/scripts/upgrade/win32 -cp -a scripts/upgrade %{buildroot}%{_datadir}/seafile/seafile-server/ -rm -rf %{buildroot}%{_datadir}/seafile/seafile-server/upgrade/win32 +#for f in ccnet-init ccnet-server; do +# ln -s %{_bindir}/$f %{buildroot}%{_datadir}/seafile/seafile-%{MAJver}-server/seafile/bin/$f +#done -install -D -m0644 %{SOURCE1} %{buildroot}%{_unitdir}/seafile.service -install -D -m0644 %{SOURCE2} %{buildroot}%{_unitdir}/seahub.service +install -D -m0644 %{SOURCE1} %{buildroot}%{_unitdir}/seafile-server@.service +#install -D -m0644 %{SOURCE2} %{buildroot}%{_unitdir}/seahub.service install -D -m0644 %{SOURCE3} %{buildroot}%{_unitdir}/seafile-client.service +install -d -m0755 %{buildroot}/srv/seafile + %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" -%pre +%pre server if [ $1 -ge 1 ]; then /usr/sbin/groupadd seafile -g %{seafile_groupid} 2>/dev/null - /usr/sbin/useradd -u %{seafile_userid} -c 'Seafile user' -d %{_datadir}/seafile/seafile-server -g seafile \ + /usr/sbin/useradd -u %{seafile_userid} -c 'Seafile user' -d /srv/seafile -g seafile \ -s /bin/false seafile 2>/dev/null fi : -%post +%post server if [ $1 -ge 1 ]; then systemctl -q daemon-reload fi : -%preun +%preun server if [ $1 -eq 0 ]; then systemctl -q daemon-reload /usr/sbin/userdel seafile 2>/dev/null @@ -218,22 +209,13 @@ fi %{_bindir}/seafile-controller %{_bindir}/seafserv-gc #%{_bindir}/seafserv-tool -%attr(-,seafile,seafile) %dir %{_datadir}/seafile -%dir %{_datadir}/seafile/seafile-server -%{_datadir}/seafile/seafile-server/*.sh -%{_datadir}/seafile/seafile-server/*.py -%attr(-,seafile,seafile) %dir %{_datadir}/seafile/seafile-server/runtime -%{_datadir}/seafile/seafile-server/runtime/seahub.conf -%dir %{_datadir}/seafile/seafile-server/seafile -%dir %{_datadir}/seafile/seafile-server/seafile/bin -%{_datadir}/seafile/seafile-server/seafile/bin/* -%dir %{_datadir}/seafile/seafile-server/seafile/%{_lib} -%{_datadir}/seafile/seafile-server/seahub -%dir %{_datadir}/seafile/seafile-server/upgrade -%{_datadir}/seafile/seafile-server/upgrade/* -%{_unitdir}/seafile.service -%{_unitdir}/seahub.service +%dir %{_datadir}/seafile-server +%dir %{_datadir}/seafile-server/scripts +%{_datadir}/seafile-server/scripts/* +%{_unitdir}/seafile-server@.service +#%{_unitdir}/seahub.service %{_mandir}/man1/seaf-daemon.1* +%attr(0775,seafile,seafile) %dir /srv/seafile %files -n lib%{name} %defattr(-,root,root) @@ -257,6 +239,9 @@ fi %{python_sitearch}/seaserv/*.py* %changelog +* Fri Apr 08 2016 Silvan Calarco 5.0.5-1mamba +- update to 5.0.5 + * Tue Mar 08 2016 Silvan Calarco 4.4.6-1mamba - update to 4.4.6