From nobody Fri Mar 29 14:20:29 2024 X-Original-To: alpine-devel@lists.alpinelinux.org Delivered-To: alpine-devel@lists.alpinelinux.org Received: from mail-bw0-f215.google.com (mail-bw0-f215.google.com [209.85.218.215]) by lists.alpinelinux.org (Postfix) with ESMTP id 6EEE21EC813 for ; Thu, 4 Jun 2009 07:39:07 +0000 (UTC) Received: by bwz11 with SMTP id 11so526051bwz.25 for ; Thu, 04 Jun 2009 00:39:06 -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=I+qdIXfLsgyc4Xd4RUJMjhaGNUVR7Nh4EfQC3bmgwFY=; b=f05YNmIn5/gXS7Slk05qBWvMtNLXmWxMjKNQA07YklBzQ80e0arMLjneXOP+HUANIJ EgV/umjQ6lqlLjiUKzLyxxBK//fwGHou3FzmIAQfFkjzkYOgjIkSeXvxCFqpXTfnjSNi +Yms8DnJav4O/AIamHBM4gIT0jVNlaYWwiwQY= 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=Lj7GMo4faDFZl1G02T/7pYjgvEJ54LN3iM8oefcJbE+x3c7aDmaJBg48fMXbb0HX7d rw4dvIrWh2iGPdCayx0+TcRsiNW8UGsmDIdItgRwIg8N/EXzYQD6ZEeqaGNqRrTm4ZiI SuB99cORFvcTvGGG46o7YBWSLSbhEVUBIHnHk= Received: by 10.103.172.7 with SMTP id z7mr1092424muo.129.1244101146561; Thu, 04 Jun 2009 00:39:06 -0700 (PDT) Received: from ?10.65.65.1? (149-193-163.oke2-bras2.adsl.tele2.no [90.149.193.163]) by mx.google.com with ESMTPS id w5sm2053504mue.34.2009.06.04.00.39.05 (version=SSLv3 cipher=RC4-MD5); Thu, 04 Jun 2009 00:39:06 -0700 (PDT) Subject: [alpine-devel] abuild 1.15 with improved dependency handling From: Natanael Copa To: Alpine-devel Content-Type: text/plain Date: Thu, 04 Jun 2009 09:39:02 +0200 Message-Id: <1244101142.24767.2478.camel@nc> 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.24.5 Content-Transfer-Encoding: 7bit Hi, I got the dynamic dependnencies working and its shipped with abuild 1.15 and later. This changes the way abuild works in several ways. First I'll explain how makedpeneds (the build time dependencies) are handled from 1.15. A concept of apkcache was introduced. It is basicly a temporary repository which is available during abuild buildtime. It is by default in ~/.cache/apks. When a package is build a symlink is created to this dir and the APK_INDEX.gz is updated with newly built package. abuild will also install a virtual, empty package named .makedepends-. This package holds no files, it just depends on all the makedepends for the package. This is so some other process on same build box does not remove the makedepends until abuild is finished with it. If forexample both package 'a' and package 'b' have 'libfoo' in makedepends, and you build both at the same time, when 'a' is completed it will remove .makdepends-a but libfoo will be kept on the system til 'b' is finished and will be removed together with .makedepends-b. Basicly, we let apk-tools deal with the makedepends rather than let abuild try do it. This also means that you can do 'abuild installdeps' to install all makedepends, go fix issues in src/ dir and when done: 'abuild uninstalldeps' Now to the runtime depends. Until now, the APKBUILD needed to list all needed runtime dependences in 'depends'. It meaned that you needed to do scanelf -Rn pkg and figure out what packages provided what libs and make sure those were listed in depends. With abuild 1.15, this is handled automatically. All .so files will be autodetected and added automatically to depends in the resulting apk. It means you should no longer add any depends, unless you have non so's dependencies. This is typically script dependencies etc. So if you have a perl script in the package you need to manually add perl to depends like before, same with python, lua and #!/bin/bash. Other dependencies should be autodetected. If abuilds finds out that an autodetected package is in depends it will issue a warning telling that you can remove that package from depends. There might be a few bugs in there so please test how it works and give some feedback. Any volunteer to update the documentation? -nc --- Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org ---