1

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

Natanael Copa
Details
Message ID
<1283783140.26584.360.camel@ncopa-desktop.nor.wtbts.net>
Sender timestamp
1283783140
DKIM signature
missing
Download raw message
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:  alpine-devel+unsubscribe@lists.alpinelinux.org
Help:         alpine-devel+help@lists.alpinelinux.org
---
Carlo Landmeter
Details
Message ID
<AANLkTi=mGOKKQtapn+NgQtcr+AV=Mx+HDkuN45YadPxs@mail.gmail.com>
In-Reply-To
<1283783140.26584.360.camel@ncopa-desktop.nor.wtbts.net> (view parent)
Sender timestamp
1283789220
DKIM signature
missing
Download raw message
Hi,

On Mon, Sep 6, 2010 at 4:25 PM, Natanael Copa <ncopa@alpinelinux.org> wrote:
> Hi,
>
> Carlo have been working on building an eglibc based alpine and afaik he
> 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"

> 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
>

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"

> 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"

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

>
> 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:  alpine-devel+unsubscribe@lists.alpinelinux.org
> Help:         alpine-devel+help@lists.alpinelinux.org
> ---
>
>


---
Unsubscribe:  alpine-devel+unsubscribe@lists.alpinelinux.org
Help:         alpine-devel+help@lists.alpinelinux.org
---