PISI
(Packages Installed Successfully as Intended)
Barış Metin
(Alpha)
Örnek bir PSPEC Dosyası
-
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE PSPEC SYSTEM "http://www.uludag.org.tr/projeler/pisi/pisi-spec.dtd">
<PISI>
<Source>
<Name>popt</Name>
<Homepage>http://www.rpm.org/</Homepage>
<Packager>
<Name>Pardus Man</Name>
<Email>bilgi@uludag.org.tr</Email>
</Packager>
<License>As-Is</License>
<IsA>library:util:optparser</IsA>
<PartOf>rpm:archive</PartOf>
<Summary xml:lang=''en''>Popt command line option parser</Summary>
<Description xml:lang=''en''>Command line option parsing library.
While it is similiar to getopt(3), it contains a number of enhancements, including:
1) popt is fully reentrant
2) popt can parse arbitrary argv[] style arrays while getopt(2) makes this quite difficult
3) popt allows users to alias command line arguments
4) popt provides convience functions for parsing strings into argv[] style arrays
</Description>
<Archive type="targz" sha1sum="66f3c77b87a160951b180447f4a6dce68ad2f71b">ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.1.x/popt-1.7.tar.gz</Archive>
<Patches>
<Patch compressionType="gz" level="1">popt-1.7-uclibc.patch.gz</Patch>
</Patches>
<BuildDependencies>
<Dependency versionFrom="1.8">automake</Dependency>
</BuildDependencies>
</Source>
<Package>
<Name>popt</Name>
<RuntimeDependencies>
<Dependency>gettext</Dependency>
</RuntimeDependencies>
<Files>
<Path fileType="sharedLib">/usr/lib</Path>
<Path fileType="doc">/usr/share/doc</Path>
<Path fileType="doc">/usr/share/man</Path>
<Path fileType="localedata">/usr/share/locale</Path>
<Path fileType="header">/usr/include/popt.h</Path>
</Files>
</Package>
<History>
<Update release=''2'' type=''Bug''>
<Date>2005-07-01</Date>
<Version>1.7</Version>
<Comment>paths fixed.</Comment>
<Name>Barış Metin</Name>
<Email>baris@uludag.org.tr</Email>
</Update>
<Update release=''1''>
<Date>2005-06-10</Date>
<Version>1.7</Version>
<Comment>first release.</Comment>
<Name>Barış Metin</Name>
<Email>baris@uludag.org.tr</Email>
</Update>
</PISI>
Yukarıdaki örnek dosyada
Package içerisinde tanımlanmayan taglar
Source içerisinden alınarak kullanılacaktır. Bir kaynak paketten
birden fazla ikili (binary) paket oluşturmak için
Package etiketleri
farklı isimler (Name) verilerek arttırılabilir.
Paketler Files
içerisinde bulunan
Path taglarına göre bölümlendirilecektir.
4.2.2 actions.py Dosyası
Bu dosya bir Python betiği olup, kaynağın kurulması, derlenmesi, test
edilmesi, sisteme kurulması gibi işlevleri yerine getiren fonksiyonlardan
oluşur.
Paketin oluşturulması sırasında derleme sistemi
actions.py
içerisindeki 3 fonksiyon adını arar ve çalıştırır;
setup,
build, install. Bu fonksiyonlardan install'ın tanımlanması zorunlu
olmakla birlikte setup ve build sadece tanımlanmışsa çalıştırılır.
actions.py'ler tarafından kullanılmak üzere
PİSİ
tarafından hazır bir
API ActionsAPI adında sunulacaktır.