Re: Announcing: a new Hurd distro, based on Alpine Linux

2024-01-21 Thread Sergey Bugaev
On Sun, Jan 21, 2024 at 10:14 PM  wrote:
> I'd be happy to buy a sourcehut account for it for a year.
>
> I'd also be happy to create a website for it and host it for a year.
> We should make this email (perhaps reword it) as the website's first
> blog post.
>
> Software with which we can build a static site (that runs on the hurd):
>
> ikiwiki
> Emacs org-mode (I vote this one)
> guile's Haunt  (I am having a hard time installing this on Debian
>  GNU/Hurd).

Yay :)

FWIW, I love how the Guile website looks, but that clearly has more to
do with the styling than with the choice of a backend framework.

As for {Git,packages} repos, I just learned that Gitea 1.20 has
built-in support for Alpine package registries [0][1], which is pretty
neat. If we could work out how to hook this up to a CI pipeline that
would build and publish packages (and that shouldn't be hard), this
would be perfect for us.

[0]: https://docs.gitea.com/next/usage/packages/packages/alpine (this
page says 1.20 is unreleased for some reason, but 1.20 has been
released back in July, and 1.21.4 is the current release)
[1]: https://github.com/go-gitea/gitea/pull/23714

So, what do you think, would you (or anyone else reading this) be able
to host a Gitea instance for this project? Hosting it on a Hurd system
would be cool, but not a requirement — we can do one thing at a time.

Any more naming ideas?

Sergey



Re: Announcing: a new Hurd distro, based on Alpine Linux

2024-01-21 Thread jbranso
January 20, 2024 at 3:03 PM, "Sergey Bugaev"  wrote:



> 
> Hello!
> 
> Those of you who made it to Joshua's belated New Year's party have
> heard me mumble my way through announcing this: I have been working on
> a new Hurd-based disto, based on the Alpine Linux distribution [0]!
> 
> [0] https://www.alpinelinux.org/about/
> 
> Now, before I go any further, I should say that this is not trying to
> displace Debian or anything like that. We all love Debian GNU/Hurd,
> and are thankful for Samuel's hard work that makes it possible. I am
> using Debian, and will continue to do so. (Especially given that this
> project might not succeed, after all.)
> 
> That being said, I have for a long time thought that the Hurd needed
> more _distro diversity_. The other existing distro is Guix on the
> Hurd, made by our Guix friends, which is great, and it seems to have
> generated some interest towards the Hurd in the Guix community, and
> some positive publicity for the Hurd too.
> 
> Historically, I know that there has been the Arch Hurd project [1]
> (just look at all the excitement it has generated! [2]), but it seems
> to have stalled. (By the way, if you're a fan of Arch who's interested
> in the Hurd, I encourage you to revive Arch Hurd, that'd be so cool!)
> There's been talks of Gentoo GNU/Hurd, but it doesn't look like
> they've made much progress. (Fun story: I have once almost convinced a
> friend of mine who was a Gentoo user to try and bootstrap a Hurd
> version of Gentoo on his own.)
> 
> [1] https://archhurd.org/
> [2] https://bbs.archlinux.org/viewtopic.php?pid=682472
> 
> Awesome as Debian is, there are issues with it. Firstly, the tooling
> (and the social processes) used around Debian packaging seems rather
> arcane and complicated for someone like myself who is not experienced
> in Debian packaging. This is not a criticism; I'm sure it works great
> for them! — but this also means that most of us in the already small
> Hurd community are essentially unable to contribute to it.
> 
> Secondly, Debian GNU/Hurd being the full "grown-up" Debian distro has
> — well, certainly a lot of upsides, and that's what makes it so
> appealing — but also, I imagine, some downsides, in that it cannot
> just be our little playground. For example, I imagine Debian cannot
> ship the latest & greatest glibc master with all of my fixes, because
> that might break Debian GNU/Linux, which has different expectations
> around stability and a lot more users. In fact, Debian still ships
> glibc 2.37, with some patches backported.
> 
> Now, on the other hand of the spectrum are Flávio's cross-hurd
> scripts, which bootstrap a minimal Hurd-based system. These are small,
> self-contained, and hackable. You can build the whole thing, including
> the cross toolchains required, in a few minutes, without much of a
> special setup required. Bumping glibc (or something) should be
> trivial. If you want to contribute, you fork the Git repo, apply your
> changes, and just open a PR. How cool is that?
> 
> So I think there is a place for some middle ground between the two: a
> full (although small, "embedded") distro, with a package manager and
> many available packages, that is at the same time easy to bootstrap,
> to hack on, experiment with, and contribute to. The hackability should
> hopefully ensure that this becomes a community project rather than a
> one man show, and has a healthy bus factor.
> 
> I chose Alpine Linux as the upstream distribution for the project, for
> various reasons; not least because I thought it would be a fun
> endeavour to try and port Alpine which is known for not being a GNU
> distro and in particular not using glibc (and it was!). Alpine
> certainly fills the bill of being small and extremely hackable. They,
> too, keep all of their package build definitions/scripts in a single
> Git repo (aports); updating a package or adding a patch only requires
> making an MR against the repo. The CI can then pick up the change,
> rebuild the package, and without minutes of the MR being merged have
> the new package available for download from the repo.
> 
> I have ported many Alpine packages to build with (i386, for now) GNU
> Mach, the Hurd, and glibc, replacing Linux and musl. If you want a
> specific number: as of yesterday, I have 299 installable packages; the
> number of source packages is of course several times less than that.
> Still, this includes things like curl, ncurses, nano, native binutils
> & gcc & mig, libffi, openrc, openssl, util-linux, busybox, apk-tools,
> ... and of course gnumach, hurd (with dependencies like libdaemon,
> parted, ...), and glibc. Importantly, all this cleanly bootstraps
> using the scripts/bootstrap.sh script that they provide; this is too
> somewhat like Flávio's scripts, but it uses the real full Alpine
> package definitions for e.g. GCC (patched by me for glibc / Hurd
> support).
> 
> Above the kernel and libc, things remain much as they were in upstream
> Alpine: the 

