Hi there, As the author of CloudABI, I thought I'd join this discussion to ensure this is heading in the right direction.
CloudABI should be thought of as a fictive operating system. Applications that run on this operating system are strongly sandboxed by making use of capability-based security. To build CloudABI programs, we can use a cross toolchain on Linux, BSD, etc. CloudABI programs can be run on FreeBSD 11.x or patched versions of the Linux and NetBSD kernels. If you want to build more sophisticated programs for CloudABI, we of course need libraries that are cross compiled as well. To make this clear up front, I'd rather not have the Debian project provide these, for a number of reasons: - Software needs to be patched up a lot. Porting code to work well with CloudABI takes more effort than, say, making it work on GNU/kFreeBSD. CloudABI is not Unix. - Many pieces of software packages by Debian simply don't need to be ported to CloudABI (e.g., an init system, Unix core utilities, etc). - If these kinds of packages were to be provided by Debian, we also have to repeat this effort on FreeBSD, NetBSD, Fedora, etc. For CloudABI it makes far more sense to have its own package collection, which is why I've been working on CloudABI Ports: https://github.com/NuxiNL/cloudabi-ports. With CloudABI Ports I cross build libraries and automatically export them to several formats, including .deb files that can be installed on Debian. You always get the same ported software, regardless of whether you're using Linux or BSD. It is important to mention that CloudABI Ports does not ship with a toolchain that you can use on your Linux system; it can only cross compile software for CloudABI. What I'd like to see happen is that Debian provides a cross compiler for CloudABI that blends in seamlessly with the packages installed by CloudABI Ports. This means that: - Adding CloudABI as a Debian architecture name makes little sense in my opinion, as we're not going to package any actual code for CloudABI. - The GNU architecture name is not something that can be chosen by Debian unilaterally. CloudABI Ports currently uses '*-unknown-cloudabi' as its target triple. All packages install their cross compiled files under /usr/*-unknown-cloudabi on Linux and /usr/local/*-unknown-cloudabi on FreeBSD. The -unknown- midfix is used because CloudABI's C/C++ compiler (Clang) requires that the triple is unabbreviated. Browsing through the Debian package repository I think that something similar to the Atmel AVR toolchain should done. The binutils-avr package installs a copy of Binutils for the AVR without using any of the Debian architecture names. What do you think? Regards, -- Ed Schouten <e...@nuxi.nl> Nuxi, 's-Hertogenbosch, the Netherlands KvK-nr.: 62051717