X-Original-To: alpine-devel@lists.alpinelinux.org Delivered-To: alpine-devel@lists.alpinelinux.org Received: from fg-out-1718.google.com (fg-out-1718.google.com [72.14.220.155]) by lists.alpinelinux.org (Postfix) with ESMTP id B523461A64E for ; Mon, 19 Oct 2009 14:35:50 +0000 (UTC) Received: by fg-out-1718.google.com with SMTP id 16so587234fgg.7 for ; Mon, 19 Oct 2009 07:35:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:from:to:content-type :date:message-id:mime-version:x-mailer:content-transfer-encoding; bh=7uijp+fiFEFVFeyDnzmO64ZzOJogLkxb8h7FAA2ryCg=; b=jxS89Z0g6+T8Y3k/c5qxNtJS/zQSKobuenHYcAMD8xGxu7YDiZ3zYBVZRWXFC57xvv Kp6Njd+xwaN9T74M92Uq+SrIWBJBkLCNpyoE6R55RkNEllmGOzwSLEan7QGB5Fftvt2S 9NZ0SC5y9ksCdWZWtboSmR33/5X093ojFwS5g= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:from:to:content-type:date:message-id:mime-version:x-mailer :content-transfer-encoding; b=OHMJ90oyLkOdSnGaoCVcOdMIPTBjyKkgFx1Hrt0fDOK5svLmQZg4m8Qf3BLxrP3J8K n/1RPHyiIo+NSsAz+tbkDR3ZOjvVpLA3bWesi3S2yLSw/kKTdi7Nh1ePVRY3R7xH34Aq zPt536ynuijzwo2PMGD8T1CpPsLxXEf3qNLcg= Received: by 10.86.17.27 with SMTP id 27mr3209045fgq.31.1255962949028; Mon, 19 Oct 2009 07:35:49 -0700 (PDT) Received: from ?10.65.65.1? ([90.149.48.245]) by mx.google.com with ESMTPS id e20sm195828fga.25.2009.10.19.07.35.47 (version=SSLv3 cipher=RC4-MD5); Mon, 19 Oct 2009 07:35:48 -0700 (PDT) Subject: [alpine-devel] change in the APKBUILD format From: Natanael Copa To: alpine-devel@lists.alpinelinux.org Content-Type: text/plain Date: Mon, 19 Oct 2009 16:38:46 +0200 Message-Id: <1255963126.30583.77.camel@ncopa-desktop.nor.wtbts.net> X-Mailinglist: alpine-devel Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: Mime-Version: 1.0 X-Mailer: Evolution 2.26.3 Content-Transfer-Encoding: 7bit Hi, We just did a big discover when testing a new 8 core build box. We noticed that fakeroot kills performance on multicore big time. Compiling kernel with abuild (via fakeroot) took 1 hour +. Total CPU usage was on 15%. So I tested to run it without fakeroot. CPU usage went to 96% and kernel compile time took 10-11 minutes. So, basicly, we want avoid fakeroot during compile. Its not needed til 'make install' and packaging anyways. The drawback is that it means we need to change every APKBUILD we have. The problem is that abuild runs "rootpkg" in fakeroot, which will call the build() function. We would need run build() without fakeroot, then run "make install" in a separate function (like gentoo does). So... I'm open to ideas. What do we do? This is also a good time to stop up and think if we want to do the package splitting differently. Arch linux have added support for package splitting too recently. I can see 3 options: 1. we follow archlinux style: http://www.archlinux.org/pacman/PKGBUILD.5.html (see the splitting part) 2. we follow gentoo style, and create src_prepare() (for applying patches), src_configure() to run ./configure, src_compile() to run make and src_install() to do the make install - as fakeroot. 3. we do our own, something. I would like to avoid building up an entire API with lots of helper funcs, like gentoo has. I want the APKBUILD's be simple to understand whats going on. We already have some special things for -dev and -doc packages that contradicts that, but at th same time, its nice to not need rewrite everything in every APKBUILD. We also have our own pkgusers and pkggroups additions that creates users in build environment needed build time. I'm leaning at the direction on doing someething similar what Arch Linux does. That is, go for package_foo() functions. Ideas? Opinions? -nc --- Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org ---