Subject: [alpine-devel] Questions about doing a glibc-based build

From: "Walter Dnes" <[email-masked]>
Date: Sun, 25 Mar 2012 17:10:42 -0400

This is for experimentation on my part.  Right now, I'm running Gentoo
and have substituted mdev for udev.  For now it looks like Gentoo will
continue to support both openrc and systemd for startup/init.  If it
goes to systemd-only, then udev becomes mandatory.  I don't want to get
into the /usr on / flamewar here.  Let's just say I want a Plan B in the
event that Gentoo gets dragged into systemd-only mode down the road.

  I'm not a developer or a C programmer.  However, as a Gentoo user, I'm
familiar with "make menuconfig" and building the kernel.  Is there a way
for me to get ahold of the Alpine source code, including kernel, and
drop in glibc in place of uclibc?

  I'd probably have to rebuild everything, because it's been linked to
uclibc.  I understand that uclibc has a different internal api from
glibc, which would kill stuff like Flash and proprietary video card
drivers.

-- 
Walter Dnes <[email-masked]>

---
Unsubscribe:  [email-masked]
Help:         [email-masked]
---

---

From: Dubiousjim <[email-masked]>
Date: Sun, 25 Mar 2012 17:20:53 -0400

> glibc, which would kill stuff like Flash and proprietary video card

Hi Walter, I've not attempted this. In fact, I've just started using
Alpine myself. However, I have been spending a lot of time in the wiki
recently, doing some cleanup there as a way to learn how this distro is
organized.

So I know that there is this page:
http://wiki.alpinelinux.org/wiki/Running_glibc_programs

Perhaps that's a good place to start.

---

---

From: "Walter Dnes" <[email-masked]>
Date: Mon, 26 Mar 2012 15:53:49 -0400

On Sun, Mar 25, 2012 at 05:20:53PM -0400, Dubiousjim wrote

> Perhaps that's a good place to start.

  That's not quite what I'm looking for.  I don't want a glibc chroot
inside of a uclibc Alpine.  I'd like to rebuild Alpine with glibc
replacing uclibc.  That would probably mean going to the git sources,
making my own modified copy and building from there.  Since I'm not a
programmer, let alone a developer, that's going to be rather difficult.

  Alpine looks like it could be a functional, lightweight, mdev-based,
end-user distro if only glibc could be dropped in in place of uclibc.

  I have one more question.  Is Alpine source-based or binary?
According to
http://wiki.alpinelinux.org/wiki/Comparison_with_Gentoo_and_Debian

> Note that Gentoo is source based, just like ports in FreeBSD is while
> Debian uses pre-compiled binaries.  Alpine is compiled using Gentoo
> portage but Alpine itself uses its own apk-tools binary package that
> are more similar FreeBSD's binary packages.

  That's rather vague, and I'd like an English translation <G>.

  I have looked at LFS (Linux From Scratch) but they're already at
udev-181.

---

---

From: Dubiousjim <[email-masked]>
Date: Mon, 26 Mar 2012 16:36:10 -0400

>   That's rather vague, and I'd like an English translation <G>.

It's also out-of-date. Alpine used to be build in a Gentoo build
environment, but nowadays that's no longer done; Alpine is built in an
Alpine environment.

The source-based/binary-based contrast isn't so sharply applicable here.
I haven't used Gentoo but my understanding is that it's a source-based
distro in the classic sense. Alpine is more of a hybrid, like Arch and
FreeBSD are: binary packages are available, but it's also very easy to
build one or all packages from source. The package tree is kept in git;
so you can keep your personal modifications in local branches. Building
from source and dealing with git aren't necessary; if you want, you can
just stick to the pre-built binary packages.

I used Arch and FreeBSD for a long time but was hankering after a distro
with just Alpine characteristics. But if you're set on glibc, it sounds
to me like you might have an easier time getting Arch to work the way
you want.

---

---

From: Natanael Copa <[email-masked]>
Date: Mon, 26 Mar 2012 20:57:16 +0200

On Sun, 25 Mar 2012 17:10:42 -0400
"Walter Dnes" <[email-masked]> wrote:

>   This is for experimentation on my part.  Right now, I'm running
> Gentoo and have substituted mdev for udev.  For now it looks like
> Gentoo will continue to support both openrc and systemd for
> startup/init.  If it goes to systemd-only, then udev becomes
> mandatory.  I don't want to get into the /usr on / flamewar here.
> Let's just say I want a Plan B in the event that Gentoo gets dragged
> into systemd-only mode down the road.
> 
>   I'm not a developer or a C programmer.  However, as a Gentoo user,
> I'm familiar with "make menuconfig" and building the kernel.  Is
> there a way for me to get ahold of the Alpine source code, including
> kernel, and drop in glibc in place of uclibc?
> 

You'd not only need rebuild everything, you'd need bootstrap the
toolchain and the bootstrap abuild. I would reuse a gentoo stage to
bootstrap abuild.

The process is possible but not really documented. I do have tried to
keep the number of required dependencies down for abuild but that has
not been easy.

There have been others talking about making an eglibc alpine linux
branch.

-nc

---