Skip to content

Commit 6c6e45e

Browse files
authored
ownCloud: Update to version 10.12 (#5619)
* Update ownCloud to 10.12 * Move backend to SQLite * Update UI wizards * Move data dir to share * Patch DSM6 shared folder handling * Framework: Fix icon generation
1 parent 53126aa commit 6c6e45e

26 files changed

+1410
-478
lines changed

cross/owncloud/Makefile

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
PKG_NAME = owncloud
2-
PKG_VERS = 8.1.12
2+
PKG_VERS = 10.12
3+
PKG_DATE = 20230313
34
PKG_EXT = tar.bz2
4-
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
5+
PKG_DIST_NAME = $(PKG_NAME)-complete-$(PKG_DATE).$(PKG_EXT)
56
PKG_DIST_SITE = https://download.owncloud.com/server/stable
6-
PKG_DIR = $(PKG_NAME)-$(PKG_VERS)
7+
PKG_DIR = $(PKG_NAME)
78

89
DEPENDS =
910

1011
HOMEPAGE = https://owncloud.org/
1112
COMMENT = ownCloud gives you universal access to your files through a web interface or WebDAV. It also provides a platform to easily view & sync your contacts, calendars and bookmarks across all your devices and enables basic editing right on the web. Installation has minimal server requirements, doesn’t need special permissions and is quick. ownCloud is extendable via a simple but powerful API for applications and plugins.
1213
LICENSE = AGPL
1314

14-
EXTRACT_PATH = $(WORK_DIR)/$(PKG_DIR)
1515
INSTALL_TARGET = owncloud_install
1616

1717
include ../../mk/spksrc.install-resources.mk
1818

1919
.PHONY: owncloud_install
2020
owncloud_install:
21-
mkdir -p $(STAGING_INSTALL_PREFIX)/share/owncloud
22-
tar -cf - -C $(WORK_DIR)/$(PKG_DIR)/$(PKG_NAME) . | tar -xf - -C $(STAGING_INSTALL_PREFIX)/share/owncloud
21+
mkdir -p $(STAGING_INSTALL_PREFIX)/share/$(PKG_NAME)
22+
tar -cf - -C $(WORK_DIR)/$(PKG_DIR) . | tar -xf - -C $(STAGING_INSTALL_PREFIX)/share/$(PKG_NAME)

cross/owncloud/digests

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
owncloud-8.1.12.tar.bz2 SHA1 07f7338fddc972acce3967f68b87b07141c039dc
2-
owncloud-8.1.12.tar.bz2 SHA256 e6a544dedbd118edc10ac3e2d858c7646c5b365c5ada23f028d37b06770b329e
3-
owncloud-8.1.12.tar.bz2 MD5 d12c661faa502cd36caafe9a9aef5724
1+
owncloud-complete-20230313.tar.bz2 SHA1 a67d25383ccc78a9adb3caaf58ea4bcca9a26f2a
2+
owncloud-complete-20230313.tar.bz2 SHA256 174f48076cefd574b35f6e5f088555eabefc46c419d621c5c0215be7621a08b9
3+
owncloud-complete-20230313.tar.bz2 MD5 4fd9486d0dfb24036dae5d0bbb27cce8

mk/spksrc.icon.mk

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ ICON_COOKIE = $(WORK_DIR)/.$(COOKIE_PREFIX)icon_done
1414
# Icons are only needed with "DSM UI configuration" (see spksrc.service.mk)
1515
ifneq ($(strip $(DSM_UI_DIR)),)
1616
ifneq ($(strip $(SPK_ICON)),)
17-
ifneq ($(strip $(SERVICE_PORT)),)
17+
ifneq ($(or $(strip $(SERVICE_PORT)), $(strip $(ADMIN_URL))),)
1818
ifeq ($(strip $(NO_SERVICE_SHORTCUT)),)
1919
ICON_DIR = $(STAGING_DIR)/$(DSM_UI_DIR)/images
2020
endif

spk/owncloud/Makefile

+30-22
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,52 @@
11
SPK_NAME = owncloud
2-
SPK_VERS = 8.1.12
3-
SPK_REV = 8
2+
SPK_VERS = 10.12
3+
SPK_REV = 9
44
SPK_ICON = src/owncloud.png
55
DSM_UI_DIR = app
66

7-
DEPENDS = cross/busybox cross/$(SPK_NAME)
7+
DEPENDS = cross/$(SPK_NAME)
8+
SPK_DEPENDS = "WebStation:PHP7.4:Apache2.4"
9+
10+
REQUIRED_MIN_DSM = 6.0
811

912
MAINTAINER = ymartin59
1013
DESCRIPTION = ownCloud is a personal cloud which runs on your own server and gives you freedom and control over your own data.
11-
ADMIN_URL = /owncloud/
14+
CHANGELOG = "1. Update ownCloud to 10.12.<br/>2. Use faster SQLite database.<br/>3. Use shared folder for data directory."
1215
DISPLAY_NAME = ownCloud
13-
CHANGELOG = "1. Update ownCloud to 8.1.12"
14-
15-
HOMEPAGE = https://owncloud.org/
16-
LICENSE = AGPL
16+
HOMEPAGE = https://owncloud.org/
17+
LICENSE = AGPL
1718

18-
REQUIRED_MIN_DSM = 5.0
19+
STARTABLE = yes
20+
SERVICE_USER = auto
21+
SERVICE_WIZARD_SHARE = wizard_data_share
22+
USE_DATA_SHARE_WORKER = yes
23+
SERVICE_SETUP = src/service-setup.sh
1924

20-
WIZARDS_DIR = src/wizard/
21-
CONF_DIR = src/conf/
25+
SYSTEM_GROUP = http
2226

23-
INSTALLER_SCRIPT = src/installer.sh
24-
SSS_SCRIPT = src/dsm-control.sh
27+
# Admin link for in DSM UI
28+
ADMIN_URL = /owncloud/
29+
ADMIN_PROTOCOL = https
2530

26-
INSTALL_DEP_SERVICES = apache-web mysql
27-
START_DEP_SERVICES = apache-web mysql
28-
INSTUNINST_RESTART_SERVICES = apache-web
31+
CONF_DIR = src/conf/
32+
WIZARDS_DIR = src/wizard/
2933

30-
INSTALL_PREFIX = /usr/local/$(SPK_NAME)
34+
DSM_UI_CONFIG = src/app/config
3135

3236
POST_STRIP_TARGET = owncloud_extra_install
3337

34-
BUSYBOX_CONFIG = daemon nice
35-
ENV += BUSYBOX_CONFIG="$(BUSYBOX_CONFIG)"
38+
# TMPDIR is used for owncloud built in backup and update
39+
USE_ALTERNATE_TMPDIR = 1
40+
41+
# Pure PHP package, make sure ARCH is not defined
42+
override ARCH=
3643

3744
include ../../mk/spksrc.spk.mk
3845

3946
.PHONY: owncloud_extra_install
4047
owncloud_extra_install:
41-
install -m 755 -d $(STAGING_DIR)/var -d $(STAGING_DIR)/app
42-
install -m 755 src/owncloud.sh $(STAGING_DIR)/bin/
48+
install -m 755 -d $(STAGING_DIR)/app -d $(STAGING_DIR)/bin -d $(STAGING_DIR)/web
4349
install -m 644 src/app/config $(STAGING_DIR)/app/config
44-
install -m 644 src/autoconfig.php $(STAGING_DIR)/share/$(SPK_NAME)/config/autoconfig.php
50+
install -m 755 src/bin/owncloud-daemon $(STAGING_DIR)/bin/owncloud-daemon
51+
install -m 644 src/web/owncloud.conf $(STAGING_DIR)/web/owncloud.conf
52+
install -m 644 src/web/owncloud.json $(STAGING_DIR)/web/owncloud.json

spk/owncloud/src/app/config

+12-13
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
{
2-
".url": {
3-
"com.synocommunity.packages.owncloud": {
4-
"title": "ownCloud",
5-
"desc": "ownCloud",
6-
"icon": "images/owncloud-{0}.png",
7-
"type": "url",
8-
"protocol": "http",
9-
"port": "80",
10-
"url": "/owncloud",
11-
"allUsers": true,
12-
"grantPrivilege": "local"
13-
}
14-
}
2+
".url": {
3+
"com.synocommunity.packages.owncloud": {
4+
"allUsers": true,
5+
"desc": "ownCloud",
6+
"icon": "images/owncloud-{0}.png",
7+
"port": "443",
8+
"protocol": "https",
9+
"title": "ownCloud",
10+
"type": "url",
11+
"url": "/owncloud/"
12+
}
13+
}
1514
}

spk/owncloud/src/autoconfig.php

-12
This file was deleted.

spk/owncloud/src/bin/owncloud-daemon

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#!/bin/sh
2+
3+
set -e
4+
5+
# ownCloud service setup
6+
WEB_DIR="/var/services/web_packages"
7+
# for backwards compatability
8+
if [ $SYNOPKG_DSM_VERSION_MAJOR -lt 7 ];then
9+
WEB_DIR="/var/services/web"
10+
if [ -z ${SYNOPKG_PKGNAME} ]; then
11+
SYNOPKG_PKGNAME="owncloud"
12+
fi
13+
fi
14+
PHP="/usr/local/bin/php74"
15+
OWNCLOUD="${PHP} ${WEB_DIR}/${SYNOPKG_PKGNAME}/occ background:cron"
16+
HOME_DIR="${SYNOPKG_PKGVAR}"
17+
# for backwards compatability
18+
if [ $SYNOPKG_DSM_VERSION_MAJOR -lt 7 ];then
19+
HOME_DIR="${SYNOPKG_PKGDEST}/var"
20+
fi
21+
SLEEP_TIME="1800"
22+
23+
# Main loop
24+
while true; do
25+
# Update
26+
echo "Updating..."
27+
${OWNCLOUD} >> "${HOME_DIR}/daemon.log" 2>&1
28+
29+
# Wait
30+
echo "Waiting ${SLEEP_TIME} seconds..."
31+
sleep ${SLEEP_TIME}
32+
done

spk/owncloud/src/conf/PKG_DEPS

-2
This file was deleted.

spk/owncloud/src/conf/resource

+73
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
{
2+
"webservice": {
3+
"migrate": {
4+
"root": [{
5+
"new": "owncloud",
6+
"old": "owncloud"
7+
}]
8+
},
9+
"pkg_dir_prepare": [{
10+
"group": "http",
11+
"mode": "0750",
12+
"source": "/var/packages/owncloud/target/share/owncloud",
13+
"target": "owncloud",
14+
"user": "sc-owncloud"
15+
}],
16+
"portals": [{
17+
"alias": "owncloud",
18+
"app": "com.synocommunity.packages.owncloud",
19+
"display_name": "ownCloud",
20+
"name": "ownCloud",
21+
"service": "ownCloud",
22+
"type": "alias"
23+
}],
24+
"services": [{
25+
"backend": 2,
26+
"display_name": "ownCloud",
27+
"icon": "app/images/owncloud-{0}.png",
28+
"php": {
29+
"backend": 8,
30+
"connect_timeout": 120,
31+
"extensions": [
32+
"bcmath",
33+
"bz2",
34+
"curl",
35+
"gd",
36+
"gmp",
37+
"imagick",
38+
"imap",
39+
"intl",
40+
"ldap",
41+
"openssl",
42+
"pdo_sqlite",
43+
"sqlite3",
44+
"ssh2",
45+
"zip",
46+
"zlib"
47+
],
48+
"group": "http",
49+
"php_settings": {
50+
"error_log": "/var/services/web_packages/owncloud/php_errors.log",
51+
"max_execution_time": "900"
52+
},
53+
"profile_desc": "PHP Profile for ownCloud",
54+
"profile_name": "ownCloud Profile",
55+
"user": "sc-owncloud"
56+
},
57+
"read_timeout": 3600,
58+
"root": "owncloud",
59+
"send_timeout": 120,
60+
"service": "ownCloud",
61+
"type": "apache_php"
62+
}]
63+
},
64+
"data-share": {
65+
"shares": [{
66+
"name": "{{wizard_data_share}}",
67+
"permission": {
68+
"rw": ["sc-owncloud"]
69+
},
70+
"once": true
71+
}]
72+
}
73+
}

spk/owncloud/src/dsm-control.sh

-78
This file was deleted.

0 commit comments

Comments
 (0)