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