şö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ı
\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ı
\layout Standard
\series bold
PSPEC (PİSİ SPEC)
PSPEC (PİSİ SPECification)
\series default
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ı
k içerdiği, nasıl derlenmesi ve sisteme nasıl kurulması gerektiğini tanımlayan
betikleri gösteren; kısaca paketin oluşturulması için gerek duyulan her
türlü bilginin içinde bulunduğu dosyaya verilen isimdir.
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.
\layout Standard
Bir PSPEC dosyasından, dolayısı ile bir kaynaktan birden fazla paket oluşturulab
@@ -338,22 +343,29 @@ ilir.
yalnızca bir pakettir.
\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
\series bold
Global
Pisi
\begin_deeper
\layout Itemize
\series bold
Meta
Source
\begin_deeper
\layout Itemize
\series bold
Name
\series default
: Uygulamanın adı.
\layout Itemize
\series bold
Homepage:
\series default
@@ -362,91 +374,7 @@ Uygulaman
\series bold
Version:
\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):
Packager:
\series default
Paketi oluşturan kişilerin adı/soyadı ve e-posta adresi belirtir.
\begin_deeper
@@ -454,14 +382,14 @@ Paketi olu
\series bold
PackagerName:
Name:
\series default
Paket geliştiricisinin adı ve soyadı.
\layout Itemize
\series bold
PackagerEmail:
Email:
\series default
Paket geliştiricisinin e-posta adresi.
\end_deeper
@@ -469,35 +397,69 @@ PackagerEmail:
\series bold
License(s):
License
\series default
Uygulamanın lisansını belirtir.
(GPL, BSD v.s gibi)
: Uygulamanın lisansını belirtir (GPL, BSD, vb).
\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
\layout Itemize
\series bold
BuildRequirments:
BuildDependencies
\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
\layout Itemize
\series bold
BuildTimePackage(s):
Dependency
\series default
Kaynağın derlenebilmesi için mutlaka sistemde kurulu olarak bulunması gereken
paketleri belirtir.
: Bir bağımlılık tanımlar.
\begin_deeper
\layout Itemize
\series bold
Name:
Name
\series default
Bağımlı olunan paketin adıdır.
: Bağımlılık duyulan pakedin adı.
\layout Itemize
@@ -526,103 +488,39 @@ VersionTo:
\series bold
Actions:
History
\series default
Kaynağın derlenmesinden kurulumuna kadar kullanılacak olan BASH betiklerini
işeret eder.
Bash betikleri PSPEC dosyasının bulunduğu dizindeki
\emph on
actions
\emph default
dizininde saklanırlar.
: Pakete yapılan güncellemelerin bir listesini verir.
\begin_deeper
\layout Itemize
\series bold
Setup:
Update
\series default
Kaynağın kurulması, ayarlanması için gerekli bash betiğinin adını verir.
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.
: Bir güncellemeyi tarif eder.
\begin_deeper
\layout Itemize
\series bold
Update:
Date
\series default
Kaynağa yapılan bir güncellemeyi tarif eder (yeni yama, yeni bir dosya
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.
: Güncellemenin tarihi.
\layout Itemize
\series bold
Version:
\series default
Güncellemenin yapıldığı versiyonu belirtir.
Uygulamanın sürüm numarası.
\layout Itemize
\series bold
Release:
\series default
Güncellemenin yapıldığı revizyonu belirtir.
\layout Itemize
\series bold
Status:
\series default
Güncellemenin kritikliği belirtir.
(BugFix, SecurityUpdate, Enhancement)
Pakedin sürüm numarası.
\end_deeper
\end_deeper
\end_deeper
@@ -631,262 +529,89 @@ G
\series bold
Package
\series default
: Uygulamadan oluşturulacak bir pakedi tanımlar.
\begin_deeper
\layout Itemize
\series bold
Meta
\begin_deeper
Name
\series default
: Oluşturulacak pakedin adı.
\layout Itemize
\series bold
Name:
Summary
\series default
Paketin birden fazla küçük parçaya bölündüğünde oluşacak parçalardan ilkinin
adını belirtir.
\layout Itemize
\series bold
Description:
\series default
Uygulama hakkında özet bir açıklayıcı bilgi içerir.
: Tek satırlık açıklayıcı bilgi.
Çoklu dil desteğine sahiptir.
\layout Itemize
\series bold
Container(s):
Description
\series default
Uygulamanın hangi uygulama grubuna dahil olduğu bilgisini tanımlar.
Bir paket birden fazla
: Uygulama hakkında özet açıklama.
Çoklu dil desteğine sahiptir.
\layout Itemize
\series bold
\emph on
Container
Category
\series default
\emph default
'a dahil olabilir.
(Farklı aitlikler olabilir, bir ana kaynaktan türeme veya belirli, ortak
bir işlevi yerine getirme gibi.
:
\layout Itemize
\series bold
RuntimeDependencies
\series default
: Pakedin çalışabilmesi için gereken bağımlılıkların bir listesini verir.
\series bold
\emph on
Container
Dependency
\series default
\emph default
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
alt etiketlerinden oluşur.
\layout Itemize
\series bold
RunTimeRequirements:
Files
\series default
Oluşturulan paketin kurulabilmesi/kullanılabilmesi için sağlanması gereken
bağımlılıklardır.
: Pakedin kurulacak dosyalarının bir listesini verir.
\begin_deeper
\layout Itemize
\series bold
RunTimePackage:
Path
\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
\layout Subsubsection
Actions Dosyası
\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
\begin_inset Marginal
collapsed true
ChangeLog Dosyası
\layout Standard
Pakedin sürümlerindeki değişikliklerin açıklamalarını içerir.
\layout Subsubsection
\emph on
örnek 1-2 spec dosyası hazırlayıp buraya yerleştirmek gerekiyor
\end_inset
Files Dizini
\layout Standard
PSPEC dosyasında Global bölümü kaynaktan oluşturulacak tüm paketleri etkiler.
Tanımlanan her Package bölümü ise kaynaktan oluşturulacak bir paketin tarifidir.
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.
Orjinal kaynağa uygulanacak yamalar ve kaynakta bulunmayan fazladan dosyalar
bu dizine konur.
\layout Subsection
metadata.xml