package-pipeline-nextcloud/nextcloud-29-app-news/package.sh

69 lines
2.7 KiB
Bash
Raw Normal View History

#!/bin/bash
. ../.skel/nextcloud-app/build-nextcloud-app
function pre_fetch() {
# Filter from .skel/build-nextcloud-app, but with restriction to stable versions removed
export _NCAPPS_JQ='.[] | select(.id == $app) | .releases[] | "\(.version) \(.download) \(.rawPlatformVersionSpec)"'
}
function _prepare() {
mkdir -p \
"${PKGDIR}/DEBIAN" \
"${PKGDIR}/usr/share/doc/${PKGNAME}" \
"${PKGDIR}/usr/lib/nextcloud/nextcloud-apps"
VERSION=$(cat "${SRCDIR}/${APP}/appinfo/info.xml" | xq-python -r .info.version | sed -re 's/-/~/g')
SUMMARY=$(cat "${SRCDIR}/${APP}/appinfo/info.xml" | xq-python -r '.info.summary | if type == "array" then (.[] | select(.["@lang"]=="en") | .["#text"]) else (.) end')
DESCRIPTION=$(cat "${SRCDIR}/${APP}/appinfo/info.xml" | xq-python -r '.info.description | if type == "array" then (.[] | select(.["@lang"]=="en") | .["#text"]) else (.) end')
PHP_MIN=$(cat "${SRCDIR}/${APP}/appinfo/info.xml" | xq-python -r '.info.dependencies.php."@min-version"')
PHP_MAX=$(cat "${SRCDIR}/${APP}/appinfo/info.xml" | xq-python -r '.info.dependencies.php."@max-version"')
PHP_DEP=""
# #f [[ "${PHP_MIN}" != "null" ]]; then
# PHP_DEP="${PHP_DEP}, php (>= ${PHP_MIN})"
# fi
# if [[ "${PHP_MAX}" != "null" ]]; then
# # awk increments the last version component, from https://stackoverflow.com/a/69489163
# PHP_MAX=$(echo "${PHP_MAX}" | awk -F. -v OFS=. '{$NF=$NF+1;print}')
# PHP_DEP="${PHP_DEP}, php (<< ${PHP_MAX})"
# fi
cp -r "${SRCDIR}/${APP}" "${PKGDIR}/usr/lib/nextcloud/nextcloud-apps/${APP}"
cat > "${PKGDIR}/DEBIAN/control" <<EOF
Package: ${PKGNAME}
Version: ${VERSION}
Maintainer: ${MAINTAINER}
Section: web
Priority: optional
Architecture: ${ARCH}
Depends: nextcloud-${NCMAJOR}${PHP_DEP}${ADDITIONAL_DEPS}
Provides: nextcloud-app-${APP//_/-}
Conflicts: nextcloud-app-${APP//_/-}
Description: ${SUMMARY}
$(echo ${DESCRIPTION} | fold --width=71 --spaces | sed -re 's/^([^ ])/ \1/g')
EOF
cat > "${PKGDIR}/DEBIAN/postinst" <<EOF
#!/bin/bash
set -exo pipefail
if [[ "\$1" == "configure" ]]; then
$(declare -f postinst_configure_pre | sed -e '1,2d' -e '$d')
# Only run migrations if nextcloud is installed and the app is enabled
if [[ -z "\$(grep installed /var/lib/nextcloud/webroot/config/config.php | grep false)" && \\
-n \$(sudo -u www-data php /var/lib/nextcloud/webroot/occ app:list | grep -B 10000 '^Disabled:' | grep -- "- ${APP}:") ]]; then
sudo -u www-data php /var/lib/nextcloud/webroot/occ upgrade
sudo -u www-data php /var/lib/nextcloud/webroot/occ maintenance:mode --off
fi
$(declare -f postinst_configure_post | sed -e '1,2d' -e '$d')
fi
EOF
}
post_prepare() {
github_changelog nextcloud/news
}
build_nextcloud_app news 29