Build Service/baselibs.conf
aus openSUSE, der freien Wissensdatenbank
Um so genannte 'biarch'-Distribtuionen zu unterstützen, müssen besondere Bibliothekspakete erstellt werden. So müssen unter x86 *-32bit-Pakete für die Nutzung unter x86_64 erstellt werden. Es gibt außerdem *-64bit- und *-x86-Pakete für die Nutzung unter ppc und ia64. Der Build Service kann angewiesen werden, solche Pakete automatisch zu erstellen, indem den Paketquellen eine Datei namens baselibs.conf hinzugefügt wird. Die schlichteste Form dieser Datei ist, einfach pro Zeile ein nötiges Paket aufzulisten. Für libxml sieht die Datei bspw. so aus:
libxml2 libxml2-devel
Bibliotheken in den allgemeinen Bibliotheksverzeichnissen werden automatische eingefügt. Es ist außerdem möglich, zusätzliche Dateien wie Plugins einzufügen oder Änderungen vorzunehmen.
tcl macht dies beispielsweise:
tcl +/usr/lib(64)?/tcl/.* requires -tcl-<targettype>
Der Paketname (oder der des Unterpakets) muss in der ersten Zeile stehen. Die folgenden Zeilen sollten mit einem Leerzeichen beginnen und zusätzliche Optionen für das Paket festlegen, zum Beispiel:
- +regex: füge alle Dateien, die auf einen regulären Ausdruck zutreffen dem xxbit-Paket hinzu
- requires Zeichenkette: fügt dem xxbit-Paket zusätzliche Abhängigkeiten hinzu. Um eine Abhängigkeit zu entfernen, beginnen Sie die Zeichenkette mit einem - (es weden auch all unterstützten Abhängigkeiten wie provides oder obsoletes unterstützt)
- targetarch x86_64 block!: erstelle kein 32bit-paket für x86_64
- targettype x86 package foo: erstelle einfach foo-x86 (und nicht foo-32bit) (analog: targettype x86 requires foo, provides, ....)
Unterstützte Makros:
- <extension>
- <name>
- <version>
- <targettype>
- <prefix> ("" oder "/emul/ia32-linux" abhängig vom Ziel)
Ein weiteres Beispiel:
readline-devel requires -readline-<targettype> requires "libreadline5-<targettype> = <version>"
Wenn Sie nur für eine einzelne Architektur xxbit-Pakete benötigen, nehmen Sie das folgende, numactl entnommene, Beispiel:
arch ppc package libnuma-devel requires -numactl-<targettype> requires "numactl1-<targettype> = <version>"

