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 \series default
dosyası paketin oluşturulması için gerekli olan temel bilgiyi tanımlar. dosyası paketin oluşturulması için gerekli olan temel bilgiyi tanımlar.
Oluşturulacak paketin ne olduğu, kaynağı, kim tarafından paketlendiği, 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 \layout Standard
Bir Bir
@@ -384,16 +385,30 @@ Bir
PSPEC PSPEC
\series default \series default
dosyasından, dolayısı ile bir kaynaktan birden fazla paket oluşturulabilir. 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 Örneğin kcontrol paketi kdebase-kaynaksürümü.paketsürümü.tar.gz kaynağından
yalnızca bir pakettir. oluşturulabilecek yalnızca bir pakettir.
\layout Standard \layout Standard
Dosya biçimi XML'dir ve aşağıdaki etiketleri içerir. Dosya biçimi XML'dir ve aşağıdaki etiketleri içerir.
Her PSPEC dosyasında tüm etiketlerin bulunması zorunlu değildir. 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 \layout Paragraph
Pisi PISI
\layout Subparagraph \layout Subparagraph
Source Source
@@ -403,7 +418,7 @@ Source
\series bold \series bold
Name Name
\series default \series default
: (Zorunlu) Uygulamanın adı. : (*) Uygulamanın adı.
\layout Itemize \layout Itemize
@@ -417,7 +432,7 @@ Uygulaman
\series bold \series bold
Summary: Summary:
\series default \series default
(Zorunlu) Tek satırlık açıklayıcı bilgi. (*) Tek satırlık açıklayıcı bilgi.
Çoklu dil desteğine sahiptir. Çoklu dil desteğine sahiptir.
\layout Itemize \layout Itemize
@@ -425,7 +440,7 @@ Summary:
\series bold \series bold
Description: Description:
\series default \series default
(Zorunlu) (*)
\series bold \series bold
\series default \series default
@@ -512,7 +527,7 @@ IsA
\series bold \series bold
Packager: Packager:
\series default \series default
(Zorunlu) (*)
\series bold \series bold
\series default \series default
@@ -524,14 +539,14 @@ Paketi olu
\series bold \series bold
Name: Name:
\series default \series default
(Zorunlu) Paket geliştiricisinin adı ve soyadı. (*) Paket geliştiricisinin adı ve soyadı.
\layout Itemize \layout Itemize
\series bold \series bold
Email: Email:
\series default \series default
(Zorunlu) Paket geliştiricisinin e-posta adresi. (*) Paket geliştiricisinin e-posta adresi.
\end_deeper \end_deeper
\layout Itemize \layout Itemize
@@ -539,14 +554,14 @@ Email:
\series bold \series bold
License License
\series default \series default
: (Zorunlu) Uygulamanın lisansını belirtir (GPL, BSD, vb). : (*) Uygulamanın lisansını belirtir (GPL, BSD, vb).
\layout Itemize \layout Itemize
\series bold \series bold
Archive: Archive:
\series default \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 \series bold
archType archType
@@ -556,6 +571,7 @@ archType
sha1sum sha1sum
\series default \series default
, sha1 ile alınmış özet değerini belirtir. , sha1 ile alınmış özet değerini belirtir.
Her iki attribute (archType ve sha1sum) zorunludur.
\layout Itemize \layout Itemize
@@ -653,38 +669,23 @@ BuildDependencies
\series bold \series bold
Dependency Dependency
\series default \series default
: Bir bağımlılık tanımlar. : Bir bağımlılığı tanımlar.
\begin_deeper Burada bahsedilen bağımlılık paket bağımlılığı olabilir (TODO: Comar bağımlılık
\layout Itemize larını da bir şekilde ifade etmek gerekiyordu.
Bu belgede daha önce vardı sanırım çıkartmışız).
\series bold \series bold
Name versionFrom
\series default \series default
: (text) Bağımlılık duyulan pakedin adı. ve
\layout Itemize
\series bold \series bold
Version: versionTo
\series default \series default
(attribute) Bağımlı olunan tek bir sürüm numarasını bildirir. attribute bilgileri ile paketin hangi sürüm numarasına bağımlı olduğu ifade
\layout Itemize edilebilir.
Örnek:
\newline
\series bold <Dependency versionFrom="1.8">make</Dependency>
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
\end_deeper \end_deeper
\layout Itemize \layout Itemize
@@ -692,7 +693,7 @@ VersionTo:
\series bold \series bold
History History
\series default \series default
: (Zorunlu) Pakete yapılan güncellemelerin bir listesini verir. : (*) Pakete yapılan güncellemelerin bir listesini verir.
\series bold \series bold
History History
@@ -719,7 +720,7 @@ Release
\series bold \series bold
Update Update
\series default \series default
: (Zorunlu) Bir güncellemeyi tarif eder. : (*) Bir güncellemeyi tarif eder.
\begin_deeper \begin_deeper
\layout Itemize \layout Itemize
@@ -727,49 +728,50 @@ Update
\series bold \series bold
Type: Type:
\series default \series default
(Zorunlu) Güncellemenin tipini belirtir. Güncellemenin tipini belirtir (Security, Bug, Enhancement, Normal v.s).
(Security, Bug, Enhancement v.s) Eğer bu etiket tanımlı değilse tip Normal olarak kabul edilir.
\layout Itemize \layout Itemize
\series bold \series bold
Date Date
\series default \series default
: (Zorunlu) Güncellemenin tarihi. : (*) Güncellemenin tarihi.
\layout Itemize \layout Itemize
\series bold \series bold
Version: Version:
\series default \series default
(Zorunlu) Uygulamanın sürüm numarası. (*) Uygulamanın sürüm numarası.
\layout Itemize \layout Itemize
\series bold \series bold
Release: Release:
\series default \series default
(Zorunlu) Pakedin sürüm numarası. (*) Pakedin sürüm numarası.
\end_deeper \end_deeper
\end_deeper \end_deeper
\layout Subparagraph \layout Subparagraph
Package: Package:
\series medium \series medium
(Zorunlu) (*)
\series default \series default
\series medium \series medium
Uygulamadan oluşturulacak bir pakedi tanımlar. Uygulamadan oluşturulacak bir pakedi tanımlar.
Her PSPEC dosyası en az bir
\series default \series default
Package Package
\series medium \series medium
içerisindeki bazı taglar etiketi içermek zorundadır.
\series default \layout Subparagraph
PİSİ
Package
\series medium \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ı Bu tekrarlamaların bazıları override edilirken (üzerine yazılırken) bazıları
merge (birleştirilecek) edilecek. merge (birleştirilecek) edilecek.
\layout Itemize \layout Itemize
@@ -845,37 +847,7 @@ RuntimeDependencies
Dependency Dependency
\series default \series default
: Bir bağımlılık tanımlar. : Bir bağımlılık tanımlar.
\begin_deeper BuildDependency ile aynı yapıdadır
\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
\end_deeper \end_deeper
\layout Itemize \layout Itemize
@@ -893,37 +865,7 @@ InstallDependencies
Dependency Dependency
\series default \series default
: Bir bağımlılık tanımlar. : Bir bağımlılık tanımlar.
\begin_deeper BuildDependency ile aynı yapıdadır
\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
\end_deeper \end_deeper
\layout Itemize \layout Itemize
@@ -931,7 +873,7 @@ VersionTo:
\series bold \series bold
Files Files
\series default \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 Dosya tipleri ile ilgili bigi
\begin_inset LatexCommand \ref{FType} \begin_inset LatexCommand \ref{FType}
@@ -945,21 +887,337 @@ Files
\series bold \series bold
Path Path
\series default \series default
(Zorunlu) (*):
\begin_deeper \series bold
\layout Itemize
\series default
Bir dosya/dizin yolunu tarif eder.
Verilebilecek olan
\series bold \series bold
fileType fileType
\series default \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... 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
\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 \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 \layout Subsubsection
actions.py Dosyası actions.py Dosyası
@@ -997,9 +1255,75 @@ P
API API
\series default \series default
actionsapi adında sunulacaktır. 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 \layout Subsubsection
ChangeLog Dosyası ChangeLog Dosyası
@@ -1038,7 +1362,7 @@ Metadata
Metadata Metadata
\series default \series default
dosyası sadece oluşturulan paket ile ilgili bilgileri tutmaktan sorumludur. 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 \layout Standard
Bu bilgilerin büyük kısmı Bu bilgilerin büyük kısmı
@@ -1064,19 +1388,21 @@ tan sonra al
Metadata Metadata
\series default \series default
dosyasının içeriği şöyle tanımlanmıştır; dosyasının içeriği şöyle tanımlanmıştır;
\layout Itemize \layout Standard
\series bold \series bold
Metadata PISI
\begin_deeper \layout Subparagraph
Source:
\series medium
Bu bölümdeki bilgiler PSPEC dosyasının Source bölümünden alınır.
\layout Itemize \layout Itemize
\series bold \series bold
Name Name
\series default
{From Package Tag}
\layout Itemize \layout Itemize
@@ -1086,30 +1412,12 @@ Homepage
\series bold \series bold
Summary Summary
\series default
{From Package Tag}
\layout Itemize \layout Itemize
\series bold \series bold
Description 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}
\layout Itemize \layout Itemize
@@ -1129,13 +1437,29 @@ Name
\series bold \series bold
Email Email
\end_deeper \end_deeper
\layout Subparagraph
Package
\layout Itemize
\series bold
Name
\layout Itemize
\series bold
Summary
\layout Itemize
\series bold
Description
\layout Itemize \layout Itemize
\series bold \series bold
License License
\series default
{From Package Tag}
\layout Itemize \layout Itemize
@@ -1193,29 +1517,6 @@ RuntimeDependencies
\series bold \series bold
Dependency 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 \layout Itemize
@@ -1227,28 +1528,6 @@ InstallDependencies
\series bold \series bold
Dependency 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 \end_deeper
\layout Itemize \layout Itemize
@@ -1260,17 +1539,7 @@ Files
\series bold \series bold
Directory Path
\layout Itemize
\series bold
Wildcard
\layout Itemize
\series bold
File
\end_deeper \end_deeper
\layout Itemize \layout Itemize
@@ -1318,15 +1587,10 @@ XML
\series bold \series bold
Metadata Metadata
\series default \series default
XML dosyalarının doğrulanması için kullanılabilecek bilgi XML dosyalarının yapısı PSPEC dosyası ile hemen hemen aynıdır.
\emph on Yalnızca Metadata paket oluşumundan sonra elimizde olan bazı ek bilgileri
pisi-metadata.dtd de içerir.
\emph default
dosyasında tanımlanmıştır.
\layout Standard
TODO: Örnek Lazım!
\layout Subsection \layout Subsection
files.xml files.xml