Re: Announcing: a new Hurd distro, based on Alpine Linux

2024-01-21 Thread Svante Signell
Hi Sergey.

Sorry for top-posting. 

This is very interesting, especially now when the Debian (GNU/Linux,
GNU/Hurd) project is heading in the wrong direction. I'll take a closer
look on Alpine in due time. 

Thanks! 
On Sat, 2024-01-20 at 23:03 +0300, Sergey Bugaev wrote:
> Hello!
> 
> Those of you who made it to Joshua's belated New Year's party have
> heard me mumble my way through announcing this: I have been working
> on
> a new Hurd-based disto, based on the Alpine Linux distribution [0]!
> 
> [0] https://www.alpinelinux.org/about/
> 
> Now, before I go any further, I should say that this is not trying to
> displace Debian or anything like that. We all love Debian GNU/Hurd,
> and are thankful for Samuel's hard work that makes it possible. I am
> using Debian, and will continue to do so. (Especially given that this
> project might not succeed, after all.)
> 
> That being said, I have for a long time thought that the Hurd needed
> more _distro diversity_. The other existing distro is Guix on the
> Hurd, made by our Guix friends, which is great, and it seems to have
> generated some interest towards the Hurd in the Guix community, and
> some positive publicity for the Hurd too.
> 
> Historically, I know that there has been the Arch Hurd project [1]
> (just look at all the excitement it has generated! [2]), but it seems
> to have stalled. (By the way, if you're a fan of Arch who's
> interested
> in the Hurd, I encourage you to revive Arch Hurd, that'd be so cool!)
> There's been talks of Gentoo GNU/Hurd, but it doesn't look like
> they've made much progress. (Fun story: I have once almost convinced
> a
> friend of mine who was a Gentoo user to try and bootstrap a Hurd
> version of Gentoo on his own.)
> 
> [1] https://archhurd.org/
> [2] https://bbs.archlinux.org/viewtopic.php?pid=682472
> 
> Awesome as Debian is, there are issues with it. Firstly, the tooling
> (and the social processes) used around Debian packaging seems rather
> arcane and complicated for someone like myself who is not experienced
> in Debian packaging. This is not a criticism; I'm sure it works great
> for them! — but this also means that most of us in the already small
> Hurd community are essentially unable to contribute to it.
> 
> Secondly, Debian GNU/Hurd being the full "grown-up" Debian distro has
> — well, certainly a lot of upsides, and that's what makes it so
> appealing — but also, I imagine, some downsides, in that it cannot
> just be our little playground. For example, I imagine Debian cannot
> ship the latest & greatest glibc master with all of my fixes, because
> that might break Debian GNU/Linux, which has different expectations
> around stability and a lot more users. In fact, Debian still ships
> glibc 2.37, with some patches backported.
> 
> Now, on the other hand of the spectrum are Flávio's cross-hurd
> scripts, which bootstrap a minimal Hurd-based system. These are
> small,
> self-contained, and hackable. You can build the whole thing,
> including
> the cross toolchains required, in a few minutes, without much of a
> special setup required. Bumping glibc (or something) should be
> trivial. If you want to contribute, you fork the Git repo, apply your
> changes, and just open a PR. How cool is that?
> 
> So I think there is a place for some middle ground between the two: a
> full (although small, "embedded") distro, with a package manager and
> many available packages, that is at the same time easy to bootstrap,
> to hack on, experiment with, and contribute to. The hackability
> should
> hopefully ensure that this becomes a community project rather than a
> one man show, and has a healthy bus factor.
> 
> I chose Alpine Linux as the upstream distribution for the project,
> for
> various reasons; not least because I thought it would be a fun
> endeavour to try and port Alpine which is known for not being a GNU
> distro and in particular not using glibc (and it was!). Alpine
> certainly fills the bill of being small and extremely hackable. They,
> too, keep all of their package build definitions/scripts in a single
> Git repo (aports); updating a package or adding a patch only requires
> making an MR against the repo. The CI can then pick up the change,
> rebuild the package, and without minutes of the MR being merged have
> the new package available for download from the repo.
> 
> I have ported many Alpine packages to build with (i386, for now) GNU
> Mach, the Hurd, and glibc, replacing Linux and musl. If you want a
> specific number: as of yesterday, I have 299 installable packages;
> the
> number of source packages is of course several times less than that.
> Still, this includes things like curl, ncurses, nano, native binutils
> & gcc & mig, libffi, openrc, openssl, util-linux, busybox, apk-tools,
> ... and of course gnumach, hurd (with dependencies like libdaemon,
> parted, ...), and glibc. Importantly, all this cleanly bootstraps
> using the scripts/bootstrap.sh script that they provide; this is too
> somewhat 

