1 |
# define name of the scl |
2 |
%global scl python27 |
3 |
%scl_package %scl |
4 |
|
5 |
# Defaults for the values for the python27/rh-python35 Software Collection. These |
6 |
# will be used when python27-scldevel (or rh-python35-scldevel) is not in the |
7 |
# build root |
8 |
%{!?scl_python:%global scl_python python27} |
9 |
%{!?scl_no_vendor:%global scl_no_vendor python27} |
10 |
%{!?scl_prefix_python:%global scl_prefix_python %{scl_python}-} |
11 |
|
12 |
# Only for this build, you need to override default __os_install_post, |
13 |
# because the default one would find /opt/.../lib/python2.7/ and try |
14 |
# to bytecompile with the system /usr/bin/python2.7 |
15 |
%global __os_install_post %{%{scl_no_vendor}_os_install_post} |
16 |
# Similarly, override __python_requires for automatic dependency generator |
17 |
%global __python_requires %{%{scl_no_vendor}_python_requires} |
18 |
|
19 |
# The directory for site packages for this Software Collection |
20 |
%global seafile_sitelib %(echo %{python27python_sitelib} | sed 's|%{scl_python}|%{scl}|') |
21 |
|
22 |
|
23 |
%define major 0 |
24 |
%define libname %{seafile}-lib |
25 |
%define develname %{seafile}-devel |
26 |
%define release 3 |
27 |
%define seafile seafile |
28 |
Name: %{seafile}-server |
29 |
Version: 6.2.5 |
30 |
Release: %{release}%{?dist} |
31 |
Summary: Open source cloud storage system with features on privacy protection and teamwork |
32 |
License: GPLv3+ |
33 |
Group: Networking/File transfer |
34 |
URL: https://github.com/haiwen/seafile |
35 |
Source0: https://github.com/haiwen/seafile/archive/v%{version}/%{name}-%{version}.tar.gz |
36 |
#Source0: https://github.com/haiwen/seafile-server/archive/v%{version}-server.tar.gz |
37 |
Patch0: seafile-5.1.1-evhtp.patch |
38 |
Patch1: seafile-5.1.3.libarchive.patch |
39 |
#seafile-server-6.1.1-server.libarchive.patch |
40 |
BuildRequires: intltool |
41 |
BuildRequires: pkgconfig(glib-2.0) |
42 |
BuildRequires: pkgconfig(jansson) |
43 |
#BuildRequires: pkgconfig(sqlite3) |
44 |
BuildRequires: sqlite-devel >= 3.7.17 |
45 |
BuildRequires: pkgconfig(openssl) |
46 |
BuildRequires: pkgconfig(libevent) |
47 |
BuildRequires: pkgconfig(uuid) >= 2.0 |
48 |
BuildRequires: pkgconfig(libcurl) |
49 |
BuildRequires: pkgconfig(libsearpc) |
50 |
#BuildRequires: pkgconfig(libccnet) |
51 |
BuildRequires: ccnet-devel >= %{version} |
52 |
##BuildRequires: pkgconfig(python) |
53 |
#BuildRequires: python-devel |
54 |
BuildRequires: scl-utils-build |
55 |
# Always make sure that there is the python27-sclbuild (or rh-python35-sclbuild) |
56 |
# package in the build root |
57 |
BuildRequires: %{scl_prefix_python}scldevel |
58 |
# Require python27-python-devel, you will need macros from that package |
59 |
BuildRequires: %{scl_prefix_python}python-devel |
60 |
BuildRequires: %{scl_prefix_python}build |
61 |
Requires: %{scl_prefix}python-versiontools |
62 |
#BuildRequires: python27-python-devel |
63 |
#BuildRequires: vala >= 0.26 |
64 |
BuildRequires: vala |
65 |
# server requirements |
66 |
BuildRequires: pkgconfig(zdb) |
67 |
BuildRequires: pkgconfig(evhtp) |
68 |
BuildRequires: pkgconfig(libarchive) |
69 |
#add jpp epel |
70 |
BuildRequires: libedit |
71 |
BuildRequires: libtool |
72 |
BuildRequires: fuse-devel fuse |
73 |
Requires: fuse |
74 |
Requires: sqlite >= 3.7.17 |
75 |
BuildArch: x86_64 |
76 |
#fin add jpp |
77 |
|
78 |
Requires: ccnet-server >= %{version} |
79 |
Requires: pythonegg(2)(seafile) = %{version}-%{release} |
80 |
%description |
81 |
Seafile is an open source cloud storage system with features on privacy |
82 |
protection and teamwork. Collections of files are called libraries, and |
83 |
each library can be synced separately. A library can also be encrypted |
84 |
with a user chosen password. Seafile also allows users to create groups |
85 |
and easily sharing files into groups. |
86 |
|
87 |
#---------------------------------------------------- |
88 |
|
89 |
%package server |
90 |
Summary: Seafile server |
91 |
Group: Networking/File transfer |
92 |
Requires: ccnet-server |
93 |
#>= %{version} |
94 |
#Requires: ccnet >= %{version} |
95 |
Requires: pythonegg(2)(seaserv) = %{version}-%{release} |
96 |
|
97 |
%description server |
98 |
Seafile is an open source cloud storage system with features on privacy |
99 |
protection and teamwork. Collections of files are called libraries, and |
100 |
each library can be synced separately. A library can also be encrypted |
101 |
with a user chosen password. Seafile also allows users to create groups |
102 |
and easily sharing files into groups. |
103 |
This package contains the server part for %{name}. |
104 |
|
105 |
#---------------------------------------------------- |
106 |
|
107 |
%package -n %{libname} |
108 |
Summary: Library for %{name} |
109 |
Group: System/Libraries |
110 |
|
111 |
%description -n %{libname} |
112 |
Seafile is an open source cloud storage system with features on privacy |
113 |
protection and teamwork. Collections of files are called libraries, and |
114 |
each library can be synced separately. A library can also be encrypted |
115 |
with a user chosen password. Seafile also allows users to create groups |
116 |
and easily sharing files into groups. |
117 |
This package contains library files for %{name}. |
118 |
|
119 |
#---------------------------------------------------- |
120 |
|
121 |
%package -n %{develname} |
122 |
Summary: Development files for %{name} |
123 |
Group: Development/C |
124 |
Requires: %{libname} = %{version}-%{release} |
125 |
Provides: %{name}-devel = %{version}-%{release} |
126 |
Provides: lib%{name}-devel = %{version}-%{release} |
127 |
|
128 |
%description -n %{develname} |
129 |
The %{develname} package contains libraries and header files for |
130 |
developing applications that use %{name}. |
131 |
|
132 |
#---------------------------------------------------- |
133 |
|
134 |
%package -n %{name}-debug |
135 |
Summary: Debug files for %{name} |
136 |
Group: Development/C |
137 |
Requires: %{libname} = %{version}-%{release} |
138 |
|
139 |
%description -n %{name}-debug |
140 |
The %{name}-debug package contains debugs files and header files for |
141 |
debuging applications that use %{name}. |
142 |
|
143 |
#---------------------------------------------------- |
144 |
|
145 |
%package -n python-%{name} |
146 |
Summary: Python 2 bindings for %{name} |
147 |
Group: Development/Python |
148 |
BuildArch: noarch |
149 |
Provides: pythonegg(2)(seafile) = %{version}-%{release} |
150 |
Provides: pythonegg(2)(seaserv) = %{version}-%{release} |
151 |
Requires: scl-utils |
152 |
Requires: %{scl_prefix_python}runtime |
153 |
|
154 |
%description -n python-%{name} |
155 |
Seafile is an open source cloud storage system with features on privacy |
156 |
protection and teamwork. Collections of files are called libraries, and |
157 |
each library can be synced separately. A library can also be encrypted |
158 |
with a user chosen password. Seafile also allows users to create groups |
159 |
and easily sharing files into groups. |
160 |
This package contains the python 2 bindings for %{name}. |
161 |
|
162 |
#---------------------------------------------------- |
163 |
|
164 |
|
165 |
%prep |
166 |
%setup -q |
167 |
%patch0 -p1 |
168 |
# %patch1 -p1 |
169 |
|
170 |
sed -i -e /\(DESTDIR\)/d lib/libseafile.pc.in |
171 |
|
172 |
NOCONFIGURE=1 ./autogen.sh |
173 |
|
174 |
%build |
175 |
scl enable %{scl_python} "bash" |
176 |
%{?scl:scl enable %{scl_python} - << \EOF} |
177 |
export PYTHON='/opt/rh/python27/root/usr/bin/python' |
178 |
%configure \ |
179 |
--disable-static \ |
180 |
--enable-server \ |
181 |
--enable-client |
182 |
|
183 |
make |
184 |
%{?scl:EOF} |
185 |
# --with-mysql unknown for 5.1.3 |
186 |
|
187 |
%install |
188 |
%scl_install |
189 |
%{?scl:scl enable %{scl_python} - << \EOF} |
190 |
export PYTHON='/opt/rh/python27/root/usr/bin/python' |
191 |
make install DESTDIR=%{buildroot} |
192 |
%{?scl:EOF} |
193 |
|
194 |
# we don't want these |
195 |
find %{buildroot} -name '*.la' -delete |
196 |
rm -rf %{buildroot}/etc/rpm/macros.python27-config |
197 |
rm -rf %{buildroot}/etc/scl/prefixes/python27 |
198 |
rm -rf %{buildroot}/opt/rh/python27/root/usr/tmp |
199 |
rm -rf %{buildroot}/opt/rh/python27/root/var/mail |
200 |
|
201 |
%files |
202 |
%doc README.markdown |
203 |
%doc LICENSE.txt |
204 |
%{_bindir}/seaf-cli |
205 |
%{_bindir}/seaf-daemon |
206 |
%{_mandir}/man1/*.1.* |
207 |
|
208 |
%files server |
209 |
%doc README.markdown |
210 |
%doc LICENSE.txt |
211 |
%{_bindir}/seaf-fsck |
212 |
%{_bindir}/seaf-fuse |
213 |
%{_bindir}/seaf-migrate |
214 |
%{_bindir}/seaf-server |
215 |
%{_bindir}/seaf-server-init |
216 |
%{_bindir}/seafserv-gc |
217 |
%{_bindir}/%{name}-admin |
218 |
%{_bindir}/%{name}-controller |
219 |
|
220 |
%files -n %{libname} |
221 |
%{_libdir}/lib%{name}.so.%{major} |
222 |
%{_libdir}/lib%{name}.so.%{major}.* |
223 |
|
224 |
%files -n %{develname} |
225 |
%doc README.markdown |
226 |
%{_includedir}/* |
227 |
%{_libdir}/lib%{name}.so |
228 |
%{_libdir}/pkgconfig/lib%{name}.pc |
229 |
|
230 |
%files -n python-%{name} |
231 |
%doc README.markdown |
232 |
%{python_sitearch}/%{name}/ |
233 |
%{python_sitearch}/seaserv/ |
234 |
|
235 |
%files -n %{name}-debug |
236 |
/usr/src/debug/* |
237 |
/usr/lib/debug/.build-id/* |
238 |
/usr/lib/debug/opt/rh/python27/root/usr/bin/* |
239 |
/usr/lib/debug/opt/rh/python27/root/usr/lib64/* |
240 |
|
241 |
%changelog |
242 |
* Mon Mar 26 2018 Jean-Philipe Pialasse <tests@pialasse.com> Version: 5.1.3-3.sme |
243 |
- TODO: rebuild with ccnet for python27 |
244 |
- TODO: fix pids folder path |
245 |
- TODO: fix seahub.db creation path |