Skip to content

Commit 5d89960

Browse files
committed
Fixes following code review
1 parent 68b0763 commit 5d89960

File tree

4 files changed

+28
-61
lines changed

4 files changed

+28
-61
lines changed

spk/owncloud/Makefile

+5-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ REQUIRED_MIN_DSM = 6.0
1111

1212
MAINTAINER = ymartin59
1313
DESCRIPTION = ownCloud is a personal cloud which runs on your own server and gives you freedom and control over your own data.
14-
CHANGELOG = "1. Update ownCloud to 10.12.<br/>2. Use faster SQLite database.<br.>3. Use shared folder for data directory."
14+
CHANGELOG = "1. Update ownCloud to 10.12.<br/>2. Use faster SQLite database.<br/>3. Use shared folder for data directory."
1515
DISPLAY_NAME = ownCloud
1616
HOMEPAGE = https://owncloud.org/
1717
LICENSE = AGPL
@@ -21,6 +21,7 @@ SERVICE_USER = auto
2121
SERVICE_WIZARD_SHARE = wizard_data_share
2222
USE_DATA_SHARE_WORKER = yes
2323
SERVICE_SETUP = src/service-setup.sh
24+
SERVICE_COMMAND = $(INSTALL_PREFIX)/bin/owncloud-daemon
2425

2526
SYSTEM_GROUP = http
2627

@@ -38,6 +39,9 @@ POST_STRIP_TARGET = owncloud_extra_install
3839
# TMPDIR is used for owncloud built in backup and update
3940
USE_ALTERNATE_TMPDIR = 1
4041

42+
# Pure PHP package, make sure ARCH is not defined
43+
override ARCH=
44+
4145
include ../../mk/spksrc.spk.mk
4246

4347
.PHONY: owncloud_extra_install

spk/owncloud/src/service-setup.sh

+15-40
Original file line numberDiff line numberDiff line change
@@ -50,33 +50,13 @@ set_owncloud_permissions ()
5050
exec_occ() {
5151
PHP="/usr/local/bin/php74"
5252
OCC="${OCROOT}/occ"
53-
OCC_ARGS=()
54-
for arg in "$@"; do
55-
OCC_ARGS+=("$arg")
56-
done
57-
COMMAND="${PHP} ${OCC} ${OCC_ARGS[@]}"
53+
COMMAND="${PHP} ${OCC} $*"
5854
if [ ${SYNOPKG_DSM_VERSION_MAJOR} -lt 7 ]; then
59-
OCC_OUTPUT=$(/bin/su "$EFF_USER" -s /bin/sh -c "$COMMAND")
55+
/bin/su "$EFF_USER" -s /bin/sh -c "$COMMAND"
6056
else
61-
OCC_OUTPUT=$($COMMAND)
57+
$COMMAND
6258
fi
63-
OCC_EXIT_CODE=$?
64-
echo "$OCC_OUTPUT"
65-
return $OCC_EXIT_CODE
66-
}
67-
68-
service_prestart ()
69-
{
70-
# Replace generic service startup, fork process in background
71-
echo "Starting owncloud-daemon at ${SYNOPKG_PKGDEST}/bin" >> ${LOG_FILE}
72-
COMMAND="${SYNOPKG_PKGDEST}/bin/owncloud-daemon"
73-
${COMMAND} >> ${LOG_FILE} 2>&1 &
74-
echo "$!" > "${PID_FILE}"
75-
}
76-
77-
service_preinst ()
78-
{
79-
:
59+
return $?
8060
}
8161

8262
service_postinst ()
@@ -122,7 +102,7 @@ service_postinst ()
122102
# Check for ownCloud PHP profile
123103
if ! ${JQ} -e '.["com-synocommunity-packages-owncloud"]' "${WS_CFG_PATH}/${PHP_CFG_FILE}" >/dev/null; then
124104
echo "Add PHP profile for ownCloud"
125-
${JQ} --argfile ocNode ${SYNOPKG_PKGDEST}/web/owncloud.json '.["com-synocommunity-packages-owncloud"] = $ocNode' ${WS_CFG_PATH}/${PHP_CFG_FILE} > ${TEMPDIR}/${PHP_CFG_FILE}
105+
${JQ} --slurpfile ocNode ${SYNOPKG_PKGDEST}/web/owncloud.json '.["com-synocommunity-packages-owncloud"] = $ocNode[0]' ${WS_CFG_PATH}/${PHP_CFG_FILE} > ${TEMPDIR}/${PHP_CFG_FILE}
126106
${MV} ${WS_CFG_PATH}/${PHP_CFG_FILE} ${WS_CFG_PATH}/${PHP_CFG_FILE}.bak
127107
rsync -aX ${TEMPDIR}/${PHP_CFG_FILE} ${WS_CFG_PATH}/ 2>&1
128108
${RM} ${TEMPDIR}/${PHP_CFG_FILE}
@@ -312,11 +292,15 @@ service_postuninst ()
312292
${RM} ${TEMPDIR}/${PHP_CFG_FILE}
313293
CFG_UPDATE="yes"
314294
fi
315-
# Check for backup PHP template
316-
if [ -f "$WS_TMPL_PATH/$WS_TMPL_FILE.bak" ]; then
317-
echo "Restore PHP template from backup"
318-
${RM} ${WS_TMPL_PATH}/${WS_TMPL_FILE}
319-
${MV} ${WS_TMPL_PATH}/${WS_TMPL_FILE}.bak ${WS_TMPL_PATH}/${WS_TMPL_FILE}
295+
# Check for PHP template defaults
296+
if ! grep -q -E '^user = http$' "${WS_TMPL_PATH}/${WS_TMPL_FILE}" || ! grep -q -E '^listen\.owner = http$' "${WS_TMPL_PATH}/${WS_TMPL_FILE}"; then
297+
echo "Restore default PHP template"
298+
rsync -aX ${WS_TMPL_PATH}/${WS_TMPL_FILE} ${TEMPDIR}/ 2>&1
299+
SUBST_TEXT="{{#fpm_settings.user_owncloud}}sc-owncloud{{/fpm_settings.user_owncloud}}{{^fpm_settings.user_owncloud}}http{{/fpm_settings.user_owncloud}}"
300+
${SED} -i "s|^user = ${SUBST_TEXT}$|user = http|g; s|^listen.owner = ${SUBST_TEXT}$|listen.owner = http|g" "${TEMPDIR}/${WS_TMPL_FILE}"
301+
${MV} ${WS_TMPL_PATH}/${WS_TMPL_FILE} ${WS_TMPL_PATH}/${WS_TMPL_FILE}.bak
302+
rsync -aX ${TEMPDIR}/${WS_TMPL_FILE} ${WS_TMPL_PATH}/ 2>&1
303+
${RM} ${TEMPDIR}/${WS_TMPL_FILE}
320304
CFG_UPDATE="yes"
321305
fi
322306

