248 lines
8.5 KiB
RPMSpec
248 lines
8.5 KiB
RPMSpec
%define seafile_groupid 65435
|
|
%define seafile_userid 65435
|
|
Name: seafile
|
|
Version: 3.1.5
|
|
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
|
|
License: GPL
|
|
## AUTOBUILDREQ-BEGIN
|
|
BuildRequires: glibc-devel
|
|
BuildRequires: libccnet-devel
|
|
BuildRequires: libevent-devel
|
|
BuildRequires: libffi-devel
|
|
BuildRequires: libglib-devel
|
|
BuildRequires: libjansson-devel
|
|
BuildRequires: libopenssl-devel
|
|
BuildRequires: libpython-devel
|
|
BuildRequires: libsearpc-devel
|
|
BuildRequires: libselinux-devel
|
|
BuildRequires: libsqlite-devel
|
|
BuildRequires: libuuid-devel
|
|
BuildRequires: libz-devel
|
|
## AUTOBUILDREQ-END
|
|
BuildRequires: libzdb-devel
|
|
BuildRequires: libevhtp-devel
|
|
Requires: ccnet
|
|
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
|
|
Requires: python-ccnet
|
|
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
|
|
|
|
%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-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}
|
|
for f in fileserver seaf-fuse seaf-server seafile-controller seafserv-tool \
|
|
seaf-fsck seaf-migrate seaf-server-init 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
|
|
|
|
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/*
|
|
%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
|
|
* 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
|