X-Original-To: alpine-devel@lists.alpinelinux.org Delivered-To: alpine-devel@mail.alpinelinux.org Received: from dal-a2.localdomain (unknown [74.117.189.115]) by mail.alpinelinux.org (Postfix) with ESMTP id CA8F6DC00A3 for ; Fri, 19 Jul 2013 12:35:15 +0000 (UTC) Received: from ncopa-desktop.alpinelinux.org (3.203.202.84.customer.cdi.no [84.202.203.3]) (using SSLv3 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: ncopa@tanael.org) by dal-a2.localdomain (Postfix) with ESMTPSA id 350C5BC2D16 for ; Fri, 19 Jul 2013 12:35:14 +0000 (UTC) Date: Fri, 19 Jul 2013 14:35:10 +0200 From: Natanael Copa To: alpine-devel@lists.alpinelinux.org Subject: [alpine-devel] supporting multiple libc's Message-ID: <20130719143510.1a22ce06@ncopa-desktop.alpinelinux.org> X-Mailer: Claws Mail 3.9.2 (GTK+ 2.24.20; x86_64-unknown-linux-gnu) X-Mailinglist: alpine-devel Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Hi, While working on musl/arm we have again bumped into the need for specifying what libc we use and how to make conditionals in apkbuilds. Currently we use ALPINE_LIBC in some apkbuilds. We also have some packages that checks the CHOST. Then we have a libc package that works as a 'virtual' package providing the correct libc. So on eglibc systems libc-dev will pull in eglibc-dev as a dependency. We will introduce a new variable: CLIBC, which should be then name of the current libc. So if you have a hard dependency for uclibc-dev then you can use $CLIBC-dev. This means that ALPINE_LIBC will go away. We will need to fix the affected apkbuilds. (should be easy enough). Now, we will need some way to filter out packages based on CLIBC. You might not want build some package on given libc. How should we specify that? Do we want a separate variable for it, like 'arch'? If so, what should it be called? libcmask? If not, can we use $options for it? Some alternives/examples: #1 whitelist what to build on (like arch) libcmask="uclibc eglibc musl" or libcmask="all" #2 blacklist, and use 'all' if unset libcmask="!musl !eglibc" #3 blacklist via 'options'. assume 'all' if unset. options="!musl" Other ideas? -nc --- Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org ---