1 |
%define version 8.1.10 |
2 |
%define rel 1 |
3 |
%define prerel %{nil} |
4 |
|
5 |
%if "%{prerel}" != "%{nil}" |
6 |
%define lc_prerel %(echo %{prerel} | tr "A-Z" "a-z") |
7 |
%define release %mkrel 1.%{lc_prerel}.%{rel} |
8 |
%else |
9 |
%define release %mkrel %{rel} |
10 |
%endif |
11 |
|
12 |
# exclude 3rd party library from dependencies scanning |
13 |
%global __requires_exclude_from ^%{_datadir}/%{name}/3rdparty/ |
14 |
%global __provides_exclude_from ^%{_datadir}/%{name}/3rdparty/ |
15 |
# exclude remaining PHP dependencies as long as their usage is not proven |
16 |
%global __requires_exclude pear\\(.*\\) |
17 |
%define __jar_repack %{nil} |
18 |
|
19 |
Summary: Open personal cloud |
20 |
Name: owncloud |
21 |
Version: %{version} |
22 |
Release: %{release} |
23 |
Source0: http://download.owncloud.org/community/%{name}-%{version}%{?prerel}.tar.bz2 |
24 |
License: AGPLv3 |
25 |
Group: Monitoring |
26 |
Url: http://owncloud.org/ |
27 |
Requires: apache-mod_php |
28 |
Requires: php-zip |
29 |
Requires: php-mbstring |
30 |
Requires: php-gd |
31 |
Requires: php-curl |
32 |
Requires: php-iconv |
33 |
Recommends: php-sqlite3 php-pdo_sqlite |
34 |
BuildArch: noarch |
35 |
|
36 |
%description |
37 |
A personal cloud server which runs on you personal server |
38 |
and enables accessing your data from everywhere and sharing |
39 |
with other people. |
40 |
|
41 |
%prep |
42 |
%setup -q -n %{name} |
43 |
|
44 |
%install |
45 |
mkdir -p %{buildroot}%{_datadir}/%{name} |
46 |
cp -pr * %{buildroot}%{_datadir}/%{name} |
47 |
|
48 |
rm -rf %{buildroot}%{_datadir}/%{name}/config |
49 |
rm -f %{buildroot}%{_datadir}/%{name}/AUTHORS |
50 |
rm -f %{buildroot}%{_datadir}/%{name}/COPYING-AGPL |
51 |
rm -f %{buildroot}/.htaccess |
52 |
|
53 |
mkdir -p %{buildroot}%{_sysconfdir}/%{name} |
54 |
mkdir -p %{buildroot}%{_localstatedir}/lib/%{name} |
55 |
pushd %{buildroot}%{_datadir}/%{name} |
56 |
ln -s ../../..%{_sysconfdir}/%{name} config |
57 |
ln -s ../../..%{_localstatedir}/lib/%{name} data |
58 |
popd |
59 |
|
60 |
# make config and apps directory apache-writable |
61 |
chmod 775 %{buildroot}%{_sysconfdir}/%{name} |
62 |
chmod 775 %{buildroot}%{_datadir}/%{name}/apps |
63 |
|
64 |
mkdir -p %{buildroot}%{webappconfdir} |
65 |
cat > %{buildroot}%{webappconfdir}/%{name}.conf <<EOF |
66 |
# %{name} configuration |
67 |
Alias /%{name} %{_datadir}/%{name} |
68 |
|
69 |
<Directory %{_datadir}/%{name}> |
70 |
<IfModule mod_authz_core.c> |
71 |
# Apache 2.4 |
72 |
Require all granted |
73 |
</IfModule> |
74 |
<IfModule !mod_authz_core.c> |
75 |
# Apache 2.2 |
76 |
Order allow,deny |
77 |
Allow from all |
78 |
</IfModule> |
79 |
|
80 |
AddDefaultCharset utf-8 |
81 |
php_value upload_max_filesize 513M |
82 |
php_value post_max_size 513M |
83 |
php_value memory_limit 512M |
84 |
php_value mbstring.func_overload 0 |
85 |
php_value always_populate_raw_post_data -1 |
86 |
|
87 |
<IfModule mod_fcgid.c> |
88 |
<IfModule mod_setenvif.c> |
89 |
<IfModule mod_headers.c> |
90 |
SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1 |
91 |
RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION |
92 |
</IfModule> |
93 |
</IfModule> |
94 |
</IfModule> |
95 |
|
96 |
<IfModule mod_rewrite.c> |
97 |
RewriteEngine on |
98 |
RewriteBase /owncloud |
99 |
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}] |
100 |
RewriteRule ^\.well-known/host-meta public.php?service=host-meta [QSA,L] |
101 |
RewriteRule ^\.well-known/host-meta\.json public.php?service=host-meta-json [QSA,L] |
102 |
RewriteRule ^\.well-known/carddav remote.php/carddav/ [R] |
103 |
RewriteRule ^\.well-known/caldav remote.php/caldav/ [R] |
104 |
RewriteRule ^apps/calendar/caldav\.php remote.php/caldav/ [QSA,L] |
105 |
RewriteRule ^apps/contacts/carddav\.php remote.php/carddav/ [QSA,L] |
106 |
RewriteRule ^remote/(.*) remote.php [QSA,L] |
107 |
</IfModule> |
108 |
</Directory> |
109 |
|
110 |
<Directory %{_datadir}/%{name}/data> |
111 |
<IfModule mod_authz_core.c> |
112 |
# Apache 2.4 |
113 |
Require all denied |
114 |
</IfModule> |
115 |
<IfModule !mod_authz_core.c> |
116 |
# Apache 2.2 |
117 |
Order Deny,Allow |
118 |
Deny from All |
119 |
Allow from None |
120 |
</IfModule> |
121 |
</Directory> |
122 |
EOF |
123 |
|
124 |
cat > %{buildroot}%_datadir/%name/.htaccess <<EOF |
125 |
# Version: %{version} |
126 |
EOF |
127 |
|
128 |
%pretrans |
129 |
if [ -e %{_datadir}/%{name}/data -a ! -L %{_datadir}/%{name}/data ]; then |
130 |
mv %{_datadir}/%{name}/data %{_localstatedir}/lib/%{name} |
131 |
pushd %{_datadir}/%{name} |
132 |
ln -s ../../..%{_localstatedir}/lib/%{name} data |
133 |
popd |
134 |
fi |
135 |
if [ -e %{_datadir}/%{name}/config -a ! -L %{_datadir}/%{name}/config ]; then |
136 |
mv %{_datadir}/%{name}/config %{_sysconfdir}/%{name} |
137 |
pushd %{_datadir}/%{name} |
138 |
ln -s ../../..%{_sysconfdir}/%{name} config |
139 |
popd |
140 |
fi |
141 |
|
142 |
%files |
143 |
%doc AUTHORS COPYING-AGPL config/config.sample.php |
144 |
%dir %{_datadir}/%{name} |
145 |
%{_datadir}/%{name}/3rdparty |
146 |
%{_datadir}/%{name}/core |
147 |
%{_datadir}/%{name}/config |
148 |
%{_datadir}/%{name}/data |
149 |
%{_datadir}/%{name}/lib |
150 |
%{_datadir}/%{name}/l10n |
151 |
%{_datadir}/%{name}/occ |
152 |
%{_datadir}/%{name}/ocs |
153 |
%{_datadir}/%{name}/ocs-provider |
154 |
%{_datadir}/%{name}/settings |
155 |
%{_datadir}/%{name}/themes |
156 |
%{_datadir}/%{name}/*.php |
157 |
%{_datadir}/%{name}/db_structure.xml |
158 |
%{_datadir}/%{name}/indie.json |
159 |
%{_datadir}/%{name}/index.html |
160 |
%{_datadir}/%{name}/robots.txt |
161 |
%_datadir/%name/.htaccess |
162 |
%attr(-,root,apache) %{_datadir}/%{name}/apps |
163 |
%attr(-,root,apache) %{_sysconfdir}/%{name} |
164 |
%attr(-,apache,apache) %{_localstatedir}/lib/%{name} |
165 |
%config(noreplace) %{webappconfdir}/%{name}.conf |