@@ -368,6 +352,7 @@ service_save ()
368352
echo "Invalid data directory '$DATADIR'. Using the default data directory instead."
369353
DATADIR="${OCROOT}/data"
370354
fi
355+
# Check if data directory inside owncloud directory and flag for restore if true
371356
DATADIR_REAL=$(realpath "$DATADIR")
372357
WEBROOT_REAL=$(realpath "${OCROOT}")
373358
if echo "$DATADIR_REAL" | grep -q "^$WEBROOT_REAL"; then
@@ -495,13 +480,3 @@ service_restore ()
495480
${RM} ${SYNOPKG_TEMP_UPGRADE_FOLDER}/${SYNOPKG_PKGNAME}
496481
${RM} ${SYNOPKG_TEMP_UPGRADE_FOLDER}/db_backup
497482
}
498-
499-
service_preupgrade ()
500-
{
501-
:
502-
}
503-
504-
service_postupgrade ()
505-
{
506-
:
507-
}

spk/owncloud/src/wizard/uninstall_uifile.sh

+4-10
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,13 @@ OCROOT="${WEB_DIR}/${SYNOPKG_PKGNAME}"
2020
exec_occ() {
2121
PHP="/usr/local/bin/php74"
2222
OCC="${OCROOT}/occ"
23-
OCC_ARGS=()
24-
for arg in "$@"; do
25-
OCC_ARGS+=("$arg")
26-
done
27-
COMMAND="${PHP} ${OCC} ${OCC_ARGS[@]}"
23+
COMMAND="${PHP} ${OCC} $*"
2824
if [ ${SYNOPKG_DSM_VERSION_MAJOR} -lt 7 ]; then
29-
OCC_OUTPUT=$(/bin/su "$EFF_USER" -s /bin/sh -c "$COMMAND")
25+
/bin/su "$EFF_USER" -s /bin/sh -c "$COMMAND"
3026
else
31-
OCC_OUTPUT=$($COMMAND)
27+
$COMMAND
3228
fi
33-
OCC_EXIT_CODE=$?
34-
echo "$OCC_OUTPUT"
35-
return $OCC_EXIT_CODE
29+
return $?
3630
}
3731

3832
quote_json () {

spk/owncloud/src/wizard/uninstall_uifile_fre.sh

+4-10
Original file line numberDiff line numberDiff line change
@@ -20,19 +20,13 @@ OCROOT="${WEB_DIR}/${SYNOPKG_PKGNAME}"
2020
exec_occ() {
2121
PHP="/usr/local/bin/php74"
2222
OCC="${OCROOT}/occ"
23-
OCC_ARGS=()
24-
for arg in "$@"; do
25-
OCC_ARGS+=("$arg")
26-
done
27-
COMMAND="${PHP} ${OCC} ${OCC_ARGS[@]}"
23+
COMMAND="${PHP} ${OCC} $*"
2824
if [ ${SYNOPKG_DSM_VERSION_MAJOR} -lt 7 ]; then
29-
OCC_OUTPUT=$(/bin/su "$EFF_USER" -s /bin/sh -c "$COMMAND")
25+
/bin/su "$EFF_USER" -s /bin/sh -c "$COMMAND"
3026
else
31-
OCC_OUTPUT=$($COMMAND)
27+
$COMMAND
3228
fi
33-
OCC_EXIT_CODE=$?
34-
echo "$OCC_OUTPUT"
35-
return $OCC_EXIT_CODE
29+
return $?
3630
}
3731

3832
quote_json () {

0 commit comments

Comments
 (0)