seafile/seafile.spec

295 lines
9.7 KiB
RPMSpec
Raw Normal View History

%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: 6.0.7
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 <silvan.calarco@mambasoft.it>
URL: http://seafile.com/
## GITSOURCE https://github.com/haiwen/seafile.git v3.1.4
Source: https://github.com/haiwen/seafile.git/v%{version}/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
Patch2: seafile-5.0.5-instance_dir.patch
License: GPL
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libblkid-devel
BuildRequires: libcares-devel
BuildRequires: libccnet-devel
BuildRequires: libcurl-devel
BuildRequires: libevent-devel
BuildRequires: libffi-devel
BuildRequires: libglib-devel
BuildRequires: libgss-devel
BuildRequires: libjansson-devel
BuildRequires: libmount-devel
BuildRequires: libopenldap-devel
BuildRequires: libopenssl-devel
BuildRequires: libpcre-devel
BuildRequires: libpython-devel
BuildRequires: librtmp-devel
BuildRequires: libsasl2-devel
BuildRequires: libsearpc-devel
BuildRequires: libselinux-devel
BuildRequires: libsepol-devel
BuildRequires: libsqlite-devel
BuildRequires: libssh2-devel
BuildRequires: libuuid-devel
BuildRequires: libz-devel
## AUTOBUILDREQ-END
#BuildRequires: libevhtp-devel <= 1.2.9
#Requires: libevhtp <= 1.2.9
Requires: ccnet >= %{maj2_version}
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 >= %{maj2_version}
Requires: seahub >= %{maj2_version}
Requires(post): seafile = %{?epoch:%epoch:}%{version}-%{release}
Requires: python-seafdav
%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
#%patch2 -p1
%build
#:<< ___EOF
./autogen.sh
%configure \
--enable-console
# --enable-breakpad
%make -j1
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%makeinstall
install -d -m0755 %{buildroot}%{_datadir}/seafile-server
install -d -m0755 %{buildroot}%{_datadir}/seafile-server/scripts
cp -a scripts/* %{buildroot}%{_datadir}/seafile-server/scripts/
rm -rf %{buildroot}%{_datadir}/seafile-server/scripts/build
rm -rf %{buildroot}%{_datadir}/seafile-server/scripts/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-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 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 /srv/seafile -g seafile \
-s /bin/false seafile 2>/dev/null
fi
:
%post server
if [ $1 -ge 1 ]; then
systemctl -q daemon-reload
fi
:
%preun server
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
%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)
%{_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
* Wed Jul 12 2017 Silvan Calarco <silvan.calarco@mambasoft.it> 6.0.7-1mamba
- update to 6.0.7
* Sat Apr 16 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 5.0.5-2mamba
- patch to use instance dir for seafdav.conf
* Fri Apr 08 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 5.0.5-1mamba
- update to 5.0.5
* Tue Mar 08 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 4.4.6-1mamba
- update to 4.4.6
* Sun May 24 2015 Silvan Calarco <silvan.calarco@mambasoft.it> 4.2.2-1mamba
- update to 4.2.2
* Sat May 23 2015 Silvan Calarco <silvan.calarco@mambasoft.it> 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 <silvan.calarco@mambasoft.it> 4.2.1-2mamba
- seafile: fix broken binaries symlinks
* Thu May 14 2015 Silvan Calarco <silvan.calarco@mambasoft.it> 4.2.1-1mamba
- update to 4.2.1
* Thu Jan 22 2015 Silvan Calarco <silvan.calarco@mambasoft.it> 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 <silvan.calarco@mambasoft.it> 3.1.12-1mamba
- update to 3.1.12
* Sat Dec 06 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 3.1.11-1mamba
- update to 3.1.11
* Sat Oct 18 2014 Automatic Build System <autodist@mambasoft.it> 3.1.7-1mamba
- automatic update by autodist
* Sun Oct 12 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 3.1.6-1mamba
- update to 3.1.6
* Mon Sep 01 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 3.1.5-1mamba
- update to 3.1.5
* Wed Aug 27 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 3.1.4-5mamba
- move seaf-daemon to seafile and add requirements to work as client installed alone
* Wed Aug 27 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 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 <silvan.calarco@mambasoft.it> 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 <silvan.calarco@mambasoft.it> 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 <silvan.calarco@mambasoft.it> 3.1.4-1mamba
- package created using the webbuild interface