%define seafile_groupid 65435 %define seafile_userid 65435 Name: seafile Version: 4.4.6 Release: 1mamba Summary: A next-generation open source cloud storage system with advanced support for file syncing Group: Applications/Web Vendor: openmamba Distribution: openmamba 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 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 License: GPL ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel BuildRequires: libacl-devel BuildRequires: libarchive-devel BuildRequires: libattr-devel BuildRequires: libbzip2-devel BuildRequires: libcares-devel BuildRequires: libccnet-devel BuildRequires: libcurl-devel BuildRequires: libevent-devel BuildRequires: libevhtp-devel BuildRequires: libffi-devel BuildRequires: libfuse-devel BuildRequires: libglib-devel BuildRequires: libgss-devel BuildRequires: libidn-devel BuildRequires: libjansson-devel BuildRequires: liblzma-devel BuildRequires: liblzo-devel BuildRequires: libmysqlclient-devel BuildRequires: libnettle-devel BuildRequires: libopenldap-devel BuildRequires: libopenssl-devel BuildRequires: libpostgresql-devel BuildRequires: libpython-devel BuildRequires: librtmp-devel BuildRequires: libsasl2-devel BuildRequires: libsearpc-devel BuildRequires: libselinux-devel BuildRequires: libsqlite-devel BuildRequires: libssh2-devel BuildRequires: libuuid-devel BuildRequires: libxml2-devel BuildRequires: libz-devel BuildRequires: libzdb-devel ## AUTOBUILDREQ-END #BuildRequires: libevhtp-devel <= 1.2.9 #Requires: libevhtp <= 1.2.9 Requires: ccnet Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} Requires: python-ccnet Requires: python-flup Requires: python-%{name} = %{?epoch:%epoch:}%{version}-%{release} BuildRoot: %{_tmppath}/%{name}-%{version}-root %description Seafile is a next-generation open source cloud storage system with advanced support for file syncing, privacy protection and teamwork. Collections of files are called libraries, and each library can be synced separately. A library can be encrypted with a user chosen password. This password is not stored on the server, so even the server admin cannot view a file's contents. Seafile allows users to create groups with file syncing, wiki, and discussion to enable easy collaboration around documents within a team. %package server Group: System/Servers Summary: Server package for %{name} Requires: python-%{name} = %{?epoch:%epoch:}%{version}-%{release} Requires: ccnet Requires: seahub %description server Seafile is a next-generation open source cloud storage system with advanced support for file syncing, privacy protection and teamwork. Collections of files are called libraries, and each library can be synced separately. A library can be encrypted with a user chosen password. This password is not stored on the server, so even the server admin cannot view a file's contents. Seafile allows users to create groups with file syncing, wiki, and discussion to enable easy collaboration around documents within a team. This is the server package. %package -n lib%{name} Group: System/Libraries Summary: Shared libraries for %{name} %description -n lib%{name} This package contains shared libraries for %{name}. %package -n lib%{name}-devel Group: Development/Libraries Summary: Development files for %{name} Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} Requires: pkg-config %description -n lib%{name}-devel This package contains libraries and header files for developing applications that use %{name}. %package -n python-%{name} Group: System/Libraries Summary: Python bindings to %{name} Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release} Requires: python-ccnet Requires: python-setuptools Requires: python-simplejson Requires: python-Pillow Requires: python-MySQL %description -n python-%{name} This package contains python bindings to %{name}. %debug_package %prep %setup -q #-D -T #:<< _EOF %patch0 -p1 %patch1 -p1 %build #:<< ___EOF ./autogen.sh %configure \ --enable-server \ --enable-client \ --enable-fuse \ --enable-python \ --enable-console %make -j1 %install [ "%{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 for f in ccnet-init ccnet-server; do ln -s %{_bindir}/$f %{buildroot}%{_datadir}/seafile/seafile-server/seafile/bin/$f done ln -s ../seahub %{buildroot}%{_datadir}/seafile/seafile-server/seahub install -d -m0755 %{buildroot}%{_datadir}/seafile/seafile-server/runtime cp scripts/seahub.conf %{buildroot}%{_datadir}/seafile/seafile-server/runtime/ cp -a scripts/upgrade %{buildroot}%{_datadir}/seafile/seafile-server/ rm -rf %{buildroot}%{_datadir}/seafile/seafile-server/upgrade/win32 install -D -m0644 %{SOURCE1} %{buildroot}%{_unitdir}/seafile.service install -D -m0644 %{SOURCE2} %{buildroot}%{_unitdir}/seahub.service install -D -m0644 %{SOURCE3} %{buildroot}%{_unitdir}/seafile-client.service %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" %pre 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 \ -s /bin/false seafile 2>/dev/null fi : %post if [ $1 -ge 1 ]; then systemctl -q daemon-reload fi : %preun if [ $1 -eq 0 ]; then systemctl -q daemon-reload /usr/sbin/userdel seafile 2>/dev/null /usr/sbin/groupdel seafile 2>/dev/null fi : %post -n lib%{name} -p /sbin/ldconfig %postun -n lib%{name} -p /sbin/ldconfig %files %defattr(-,root,root) %{_bindir}/seaf-cli %{_bindir}/seaf-daemon #%{_bindir}/seafile %{_unitdir}/seafile-client.service #%{_mandir}/man1/ccnet.1* %{_mandir}/man1/seaf-cli.1* #%{_mandir}/man1/seafile-applet.1* %files server %defattr(-,root,root) #%{_bindir}/fileserver %{_bindir}/seaf-fsck %{_bindir}/seaf-fuse %{_bindir}/seaf-migrate %{_bindir}/seaf-server %{_bindir}/seaf-server-init %{_bindir}/seafile-admin %{_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 %{_mandir}/man1/seaf-daemon.1* %files -n lib%{name} %defattr(-,root,root) %{_libdir}/libseafile.so.* %files -n lib%{name}-devel %defattr(-,root,root) %dir %{_includedir}/seafile %{_includedir}/seafile/*.h %{_libdir}/libseafile.a %{_libdir}/libseafile.la %{_libdir}/libseafile.so %{_libdir}/pkgconfig/libseafile.pc #%doc README.markdown %files -n python-%{name} %defattr(-,root,root) %dir %{python_sitearch}/seafile %{python_sitearch}/seafile/*.py* %dir %{python_sitearch}/seaserv %{python_sitearch}/seaserv/*.py* %changelog * Tue Mar 08 2016 Silvan Calarco 4.4.6-1mamba - update to 4.4.6 * Sun May 24 2015 Silvan Calarco 4.2.2-1mamba - update to 4.2.2 * Sat May 23 2015 Silvan Calarco 4.2.1-3mamba - require python-seafdav and python-flup - install a couple of new scripts - seahub.service: launch start script with start-fcgi - rebuilt with libevhtp 1.2.9 * Tue May 19 2015 Silvan Calarco 4.2.1-2mamba - seafile: fix broken binaries symlinks * Thu May 14 2015 Silvan Calarco 4.2.1-1mamba - update to 4.2.1 * Thu Jan 22 2015 Silvan Calarco 3.1.12-2mamba - provide required symlink /usr/share/seafile/seafile-server/seahub - patch setup script to fix preparation of avatars directory * Thu Jan 01 2015 Silvan Calarco 3.1.12-1mamba - update to 3.1.12 * Sat Dec 06 2014 Silvan Calarco 3.1.11-1mamba - update to 3.1.11 * Sat Oct 18 2014 Automatic Build System 3.1.7-1mamba - automatic update by autodist * Sun Oct 12 2014 Silvan Calarco 3.1.6-1mamba - update to 3.1.6 * Mon Sep 01 2014 Silvan Calarco 3.1.5-1mamba - update to 3.1.5 * Wed Aug 27 2014 Silvan Calarco 3.1.4-5mamba - move seaf-daemon to seafile and add requirements to work as client installed alone * Wed Aug 27 2014 Silvan Calarco 3.1.4-4mamba - move server bin files from %{_bindir} to seafile-server/seafile/bin dir for seafile-controller to work - fix permissions of %{_datadir}/seafile/seafile-server/runtime for seahub.sh to work - seahub.service: set working directory * Sat Aug 09 2014 Silvan Calarco 3.1.4-3mamba - rebuild with --enable-server and other options - organize %{datadir}/seafile and add requirements to make server basically work * Sat Aug 09 2014 Silvan Calarco 3.1.4-2mamba - added systemd service, install scripts and create seafile user and group - added seafile-server package * Tue Aug 05 2014 Silvan Calarco 3.1.4-1mamba - package created using the webbuild interface