şöyle bi yemekten önce commit yapalım, gerekler kısmını mamadan sonra

güncellerim.
This commit is contained in:
Gürer Özen
2005-06-08 09:36:44 +00:00
parent 0a3b580967
commit 74e191563d
+117 -392
View File
@@ -317,19 +317,24 @@ Bu ama
PİSİ Tasarımı PİSİ Tasarımı
\layout Subsection \layout Subsection
Paket Oluşturma
\layout Standard
Pisi bir dizin içinde verilen tanımlama dosyaları yamalar ve betikleri kullanara
k bir pakedi oluşturur.
Burdaki dizin yapısı aşağıdaki gibidir.
\layout Subsubsection
PSPEC Dosyası PSPEC Dosyası
\layout Standard \layout Standard
\series bold \series bold
PSPEC (PİSİ SPEC) PSPEC (PİSİ SPECification)
\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.
PSPEC dosyası, oluşturulacak paketin ne olduğu, hangi başka paketlere bağımlılı Oluşturulacak paketin ne olduğu, kaynağı, kim tarafından paketlendiği,
k içerdiği, nasıl derlenmesi ve sisteme nasıl kurulması gerektiğini tanımlayan hangi başka paketlere ne tür bağımlılıklar içerdiği gibi bilgileri içerir.
betikleri gösteren; kısaca paketin oluşturulması için gerek duyulan her
türlü bilginin içinde bulunduğu dosyaya verilen isimdir.
\layout Standard \layout Standard
Bir PSPEC dosyasından, dolayısı ile bir kaynaktan birden fazla paket oluşturulab Bir PSPEC dosyasından, dolayısı ile bir kaynaktan birden fazla paket oluşturulab
@@ -338,22 +343,29 @@ ilir.
yalnızca bir pakettir. yalnızca bir pakettir.
\layout Standard \layout Standard
PSPEC dosyalarının içerebileceği alanlar şu şekilde tanımlanmıştır; Dosya biçimi XML'dir ve aşağıdaki etiketleri içerir:
\layout Itemize \layout Itemize
\series bold \series bold
Global Pisi
\begin_deeper \begin_deeper
\layout Itemize \layout Itemize
\series bold \series bold
Meta Source
\begin_deeper \begin_deeper
\layout Itemize \layout Itemize
\series bold
Name
\series default
: Uygulamanın adı.
\layout Itemize
\series bold \series bold
Homepage: Homepage:
\series default \series default
@@ -362,91 +374,7 @@ Uygulaman
\series bold \series bold
Version: Packager:
\series default
Uygulamanın sürüm numarasını belirtir.
(3.4.0 gibi)
\layout Itemize
\series bold
Release:
\series default
Bu uygulama için hazırlanan paketin sürüm numarasını belirtir.
(12 gibi)
\layout Itemize
\series bold
CFlags:
\series default
Paketin hangi ek derleyici bayrakları ile derleneceğini belirtir.
\layout Itemize
\series bold
Source:
\series default
Uygulamanın orjinal kaynak kodlarının bulunduğu adresi belirtir.
\layout Itemize
\series bold
SourceCheckSum:
\series default
Orjinal kaynak kodun doğrulama bilgisini (MD5, SHA v.s) verir.
\layout Itemize
\series bold
File(s):
\series default
Uygulama ile gelmeyen ama sistemde bulunması gereken dosyaları belirtir.
File, farklı dosyalar için birden fazla tekrarlanabilir.
(init betikleri, belirli bir yere yerleştirilecek simgeler, vb.)
\begin_deeper
\layout Standard
\series bold
Attribute(s)
\layout Itemize
\series bold
Destination:
\series default
Harici dosyaların kopyalanacağı yeri belirtir.
Kaynak kod açıldığında oluşacak dizin sıradüzeni (hiyerarşi) içerisindeki
konumunu bağlantılı (rölatif) olarak gösterir.
\end_deeper
\layout Itemize
\series bold
Patch(s):
\series default
Uygulamaya hazırlanan yamaları ve uygulanış sıralarını belirtir.
\begin_deeper
\layout Standard
\series bold
Attribute(s)
\layout Itemize
\series bold
Order:
\series default
Uygulanacak yamaların sırasını belirtir.
Nümerik bir değerdir.
\end_deeper
\layout Itemize
\series bold
Packager(s):
\series default \series default
Paketi oluşturan kişilerin adı/soyadı ve e-posta adresi belirtir. Paketi oluşturan kişilerin adı/soyadı ve e-posta adresi belirtir.
\begin_deeper \begin_deeper
@@ -454,14 +382,14 @@ Paketi olu
\series bold \series bold
PackagerName: Name:
\series default \series default
Paket geliştiricisinin adı ve soyadı. Paket geliştiricisinin adı ve soyadı.
\layout Itemize \layout Itemize
\series bold \series bold
PackagerEmail: Email:
\series default \series default
Paket geliştiricisinin e-posta adresi. Paket geliştiricisinin e-posta adresi.
\end_deeper \end_deeper
@@ -469,35 +397,69 @@ PackagerEmail:
\series bold \series bold
License(s): License
\series default \series default
Uygulamanın lisansını belirtir. : Uygulamanın lisansını belirtir (GPL, BSD, vb).
(GPL, BSD v.s gibi) \layout Itemize
\series bold
Archive:
\series default
Uygulamanın orjinal kaynak kodunun bulunduğu URL'yi belirtir.
\series bold
archType
\series default
ile arşiv tipi (tar.gz, tar.bz2, zip, vb),
\series bold
md5sum
\series default
ile MD5 hash değeri verilir.
\layout Itemize
\series bold
Patches
\series default
: Orjinal koda uygulanacak yamaların sıralı bir listesini içerir.
\begin_deeper
\layout Itemize
\series bold
Patch
\series default
: Yamanın dosya adını içerir.
\series bold
compressionType
\series default
ile varsa sıkıştırma biçimi (gz, bz2, vb) verilebilir.
\end_deeper \end_deeper
\layout Itemize \layout Itemize
\series bold \series bold
BuildRequirments: BuildDependencies
\series default \series default
Kaynağın derlenmesi sırasında ihtiyaç duyulan bağımlılıklardır. : Pakedi oluşturmak için gereken bağımlılıkları listeler.
\begin_deeper \begin_deeper
\layout Itemize \layout Itemize
\series bold \series bold
BuildTimePackage(s): Dependency
\series default \series default
Kaynağın derlenebilmesi için mutlaka sistemde kurulu olarak bulunması gereken : Bir bağımlılık tanımlar.
paketleri belirtir.
\begin_deeper \begin_deeper
\layout Itemize \layout Itemize
\series bold \series bold
Name: Name
\series default \series default
Bağımlı olunan paketin adıdır. : Bağımlılık duyulan pakedin adı.
\layout Itemize \layout Itemize
@@ -526,103 +488,39 @@ VersionTo:
\series bold \series bold
Actions: History
\series default \series default
Kaynağın derlenmesinden kurulumuna kadar kullanılacak olan BASH betiklerini : Pakete yapılan güncellemelerin bir listesini verir.
işeret eder.
Bash betikleri PSPEC dosyasının bulunduğu dizindeki
\emph on
actions
\emph default
dizininde saklanırlar.
\begin_deeper \begin_deeper
\layout Itemize \layout Itemize
\series bold \series bold
Setup: Update
\series default \series default
Kaynağın kurulması, ayarlanması için gerekli bash betiğinin adını verir. : Bir güncellemeyi tarif eder.
Kaynak derleme dizinine Source, File ve Patch bölümlerinde ifade edilen
dosyalar kullanılarak PİSİ tarafından otomatik bir şekilde açılır.
Derleme öncesi kaynağa yapılması gereken tüm işlemler (Autotools kullanan
paketlerde ./configure betiğinin çalıştırılması gibi) setup betiği tarafından
yapılır.
\layout Itemize
\series bold
Build:
\series default
Kaynağın derlenmesi için gerekli bash betiğinin adını verir.
\layout Itemize
\series bold
Test:
\series default
Kaynağı derlendikten sonra test edilmesi için gerekli bash betiğinin adını
verir.
\layout Itemize
\series bold
Install:
\series default
Kaynağı sisteme kuran bash betiğinin adını verir.
Bu betik içerisinde kaynak kullanılmakta olan sistemin dizin sıradüzeninden
bağımsız olarak, PİSİ tarafından tanımlanan kurulum dizinine (installroot)
kurulur.
\end_deeper
\layout Itemize
\series bold
History:
\series default
Paket üzerine bir güncelleme yapıldığında, güncelleme ile ilgili temel bilgileri
verecektir.
\begin_deeper \begin_deeper
\layout Itemize \layout Itemize
\series bold \series bold
Update: Date
\series default \series default
Kaynağa yapılan bir güncellemeyi tarif eder (yeni yama, yeni bir dosya : Güncellemenin tarihi.
eklenmesi veya Actions içerisindeki betiklerden birinin yeniden düzenlenmesi
gibi).
\begin_deeper
\layout Itemize
\series bold
Date:
\series default
Güncellemenin yapıldığı tarih ve saat bilgisini belirtir.
\layout Itemize \layout Itemize
\series bold \series bold
Version: Version:
\series default \series default
Güncellemenin yapıldığı versiyonu belirtir. Uygulamanın sürüm numarası.
\layout Itemize \layout Itemize
\series bold \series bold
Release: Release:
\series default \series default
Güncellemenin yapıldığı revizyonu belirtir. Pakedin sürüm numarası.
\layout Itemize
\series bold
Status:
\series default
Güncellemenin kritikliği belirtir.
(BugFix, SecurityUpdate, Enhancement)
\end_deeper \end_deeper
\end_deeper \end_deeper
\end_deeper \end_deeper
@@ -631,262 +529,89 @@ G
\series bold \series bold
Package Package
\series default
: Uygulamadan oluşturulacak bir pakedi tanımlar.
\begin_deeper \begin_deeper
\layout Itemize \layout Itemize
\series bold \series bold
Meta Name
\begin_deeper \series default
: Oluşturulacak pakedin adı.
\layout Itemize \layout Itemize
\series bold \series bold
Name: Summary
\series default \series default
Paketin birden fazla küçük parçaya bölündüğünde oluşacak parçalardan ilkinin : Tek satırlık açıklayıcı bilgi.
adını belirtir.
\layout Itemize
\series bold
Description:
\series default
Uygulama hakkında özet bir açıklayıcı bilgi içerir.
Çoklu dil desteğine sahiptir. Çoklu dil desteğine sahiptir.
\layout Itemize \layout Itemize
\series bold \series bold
Container(s): Description
\series default \series default
Uygulamanın hangi uygulama grubuna dahil olduğu bilgisini tanımlar. : Uygulama hakkında özet açıklama.
Bir paket birden fazla Çoklu dil desteğine sahiptir.
\layout Itemize
\series bold \series bold
\emph on Category
Container
\series default \series default
\emph default :
'a dahil olabilir. \layout Itemize
(Farklı aitlikler olabilir, bir ana kaynaktan türeme veya belirli, ortak
bir işlevi yerine getirme gibi.
\series bold
RuntimeDependencies
\series default
: Pakedin çalışabilmesi için gereken bağımlılıkların bir listesini verir.
\series bold \series bold
\emph on Dependency
Container
\series default \series default
\emph default alt etiketlerinden oluşur.
bunların hepsini tanımlamaktadır).
\series bold
\emph on
Container
\series default
tanımları her
\series bold
Pardus
\series default
sürümü için sabit bir liste olarak sunulacaktır.
\emph default
Paket geliştiricileri bu listeyi kullanarak paketledikleri yazılımı bir/bir
kaç
\series bold
Container
\series default
'a dahil edebilirler.
\end_deeper
\layout Itemize \layout Itemize
\series bold \series bold
RunTimeRequirements: Files
\series default \series default
Oluşturulan paketin kurulabilmesi/kullanılabilmesi için sağlanması gereken : Pakedin kurulacak dosyalarının bir listesini verir.
bağımlılıklardır.
\begin_deeper \begin_deeper
\layout Itemize \layout Itemize
\series bold \series bold
RunTimePackage: Path
\series default \series default
Uygulamanın derlendikten sonra çalışabilmesi veya ek özellik kazanabilmesi :
için gerekli paketleri belirtir.
\begin_deeper
\layout Itemize
\series bold
Name:
\series default
Bağımlı olunan paketin adını belirtir.
\layout Itemize
\series bold
Version:
\series default
Bağımlı olunan tek bir sürüm numarasını belirtir.
\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
\layout Itemize
\series bold
ComarOM:
\series default
Uygulamanın
\series bold
ÇOMAR
\series default
'ın hangi
\series bold
OM
\series default
bacağına ihtiyacı olduğunu belirtir.
\end_deeper
\layout Itemize
\series bold
Provides
\begin_deeper
\layout Itemize
\series bold
CSL:
\series default
Paketin yanında taşıdığı
\series bold
CSL/CSL
\series default
'lerin nerede/nerelerde olduğunu belirtir.
\layout Itemize
\series bold
OM:
\series default
Uygulamanın
\series bold
ÇOMAR
\series default
'ın
\series bold
OM
\series default
bacağında hangi uca/uçlara oturduğunu belirtir.
\end_deeper
\layout Itemize
\series bold
Conflicts
\begin_deeper
\layout Itemize
\series bold
ConflictedWith:
\series default
Paketin kurulmasını engelleyen, kurulduğu zaman sistemde hangi paketler
ile çakışacağını, hangi paketler ile uyumsuz olduğunu belirtir.
(modutils ve module-init-tools gibi)
\end_deeper
\layout Itemize
\series bold
Provides (Paketin bir parçası OM ve CSL provide edebilir)
\begin_deeper
\layout Itemize
\series bold
CSL:
\series default
Paketin yanında taşıdığı
\series bold
CSL/CSL
\series default
'lerin nerede/nerelerde olduğunu belirtir.
\layout Itemize
\series bold
OM:
\series default
Uygulamanın
\series bold
ÇOMAR
\series default
'ın
\series bold
OM
\series default
bacağında hangi uca oturduğunu belirtir.
\end_deeper \end_deeper
\end_deeper \end_deeper
\end_deeper
\layout Subsubsection
Actions Dosyası
\layout Standard \layout Standard
Bu dosya bir Python betiği olup, kaynağın kurulması, derlenmesi, test edilmesi,
sisteme kurulması gibi işlevleri yerine getiren fonksiyonlardan oluşur.
\layout Subsubsection
\emph on ChangeLog Dosyası
\begin_inset Marginal
collapsed true
\layout Standard \layout Standard
Pakedin sürümlerindeki değişikliklerin açıklamalarını içerir.
\layout Subsubsection
\emph on Files Dizini
örnek 1-2 spec dosyası hazırlayıp buraya yerleştirmek gerekiyor
\end_inset
\layout Standard \layout Standard
PSPEC dosyasında Global bölümü kaynaktan oluşturulacak tüm paketleri etkiler. Orjinal kaynağa uygulanacak yamalar ve kaynakta bulunmayan fazladan dosyalar
Tanımlanan her Package bölümü ise kaynaktan oluşturulacak bir paketin tarifidir. bu dizine konur.
Her PSPEC dosyasında en az bir Package bölümü olmak zorundadır.
\layout Standard
PSPEC dosyası, belirlenecek paket formatının içinde
\series bold
\emph on
XML
\series default
\emph default
dosyası olarak tutulacaktır.
XML dosyalarının doğrulanması için kullanılabilecek bilgi
\emph on
pisi-spec.dtd
\emph default
dosyasında tanımlanmıştır.
\layout Standard
Aynı uygulamanın farklı mimarilere veya farklı amaçlara hizmet eden sürümlerini
paket haline getirmek için farklı
\series bold
PSPEC
\series default
dosyaları kullanılacaktır.
\layout Subsection \layout Subsection
metadata.xml metadata.xml