Ending the Casuarina Linux Experiment

Ending the Casuarina Linux Experiment

Note: Casuarina Linux is in the process of shutting down. See this post for more information. Ending the Casuarina Linux Experiment by Wesley Moore I didn’t expect this to be the second post after the announcement, but here we are. The short version is that I’ve decided to wind down the Casuarina Linux project. Things will continue as-is until the end of October 2026. After which, depending how my migration to another distro has gone, package updates will stop. The infrastructure will remain up until the end of 2026, after which I may retire some things. There are no plans to retire the package repo or website for now.

注意:Casuarina Linux 正在关闭过程中。有关更多信息,请参阅此帖。由 Wesley Moore 撰写的《结束 Casuarina Linux 实验》。我没想到这会是公告发布后的第二篇文章,但事实就是如此。简而言之,我已经决定逐步结束 Casuarina Linux 项目。一切将照常运行至 2026 年 10 月底。此后,取决于我迁移到另一个发行版的进展,软件包更新将会停止。基础设施将保持运行至 2026 年底,之后我可能会淘汰一些内容。目前没有计划关闭软件包仓库或网站。

So how did we get here? As alluded to in the Q&A I am the proverbial dog that has no idea what I’m doing. I thought that after I fought through all the changes to bootstrap the system most of the hard stuff was done, and that from then on maintenance would mostly be updating packages. I also expected that the distro would pique the interest of at least a couple of other people and we could share the load of keeping things moving, but that didn’t happen. In practice what happened was that on launch day it was brought to my attention that C++ standard libraries can’t co-exist. My setup of building everything against LLVM’s libc++, whilst providing GNU libstdc++ for compatibility was not guaranteed to work properly if an application ended up loading both. In practice the one proprietary application I used that was exposed to this (Beyond Compare) worked fine. Still it was something that needed fixing.

那么我们是如何走到这一步的呢?正如在问答中所暗示的那样,我就是那只不知道自己在做什么的“狗”。我原以为在克服了引导系统的所有变更后,最困难的部分已经完成,此后的维护工作主要就是更新软件包。我还期望该发行版能引起至少几位其他人的兴趣,我们可以分担维持项目运行的负担,但这并没有发生。实际上,发布当天有人提醒我,C++ 标准库无法共存。我将所有内容基于 LLVM 的 libc++ 构建,同时提供 GNU libstdc++ 以实现兼容性的设置,并不能保证在应用程序同时加载两者时能正常工作。实际上,我使用的一个接触到此问题的专有应用程序(Beyond Compare)运行正常。尽管如此,这仍然是一个需要解决的问题。

Additionally, on the same day q66 (the creator of Chimera Linux) posted some thoughts “about chimera and glibc compatibility woes”. It was insightful and full of wisdom. There were two parts that really stuck with me: OR, you can just accept things as they are and help work towards making the stuff you want work in userland, you have containers etc which you can use to get stuff that doesn’t work yet to work (or for proprietary software), and there are ways to make that pretty seamless i’d much rather like to see the work go into improving what we have and: but i can’t be totally happy about it because it’s sort of taking apart stuff i put a lot of thought into and in the process turns it into something i explicitly wanted to avoid

此外,同一天,q66(Chimera Linux 的创建者)发表了一些关于“chimera 和 glibc 兼容性困境”的思考。这些思考富有洞察力且充满智慧。有两部分内容让我印象深刻:要么,你可以接受现状,并致力于让你想要的东西在用户空间中运行,你可以使用容器等工具来让那些尚无法运行的东西(或专有软件)运行起来,而且有办法让这个过程变得相当无缝,我更愿意看到工作重心放在改进我们现有的东西上;以及:但我无法对此完全感到高兴,因为它有点像是在拆解我投入了大量心血的东西,并在此过程中将其变成了我明确想要避免的样子。

