From 9df8d6af7c76cb6a5084cab6895bd7c563facda3 Mon Sep 17 00:00:00 2001 From: Davide Frison Date: Fri, 12 Apr 2024 13:11:21 +0200 Subject: [PATCH 1/3] refactor: remove all jetty files --- appserver/PKGBUILD | 54 ---------------------------------------------- 1 file changed, 54 deletions(-) diff --git a/appserver/PKGBUILD b/appserver/PKGBUILD index e351690..efc0672 100644 --- a/appserver/PKGBUILD +++ b/appserver/PKGBUILD @@ -18,10 +18,7 @@ depends=( "carbonio-appserver-conf" "carbonio-appserver-service" "carbonio-appserver-db" - "carbonio-appserver-store-libs" - "carbonio-appserver-war" "carbonio-core" - "carbonio-jetty-distribution" "carbonio-mariadb" "carbonio-prometheus-mysqld-exporter" "carbonio-zal" @@ -57,54 +54,6 @@ package() { install -D conf/owasp_policy.xml \ "${pkgdir}/opt/zextras/conf/owasp_policy.xml" - install -D conf/jetty/jetty-setuid.xml \ - "${pkgdir}/opt/zextras/jetty_base/etc/jetty-setuid.xml" - - install -D conf/jetty/jetty.xml.production \ - "${pkgdir}/opt/zextras/jetty_base/etc/jetty.xml.in" - - install -D conf/jetty/jettyrc \ - "${pkgdir}/opt/zextras/jetty_base/etc/jettyrc" - - install -D conf/jetty/spnego/etc/krb5.ini \ - "${pkgdir}/opt/zextras/jetty_base/etc/krb5.ini.in" - - install -D conf/jetty/spnego/etc/spnego.conf \ - "${pkgdir}/opt/zextras/jetty_base/etc/spnego.conf.in" - - install -D conf/jetty/spnego/etc/spnego.properties \ - "${pkgdir}/opt/zextras/jetty_base/etc/spnego.properties.in" - - install -D conf/jetty/webdefault.xml \ - "${pkgdir}/opt/zextras/jetty_base/etc/webdefault.xml" - - install -D conf/jetty/zimbra.policy.example \ - "${pkgdir}/opt/zextras/jetty_base/etc/zimbra.policy.example" - - install -D conf/jetty/modules/deploy.mod \ - "${pkgdir}/opt/zextras/jetty_base/modules/deploy.mod" - - install -D conf/jetty/modules/mail.mod \ - "${pkgdir}/opt/zextras/jetty_base/modules/mail.mod" - - install -D conf/jetty/modules/npn/npn-1.7.0_51.mod \ - "${pkgdir}/opt/zextras/jetty_base/modules/npn" - - install -D conf/jetty/modules/rewrite.mod \ - "${pkgdir}/opt/zextras/jetty_base/modules/rewrite.mod" - - install -D conf/jetty/modules/setuid.mod.in \ - "${pkgdir}/opt/zextras/jetty_base/modules/setuid.mod.in" - - install -D conf/jetty/modules/zimbra.mod \ - "${pkgdir}/opt/zextras/jetty_base/modules/zimbra.mod" - - install -D conf/jetty/start.d/setuid.ini.in \ - "${pkgdir}/opt/zextras/jetty_base/start.d/setuid.ini.in" - - install -D conf/.emptyfile \ - "${pkgdir}/opt/zextras/jetty_base/temp/.emptyfile" - install -D ${srcdir}/zm-clam-scanner-store-22.3.0.jar \ -t "${pkgdir}/opt/zextras/lib/ext/clamscanner/" @@ -114,9 +63,6 @@ package() { install -D conf/hotspot_compiler \ "${pkgdir}/opt/zextras/log/.hotspot_compiler" - install -D conf/robots.txt \ - -t "${pkgdir}/opt/zextras/jetty_base/webapps/zimbra/" - # systemd unit mkdir -p "${pkgdir}/lib/systemd/system/${pkgname}.target.wants" install -Dm 644 "${srcdir}/${pkgname}.target" \ From 9a7bf3f9aafe42a4bc9bf2777f44a99385503e49 Mon Sep 17 00:00:00 2001 From: Gianluca Boiano <491117+M0Rf30@users.noreply.github.com> Date: Tue, 30 Apr 2024 13:00:45 +0200 Subject: [PATCH 2/3] chore: Release 23.5.0 + 4.1.3 (#19) chore: PKGBUILD: default systemd activation for rhel9 --- Jenkinsfile | 58 ++++++++++++------- appserver/PKGBUILD | 87 +++++++++++++++++++++++++++-- appserver/carbonio-appserver.target | 3 + 3 files changed, 125 insertions(+), 23 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 0eb4268..65328a3 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -46,7 +46,7 @@ pipeline { } } - stage('RHEL') { + stage('RHEL8') { agent { node { label 'yap-agent-rocky-8-v2' @@ -54,12 +54,29 @@ pipeline { } steps { unstash 'staging' - sh 'sudo yap build rocky . -s' - stash includes: 'artifacts/x86_64/*.rpm', name: 'artifacts-rpm' + sh 'sudo yap build rocky-8 . -s' + stash includes: 'artifacts/x86_64/*el8*.rpm', name: 'artifacts-rhel8' } post { always { - archiveArtifacts artifacts: "artifacts/x86_64/*.rpm", fingerprint: true + archiveArtifacts artifacts: "artifacts/x86_64/*el8*.rpm", fingerprint: true + } + } + } + stage('RHEL9') { + agent { + node { + label 'yap-agent-rocky-9-v2' + } + } + steps { + unstash 'staging' + sh 'sudo yap build rocky-9 . -s' + stash includes: 'artifacts/x86_64/*el9*.rpm', name: 'artifacts-rhel9' + } + post { + always { + archiveArtifacts artifacts: "artifacts/x86_64/*el9*.rpm", fingerprint: true } } } @@ -75,7 +92,8 @@ pipeline { } steps { unstash 'artifacts-deb' - unstash 'artifacts-rpm' + unstash 'artifacts-rhel8' + unstash 'artifacts-rhel9' script { def server = Artifactory.server 'zextras-artifactory' def buildInfo @@ -90,13 +108,13 @@ pipeline { "props": "deb.distribution=focal;deb.distribution=jammy;deb.component=main;deb.architecture=amd64" }, { - "pattern": "artifacts/x86_64/(carbonio-appserver)-(*).rpm", - "target": "centos8-playground/zextras/{1}/{1}-{2}.rpm", + "pattern": "artifacts/x86_64/(carbonio-appserver)-(*).el8.x86_64.rpm", + "target": "centos8-playground/zextras/{1}/{1}-{2}.el8.x86_64.rpm", "props": "rpm.metadata.arch=x86_64;rpm.metadata.vendor=zextras" }, { - "pattern": "artifacts/x86_64/(carbonio-appserver)-(*).rpm", - "target": "rhel9-playground/zextras/{1}/{1}-{2}.rpm", + "pattern": "artifacts/x86_64/(carbonio-appserver)-(*).el9.x86_64.rpm", + "target": "rhel9-playground/zextras/{1}/{1}-{2}.el9.x86_64.rpm", "props": "rpm.metadata.arch=x86_64;rpm.metadata.vendor=zextras" } ] @@ -111,7 +129,8 @@ pipeline { } steps { unstash 'artifacts-deb' - unstash 'artifacts-rpm' + unstash 'artifacts-rhel8' + unstash 'artifacts-rhel9' script { def server = Artifactory.server 'zextras-artifactory' def buildInfo @@ -126,13 +145,13 @@ pipeline { "props": "deb.distribution=focal;deb.distribution=jammy;deb.component=main;deb.architecture=amd64" }, { - "pattern": "artifacts/x86_64/(carbonio-appserver)-(*).rpm", - "target": "centos8-devel/zextras/{1}/{1}-{2}.rpm", + "pattern": "artifacts/x86_64/(carbonio-appserver)-(*).el8.x86_64.rpm", + "target": "centos8-devel/zextras/{1}/{1}-{2}.el8.x86_64.rpm", "props": "rpm.metadata.arch=x86_64;rpm.metadata.vendor=zextras" }, { - "pattern": "artifacts/x86_64/(carbonio-appserver)-(*).rpm", - "target": "rhel9-devel/zextras/{1}/{1}-{2}.rpm", + "pattern": "artifacts/x86_64/(carbonio-appserver)-(*).el9.x86_64.rpm", + "target": "rhel9-devel/zextras/{1}/{1}-{2}.el9.x86_64.rpm", "props": "rpm.metadata.arch=x86_64;rpm.metadata.vendor=zextras" } ] @@ -147,7 +166,8 @@ pipeline { } steps { unstash 'artifacts-deb' - unstash 'artifacts-rpm' + unstash 'artifacts-rhel8' + unstash 'artifacts-rhel9' script { def server = Artifactory.server 'zextras-artifactory' def buildInfo @@ -187,8 +207,8 @@ pipeline { uploadSpec= """{ "files": [ { - "pattern": "artifacts/x86_64/(carbonio-appserver)-(*).rpm", - "target": "centos8-rc/zextras/{1}/{1}-{2}.rpm", + "pattern": "artifacts/x86_64/(carbonio-appserver)-(*).el8.x86_64rpm", + "target": "centos8-rc/zextras/{1}/{1}-{2}.el8.x86_64.rpm", "props": "rpm.metadata.arch=x86_64;rpm.metadata.vendor=zextras" } ] @@ -214,8 +234,8 @@ pipeline { uploadSpec= """{ "files": [ { - "pattern": "artifacts/x86_64/(carbonio-appserver)-(*).rpm", - "target": "rhel9-rc/zextras/{1}/{1}-{2}.rpm", + "pattern": "artifacts/x86_64/(carbonio-appserver)-(*).el9.x86_64.rpm", + "target": "rhel9-rc/zextras/{1}/{1}-{2}.el9.x86_64.rpm", "props": "rpm.metadata.arch=x86_64;rpm.metadata.vendor=zextras" } ] diff --git a/appserver/PKGBUILD b/appserver/PKGBUILD index 9d625c2..ed6a455 100644 --- a/appserver/PKGBUILD +++ b/appserver/PKGBUILD @@ -1,5 +1,5 @@ pkgname="carbonio-appserver" -pkgver="4.1.2" +pkgver="4.1.3" pkgrel="1" pkgdesc="An open-source, community-driven email server" maintainer="Zextras " @@ -36,7 +36,7 @@ source=( sha256sums=( 'SKIP' 'SKIP' - '4723c403eb7d28d3158983999dd8adac8716870a63ff75e98744916f9efe64e4' + 'c067736a3d918bc1ca4cf9139b64776628287ccf6bb34ba9c09053a1741c4c6d' ) package() { @@ -124,7 +124,7 @@ package() { ln -sf "/lib/systemd/system/carbonio-configd.service" \ "${pkgdir}/lib/systemd/system/${pkgname}.target.wants/carbonio-configd.service" - ln -sf "/lib/systemd/system/carbonio-stats" \ + ln -sf "/lib/systemd/system/carbonio-stats.service" \ "${pkgdir}/lib/systemd/system/${pkgname}.target.wants/carbonio-stats.service" ln -sf "/lib/systemd/system/${pkgname}.service" \ "${pkgdir}/lib/systemd/system/${pkgname}.target.wants/${pkgname}.service" @@ -142,7 +142,7 @@ preinst() { fi } -postinst() { +postinst__apt() { H=$(hostname -s) if [ -f /opt/zextras/db/db.sql ]; then @@ -172,3 +172,82 @@ postinst() { /opt/zextras/libexec/zmfixperms fi } + +postinst__rocky_8() { + H=$(hostname -s) + + if [ -f /opt/zextras/db/db.sql ]; then + mv /opt/zextras/db/db.sql /opt/zextras/db/db.sql.in + sed -e "/server.hostname/ s/local/$H/" /opt/zextras/db/db.sql.in >/opt/zextras/db/db.sql + chown zextras:zextras /opt/zextras/db/db.sql* + chmod 440 /opt/zextras/db/db.sql* + fi + + (cd /opt/zextras && rm -f jetty && ln -s jetty_base jetty) + (cd /opt/zextras && rm -f mailboxd && ln -s jetty_base mailboxd) + + mkdir -p /opt/zextras/mailboxd/logs + chown zextras:zextras /opt/zextras/mailboxd/logs + + mkdir -p /opt/zextras/redolog + mkdir -p /opt/zextras/store + mkdir -p /opt/zextras/index + mkdir -p /opt/zextras/backup + chown zextras:zextras /opt/zextras/redolog /opt/zextras/store /opt/zextras/index /opt/zextras/backup + + if [ -d "/opt/zextras/mailboxd/work/zimbra" ]; then + find /opt/zextras/mailboxd/work/zimbra -exec touch {} \; 2>/dev/null + fi + + if [ -x "/opt/zextras/libexec/zmfixperms" ]; then + /opt/zextras/libexec/zmfixperms + fi +} + +postinst__rocky_9() { + H=$(hostname -s) + + if [ -f /opt/zextras/db/db.sql ]; then + mv /opt/zextras/db/db.sql /opt/zextras/db/db.sql.in + sed -e "/server.hostname/ s/local/$H/" /opt/zextras/db/db.sql.in >/opt/zextras/db/db.sql + chown zextras:zextras /opt/zextras/db/db.sql* + chmod 440 /opt/zextras/db/db.sql* + fi + + (cd /opt/zextras && rm -f jetty && ln -s jetty_base jetty) + (cd /opt/zextras && rm -f mailboxd && ln -s jetty_base mailboxd) + + mkdir -p /opt/zextras/mailboxd/logs + chown zextras:zextras /opt/zextras/mailboxd/logs + + mkdir -p /opt/zextras/redolog + mkdir -p /opt/zextras/store + mkdir -p /opt/zextras/index + mkdir -p /opt/zextras/backup + chown zextras:zextras /opt/zextras/redolog /opt/zextras/store /opt/zextras/index /opt/zextras/backup + + if [ -d "/opt/zextras/mailboxd/work/zimbra" ]; then + find /opt/zextras/mailboxd/work/zimbra -exec touch {} \; 2>/dev/null + fi + + if [ -x "/opt/zextras/libexec/zmfixperms" ]; then + /opt/zextras/libexec/zmfixperms + fi + + if [ -d /run/systemd/system ]; then + systemctl daemon-reload >/dev/null 2>&1 || : + systemctl enable carbonio-appserver.target >/dev/null 2>&1 || : + fi +} + +prerm__rocky_9() { + if [ -d /run/systemd/system ]; then + systemctl --no-reload disable --now carbonio-appserver.target >/dev/null 2>&1 || : + fi +} + +postrm__rocky_9() { + if [ -d /run/systemd/system ]; then + systemctl daemon-reload >/dev/null 2>&1 || : + fi +} diff --git a/appserver/carbonio-appserver.target b/appserver/carbonio-appserver.target index b4b1f17..1983204 100644 --- a/appserver/carbonio-appserver.target +++ b/appserver/carbonio-appserver.target @@ -5,3 +5,6 @@ Requires=multi-user.target After=multi-user.target PartOf=carbonio-ce.target carbonio.target AllowIsolate=yes + +[Install] +WantedBy=multi-user.target From 9ffc81aa6435402c85e89411c4e5e7437fd77d26 Mon Sep 17 00:00:00 2001 From: Davide Frison Date: Tue, 14 May 2024 12:26:04 +0200 Subject: [PATCH 3/3] chore: 4.2.0 + new build instructions --- appserver/PKGBUILD | 2 +- build_packages.sh | 32 +++++++++++++++++++++++--------- 2 files changed, 24 insertions(+), 10 deletions(-) diff --git a/appserver/PKGBUILD b/appserver/PKGBUILD index db87b2e..0f54a8f 100644 --- a/appserver/PKGBUILD +++ b/appserver/PKGBUILD @@ -1,5 +1,5 @@ pkgname="carbonio-appserver" -pkgver="4.1.2" +pkgver="4.2.0" pkgrel="1" pkgdesc="An open-source, community-driven email server" maintainer="Zextras " diff --git a/build_packages.sh b/build_packages.sh index 9d76978..9bd1510 100755 --- a/build_packages.sh +++ b/build_packages.sh @@ -4,16 +4,30 @@ # # SPDX-License-Identifier: GPL-2.0-only # +OS=$1 -TARGET=$1 - -if [[ ${TARGET} == '' || ${TARGET} == 'ubuntu-focal' ]] +if [[ -z $OS ]] then - docker run --entrypoint=yap -it -v $(pwd)/artifacts:/artifacts -v $(pwd):/tmp/staging registry.dev.zextras.com/jenkins/pacur/ubuntu-20.04:v2 build ubuntu-focal -c /tmp/staging -s -else - if [[ ${TARGET} == 'rocky-8' ]] - then - docker run --entrypoint=yap -it -v $(pwd)/artifacts:/artifacts -v $(pwd):/tmp/staging registry.dev.zextras.com/jenkins/pacur/rocky-8:v2 build rocky-8 -c /tmp/staging -s - fi + echo "Please provide an OS as argument: (ubuntu-jammy, rocky-8)" + exit 1 fi +echo "Building for OS: $OS" + +if [[ $OS == "ubuntu-jammy" ]] +then + docker run -it --rm \ + --entrypoint=yap \ + -v $(pwd)/artifacts/ubuntu-jammy:/artifacts \ + -v $(pwd):/tmp/staging \ + docker.io/m0rf30/yap-ubuntu-jammy:1.8 \ + build ubuntu-jammy /tmp/staging +elif [[ $OS == "rocky-8" ]] +then + docker run -it --rm \ + --entrypoint=yap \ + -v $(pwd)/artifacts/rocky-8:/artifacts \ + -v $(pwd):/tmp/staging \ + docker.io/m0rf30/yap-rocky-8:1.10 \ + build rocky-8 /tmp/staging +fi