pisiyi biraz güncelledim.

This commit is contained in:
Barış Metin
2005-07-05 09:12:09 +00:00
parent 30c5081364
commit 312074d21e
+483 -219
View File
@@ -376,7 +376,8 @@ PSPEC (P
\series default
dosyası paketin oluşturulması için gerekli olan temel bilgiyi tanımlar.
Oluşturulacak paketin ne olduğu, kaynağı, kim tarafından paketlendiği,
hangi başka paketlere ne tür bağımlılıklar içerdiği gibi bilgileri içerir.
kaynağa uygulanan yamalar, hangi başka paketlere ne tür bağımlılıklar içerdiği
gibi bilgileri içerir.
\layout Standard
Bir
@@ -384,16 +385,30 @@ Bir
PSPEC
\series default
dosyasından, dolayısı ile bir kaynaktan birden fazla paket oluşturulabilir.
Örneğin kcontrol paketi kdebase-sürüm.no.tar.gz kaynağından oluşturulabilecek
yalnızca bir pakettir.
Örneğin kcontrol paketi kdebase-kaynaksürümü.paketsürümü.tar.gz kaynağından
oluşturulabilecek yalnızca bir pakettir.
\layout Standard
Dosya biçimi XML'dir ve aşağıdaki etiketleri içerir.
Her PSPEC dosyasında tüm etiketlerin bulunması zorunlu değildir.
Bulunması zorunlu olan etiketler aşağıda (Zorunlu) ile belirtilirler.
Bulunması zorunlu olan etiketler aşağıda (*) ile belirtilirler.
\layout Standard
PSPEC dosyaları PSPEC deposunda pakete ait dizinde
\series bold
pspec.xml
\series default
adı ile tutulurlar.
\layout Standard
Her PSPEC dosyası PISI etiketi (tag) altında bir Source ve
\bar under
en az
\bar default
bir Package olmak üzere iki ana bölüm içermek zorundadırlar.
\layout Paragraph
Pisi
PISI
\layout Subparagraph
Source
@@ -403,7 +418,7 @@ Source
\series bold
Name
\series default
: (Zorunlu) Uygulamanın adı.
: (*) Uygulamanın adı.
\layout Itemize
@@ -417,7 +432,7 @@ Uygulaman
\series bold
Summary:
\series default
(Zorunlu) Tek satırlık açıklayıcı bilgi.
(*) Tek satırlık açıklayıcı bilgi.
Çoklu dil desteğine sahiptir.
\layout Itemize
@@ -425,7 +440,7 @@ Summary:
\series bold
Description:
\series default
(Zorunlu)
(*)
\series bold
\series default
@@ -512,7 +527,7 @@ IsA
\series bold
Packager:
\series default
(Zorunlu)
(*)
\series bold
\series default
@@ -524,14 +539,14 @@ Paketi olu
\series bold
Name:
\series default
(Zorunlu) Paket geliştiricisinin adı ve soyadı.
(*) Paket geliştiricisinin adı ve soyadı.
\layout Itemize
\series bold
Email:
\series default
(Zorunlu) Paket geliştiricisinin e-posta adresi.
(*) Paket geliştiricisinin e-posta adresi.
\end_deeper
\layout Itemize
@@ -539,14 +554,14 @@ Email:
\series bold
License
\series default
: (Zorunlu) Uygulamanın lisansını belirtir (GPL, BSD, vb).
: (*) Uygulamanın lisansını belirtir (GPL, BSD, vb).
\layout Itemize
\series bold
Archive:
\series default
(Zorunlu) Uygulamanın orjinal kaynak kodunun bulunduğu URL'yi belirtir.
(*) Uygulamanın orjinal kaynak kodunun bulunduğu URL'yi belirtir.
\series bold
archType
@@ -556,6 +571,7 @@ archType
sha1sum
\series default
, sha1 ile alınmış özet değerini belirtir.
Her iki attribute (archType ve sha1sum) zorunludur.
\layout Itemize
@@ -653,38 +669,23 @@ BuildDependencies
\series bold
Dependency
\series default
: Bir bağımlılık tanımlar.
\begin_deeper
\layout Itemize
: Bir bağımlılığı tanımlar.
Burada bahsedilen bağımlılık paket bağımlılığı olabilir (TODO: Comar bağımlılık
larını da bir şekilde ifade etmek gerekiyordu.
Bu belgede daha önce vardı sanırım çıkartmışız).
\series bold
Name
versionFrom
\series default
: (text) Bağımlılık duyulan pakedin adı.
\layout Itemize
ve
\series bold
Version:
versionTo
\series default
(attribute) Bağımlı olunan tek bir sürüm numarasını bildirir.
\layout Itemize
\series bold
VersionFrom:
\series default
(attribute) Bu sürüm numarasından sonraki tüm sürüm numaralarına bağımlılığı
tarif eder.
\layout Itemize
\series bold
VersionTo:
\series default
(attribute) Bu sürüm numaralarına kadar olan bağımlılığı tarif eder.
\end_deeper
attribute bilgileri ile paketin hangi sürüm numarasına bağımlı olduğu ifade
edilebilir.
Örnek:
\newline
<Dependency versionFrom="1.8">make</Dependency>
\end_deeper
\layout Itemize
@@ -692,7 +693,7 @@ VersionTo:
\series bold
History
\series default
: (Zorunlu) Pakete yapılan güncellemelerin bir listesini verir.
: (*) Pakete yapılan güncellemelerin bir listesini verir.
\series bold
History
@@ -719,7 +720,7 @@ Release
\series bold
Update
\series default
: (Zorunlu) Bir güncellemeyi tarif eder.
: (*) Bir güncellemeyi tarif eder.
\begin_deeper
\layout Itemize
@@ -727,49 +728,50 @@ Update
\series bold
Type:
\series default
(Zorunlu) Güncellemenin tipini belirtir.
(Security, Bug, Enhancement v.s)
Güncellemenin tipini belirtir (Security, Bug, Enhancement, Normal v.s).
Eğer bu etiket tanımlı değilse tip Normal olarak kabul edilir.
\layout Itemize
\series bold
Date
\series default
: (Zorunlu) Güncellemenin tarihi.
: (*) Güncellemenin tarihi.
\layout Itemize
\series bold
Version:
\series default
(Zorunlu) Uygulamanın sürüm numarası.
(*) Uygulamanın sürüm numarası.
\layout Itemize
\series bold
Release:
\series default
(Zorunlu) Pakedin sürüm numarası.
(*) Pakedin sürüm numarası.
\end_deeper
\end_deeper
\layout Subparagraph
Package:
\series medium
(Zorunlu)
(*)
\series default
\series medium
Uygulamadan oluşturulacak bir pakedi tanımlar.
Her PSPEC dosyası en az bir
\series default
Package
\series medium
içerisindeki bazı taglar
\series default
PİSİ
etiketi içermek zorundadır.
\layout Subparagraph
Package
\series medium
içerisindekileri tekrarlayacaklardır.
içerisindeki bazı taglar Source içerisindekileri tekrarlayabilir.
Bu tekrarlamaların bazıları override edilirken (üzerine yazılırken) bazıları
merge (birleştirilecek) edilecek.
\layout Itemize
@@ -845,37 +847,7 @@ RuntimeDependencies
Dependency
\series default
: Bir bağımlılık tanımlar.
\begin_deeper
\layout Itemize
\series bold
Name
\series default
: Bağımlılık duyulan pakedin adı.
\layout Itemize
\series bold
Version:
\series default
Bağımlı olunan tek bir sürüm numarasını bildirir.
\layout Itemize
\series bold
VersionFrom:
\series default
Bu sürüm numarasından sonraki tüm sürüm numaralarına bağımlılığı tarif
eder.
\layout Itemize
\series bold
VersionTo:
\series default
Bu sürüm numaralarına kadar olan bağımlılığı tarif eder.
\end_deeper
BuildDependency ile aynı yapıdadır
\end_deeper
\layout Itemize
@@ -893,37 +865,7 @@ InstallDependencies
Dependency
\series default
: Bir bağımlılık tanımlar.
\begin_deeper
\layout Itemize
\series bold
Name
\series default
: Bağımlılık duyulan pakedin adı.
\layout Itemize
\series bold
Version:
\series default
Bağımlı olunan tek bir sürüm numarasını bildirir.
\layout Itemize
\series bold
VersionFrom:
\series default
Bu sürüm numarasından sonraki tüm sürüm numaralarına bağımlılığı tarif
eder.
\layout Itemize
\series bold
VersionTo:
\series default
Bu sürüm numaralarına kadar olan bağımlılığı tarif eder.
\end_deeper
BuildDependency ile aynı yapıdadır
\end_deeper
\layout Itemize
@@ -931,7 +873,7 @@ VersionTo:
\series bold
Files
\series default
: (Zorunlu) Pakedin kurulacak dosyalarının tiplerini belirlemek için kullanılır.
: (*) Pakedin kurulacak dosyalarının tiplerini belirlemek için kullanılır.
Dosya tipleri ile ilgili bigi
\begin_inset LatexCommand \ref{FType}
@@ -945,21 +887,337 @@ Files
\series bold
Path
\series default
(Zorunlu)
\begin_deeper
\layout Itemize
(*):
\series bold
\series default
Bir dosya/dizin yolunu tarif eder.
Verilebilecek olan
\series bold
fileType
\series default
(Zorunlu) (attribute) Bir path'in tipini belirtir.
attribute ise path'in tipini belirtir.
Belge, paylaşımlı kütüphane, çalıştırılabilir, vb...
Eğer fileType verilmezse path tipi
\begin_inset Quotes eld
\end_inset
other
\begin_inset Quotes erd
\end_inset
olarak tanımlanır.
Örnek:
\newline
<Path fileType="sharedLib">/usr/lib</Path>
\end_deeper
\end_deeper
\layout Paragraph
Örnek bir PSPEC Dosyası
\layout LyX-Code
\size scriptsize
<?xml version="1.0" encoding="utf-8" standalone="no"?>
\layout LyX-Code
\size scriptsize
<!DOCTYPE PSPEC SYSTEM "http://www.uludag.org.tr/projeler/pisi/pisi-spec.dtd">
\layout LyX-Code
\size scriptsize
<PISI>
\layout LyX-Code
\size scriptsize
<Source>
\layout LyX-Code
\size scriptsize
<Name>popt</Name>
\layout LyX-Code
\size scriptsize
<Homepage>http://www.rpm.org/</Homepage>
\layout LyX-Code
\size scriptsize
<Packager>
\layout LyX-Code
\size scriptsize
<Name>Pardus Man</Name>
\layout LyX-Code
\size scriptsize
<Email>bilgi@uludag.org.tr</Email>
\layout LyX-Code
\size scriptsize
</Packager>
\layout LyX-Code
\size scriptsize
<License>As-Is</License>
\layout LyX-Code
\size scriptsize
<IsA>library:util:optparser</IsA>
\layout LyX-Code
\size scriptsize
<PartOf>rpm:archive</PartOf>
\layout LyX-Code
\size scriptsize
<Summary xml:lang=
\begin_inset Quotes erd
\end_inset
en
\begin_inset Quotes erd
\end_inset
>Popt command line option parser</Summary>
\layout LyX-Code
\size scriptsize
<Description xml:lang=
\begin_inset Quotes erd
\end_inset
en
\begin_inset Quotes erd
\end_inset
>Command line option parsing library.
\layout LyX-Code
\size scriptsize
While it is similiar to getopt(3), it contains a number of enhancements,
including:
\layout LyX-Code
\size scriptsize
1) popt is fully reentrant
\layout LyX-Code
\size scriptsize
2) popt can parse arbitrary argv[] style arrays while getopt(2) makes
this quite difficult
\layout LyX-Code
\size scriptsize
3) popt allows users to alias command line arguments
\layout LyX-Code
\size scriptsize
4) popt provides convience functions for parsing strings into argv[]
style arrays
\layout LyX-Code
\size scriptsize
</Description>
\layout LyX-Code
\size scriptsize
<Archive type="targz" sha1sum="66f3c77b87a160951b180447f4a6dce68ad2f71b">ftp
://ftp.rpm.org/pub/rpm/dist/rpm-4.1.x/popt-1.7.tar.gz</Archive>
\layout LyX-Code
\size scriptsize
<Patches>
\layout LyX-Code
\size scriptsize
<Patch compressionType="gz" level="1">popt-1.7-uclibc.patch.gz</Patch>
\layout LyX-Code
\size scriptsize
</Patches>
\layout LyX-Code
\size scriptsize
<BuildDependencies>
\layout LyX-Code
\size scriptsize
<Dependency versionFrom="1.8">make</Dependency>
\layout LyX-Code
\size scriptsize
</BuildDependencies>
\layout LyX-Code
\size scriptsize
<History>
\layout LyX-Code
\size scriptsize
<Update>
\layout LyX-Code
\size scriptsize
<Date>06/14/2005</Date>
\layout LyX-Code
\size scriptsize
<Version>1.7</Version>
\layout LyX-Code
\size scriptsize
<Release>3</Release>
\layout LyX-Code
\size scriptsize
</Update>
\layout LyX-Code
\size scriptsize
<Update>
\layout LyX-Code
\size scriptsize
<Date>06/10/2005</Date>
\layout LyX-Code
\size scriptsize
<Version>1.7</Version>
\layout LyX-Code
\size scriptsize
<Release>2</Release>
\layout LyX-Code
\size scriptsize
</Update>
\layout LyX-Code
\size scriptsize
</History>
\layout LyX-Code
\size scriptsize
</Source>
\layout LyX-Code
\layout LyX-Code
\size scriptsize
<Package>
\layout LyX-Code
\size scriptsize
<Name>popt</Name>
\layout LyX-Code
\size scriptsize
<RuntimeDependencies>
\layout LyX-Code
\size scriptsize
<Dependency>gettext</Dependency>
\layout LyX-Code
\size scriptsize
</RuntimeDependencies>
\layout LyX-Code
\size scriptsize
<Files>
\layout LyX-Code
\size scriptsize
<Path fileType="sharedLib">/usr/lib</Path>
\layout LyX-Code
\size scriptsize
<Path fileType="doc">/usr/share/doc</Path>
\layout LyX-Code
\size scriptsize
<Path fileType="doc">/usr/share/man</Path>
\layout LyX-Code
\size scriptsize
<Path fileType="localedata">/usr/share/locale</Path>
\layout LyX-Code
\size scriptsize
<Path fileType="header">/usr/include/popt.h</Path>
\layout LyX-Code
\size scriptsize
</Files>
\layout LyX-Code
\size scriptsize
</Package>
\layout LyX-Code
\size scriptsize
</PISI>
\layout Standard
TODO: Örnek Lazım!
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.
\layout Subsubsection
actions.py Dosyası
@@ -997,9 +1255,75 @@ P
API
\series default
actionsapi adında sunulacaktır.
\layout Standard
\layout Paragraph
TODO: Örnek Lazım!
Örnek bir actions.py dosyası:
\layout LyX-Code
\size scriptsize
from pisi.actionsapi import gnuconfig
\layout LyX-Code
\size scriptsize
from pisi.actionsapi import autotools
\layout LyX-Code
\layout LyX-Code
\size scriptsize
WorkDir='popt-1.7'
\layout LyX-Code
\layout LyX-Code
\size scriptsize
def setup():
\layout LyX-Code
\size scriptsize
gnuconfig.gnuconfig_update()
\layout LyX-Code
\size scriptsize
autotools.configure(
\begin_inset Quotes eld
\end_inset
--with-nls
\begin_inset Quotes erd
\end_inset
)
\layout LyX-Code
\layout LyX-Code
\size scriptsize
def build():
\layout LyX-Code
\size scriptsize
autotools.make()
\layout LyX-Code
\layout LyX-Code
\size scriptsize
def install():
\layout LyX-Code
\size scriptsize
autotools.install()
\layout Subsubsection
ChangeLog Dosyası
@@ -1038,7 +1362,7 @@ Metadata
Metadata
\series default
dosyası sadece oluşturulan paket ile ilgili bilgileri tutmaktan sorumludur.
Paket'den hakkında temel bilgi bu dosyadan alınacaktır.
Paket hakkında temel bilgi bu dosyadan alınacaktır.
\layout Standard
Bu bilgilerin büyük kısmı
@@ -1064,19 +1388,21 @@ tan sonra al
Metadata
\series default
dosyasının içeriği şöyle tanımlanmıştır;
\layout Itemize
\layout Standard
\series bold
Metadata
\begin_deeper
PISI
\layout Subparagraph
Source:
\series medium
Bu bölümdeki bilgiler PSPEC dosyasının Source bölümünden alınır.
\layout Itemize
\series bold
Name
\series default
{From Package Tag}
\layout Itemize
@@ -1086,30 +1412,12 @@ Homepage
\series bold
Summary
\series default
{From Package Tag}
Summary
\layout Itemize
\series bold
Description
\series default
{From Package Tag}
\layout Itemize
\series bold
IsA
\series default
{From Package Tag}
\layout Itemize
\series bold
PartOf
\series default
{From Package Tag}
Description
\layout Itemize
@@ -1129,13 +1437,29 @@ Name
\series bold
Email
\end_deeper
\layout Subparagraph
Package
\layout Itemize
\series bold
Name
\layout Itemize
\series bold
Summary
\layout Itemize
\series bold
Description
\layout Itemize
\series bold
License
\series default
{From Package Tag}
\layout Itemize
@@ -1193,29 +1517,6 @@ RuntimeDependencies
\series bold
Dependency
\begin_deeper
\layout Itemize
\series bold
Name
\layout Itemize
\series bold
Version
\layout Itemize
\series bold
VersionFrom
\layout Itemize
\series bold
VersionTo
\end_deeper
\end_deeper
\layout Itemize
@@ -1227,28 +1528,6 @@ InstallDependencies
\series bold
Dependency
\begin_deeper
\layout Itemize
\series bold
Name
\layout Itemize
\series bold
Version
\layout Itemize
\series bold
VersionFrom
\layout Itemize
\series bold
VersionTo
\end_deeper
\end_deeper
\layout Itemize
@@ -1260,17 +1539,7 @@ Files
\series bold
Directory
\layout Itemize
\series bold
Wildcard
\layout Itemize
\series bold
File
Path
\end_deeper
\layout Itemize
@@ -1318,15 +1587,10 @@ XML
\series bold
Metadata
\series default
XML dosyalarının doğrulanması için kullanılabilecek bilgi
\emph on
pisi-metadata.dtd
\emph default
dosyasında tanımlanmıştır.
XML dosyalarının yapısı PSPEC dosyası ile hemen hemen aynıdır.
Yalnızca Metadata paket oluşumundan sonra elimizde olan bazı ek bilgileri
de içerir.
\layout Standard
TODO: Örnek Lazım!
\layout Subsection
files.xml