Creer un paquet pisi

Un article de PardusWiki.

/!\ La page est actuellement en construction, celle-ci n'est donc pas complète /!\

Sommaire

[modifier] Préparation

Je vais prendre comme exemple imlib2. C'est une librairie pour les images en C.

[modifier] Création des dossiers

Tout d'abord il faut se créer un répertoire de travail par exemple pardus :

~ $ mkdir pardus
~ $ cd pardus

Ensuite il faut créer les dossiers qui correspondent au type de votre logiciel (regarder : http://svn.pardus.org.tr/pardus/devel et http://svn.pardus.org.tr/contrib). Par exemple pour imlib2 :

~/pardus $ mkdir -p programming/libs/
~/pardus $ cd programming/libs/

Enfin il faut créer un dossier au nom de votre logiciel. Dans notre exemple cas ca sera imlib2 :

~/pardus/programming/libs/ $ mkdir imlib2

[modifier] Création des fichiers et dossiers utiles pour le paquet

Pour créer un .pisi il faut obligatoirement 3 fichiers : component.xml (dans notre exemple il est dans ~/pardus/programming/libs/), pspec.xml (~/pardus/programming/libs/imlib2) et actions.py (~/pardus/programming/libs/imlib2). Il faudra donc avoir quelque chose comme ceci :

pardus/:
programming

pardus/programming:
libs

pardus/programming/libs:
component.xml  imlib2

pardus/programming/libs/imlib2:
actions.py  pspec.xml

[modifier] La création du package

[modifier] component.xml

Le component.xml précise dans quel section est votre logiciel : applications.editors, programming.libs, ... Il y a 2 solutions pour créer se fichier :

  • Le récupérer sur un dépot source de Pardus

Dans la plupart des cas ca sera la solution retenue. Donc si votre section existe déjà sur devel ou contrib il suffit de récupérer le fichier. Pour packager imlib2 on fera :

~/pardus/programming/libs/ $ wget http://svn.pardus.org.tr/pardus/devel/programming/libs/component.xml
  • Si la section de votre logiciel n'existe pas il faut créer le fichier.
<PISI>
    <Name>applications</Name>
    <LocalName xml:lang="tr">Uygulamalar</LocalName>
    <Summary xml:lang="tr">Pardus kullanıcıları için seçilmiş uygulama programları</Summary>
    <Description xml:lang="tr">Uygulamalar, internette gezinmek gibi iyi belirlenmiş kullanım alanlarına hitap eden programlardır</Description>
</PISI>

[modifier] pspec.xml

Le fichier pspec.xml de saisir toutes les inforamtions (dépendances, description, nom du paquet, ...) sur un paquet.

[modifier] Template de pspec.xml

Voici un template vide pspec.xml :

<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM "http://www.pardus.org.tr/projeler/pisi/pisi-spec.dtd">
<PISI>
    <Source>
        <Name></Name>
        <Homepage>http://</Homepage>
        <Packager>
            <Name></Name>
            <Email></Email>
        </Packager>
        <License>GPLv2</License>
        <Icon></Icon>
        <IsA></IsA>
        <Summary></Summary>
        <Description></Description>
        <Archive sha1sum="" type="">http://</Archive>
        <BuildDependencies>
            <Dependency></Dependency>
        </BuildDependencies>
        <Patches>
            <Patch level=""></Patch>
        </Patches>
    </Source>

    <Package>
        <Name></Name>
        <RuntimeDependencies>
            <Dependency versionFrom=""></Dependency>
        </RuntimeDependencies>
        <Files>
            <Path fileType="config">/etc</Path>
            <Path fileType="executable">/usr/bin</Path>
            <Path fileType="header">/usr/include</Path>
            <Path fileType="library">/usr/lib</Path>
            <Path fileType="localedata">/usr/share/locale</Path>
            <Path fileType="man">/usr/share/man</Path>
            <Path fileType="doc">/usr/share/doc</Path>
            <Path fileType="data">/usr/share</Path>
        </Files>
        <AdditionalFiles>
            <AdditionalFile owner="root" permission="0644" target=""></AdditionalFile>
        </AdditionalFiles>
        <Provides>
            <COMAR script=""></COMAR>
        </Provides>
    </Package>

    <History>
        <Update release="1">
            <Date>YYYY-MM-DD</Date>
            <Version></Version>
            <Comment>First release.</Comment>
            <Name></Name>
            <Email></Email>
        </Update>
    </History>
</PISI>

[modifier] Les sections du pspec.xml

Le pspec.xml est divisé en 3 parties qui sont elles même divisiées en plusieurs parties.

[modifier] <Source></Source> Le neoud Source

Cette partie permet de confgurer tout ce qui est relatif aux sources : son nom, son emplacement, la homepage du projet, les informations sur le packager, le nom de l'icone, l'ISA, l'intitulé, la description, l'esplacement de l'archive, les dépendences source et les patches.

[modifier] <Name></Name>
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Copyright 2008 TUBITAK/UEKAE
# Licensed under the GNU General Public License, version 2.
# See the file http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt

from pisi.actionsapi import autotools
from pisi.actionsapi import pisitools
from pisi.actionsapi import get

def setup():
    pass

def build():
    pass

def install():
    pass