Re: Announcing: a new Hurd distro, based on Alpine Linux

2024-01-20 Thread Dr. Arne Babenhauserheide

Sergey Bugaev  writes:
> Please let me know what you think!

I see Alpine used the most for lightweight, high-performance docker
containers. If Hurd on Alpine can provide something similarly
lightweight with VMs, it may enable people to more easily experiment
with the Hurd for some specific microservices.

So it may create a niche for experimentation with the advantages of the
Hurd without being impacted by its current limitations.

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein,
ohne es zu merken.
draketo.de


signature.asc
Description: PGP signature


Announcing: a new Hurd distro, based on Alpine Linux

2024-01-20 Thread Sergey Bugaev
Hello!

Those of you who made it to Joshua's belated New Year's party have
heard me mumble my way through announcing this: I have been working on
a new Hurd-based disto, based on the Alpine Linux distribution [0]!

[0] https://www.alpinelinux.org/about/

Now, before I go any further, I should say that this is not trying to
displace Debian or anything like that. We all love Debian GNU/Hurd,
and are thankful for Samuel's hard work that makes it possible. I am
using Debian, and will continue to do so. (Especially given that this
project might not succeed, after all.)

That being said, I have for a long time thought that the Hurd needed
more _distro diversity_. The other existing distro is Guix on the
Hurd, made by our Guix friends, which is great, and it seems to have
generated some interest towards the Hurd in the Guix community, and
some positive publicity for the Hurd too.

