Subject: [alpine-devel] how to skip packages in aports tree and support for eglibc

From: Natanael Copa <[email-masked]>
Date: Mon, 06 Sep 2010 16:25:40 +0200

Hi,

Carlo have been working on building an eglibc based alpine and afaik he
has the bootstrapping of the toolchain more or less working.

Now, the question is, how do we handle the build trees?

I think that best would be that we have same tree for all libcs and
archs. Then we could have conditional dependencies, something like:

# dont use libiconv if eglibc
if ! [ "$ALPINE_LIBC" = "eglibc" ]; then
	makedepends="$makedepends libiconv-dev"
fi

Similar we could have conditionals for different arch specifics.

Now, there might be some packages that does not make sense build at all.
For example, we dont want build eglibc on a uclibc system at all since
it doesnt make sense to build it.

The question is how, do we disable it?

Same goes for different arch specific packages. I think for archs we
could in the APKBUILD do something like:

arch="x86 x86_64 mips"

But how do we do with uclibc/eglibc? do we have a separarate libc
variable?

libc="uclibc eglibc"

Alternatively we could keep them in separate branches and do git tricks
to merge the common commits, but I'd prefer have them joined if
possible.

Other ideas?

-nc

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

---

From: Carlo Landmeter <[email-masked]>
Date: Mon, 6 Sep 2010 18:07:00 +0200

Hi,

> has the bootstrapping of the toolchain more or less working.

For anybody who is interested to get started i have a repo here (its i686):

http://alpine.nethq.org/clandmeter/eglibc/

My current tree can be found here:

http://git.alpinelinux.org/cgit/aports-clandmeter/?h=eglibc

Not much has be be changed to make it work. Just add the following
vars to your abuild.conf when you want to start building:

BUILD_BASE="binutils gcc make patch eglibc-dev g++"
ALPINE_LIBC="eglibc"

>        makedepends="$makedepends libiconv-dev"

I am not sure if this is possible, but could we move this logic into
abuild and make something like:

makedepends="libiconv-dev:uclibc zlib-dev"

> But how do we do with uclibc/eglibc? do we have a separarate libc

This looks to be the correct way to do it if we look at other distributions.

---