After nearly two weeks of pulling my hair out I finally was able to build the newest Chromium in its un-Googled variant. You can find packages for Slackware 14.2 and -current in my repository on slackware.nl.
It’s a jump from the 92 to the 94 release (94.0.4606.81 to be precise) but I simply did not have the opportunity to build a 93 release. In part because the un-googled repository maintained by Eloston did not offer release tarballs for a while. Extended leave of absence of the maintainer seems to be the issue which by now has been resolved by giving more people commit access to that repository.
The un-Googled version of Chromium is incapable of “phoning home” to Google, by altering the source code and stripping/mangling all occurrences where that might happen. This is basically what Eloston’s project does.
It’s still the powerful Chromium browser engine but then without the privacy concerns that surround Google’s Chrome browser and to a lesser extent also its Chromium open source variant.
Read my earlier article “How to un-google your Chromium browser experience” to learn more about my reasons for providing the package as well as pointers to make it a pleasant browser experience.
Back to my first sentence of this blog post. I started building one of the earlier 94.x source releases of Chromium (to create the actual chromium, not the chromium-ungoogled package). It took some work to get it to compile without errors – an annoyance which always occurs when switching to a new major source release. But it produced a package.
It did not take long to discover that in Chromium 94, finally my Google client-id stopped working, meaning a loss of access to my Google Cloud-synced data. Well OK, I was waiting for that to happen since March of this year so no real surprise there.
What did take me by surprise is what happened when I switched to a different Google client-id; one that does have access to Google Cloud sync. Unlike with pre-94 releases where I performed the same tests, enabling Google Cloud-sync makes the browser crash every time I start it after it has completed its initial full sync (making all my bookmarks, passwords and browser history available locally). I have not found a way to fix this crash behavior, and decided to forestall a package upgrade in my repository until I am certain that it can be fixed at all – or not.
Note that configuring Chromium to use a different Google Client-ID is not hard to do – but I leave it as an exercise for the reader to find out how exactly this is done.
After this debacle with Chromium 94 I decided to instead build a package for chromium-ungoogled since that variant is incapable of syncing data to/from Google anyway and I wanted a working browser.
That effort took me almost 10 days… ten frustrating days. A compile of the Chromium sources takes roughly 8 hours on my hardware and the issue would typically occur on the very last of 50,000 compilation steps: linking the final chromium binary! It would fail to link on 32bit Slackware with a “LLVM error: out of memory“.
Eventually (not many people produce 32bit builds of Chromium anymore) it seems that this is an issue with the custom llvm-12.0.1 which I build from Google’s repository and which I then use to compile the Chromium sources. Thanks to Void Linux for the pointers to fix this!
I will re-commence a build of proper Chromium packages in the hope that whatever I fixed for un-Googled Chromium will also be beneficial to the actual Chromium. And if not, then this will mark the moment that Chromium for Slackware is no longer able to sync your data with Google’s Cloud. In any case, an update of your Chromium (un-Googled or not) fixes a lot of nasty bugs and makes your Internet visits a bit safer.
I will keep you posted.