Budowanie pakietów w Pardusie
14 July 2008
Comments
Budowanie pakietów w Pardusie nie jest zbyt skomplikowane, lecz wymaga pewnej znajomości kodu jaki chcemy przeistoczyć w pakiet. Do dyspozycji mamy repozytorium źródłowe, które zawiera pliki potrzebne do budowy poszczególnych pakietów. By zbudować pakiet musimy mieć następujące pliki w określonej strukturze:
component.xml katalog/ /pspec.xml /actions.py /files/ /comar/
pisi build pspec.xml
Jeżeli nie będzie błędów w pspec.xml i actions.py pakiet zostanie zbudowany i umieszczony w bierzącym katalogu.actions.py
Oto actions.py dla gry wesnoth:from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
def setup():
autotools.configure("--disable-gnome1 --disable-gnome2 --with-kde --disable-dependency-tracking --enable-editor")
def build():
autotools.make()
def install():
autotools.install()
pisitools.dodoc("ChangeLog", "NEWS", "TODO", "doc/README")
pspec.xml
Plik pspec.xml podaje dane o pakiecie takie jak odnośnik do pliku ze źródłami, sumę kontrolną sha1, opisy, numer wersji i wydania. Oto przykładowy plik pspec.xml:<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pardus.org.tr/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>nazwa pakietu</Name>
<Homepage>http://www.strona pakietu.org/</Homepage>
<Packager>
<Name>Jan</Name>
<Email>1@1.pl</Email>
</Packager>
<License>GPL-2</License>
<IsA>app:gui</IsA>
<Summary>krótki opis</Summary>
<Archive sha1sum="suma_kontrolna" type="tarbz2">odnośnik do źródeł</Archive>
<BuildDependencies>
<Dependency>zależność budowy</Dependency>
<Dependency>libsdl</Dependency>
<Dependency>sdl-image</Dependency>
<Dependency>sdl-net</Dependency>
<Dependency>sdl-mixer</Dependency>
</BuildDependencies>
</Source>
<Package>
<Name>nazwa</Name>
<RuntimeDependencies>
<Dependency>zależność do działania</Dependency>
<Dependency>libsdl</Dependency>
<Dependency>sdl-image</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="executable">/usr/bin</Path>
<Path fileType="data">/usr/share/wesnoth</Path>
<Path fileType="data">/usr/share/applications</Path>
<Path fileType="doc">/usr/share/doc/</Path>
<Path fileType="man">/usr/share/man/</Path>
<Path fileType="data">/usr/share/icons</Path>
<Path fileType="data">/usr/share/applnk</Path>
</Files>
<AdditionalFiles>
<AdditionalFile target="/usr/share/applications/wesnoth.desktop">wesnoth.desktop</AdditionalFile>
</AdditionalFiles>
</Package>
<History>
<Update release="1">
<Date>2006-01-31</Date>
<Version>1.0.2</Version>
<Comment>First build</Comment>
<Name>Jan Kowalski</Name>
<Email>1@1.pl</Email>
</Update>
</History>
</PISI>
<Files>
<Path fileType="executable">/usr/bin</Path>
<Path fileType="data">/usr/share/wesnoth</Path>
<Path fileType="data">/usr/share/applications</Path>
<Path fileType="doc">/usr/share/doc/</Path>
<Path fileType="man">/usr/share/man/</Path>
<Path fileType="data">/usr/share/icons</Path>
<Path fileType="data">/usr/share/applnk</Path>
</Files>
<AdditionalFiles>
<AdditionalFile target="/usr/share/applications/wesnoth.desktop">wesnoth.desktop</AdditionalFile>
</AdditionalFiles>
RkBlog
Comment article