/[packages]/backports/8/nextcloud/current/SPECS/nextcloud.spec
ViewVC logotype

Contents of /backports/8/nextcloud/current/SPECS/nextcloud.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1218538 - (show annotations) (download)
Sat Apr 14 00:06:34 2018 UTC (6 years ago) by blino
Original Path: cauldron/nextcloud/current/SPECS/nextcloud.spec
File size: 6724 byte(s)
13.0.1
1 %define version 13.0.1
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 PHP dependencies as long as their usage is not proven
13 %define __requires_exclude_from ^%{_datadir}/.*$
14 %define __jar_repack %{nil}
15
16 Summary: Open personal cloud
17 Name: nextcloud
18 Version: %{version}
19 Release: %{release}
20 License: AGPLv3
21 Group: Networking/WWW
22 Url: http://nextcloud.com
23 Source0: https://download.nextcloud.com/server/releases/%{name}-%{version}%{?prerel}.tar.bz2
24 Source1: %{name}-httpd.conf
25 Source2: %{name}-httpd.inc
26 Source4: %{name}-mysql.txt
27 Source5: %{name}-postgresql.txt
28 Source7: %{name}-config.php
29 # Stop OC from trying to do stuff to .htaccess files. Just calm down, OC.
30 # Distributors are on the case.
31 Patch1: %{name}-12.0.2-dont_update_htacess.patch
32 # Disable the integrity checking whilst a better way to deal with it is found
33 Patch5: %{name}-9.1.0-default_integrity_check_disabled.patch
34 # Direct the admin to the correct cli command for upgrades
35 Patch9: %{name}-12.0.2-correct-cli-upgrade.patch
36 Requires: apache-mod_php
37 Requires: php-curl
38 Requires: php-dom
39 Requires: php-exif
40 Requires: php-fileinfo
41 Requires: php-gd
42 Requires: php-iconv
43 Requires: php-json
44 Requires: php-ldap
45 Requires: php-mbstring
46 Requires: php-openssl
47 Requires: php-pcre
48 Recommends: php-pcntl
49 Requires: php-pdo
50 Requires: php-session
51 Requires: php-simplexml
52 Requires: php-xmlwriter
53 Requires: php-zip
54 Requires: php-filter
55 Requires: %{name}-database = %{version}-%{release}
56 BuildArch: noarch
57
58 %description
59 A personal cloud server which runs on you personal server
60 and enables accessing your data from everywhere and sharing
61 with other people.
62
63 %package mysql
64 Summary: MySQL database support for NextCloud
65 Provides: %{name}-database = %{version}-%{release}
66 Requires: %{name} = %{version}-%{release}
67 # From getSupportedDatabases, mysql => pdo, mysql
68 Requires: php-pdo_mysql
69
70 %description mysql
71 This package ensures the necessary dependencies are in place for NextCloud to
72 work with MySQL / MariaDB databases. It does not require a MySQL / MariaDB
73 server to be installed, as you may well wish to use a remote database
74 server.
75 If you want the database to be on the same system as NextCloud itself, you must
76 also install and enable a MySQL / MariaDB server package. See README.mysql for
77 more details.
78
79 %package postgresql
80 Summary: PostgreSQL database support for NextCloud
81 Provides: %{name}-database = %{version}-%{release}
82 Requires: %{name} = %{version}-%{release}
83 # From getSupportedDatabases, pgsql => function, pg_connect
84 Requires: php-pgsql
85
86 %description postgresql
87 This package ensures the necessary dependencies are in place for NextCloud to
88 work with a PostgreSQL database. It does not require the PostgreSQL server
89 package to be installed, as you may well wish to use a remote database
90 server.
91 If you want the database to be on the same system as NextCloud itself, you must
92 also install and enable the PostgreSQL server package. See README.postgresql
93 for more details.
94
95 %package sqlite
96 Summary: SQLite 3 database support for NextCloud
97 Provides: %{name}-database = %{version}-%{release}
98 Requires: %{name} = %{version}-%{release}
99 # From getSupportedDatabases, pgsql => class, SQLite3
100 Requires: php-sqlite3 php-pcre
101
102 %description sqlite
103 This package ensures the necessary dependencies are in place for NextCloud to
104 work with an SQLite 3 database stored on the local system.
105
106 %prep
107 %setup -q -n %{name}
108 %autopatch -p 1
109 cp %{SOURCE4} README.mysql
110 cp %{SOURCE5} README.postgresql
111
112 # drop upstream update notification app
113 rm -rf apps/updatenotification
114 # also remove the actual updater
115 rm -rf updater
116
117 %install
118 install -d -m 755 %{buildroot}%{_datadir}/%{name}
119 # create nextcloud datadir
120 install -d -m 755 %{buildroot}%{_localstatedir}/lib/%{name}/data
121 # create writable app dir for appstore
122 install -d -m 755 %{buildroot}%{_localstatedir}/lib/%{name}/apps
123 # create nextcloud sysconfdir
124 install -d -m 755 %{buildroot}%{_sysconfdir}/%{name}
125
126 # install content
127 for d in $(find . -mindepth 1 -maxdepth 1 -type d | grep -v config); do
128 cp -a "$d" %{buildroot}%{_datadir}/%{name}
129 done
130
131 for f in {*.php,*.html,occ,robots.txt}; do
132 install -p -m 644 "$f" %{buildroot}%{_datadir}/%{name}
133 done
134
135 # symlink config dir
136 ln -sf %{_sysconfdir}/%{name} %{buildroot}%{_datadir}/%{name}/config
137
138 # nextcloud looks for ca-bundle.crt in config dir
139 ln -sf %{_sysconfdir}/pki/tls/certs/ca-bundle.crt %{buildroot}%{_sysconfdir}/%{name}/ca-bundle.crt
140
141 # set default config
142 install -p -m 644 %{SOURCE7} %{buildroot}%{_sysconfdir}/%{name}/config.php
143
144 install -D -m 644 %{SOURCE1} %{buildroot}%{webappconfdir}/%{name}.conf
145 install -D -m 644 %{SOURCE2} %{buildroot}%{webappconfdir}/%{name}.inc
146
147 cat > %{buildroot}%{_datadir}/%{name}/.htaccess <<EOF
148 # Version: %{version}
149 EOF
150
151 install -d -m 755 %{buildroot}%{_sysconfdir}/cron.d
152 cat > %{buildroot}%{_sysconfdir}/cron.d/%{name} <<EOF
153 # Run cron from to execute task even when no user connected
154 */15 * * * * apache /usr/bin/php -f /usr/share/nextcloud/cron.php
155 EOF
156
157 cat > README.urpmi <<EOF
158 Upgrade information
159
160 Starting with Nextcloud version 12, the config file changes a lot.
161 When upgrading from a previous version, you will have to edit by yourself
162 the config file using /etc/nextcloud/config.php.rpmnew as reference.
163 EOF
164
165
166 %pre
167 # on update from previous release, move data directory from
168 # %{_localstatedir}/lib/%{name} to %{_localstatedir}/lib/%{name}/data
169 if [ $1 -gt 1 ] ; then
170 if [ -d %{_localstatedir}/lib/%{name}/ -a ! -d %{_localstatedir}/lib/%{name}/data ]; then
171 mv %{_localstatedir}/lib/%{name} %{_localstatedir}/lib/%{name}.tmp
172 mkdir %{_localstatedir}/lib/%{name}
173 mv %{_localstatedir}/lib/%{name}.tmp %{_localstatedir}/lib/%{name}/data
174 fi
175 fi
176
177
178 %files
179 %doc AUTHORS config/config.sample.php README.urpmi
180
181 %dir %attr(-,apache,apache) %{_sysconfdir}/%{name}
182 %config(noreplace) %attr(0600,apache,apache) %{_sysconfdir}/%{name}/config.php
183 %{_sysconfdir}/%{name}/ca-bundle.crt
184
185 %{_datadir}/%{name}
186
187 %dir %attr(0755,apache,apache) %{_localstatedir}/lib/%{name}
188 %dir %attr(0755,apache,apache) %{_localstatedir}/lib/%{name}/apps
189 %dir %attr(0750,apache,apache) %{_localstatedir}/lib/%{name}/data
190
191 %config(noreplace) %{webappconfdir}/nextcloud.conf
192 %config(noreplace) %{webappconfdir}/nextcloud.inc
193 %config(noreplace) %{_sysconfdir}/cron.d/%{name}
194
195 %files mysql
196 %doc README.mysql
197
198 %files postgresql
199 %doc README.postgresql
200
201 %files sqlite

  ViewVC Help
Powered by ViewVC 1.1.30