The latter in particular was not a way I’d thought about it from their perspective before. It made a lot of sense when faced with having to swap libc++ for libstdc++, and when reflecting on the changes that were necessary to bootstrap the system. Such as bringing gcc, gmp, mpc, mpfr, and GNU binutils into the bootstrap path (in addition to LLVM). There were also things that were lost, like cross-compilation and fully static binaries (apk in particular). All of this continued to rattle around in the back of my mind while I’ve used the system to do my day job, and stayed on top of pulling package updates from Chimera over the last four months. In that time I did not muster the motivation to address the C++ standard library situation though, nor some other issues that I ran into.

尤其是后者,我以前从未从他们的角度考虑过这个问题。当面临必须将 libc++ 换成 libstdc++,并反思引导系统所必需的变更时,这非常有道理。例如,将 gcc、gmp、mpc、mpfr 和 GNU binutils 引入引导路径(除了 LLVM 之外)。还有一些东西丢失了,比如交叉编译和完全静态的二进制文件(特别是 apk)。在过去四个月里,当我使用该系统进行日常工作并持续从 Chimera 拉取软件包更新时,所有这些想法一直在我的脑海中盘旋。然而,在那段时间里,我没有动力去解决 C++ 标准库的情况,也没有解决我遇到的其他一些问题。

Also as time went on I became less convinced I actually wanted other people to use the system. Each additional user is another person that may bring legit problems to my attention that I haven’t worked out how to fix, or don’t really want to allocate time to when I have free time. In hindsight some of this was 100% foreseeable. Why did I even make the thing public if I didn’t want people to use it? I guess I hadn’t fully thought it through. It was working great for me, surely it would be the same for others. Obviously this was naïve, which I know now.

随着时间的推移,我越来越不确定自己是否真的希望其他人使用这个系统。每增加一个用户,就意味着多了一个人可能会向我提出我尚未找到解决方法,或者在我有空闲时间时不想投入精力去解决的合理问题。事后看来,其中一些情况是完全可以预见的。如果我不想让人们使用它,我为什么要把它公开呢?我想我没有完全考虑清楚。它对我来说运行得很好,我理所当然地认为对其他人也一样。显然这很天真,我现在知道了。

Ending the experiment From the start Casuarina was described as “experimental but usable”, so I am now declaring the experiment over. I increased my understanding of all sorts of things about how a distro is built, how it works, some of pros and cons of glibc, debugging build failures, segfaults, Buildbot, and much more. I also had a lot of fun building the website. While I gained a lot of knowledge it’s clear I still have plenty to learn, and don’t feel equipped to be the primary maintainer of a distro that other people use. So for now this is the end of the road for Casuarina.

结束实验。从一开始,Casuarina 就被描述为“实验性但可用”,所以我现在宣布实验结束。我加深了对发行版构建方式、工作原理、glibc 的一些优缺点、调试构建失败、段错误、Buildbot 等各方面的理解。我在构建网站的过程中也获得了很多乐趣。虽然我学到了很多知识,但很明显我还有很多东西要学,而且我觉得自己没有能力担任其他人使用的发行版的主要维护者。所以,目前这就是 Casuarina 的终点。

My current plan is to migrate my primary desktop (that I use for work as well personal computing) to Chimera, and switch to that from the end of October 2026. From then I’ll stop doing Casuarina package updates. I’ll make the forum read-only, and update the website to make it clear the experiment is over. The rest of the infrastructure will stay up until the end of 2026, after which some of it may be retired/repurposed. I plan to keep the package repo and website online for the foreseeable future. Happy computing. WM

我目前的计划是将我的主桌面(我用于工作和个人计算)迁移到 Chimera,并从 2026 年 10 月底开始切换到该系统。从那时起,我将停止 Casuarina 的软件包更新。我会将论坛设为只读,并更新网站以明确实验已经结束。其余的基础设施将保持运行至 2026 年底,之后其中一些可能会被淘汰或重新利用。我计划在可预见的未来保持软件包仓库和网站在线。祝计算愉快。WM