Historically, I know that there has been the Arch Hurd project [1]
(just look at all the excitement it has generated! [2]), but it seems
to have stalled. (By the way, if you're a fan of Arch who's interested
in the Hurd, I encourage you to revive Arch Hurd, that'd be so cool!)
There's been talks of Gentoo GNU/Hurd, but it doesn't look like
they've made much progress. (Fun story: I have once almost convinced a
friend of mine who was a Gentoo user to try and bootstrap a Hurd
version of Gentoo on his own.)

[1] https://archhurd.org/
[2] https://bbs.archlinux.org/viewtopic.php?pid=682472

Awesome as Debian is, there are issues with it. Firstly, the tooling
(and the social processes) used around Debian packaging seems rather
arcane and complicated for someone like myself who is not experienced
in Debian packaging. This is not a criticism; I'm sure it works great
for them! — but this also means that most of us in the already small
Hurd community are essentially unable to contribute to it.

Secondly, Debian GNU/Hurd being the full "grown-up" Debian distro has
— well, certainly a lot of upsides, and that's what makes it so
appealing — but also, I imagine, some downsides, in that it cannot
just be our little playground. For example, I imagine Debian cannot
ship the latest & greatest glibc master with all of my fixes, because
that might break Debian GNU/Linux, which has different expectations
around stability and a lot more users. In fact, Debian still ships
glibc 2.37, with some patches backported.

Now, on the other hand of the spectrum are Flávio's cross-hurd
scripts, which bootstrap a minimal Hurd-based system. These are small,
self-contained, and hackable. You can build the whole thing, including
the cross toolchains required, in a few minutes, without much of a
special setup required. Bumping glibc (or something) should be
trivial. If you want to contribute, you fork the Git repo, apply your
changes, and just open a PR. How cool is that?

So I think there is a place for some middle ground between the two: a
full (although small, "embedded") distro, with a package manager and
many available packages, that is at the same time easy to bootstrap,
to hack on, experiment with, and contribute to. The hackability should
hopefully ensure that this becomes a community project rather than a
one man show, and has a healthy bus factor.

I chose Alpine Linux as the upstream distribution for the project, for
various reasons; not least because I thought it would be a fun
endeavour to try and port Alpine which is known for not being a GNU
distro and in particular not using glibc (and it was!). Alpine
certainly fills the bill of being small and extremely hackable. They,
too, keep all of their package build definitions/scripts in a single
Git repo (aports); updating a package or adding a patch only requires
making an MR against the repo. The CI can then pick up the change,
rebuild the package, and without minutes of the MR being merged have
the new package available for download from the repo.

I have ported many Alpine packages to build with (i386, for now) GNU
Mach, the Hurd, and glibc, replacing Linux and musl. If you want a
specific number: as of yesterday, I have 299 installable packages; the
number of source packages is of course several times less than that.
Still, this includes things like curl, ncurses, nano, native binutils
& gcc & mig, libffi, openrc, openssl, util-linux, busybox, apk-tools,
... and of course gnumach, hurd (with dependencies like libdaemon,
parted, ...), and glibc. Importantly, all this cleanly bootstraps
using the scripts/bootstrap.sh script that they provide; this is too
somewhat like Flávio's scripts, but it uses the real full Alpine
package definitions for e.g. GCC (patched by me for glibc / Hurd
support).

Above the kernel and libc, things remain much as they were in upstream
Alpine: the system boots (will boot — I haven't tried it yet) with
busybox init & OpenRC, and uses busybox as its basic userland. GNU
software such as Bash is installable, too.

There is no ABI compatibility with either Alpine Linux or other Hurd