Zimbra 9 - FOSS
- ianw1974
- Outstanding Member
- Posts: 235
- Joined: Sat Sep 13, 2014 12:45 am
- Location: UK and Poland
- Contact:
Re: Zimbra 9 - FOSS
No problem
Only thing is it's 9.0.0p14 for all the builds so far. So no patch updates. This is building as per their docs from the develop branch. There is however a 9.0.0p19 tag, so perhaps I can check it out with git, and build and see if I do get a 9.0.0p19 build after this. I can't see though how the 9.0.0p19 tag can be any different, since it was created from the develop branch which has the same commits. Maybe they forgot to update the version info output from zmcontrol. Disappointing to say the least though.
Only thing is it's 9.0.0p14 for all the builds so far. So no patch updates. This is building as per their docs from the develop branch. There is however a 9.0.0p19 tag, so perhaps I can check it out with git, and build and see if I do get a 9.0.0p19 build after this. I can't see though how the 9.0.0p19 tag can be any different, since it was created from the develop branch which has the same commits. Maybe they forgot to update the version info output from zmcontrol. Disappointing to say the least though.
Re: Zimbra 9 - FOSS
Very odd that updates seem to resurface again for FOSS...
Had a look after reading P21 was released and was supprised finding the patches.
Code: Select all
The following packages will be upgraded:
zimbra-apache-components zimbra-httpd zimbra-spell-components
- ianw1974
- Outstanding Member
- Posts: 235
- Joined: Sat Sep 13, 2014 12:45 am
- Location: UK and Poland
- Contact:
Re: Zimbra 9 - FOSS
My Zimbra Build Script now supports building Zimbra for Ubuntu 20.04 now. Ubuntu 20.04 build available for download also if wanting to save time rather than build from the script . Available in the same place as all my other links here in this thread.
-
- Posts: 14
- Joined: Tue Dec 03, 2013 3:57 am
- Location: Poznan, Poland
- ZCS/ZD Version: ZCS 9.0.0 Network Edition
- Contact:
Re: Zimbra 9 - FOSS
Hi all!
For all Zimbra Open Source fans, we have prepared Zimbra 9 FOSS edition with the newest patch 21!
Patches depend on the zimbra-patch package which the newest version is available only for Zimbra 9 NE. So, we've created our own that is cleaned from all Zimbra Network Edition components.
We also made some small changes in the Zimbra build process to make the process of Zimbra 9 FOSS installation possible. Details here: https://github.com/INTALIO/zimbra9FOSS
If you don't want to recompile the Zimbra by yourself, you can use our compiled and ready to install version of Zimbra 9 FOSS (download available at https://www.zintalio.com site)
For now, we have version for Ubuntu 18.04LTS. Next distros available soon.
Regards
Tomek
For all Zimbra Open Source fans, we have prepared Zimbra 9 FOSS edition with the newest patch 21!
Patches depend on the zimbra-patch package which the newest version is available only for Zimbra 9 NE. So, we've created our own that is cleaned from all Zimbra Network Edition components.
We also made some small changes in the Zimbra build process to make the process of Zimbra 9 FOSS installation possible. Details here: https://github.com/INTALIO/zimbra9FOSS
If you don't want to recompile the Zimbra by yourself, you can use our compiled and ready to install version of Zimbra 9 FOSS (download available at https://www.zintalio.com site)
For now, we have version for Ubuntu 18.04LTS. Next distros available soon.
Regards
Tomek
Re: Zimbra 9 - FOSS
Hi Tomek!Tomek Makiela wrote:Hi all!
For all Zimbra Open Source fans, we have prepared Zimbra 9 FOSS edition with the newest patch 21!
If you don't want to recompile the Zimbra by yourself, you can use our compiled and ready to install version of Zimbra 9 FOSS (download available at https://www.zintalio.com site)
For now, we have version for Ubuntu 18.04LTS. Next distros available soon.
I found the following information on website:
"Due to the changes in the Zimbra github source repository, the standard Zimbra 9 build process results in the compilation of Zimbra 9.x which is the development version (probably 9.1) of Zimbra Collaboration Suite. This development version is not compatible with other Zimbra core components and Zimbra patches. We have managed to compile Zimbra 9 from sources as close as possible to the Zimbra 9 Network Editon.
Unfortunatelly, for those who downloaded our Zimbra 9 FOSS version before 1.1.2022, there is no easy path to downgrade to the our newest version. The easiest way is to uninstall the old Zimbra version and install the newest one. "
Do I understand correctly that all the builds you made before 01\01\2022 were, in fact, beta version 9.1, instead of stable 9.0?
-
- Posts: 14
- Joined: Tue Dec 03, 2013 3:57 am
- Location: Poznan, Poland
- ZCS/ZD Version: ZCS 9.0.0 Network Edition
- Contact:
Re: Zimbra 9 - FOSS
Hi GlooM,
What we have found when we've analyzed the build process and Zimbra github repository, is that the standard Zimbra compilation made with zmbuild script, available in github master branch, is not the same as Zimbra 9.0 NE version (putting aside NE components). It contains changes that are probably development version (they aren't in patches, either).
It's hard to say if it is 9.x or any next Zimbra version.
Additionally, this compilation is incompatible with 9.0 patches which are delivered via Zimbra package (apt, rpm) repositories.
We have compared the standard Zimbra 9.0 NE version to github source codes, and rewritten zmbuild script to create our Zimbra 9 FOSS compilation, as source compatible as possible.
Regards,
Tomek
What we have found when we've analyzed the build process and Zimbra github repository, is that the standard Zimbra compilation made with zmbuild script, available in github master branch, is not the same as Zimbra 9.0 NE version (putting aside NE components). It contains changes that are probably development version (they aren't in patches, either).
It's hard to say if it is 9.x or any next Zimbra version.
Additionally, this compilation is incompatible with 9.0 patches which are delivered via Zimbra package (apt, rpm) repositories.
We have compared the standard Zimbra 9.0 NE version to github source codes, and rewritten zmbuild script to create our Zimbra 9 FOSS compilation, as source compatible as possible.
Regards,
Tomek
Re: Zimbra 9 - FOSS
develop generally contains 9.0. Many things are interoperable between 8.8 and 9.1.
Take a look at the build config file in the zm-build directory. It has some samples on git tag and branch overrides.
zm-build will default to develop, and that can be changed in the config file.
You can also override them such as:
So you've got the base branch (generally p9 is base for 8.8.15)
Then for each repo, you'll have to look at the tags, or write a script to search for the latest patch tag. (This is really annoying, I know!)
Then if you wish to cherry-pick bug fixes, then find the pull request in the repo.
-git-overrides zm-mailbox.branch=bugfix/ZCS-1x
Where ZCS-1 would have been the PR.
The challenge will be cherry-picking. I'm going to be blunt, and many will not believe me, but those branches are a HUGE headache. Even internally when I'm fixing issues, I have trouble with the order and figuring out the latest branch.
In general, try to stay with the latest patch tagged in the repo. So if p30 for 8.8 doesn't exist, use the last one.
This isn't because we hide the p30 branch. It's because there isn't one because the issues fixed in p30 are not applicable to that repository.
This is a byproduct of moving to GitHub, and not a nefarious thing. Zimbra has always been a sort of Frankenstein of products with our own MySQL, LDAP, and java builds. As we moved to Github and out of perforce, this stupid problem raised its ugly head.
As Zimbra evolves, we hope to publish tags in a way where they can be grabbed. Something like a matrix. We have internal conversations and a Jenkins server where development keeps track of them, but at the moment, we have no plans to export that data. Our hands are pretty full as we've moved to 2 patches a month release cycle (wahoo!). But it means very fast fixes on 2 branches(8.8.15 and 9.1).
Unless specifically tagged, develop is 9.1. When 9.1 is GA, 9.0 will get its own base branch based on a common patch with gitoverrides for each patch needed for each repo. It's not pretty, but as I said, Jenkins handles most of this for us.
Hope this helps!
Edit: Tomek, you guys should have forked zmbuild and then created branches within your own to pull down stream. There are going to be a lot of changes in the near future, and it's going to be hard to find all and do a difff then commit them.
Take a look at the build config file in the zm-build directory. It has some samples on git tag and branch overrides.
zm-build will default to develop, and that can be changed in the config file.
You can also override them such as:
Code: Select all
./build.pl --ant-options -DskipTests=true --git-default-branch=8.8.15p9 --build-release-no=8.8.15 --git-overrides zm-mailbox.branch=bugfix/ZCS-1x --git-overrides zm-zcs.branch=bugfix/ZCS-1x --build-type=FOSS
Then for each repo, you'll have to look at the tags, or write a script to search for the latest patch tag. (This is really annoying, I know!)
Then if you wish to cherry-pick bug fixes, then find the pull request in the repo.
-git-overrides zm-mailbox.branch=bugfix/ZCS-1x
Where ZCS-1 would have been the PR.
The challenge will be cherry-picking. I'm going to be blunt, and many will not believe me, but those branches are a HUGE headache. Even internally when I'm fixing issues, I have trouble with the order and figuring out the latest branch.
In general, try to stay with the latest patch tagged in the repo. So if p30 for 8.8 doesn't exist, use the last one.
This isn't because we hide the p30 branch. It's because there isn't one because the issues fixed in p30 are not applicable to that repository.
This is a byproduct of moving to GitHub, and not a nefarious thing. Zimbra has always been a sort of Frankenstein of products with our own MySQL, LDAP, and java builds. As we moved to Github and out of perforce, this stupid problem raised its ugly head.
As Zimbra evolves, we hope to publish tags in a way where they can be grabbed. Something like a matrix. We have internal conversations and a Jenkins server where development keeps track of them, but at the moment, we have no plans to export that data. Our hands are pretty full as we've moved to 2 patches a month release cycle (wahoo!). But it means very fast fixes on 2 branches(8.8.15 and 9.1).
Unless specifically tagged, develop is 9.1. When 9.1 is GA, 9.0 will get its own base branch based on a common patch with gitoverrides for each patch needed for each repo. It's not pretty, but as I said, Jenkins handles most of this for us.
Hope this helps!
Edit: Tomek, you guys should have forked zmbuild and then created branches within your own to pull down stream. There are going to be a lot of changes in the near future, and it's going to be hard to find all and do a difff then commit them.
Re: Zimbra 9 - FOSS
hi, after last own build and instalation i cannot get gui working. This error is shown on page and in logs. does anyone know what it could be?
Code: Select all
HTTP ERROR 500 java.lang.NoClassDefFoundError: Could not initialize class com.zimbra.soap.JaxbUtil
URI: /
STATUS: 500
MESSAGE: java.lang.NoClassDefFoundError: Could not initialize class com.zimbra.soap.JaxbUtil
SERVLET: default
CAUSED BY: java.lang.NoClassDefFoundError: Could not initialize class com.zimbra.soap.JaxbUtil
Caused by:
java.lang.NoClassDefFoundError: Could not initialize class com.zimbra.soap.JaxbUtil
at com.zimbra.cs.account.soap.SoapProvisioning.invokeJaxb(SoapProvisioning.java:727)
at com.zimbra.cs.account.soap.SoapProvisioning.getDomainInfo(SoapProvisioning.java:1602)
at com.zimbra.cs.servlet.SetHeaderFilter.getResponseHeaders(SetHeaderFilter.java:110)
at com.zimbra.cs.servlet.SetHeaderFilter.addZimbraResponseHeaders(SetHeaderFilter.java:96)
at com.zimbra.cs.servlet.SetHeaderFilter.doFilter(SetHeaderFilter.java:82)
at com.zimbra.webClient.filters.SetHeaderFilter.doFilter(SetHeaderFilter.java:258)
at com.zimbra.cs.servlet.SetHeaderFilter.doFilter(SetHeaderFilter.java:58)
at com.zimbra.webClient.filters.SetHeaderFilter.doFilter(SetHeaderFilter.java:248)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
at com.zimbra.cs.servlet.ContextPathBasedThreadPoolBalancerFilter.doFilter(ContextPathBasedThreadPoolBalancerFilter.java:107)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
at com.zimbra.cs.servlet.ZimbraQoSFilter.doFilter(ZimbraQoSFilter.java:116)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
at org.eclipse.jetty.servlets.DoSFilter.doFilterChain(DoSFilter.java:487)
at org.eclipse.jetty.servlets.DoSFilter.doFilter(DoSFilter.java:336)
at org.eclipse.jetty.servlets.DoSFilter.doFilter(DoSFilter.java:301)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
at com.zimbra.webClient.filters.CharEncodingFilter.doFilter(CharEncodingFilter.java:37)
at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1601)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:548)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:571)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:234)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:146)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.rewrite.handler.RewriteHandler.handle(RewriteHandler.java:322)
at org.eclipse.jetty.server.handler.gzip.GzipHandler.handle(GzipHandler.java:763)
at org.eclipse.jetty.server.handler.DebugHandler.handle(DebugHandler.java:80)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
at org.eclipse.jetty.server.Server.handle(Server.java:516)
at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)
at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.onFillable(SslConnection.java:555)
at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:410)
at org.eclipse.jetty.io.ssl.SslConnection$2.succeeded(SslConnection.java:164)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
at java.base/java.lang.Thread.run(Thread.java:833)
Re: Zimbra 9 - FOSS
I had the very same issue. You can either downgrade zimbra-openjdk to version 13, or update the mailboxd_java_options. Here's a working set of options (got it from a fresh install of 9.0.0.p25, not an upgrade)
Code: Select all
zmlocalconfig -e mailboxd_java_options="-server -Dhttps.protocols=TLSv1.2 -Djdk.tls.client.protocols=TLSv1.2 -Djava.awt.headless=true -Dsun.net.inetaddr.ttl=${networkaddress_cache_ttl} -Dorg.apache.jasper.compiler.disablejsr199=true -XX:+UseG1GC -XX:SoftRefLRUPolicyMSPerMB=1 -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=15 -XX:G1MaxNewSizePercent=45 -XX:-OmitStackTraceInFastThrow -verbose:gc -Xlog:gc*=info,safepoint=info:file=/opt/zimbra/log/gc.log:time:filecount=20,filesize=10m -Djava.security.egd=file:/dev/./urandom --add-opens java.base/java.lang=ALL-UNNAMED -Djava.net.preferIPv4Stack=true"
zmcontrol restart
Re: Zimbra 9 - FOSS
thank you! i try this on cloned server and its working but on production i ran into this now ... viewtopic.php?t=70860&p=305335 ... damn