diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 262 |
1 files changed, 140 insertions, 122 deletions
@@ -1,128 +1,149 @@ # Maintainer: robertfoster +# Missing PERL deps (at least for now) +# perl-geography-countries +# perl-socket-linux +# perl-unix-getrusage +# perl-io-sessiondata +# perl-mail-spamassassin +# perl-swatchdog +# perl-unix-syslog +# perl-crypt-saltedhash +# perl-db-file +# perl-xml-parser-lite -pkgname=( - 'zimbra' - 'zimbra-packages' -) +pkgname=zimbra pkgbase=zimbra -pkgver=8.8.15.p5 +pkgver=9.0.0.p9 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') +license=(CPAL) +depends=( +'java-runtime>=11' 'perl-archive-zip' 'perl-berkeleydb''perl-bit-vector' 'perl-cache-fastmmap' 'perl-canary-stability' 'perl-carp-clan' +'perl-class-inspector' 'perl-compress-raw-bzip2' 'perl-compress-raw-zlib' 'perl-config-inifiles' 'perl-convert-asn1' 'perl-convert-binhex' +'perl-convert-tnef' 'perl-convert-uulib' 'perl-crypt-openssl-random' 'perl-crypt-openssl-rsa' 'perl-crypt-saltedhash' 'perl-data-uuid' +'perl-date-calc' 'perl-date-manip' 'perl-db-file' 'perl-dbd-mysql' 'perl-dbd-sqlite' 'perl-dbi' 'perl-digest-hmac' 'perl-digest-sha1' +'perl-email-date-format' 'perl-encode-detect' 'perl-encode-locale' 'perl-error' 'perl-exporter-tiny' 'perl-extutils-constant' 'perl-file-grep' +'perl-file-libmagic' 'perl-file-listing' 'perl-file-tail' 'perl-filesys-df' 'perl-geography-countries' 'perl-html-parser' 'perl-http-cookies' +'perl-http-daemon' 'perl-http-date' 'perl-http-message' 'perl-http-negotiate' 'perl-io-compress' 'perl-io-html' 'perl-io-sessiondata' +'perl-io-socket-inet6' 'perl-io-socket-ip' 'perl-io-socket-ssl' 'perl-io-stringy' 'perl-ip-country' 'perl-json-pp' 'perl-libwww' 'perl-list-moreutils' +'perl-lwp-mediatypes' 'perl-lwp-protocol-https' 'perl-mail-dkim' 'perl-mail-spamassassin' 'perl-mail-spf' 'perl-mailtools' 'perl-math-bigint' +'perl-mime-lite' 'perl-mime-tools' 'perl-mime-types' 'perl-mozilla-ca' 'perl-net-cidr' 'perl-net-cidr-lite' 'perl-net-dns' 'perl-net-dns-resolver-programmable' +'perl-net-http' 'perl-net-ldapapi' 'perl-net-libidn' 'perl-net-server' 'perl-net-ssleay' 'perl-netaddr-ip' 'perl-parent' 'perl-proc-processtable' +'perl-soap-lite' 'perl-socket' 'perl-socket-linux' 'perl-storable' 'perl-swatchdog' 'perl-task-weaken' 'perl-term-readkey' 'perl-timedate' +'perl-unix-getrusage' 'perl-unix-syslog' 'perl-uri' 'perl-xml-parser' 'perl-xml-sax' 'perl-xml-sax-base' 'perl-xml-sax-expat') +optdepends=('innotop') 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` +_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" +_release="KEPLER" _releaseno="${pkgver%.*}" -_timestamp=`date +'%Y%m%d'` +_timestamp=$(date +'%Y%m%d') + +source=("git+https://github.com/Zimbra/zm-build#tag=${_releaseno}" # Repo list is synced with instructions/FOSS_repo_list.pl + "git+https://github.com/Zimbra/ant-1.7.0-ziputil-patched#tag=${_releaseno}" + "git+https://github.com/Zimbra/ant-tar-patched#tag=${_releaseno}" + "git+https://github.com/Zimbra/ical4j-0.9.16-patched#tag=${_releaseno}" + "git+https://github.com/kohlschutter/junixsocket#tag=junixsocket-parent-2.0.4" + "git+https://github.com/Zimbra/nekohtml-1.9.13#tag=${_releaseno}" + "git+https://github.com/Zimbra/java-html-sanitizer-release-20190610.1#tag=${_releaseno}" + "git+https://github.com/Zimbra/antisamy#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-admin-console#tag=${_releaseno}.p9" + "git+https://github.com/Zimbra/zm-admin-help-common#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-ajax#tag=${_releaseno}.p9" + "git+https://github.com/Zimbra/zm-admin-ajax#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-amavis#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-aspell#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-bulkprovision-admin-zimlet#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-bulkprovision-store#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-certificate-manager-admin-zimlet#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-certificate-manager-store#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-charset#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-clam-scanner-store#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-clientuploader-admin-zimlet#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-clientuploader-store#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-core-utils#tag=${_releaseno}.p9" + "git+https://github.com/Zimbra/zm-db-conf#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-dnscache#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-downloads#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-freshclam#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-help#tag=${_releaseno}.p9" + "git+https://github.com/Zimbra/zm-helptooltip-zimlet#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-jetty-conf#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-jython#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-launcher#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-ldap-utilities#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-ldap-utils-store#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-licenses#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-mailbox#tag=${_releaseno}.p9" + "git+https://github.com/Zimbra/zm-migration-tools#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-mta#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-nginx-conf#tag=${_releaseno}.p9" + "git+https://github.com/Zimbra/zm-nginx-lookup-store#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-openid-consumer-store#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-pkg-tool#tag=${_releaseno}.p7" + "git+https://github.com/Zimbra/zm-postfix#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-proxy-config-admin-zimlet#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-ssdb-ephemeral-store#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-taglib#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-timezones#tag=${_releaseno}.p9" + "git+https://github.com/Zimbra/zm-versioncheck-admin-zimlet#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-versioncheck-store#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-versioncheck-utilities#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-viewmail-admin-zimlet#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-web-client#tag=${_releaseno}.p9" + "git+https://github.com/Zimbra/zm-webclient-portal-example#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-zcs#tag=${_releaseno}" + "git+https://github.com/Zimbra/zm-zcs-lib#tag=${_releaseno}.p4" + "git+https://github.com/Zimbra/zm-zimlets#tag=${_releaseno}.p9" + "git+https://github.com/Zimbra/zm-oauth-social#tag=${_releaseno}.p7" + "git+https://github.com/Zimbra/zm-gql#tag=${_releaseno}" + "zimbra.sysusers" + "zimbra.tmpfiles" + "localconfig.xml" +) +noextract=() 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' \ + cd "$srcdir" + + # Bypass build.pl git checkout + sed -i 's/Checkout($all_repos)/#Checkout($all_repos)/g' \ + zm-build/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' \ + 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 + sed -i '/echo "OS not supported./{n;s/.*//}' \ + zm-build/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} \ + cd "$srcdir/zm-build" + + # 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=$pkgrel --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} \ @@ -131,29 +152,26 @@ build() { } 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" + cd "$srcdir" + cd .staging/${_os}-${_release}-${_major}${_minor}${_micro}-${_timestamp}-${_buildtype}-${pkgrel} + 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/* - # Using a pregenerated localconfig.xml to set JRE - install -D -m644 "${srcdir}/localconfig.xml" "${pkgdir}/opt/zimbra/conf/localconfig.xml" -} + # 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" -package_zimbra-packages() { - cd "$srcdir" + # Using a pregenerated localconfig.xml to set JRE + install -D -m644 "${srcdir}/localconfig.xml" "${pkgdir}/opt/zimbra/conf/localconfig.xml" } -md5sums=('0be0a8118803e607245bbd66404fd58c' + +md5sums=('SKIP' 'SKIP' 'SKIP' 'SKIP' |