diff options
-rw-r--r-- | .SRCINFO | 145 | ||||
-rw-r--r-- | PKGBUILD | 216 | ||||
-rw-r--r-- | localconfig.xml | 7 | ||||
-rw-r--r-- | zimbra.sysusers | 1 | ||||
-rw-r--r-- | zimbra.tmpfiles | 2 |
5 files changed, 371 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..a506462b8e67 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,145 @@ +pkgbase = zimbra + pkgdesc = An enterprise-class email calendar and collaboration solution built for the cloud both public and private + pkgver = 8.8.15.p5 + pkgrel = 1 + url = https://www.zimbra.com/open-source-email-overview/ + arch = x86_64 + license = CPAL + makedepends = maven + makedepends = ant + makedepends = java-hamcrest + makedepends = jdk8-openjdk + makedepends = junit + makedepends = lsb-release + makedepends = rsync + makedepends = ruby + depends = java-runtime>=11 + depends = perl-data-uuid + depends = perl-net-ldap-server + source = https://github.com/Zimbra/zm-build/archive/8.8.15.p5.tar.gz + source = git+https://github.com/Zimbra/ant-1.7.0-ziputil-patched + source = git+https://github.com/Zimbra/ant-tar-patched + source = git+https://github.com/Zimbra/ical4j-0.9.16-patched + source = git+https://github.com/kohlschutter/junixsocket#tag=junixsocket-parent-2.0.4 + source = git+https://github.com/Zimbra/nekohtml-1.9.13 + source = git+https://github.com/Zimbra/java-html-sanitizer-release-20190610.1 + source = git+https://github.com/Zimbra/antisamy#branch=develop + source = git+https://github.com/Zimbra/zm-admin-console + source = git+https://github.com/Zimbra/zm-admin-help-common + source = git+https://github.com/Zimbra/zm-ajax + source = git+https://github.com/Zimbra/zm-admin-ajax + source = git+https://github.com/Zimbra/zm-amavis + source = git+https://github.com/Zimbra/zm-aspell + source = git+https://github.com/Zimbra/zm-bulkprovision-admin-zimlet + source = git+https://github.com/Zimbra/zm-bulkprovision-store + source = git+https://github.com/Zimbra/zm-certificate-manager-admin-zimlet + source = git+https://github.com/Zimbra/zm-certificate-manager-store + source = git+https://github.com/Zimbra/zm-charset + source = git+https://github.com/Zimbra/zm-clam-scanner-store + source = git+https://github.com/Zimbra/zm-clientuploader-admin-zimlet + source = git+https://github.com/Zimbra/zm-clientuploader-store + source = git+https://github.com/Zimbra/zm-core-utils + source = git+https://github.com/Zimbra/zm-db-conf + source = git+https://github.com/Zimbra/zm-dnscache + source = git+https://github.com/Zimbra/zm-downloads + source = git+https://github.com/Zimbra/zm-freshclam + source = git+https://github.com/Zimbra/zm-help + source = git+https://github.com/Zimbra/zm-helptooltip-zimlet + source = git+https://github.com/Zimbra/zm-jetty-conf + source = git+https://github.com/Zimbra/zm-jython + source = git+https://github.com/Zimbra/zm-launcher + source = git+https://github.com/Zimbra/zm-ldap-utilities + source = git+https://github.com/Zimbra/zm-ldap-utils-store + source = git+https://github.com/Zimbra/zm-licenses + source = git+https://github.com/Zimbra/zm-mailbox + source = git+https://github.com/Zimbra/zm-migration-tools + source = git+https://github.com/Zimbra/zm-mta + source = git+https://github.com/Zimbra/zm-nginx-conf + source = git+https://github.com/Zimbra/zm-nginx-lookup-store + source = git+https://github.com/Zimbra/zm-openid-consumer-store + source = git+https://github.com/Zimbra/zm-pkg-tool + source = git+https://github.com/Zimbra/zm-postfix + source = git+https://github.com/Zimbra/zm-proxy-config-admin-zimlet + source = git+https://github.com/Zimbra/zm-ssdb-ephemeral-store + source = git+https://github.com/Zimbra/zm-taglib + source = git+https://github.com/Zimbra/zm-timezones + source = git+https://github.com/Zimbra/zm-versioncheck-admin-zimlet + source = git+https://github.com/Zimbra/zm-versioncheck-store + source = git+https://github.com/Zimbra/zm-versioncheck-utilities + source = git+https://github.com/Zimbra/zm-viewmail-admin-zimlet + source = git+https://github.com/Zimbra/zm-web-client + source = git+https://github.com/Zimbra/zm-webclient-portal-example + source = git+https://github.com/Zimbra/zm-zcs + source = git+https://github.com/Zimbra/zm-zcs-lib + source = git+https://github.com/Zimbra/zm-zimlets + source = git+https://github.com/Zimbra/zm-oauth-social + source = git+https://github.com/Zimbra/zm-gql + source = zimbra.sysusers + source = zimbra.tmpfiles + source = localconfig.xml + md5sums = 0be0a8118803e607245bbd66404fd58c + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = SKIP + md5sums = 21b3bdbcb2d23357104122df3de217b5 + md5sums = 84ad300287d602d4d6b2601748ddbaac + md5sums = 66f2930f13484ae782a162e8e7da28c1 + +pkgname = zimbra + +pkgname = zimbra-packages + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..9f57dbfb805e --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,216 @@ +# Maintainer: robertfoster + +pkgname=( + 'zimbra' + 'zimbra-packages' +) +pkgbase=zimbra +pkgver=8.8.15.p5 +pkgrel=1 +pkgdesc="An enterprise-class email calendar and collaboration solution built for the cloud both public and private" +arch=(x86_64) +url="https://www.zimbra.com/open-source-email-overview/" +license=('CPAL') +depends=('java-runtime>=11' 'perl-data-uuid' 'perl-net-ldap-server') +makedepends=('maven' 'ant' 'java-hamcrest' 'jdk8-openjdk' 'junit' 'lsb-release' 'rsync' 'ruby') +install= +source=("https://github.com/Zimbra/zm-build/archive/$pkgver.tar.gz" # Repo list is synced with instructions/FOSS_repo_list.pl + "git+https://github.com/Zimbra/ant-1.7.0-ziputil-patched" + "git+https://github.com/Zimbra/ant-tar-patched" + "git+https://github.com/Zimbra/ical4j-0.9.16-patched" + "git+https://github.com/kohlschutter/junixsocket#tag=junixsocket-parent-2.0.4" + "git+https://github.com/Zimbra/nekohtml-1.9.13" + "git+https://github.com/Zimbra/java-html-sanitizer-release-20190610.1" + "git+https://github.com/Zimbra/antisamy#branch=develop" + "git+https://github.com/Zimbra/zm-admin-console" + "git+https://github.com/Zimbra/zm-admin-help-common" + "git+https://github.com/Zimbra/zm-ajax" + "git+https://github.com/Zimbra/zm-admin-ajax" + "git+https://github.com/Zimbra/zm-amavis" + "git+https://github.com/Zimbra/zm-aspell" + "git+https://github.com/Zimbra/zm-bulkprovision-admin-zimlet" + "git+https://github.com/Zimbra/zm-bulkprovision-store" + "git+https://github.com/Zimbra/zm-certificate-manager-admin-zimlet" + "git+https://github.com/Zimbra/zm-certificate-manager-store" + "git+https://github.com/Zimbra/zm-charset" + "git+https://github.com/Zimbra/zm-clam-scanner-store" + "git+https://github.com/Zimbra/zm-clientuploader-admin-zimlet" + "git+https://github.com/Zimbra/zm-clientuploader-store" + "git+https://github.com/Zimbra/zm-core-utils" + "git+https://github.com/Zimbra/zm-db-conf" + "git+https://github.com/Zimbra/zm-dnscache" + "git+https://github.com/Zimbra/zm-downloads" + "git+https://github.com/Zimbra/zm-freshclam" + "git+https://github.com/Zimbra/zm-help" + "git+https://github.com/Zimbra/zm-helptooltip-zimlet" + "git+https://github.com/Zimbra/zm-jetty-conf" + "git+https://github.com/Zimbra/zm-jython" + "git+https://github.com/Zimbra/zm-launcher" + "git+https://github.com/Zimbra/zm-ldap-utilities" + "git+https://github.com/Zimbra/zm-ldap-utils-store" + "git+https://github.com/Zimbra/zm-licenses" + "git+https://github.com/Zimbra/zm-mailbox" + "git+https://github.com/Zimbra/zm-migration-tools" + "git+https://github.com/Zimbra/zm-mta" + "git+https://github.com/Zimbra/zm-nginx-conf" + "git+https://github.com/Zimbra/zm-nginx-lookup-store" + "git+https://github.com/Zimbra/zm-openid-consumer-store" + "git+https://github.com/Zimbra/zm-pkg-tool" + "git+https://github.com/Zimbra/zm-postfix" + "git+https://github.com/Zimbra/zm-proxy-config-admin-zimlet" + "git+https://github.com/Zimbra/zm-ssdb-ephemeral-store" + "git+https://github.com/Zimbra/zm-taglib" + "git+https://github.com/Zimbra/zm-timezones" + "git+https://github.com/Zimbra/zm-versioncheck-admin-zimlet" + "git+https://github.com/Zimbra/zm-versioncheck-store" + "git+https://github.com/Zimbra/zm-versioncheck-utilities" + "git+https://github.com/Zimbra/zm-viewmail-admin-zimlet" + "git+https://github.com/Zimbra/zm-web-client" + "git+https://github.com/Zimbra/zm-webclient-portal-example" + "git+https://github.com/Zimbra/zm-zcs" + "git+https://github.com/Zimbra/zm-zcs-lib" + "git+https://github.com/Zimbra/zm-zimlets" + "git+https://github.com/Zimbra/zm-oauth-social" + "git+https://github.com/Zimbra/zm-gql" +# "packages::git+https://github.com/Zimbra/packages#branch=bugfix/ZCS-6172" + "zimbra.sysusers" + "zimbra.tmpfiles" + "localconfig.xml" +) +noextract=() + +# Zimbra Configuration Variables +_buildno=3869 +_buildtype="FOSS" +_major=`echo "${pkgver}" | cut -d'.' -f1` +_micro=`echo "${pkgver}" | cut -d'.' -f3` +_minor=`echo "${pkgver}" | cut -d'.' -f2` +_os="Arch" +_ostag="urolling" +_rc="GA" +_release="JOULES" +_releaseno="${pkgver%.*}" +_timestamp=`date +'%Y%m%d'` + +prepare() { + cd "$srcdir" + + # Bypass build.pl git checkout + sed -i 's/Checkout($all_repos)/#Checkout($all_repos)/g' \ + "zm-build-$pkgver"/build.pl + + # Bypass deb generation + sed -i 's/Die("Unknown PACKAGING format");/print("Arch Linux PACKAGING format\n");/g' \ + zm-pkg-tool/pkg-build.pl + sed -i 's/return "deb"/return "tar.xz"/g' \ + zm-pkg-tool/pkg-build.pl + sed -i '/echo "OS not supported./{n;s/.*//}' \ + "zm-build-$pkgver"/instructions/bundling-scripts/utils.sh + + # Fix zimbra-package-stub RELEASE descriptors + mkdir -p zimbra-package-stub/version + echo "${_major}" > zimbra-package-stub/version/MAJOR + echo "${_minor}" > zimbra-package-stub/version/MINOR + echo "${_micro}_${_rc}" > zimbra-package-stub/version/MICRO +} + +build() { + cd "$srcdir/zm-build-$pkgver" + + # Set JDK 8 as runtime + export JAVA_HOME=/usr/lib/jvm/java-8-openjdk + export JAVA_PATH=/usr/lib/jvm/java-8-openjdk/bin + + # Let's build for real now + ./build.pl -build-no=${_buildno} --build-ts=${_timestamp} \ + --build-release=${_release} --build-release-no=${_releaseno} \ + --build-os=${_os} --build-release-candidate=${_rc} --build-type=${_buildtype} \ + --build-arch=$CARCH --pkg-os-tag=${_ostag} \ + --build-thirdparty-server=files.zimbra.com --no-interactive \ + --build-prod-flag --disable-bundle --ant-options="-DskipTests=1" +} + +package_zimbra() { + cd "$srcdir" + cd .staging/${_os}-${_release}-${_major}${_minor}${_micro}-${_timestamp}-${_buildtype}-${_buildno} + find . -type d -name "opt" -exec rsync -av {} "$pkgdir" \; + find . -type d -name "opt" | xargs rm -rf + find . -type d -name "etc" -exec rsync -av {} "$pkgdir" \; + find . -type d -name "etc" | xargs rm -rf + rsync -av "$srcdir/zm-mailbox/build/stage/zimbra-common-core-jar/opt" "$pkgdir" + chmod 750 -R $pkgdir/etc/sudoers.d + chmod +x $pkgdir/opt/zimbra/bin/* + + # systemd + # install -D -m644 "${srcdir}/zimbra.service" -t "${pkgdir}/usr/lib/systemd/system" + install -D -m644 "${srcdir}/zimbra.sysusers" "${pkgdir}/usr/lib/sysusers.d/zimbra.conf" + install -D -m644 "${srcdir}/zimbra.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/zimbra.conf" + + # Using a pregenerated localconfig.xml to set JRE + install -D -m644 "${srcdir}/localconfig.xml" "${pkgdir}/opt/zimbra/conf/localconfig.xml" +} + +package_zimbra-packages() { + cd "$srcdir" +} +md5sums=('0be0a8118803e607245bbd66404fd58c' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + 'SKIP' + '21b3bdbcb2d23357104122df3de217b5' + '84ad300287d602d4d6b2601748ddbaac' + '66f2930f13484ae782a162e8e7da28c1') diff --git a/localconfig.xml b/localconfig.xml new file mode 100644 index 000000000000..aaed18bff3a5 --- /dev/null +++ b/localconfig.xml @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<localconfig> + <key name="zimbra_java_home"> + <value>/usr/lib/jvm/java-13-openjdk/</value> + </key> +</localconfig> diff --git a/zimbra.sysusers b/zimbra.sysusers new file mode 100644 index 000000000000..fafa82937818 --- /dev/null +++ b/zimbra.sysusers @@ -0,0 +1 @@ +u zimbra - "Zimbra" /opt/zimbra /bin/bash diff --git a/zimbra.tmpfiles b/zimbra.tmpfiles new file mode 100644 index 000000000000..8c7bcf955cd5 --- /dev/null +++ b/zimbra.tmpfiles @@ -0,0 +1,2 @@ +Z /opt/zimbra/ 0755 zimbra zimbra + |