From 06f0eb03a66594172cae525b5280353d9621155a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=2E=C3=87a=C4=9Flar=20Onur?= Date: Thu, 23 Jun 2005 13:31:41 +0000 Subject: [PATCH] =?UTF-8?q?Geni=C5=9Fletildi,=20eski=20yerler=20d=C3=BCzel?= =?UTF-8?q?tildi/=C3=A7=C4=B1kart=C4=B1ld=C4=B1.=20Biraz=20daha=20i=C5=9Fi?= =?UTF-8?q?=20var.=20Gene=20bir=20review=20istiyorum=20sizden=20h=C4=B1zl?= =?UTF-8?q?=C4=B1ca.=20Ak=C5=9Fam=20mail=20ile=20yollarsan=C4=B1z=20bende?= =?UTF-8?q?=20d=C3=BCzeltirim=20(=20ya=20da=20direkt=20siz=20d=C3=BCzeltin?= =?UTF-8?q?=20:P=20)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/pisi.lyx | 431 ++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 306 insertions(+), 125 deletions(-) diff --git a/doc/pisi.lyx b/doc/pisi.lyx index a49039bc..0895d0e6 100644 --- a/doc/pisi.lyx +++ b/doc/pisi.lyx @@ -31,13 +31,14 @@ PISI (Packages Installed Succesfully as Intented) \layout Author -S.Çağlar Onur, Onur Küçük, Barış Metin +S.Çağlar Onur, Onur Küçük, Barış Metin, A.Murat Eren, Eray Özkural, Gürer + Özen \layout Date -29 Mart 2005 +23 Haziran 2005 \layout Date -Sürüm 0.4 +Sürüm Pre-Alpha \layout Standard \pagebreak_top \pagebreak_bottom @@ -84,8 +85,12 @@ Kur emri, komut sat \layout Itemize Aynı şekilde yapılandırma sorularından kaçınılmalıdır. - Bu işler ÇOMAR tarafından otomatik halledilecek, ya da kullanıcının verdiği - emirlerle sonradan yapılacaktır. + Bu işler +\series bold +ÇOMAR +\series default + tarafından otomatik halledilecek, ya da kullanıcının verdiği emirlerle + sonradan yapılacaktır. Bu, örneğin sunucu uygulamaları kurulurken sunucu ayarı soruları vs sorulmaması nı getirir. \layout Itemize @@ -133,7 +138,7 @@ Nerdeyse her uygulama kendi s Kullanıcı, artık ihtiyaç duymadığı bir uygulamayı, yer ve takip tasarrufu amacıyla kaldırmak isteyebilir. Kullanıcının bu seçimi kolayca yapabilmesi için, ihtiyaç duyulmayan paketler, - kurulu paketlerin kapladığı alan gibi bilgileri sunabilmeliyiz. + kurulu paketlerin kapladığı alan gibi bilgiler sunulabilmelidir. \layout Itemize Kullanıcı sistemde nelerin kurulu olduğunu, hangi paketleri kurabileceğini, @@ -164,9 +169,9 @@ ri getirecek bi bağlantı hızı açısından yaşanan sorunlar çözülecektir. \layout Itemize -Uygulamayı kod olarak çekip, değişik özellikler ile derleyebilecek portage - benzeri bir sistem hedef kullanıcımıza zorluklar çıkaracak ve doğrudan - bir fayda sağlamayacaktır. +Uygulamayı kod olarak çekip, değişik özellikler ile derleyebilecek Gentoo + Linux'un Portage benzeri bir sistem hedef kullanıcımıza zorluklar çıkaracak + ve doğrudan bir fayda sağlamayacaktır. Ancak kimi programların farklı biçimde derlenmiş hallerini pakede ayrı bir özellik olarak koyabiliriz (örneğin mplayer pakedinde farklı işlemciler için derlenmiş birkaç tane @@ -181,7 +186,11 @@ Paketler farkl \begin_inset Quotes eld \end_inset + +\emph on relocatable +\emph default + \begin_inset Quotes erd \end_inset @@ -271,24 +280,47 @@ Gerekti Yapılandırma Yöneticisi (ÇOMAR) gereksinimleri \layout Itemize -Bir paket kurulduktan sonra, pakete ait CSL betikleri ÇOMAR'a bildirip kayıt - ettirmelidir. +Bir paket kurulduktan sonra, pakete ait +\series bold +CSL +\series default + betikleri +\series bold +ÇOMAR +\series default +'a bildirip kayıt ettirmelidir. \layout Itemize -Bir paket kaldırılmadan önce ÇOMAR'dan bu pakete ait betikleri kaldırmasını - istemelidir. +Bir paket kaldırılmadan önce +\series bold +ÇOMAR +\series default +'dan bu pakete ait betikleri kaldırmasını istemelidir. \layout Itemize -Bir paket eğer CSL betiği sağlıyorsa, paketin hangi OM dallarına ait betikler - içerdiği bilgisini tutmalıdır. +Bir paket eğer +\series bold +CSL +\series default + betiği sağlıyorsa, paketin hangi +\series bold +OM +\series default + dallarına ait betikler içerdiği bilgisini tutmalıdır. \layout Itemize -Verilen bir OM dalı için, hangi paketlerin bu dala ait betik içerdiğini - verebilmelidir. +Verilen bir +\series bold +OM +\series default + dalı için, hangi paketlerin bu dala ait betik içerdiğini verebilmelidir. \layout Itemize -Kurulması emredilen bir paket, kitaplık ve programların yanısıra OM üzerinden - sağlanan bazı görevlere ihtiyaç duyabilir. +Kurulması emredilen bir paket, kitaplık ve programların yanısıra +\series bold +OM +\series default + üzerinden sağlanan bazı görevlere ihtiyaç duyabilir. Bu durumda paket yöneticisinin o bacaktaki görevi sağlayan uygun bir pakedin kurulu olup olmadığına bakması, gerekiyorsa o görevi sağlayan paketlerden birini kurması gereklidir. @@ -308,8 +340,15 @@ Gereksinimlerimizi sa yöneticisi yazmak gereği doğmuştur. \layout Standard -Bu amaçla PİSİ (Packages Installed Successfully as Intented) adını verdiğimiz - yazılımı geliştiriyoruz. +Bu amaçla +\series bold +PİSİ +\series default + ( +\series bold +Packages Installed Successfully as Intented +\series default +) adını verdiğimiz yazılımı geliştiriyoruz. \layout Section PİSİ Tasarımı @@ -318,9 +357,7 @@ P 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. +FIXME: Anlamlı bir giriş paragrafı lazım! \layout Subsubsection PSPEC Dosyası @@ -335,8 +372,11 @@ PSPEC (P 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 -ilir. +Bir +\series bold +PSPEC +\series default + dosyasından, dolayısı ile bir kaynaktan birden fazla paket oluşturulabilir. Örneğin kpdf paketi kdebase-sürüm.no.tar.gz kaynağından oluşturulabilecek yalnızca bir pakettir. \layout Standard @@ -624,7 +664,7 @@ Update Type: \series default Güncellemenin tipini belirtir. - (Güvenlik, Bug, Enhancement v.s) + (Security, Bug, Enhancement v.s) \layout Itemize @@ -720,7 +760,7 @@ Conflicts: \series bold Provides: \series default - *********************** ???????????????????????? + FIXME: ???????????????????????? \layout Itemize @@ -847,6 +887,9 @@ Wildcard \series bold File \end_deeper +\layout Standard + +TODO: Örnek Lazım! \layout Subsubsection actions.py Dosyası @@ -884,14 +927,28 @@ P API \series default actionsapi adında sunulacaktır. +\layout Standard + +TODO: Örnek Lazım! \layout Subsubsection ChangeLog Dosyası \layout Standard Pakedin sürümlerindeki değişikliklerin açıklamalarını içerir. - Bu dosya bilindik ChangeLog stilindedir ve PSPEC içindeki History bilgisi - ile ilgili değildir. + Bu dosya bilindik +\series bold +ChangeLog +\series default + stilindedir ve +\series bold +PSPEC +\series default + içindeki +\series bold +History +\series default + bilgisi ile ilgili değildir. \layout Subsection metadata.xml @@ -923,11 +980,13 @@ PSPEC Metadata \series default dosyasına yazılmaktadır. - PSPEC dosyasındaki Global/Meta, Global/History ve Package içerisindeki - tüm bilgiler Metadata içerisine yazılır. - Metadata PSPEC dosyasından alınan bilgilerin yanında kaynak derlendikten - ve paket oluşturulduktan sonra alınabilecek diğer bilgileri de içerir (paketin - kurulduktan sonra sistemde kapyacağı alanın boyutu gibi). + +\series bold +Metadata PSPEC +\series default + dosyasından alınan bilgilerin yanında kaynak derlendikten ve paket oluşturulduk +tan sonra alınabilecek diğer bilgileri de içerir (paketin kurulduktan sonra + sistemde kaplayacağı alanın boyutu gibi). \layout Standard @@ -1052,7 +1111,7 @@ Conflicts \series bold Provides: \series default - *********************** ???????????????????????? + FIXME: ???????????????????????? \layout Itemize @@ -1185,12 +1244,19 @@ XML \series default \emph default dosyası olarak tutulacaktır. - Metadata XML dosyalarının doğrulanması için kullanılabilecek bilgi + +\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. +\layout Standard + +TODO: Örnek Lazım! \layout Subsection files.xml @@ -1296,19 +1362,29 @@ files.xml dosyalar pisi-files.dtd \emph default dosyasında tanımlanmıştır. +\layout Standard + +TODO: Örnek Lazım! \layout Subsection PSPEC Deposu \layout Standard -Paketleri oluşturmak için gerekli PSPEC dosyaları hiyerarşik bir yapıda - bir +Paketleri oluşturmak için gerekli +\series bold +PSPEC +\series default + dosyaları hiyerarşik bir yapıda bir \emph on subversion \emph default deposunda sunulacaktır. Geliştirme işlemleri bu depo üzerinde yapılacaktır. - PSPEC deposunda paketler + +\series bold +PSPEC +\series default + deposunda paketler \emph on \begin_inset Quotes eld @@ -1327,8 +1403,12 @@ ilk harflerine g \emph default konumlandırılırlar. - Her paket kendine ait bir dizinde PSPEC dosyası, paket oluşturma için gerekli - olan ek dosyalar ve yamaların içinde bulunduğu files + Her paket kendine ait bir dizinde +\series bold +PSPEC +\series default + dosyası, paket oluşturma için gerekli olan ek dosyalar ve yamaların içinde + bulunduğu files \series bold / \series default @@ -1343,14 +1423,25 @@ Bir geli \series bold Pardus Linux \series default -'a paket yapması için yalnızca PSPEC depo sıradüzeninde paket için gerekli - olan dosyaları sağlaması yeterlidir. +'a paket yapması için yalnızca +\series bold +PSPEC +\series default + depo sıradüzeninde paket için gerekli olan dosyaları sağlaması yeterlidir. \series bold Pardus Linux \series default 'un belirli zamanlarda kullanıcılara sunulacak sürümlerini oluşturmak için - bu PSPEC deposundaki bu bilgiler kullanılarak PİSİ paketleri oluşturulacaktır. + bu +\series bold +PSPEC +\series default + deposundaki bu bilgiler kullanılarak +\series bold +PİSİ +\series default + paketleri oluşturulacaktır. \layout Standard @@ -1385,7 +1476,7 @@ a cpid-1.0.2.pspec \layout Itemize -actions +actions.py \layout Itemize ChangeLog @@ -1423,10 +1514,33 @@ acpid.csl \end_deeper \layout Subsection -Category +Category ( IsA ) +\layout Standard + +FIXME: Daha anlamlı cümleler ve temiz anlatım +\layout Standard + +Bir uygulamanın yaptığı işi, ait olduğu kategoriyi belirtir yani uygulamaların + sıfatlarıdır. + Bu bilgi kullanılarak bir işi ya da işler grubunu yapan uygulamalar sorgulanabi +lir. + Örneğin PDF Gösteren uygulamaları göster, Ogg çalan ve konsoldan çalışan + uygulamalar hangileridir gibi. \layout Subsection -Component +Component ( PartOf ) +\layout Standard + +FIXME: Daha anlamlı cümleler ve temiz anlatım +\layout Standard + +Bir paketler bütününden oluşan anlamlı ve kurulabilir birliği temsil eder. + Yani uygulamaları kapsüller. + Örneğin KDE Component'ı içinde kdebase, kdepim, kdemultimedia v.s gibi kaynaklar +ı bulundurur, kdebase ise kcontrol, konqueror v.s. + gibi paketlerden oluşur. + Bu bilgi kullanılarak örneğin KDE Component'ını sisteme kur, kaldır, güncelle + gibi eylemler gerçekleştirilebilir. \layout Subsection İkili Paket Deposu @@ -1457,88 +1571,68 @@ r \series bold Name: -\series default -Paketin adı \layout Itemize \series bold Summary: \series default - Paketin kısa adı + \layout Itemize \series bold -Description: -\series default -Paketin uzun tanımı +Description: \layout Itemize \series bold Version: -\series default -Yazılımın sürüm numarası \layout Itemize \series bold Release: -\series default -Paketin revizyon numarası (kaçıncı paketlenmesi) \layout Itemize \series bold License: -\series default -Paketin lisansı \layout Itemize \series bold RuntimeDependencies: -\series default - Kurulmak/Çalışmak için hangi paketlere ihtiyacı var? +\layout Itemize + + +\series bold +InstallDependencies: \layout Itemize \series bold Provides: -\series default -Paket neler sağlıyor (tanım yukarıda) \layout Itemize \series bold History: -\series default - PSPEC dosyasından alınmış olan paket durumunu gösteren bölüm. \layout Itemize \series bold Conflicts: -\series default - Paketin sistemde hangi paketler ile aynı anda kurulu olarak bulunamayacağı - bilgisi. \layout Itemize \series bold PackageSize: -\series default -Paketin kapalı (kurulmadan önceki) boyutu. - Bu bilgi pisi paketinin dosya sisteminde kapladığı alan alınarak oluşturulacakt -ır. \layout Itemize \series bold InstalledSize: -\series default -Paket kurulduğunda sistemde ne kadar yer kaplayacak? \layout Standard @@ -1686,66 +1780,85 @@ Bir geli \series bold Geliştirici Grafik Arayüzü \series default - ya da konsol araçları yardımı ile PSPEC dosyası yukarıda anlatılan yapıya - uygun olarak oluşturulur. + ya da konsol araçları yardımı ile +\series bold +PSPEC +\series default + dosyası yukarıda anlatılan yapıya uygun olarak oluşturulur. Gerekli olacak yamalar ve dosyalar yukarıda tarif edildiği gibi files/ dizinine yerleştirilir. \layout Itemize -Oluşturulan PSPEC dosyası, hazırlanan paketin derlenebilmesi için PİSİ tarafında -n işlenir. - Eğer gerekli paketler sistemde mevcut değil ise bu paketler PİSİ tarafından - sisteme kurularak, sistem derleme işlemine hazır hale getirilir. +Oluşturulan +\series bold +PSPEC +\series default + dosyası, hazırlanan paketin derlenebilmesi için +\series bold +PİSİ +\series default + tarafından işlenir. + Eğer gerekli paketler sistemde mevcut değil ise bu paketler +\series bold +PİSİ +\series default + tarafından otomatik veya kullanıcıya sorularak sisteme kurularak, sistem + derleme işlemine hazır hale getirilir. -\emph on -(bunun için kullanıcıdan bir onay gerekiyor mu? Evet?) \layout Itemize -Oluşturulan PSPEC dosyasının Global bölümündeki bilgiler işlenerek kaynak - kod sisteme alınır ve doğruluğu kontrol edilir. - Gerekli dosya ve yamalar yukarıda anlatılan biçime uygun bir şekilde PISI +Oluşturulan \series bold - +PSPEC +\series default + dosyasının Source bölümündeki bilgiler işlenerek kaynak kod sisteme alınır + ve doğruluğu kontrol edilir. + Gerekli dosya ve yamalar yukarıda anlatılan biçime uygun bir şekilde +\series bold +PISI \series default tarafından açılır ve gerekli yamalar koda uygulanır. -\emph on -(Adam kaynağın hash'ini kendisi çıkarmayacak sanırım. - Doğruluğunu burada kontrol etmek mantıklı değil gibi?) \layout Itemize \series bold -PSPEC +actions.py \series default -dosyasının -\series bold -Actions -\series default - bölümündeki \emph on \emph default -betikler sıra ile -\series bold -Pisi -\series default - tarafından işletilerek kaynak koddan ikili veri oluşturulur. +betiği işletilerek kaynak koddan ikili veri oluşturulur. \layout Itemize Geliştirici (tercihen grafik arayüz yardımı ile) derleme sonrası oluşturulan dosyaları, PSPEC dosyasında tanımlanan Package bölümlerine göre sınıflandırır. - Oluşturulacak her paket için files.xml dosyası yaratılır. + Oluşturulacak her paket için +\series bold +files.xml +\series default + dosyası yaratılır. \layout Itemize -PİSİ, PSPEC ve files.xml dosyalarını işleyerek paketi veya paketleri oluşturur. + +\series bold +PİSİ, PSPEC +\series default + ve +\series bold +files.xml +\series default + dosyalarını işleyerek paketi veya paketleri oluşturur. \layout Itemize Geliştirici oluşturduğu paketleri sisteminde test eder. \layout Itemize -Oluşturulan paket oluşturma dosyaları (PSPEC dosyası, files/ dizini ve actions/ - dizini) +Oluşturulan paket oluşturma dosyaları ( +\series bold +PSPEC +\series default + dosyası, actions.py ve dizinler) \series bold Merkezi Paket Derleme Çiftliği \series default @@ -1794,11 +1907,18 @@ Paket Kurmak Bir istemcinin sisteme paket kurmak için izleyeceği yol şöyledir; \layout Itemize -Sistemdeki ilgili uygulamalardan biri PİSİ'ye paket kurması için istekte - bulunur. +Sistemdeki ilgili uygulamalardan biri +\series bold +PİSİ +\series default +'ye paket kurması için istekte bulunur. \layout Itemize -PİSİ, kendi yapılandırma dosyasını işleyerek, kendi yapılandırma dosyasının + +\series bold +PİSİ +\series default +, kendi yapılandırma dosyasını işleyerek, kendi yapılandırma dosyasının içindeki bilgilerin ışığında \series bold Paket Deposu @@ -1825,7 +1945,11 @@ Depo Veritaban ına yerleştirir. \layout Itemize -PİSİ istenen paketin kurulması için gerekli olan bilgileri, ihtiyaç duyulan + +\series bold +PİSİ +\series default + istenen paketin kurulması için gerekli olan bilgileri, ihtiyaç duyulan paketleri belirler. Gerekli olan paketleri \series bold @@ -1835,7 +1959,11 @@ ndan Eğer çakışan paketler var ise bunları çözer. \layout Itemize -PİSİ Kurulacak paketi + +\series bold +PİSİ +\series default + Kurulacak paketi \series bold Paket Deposu \series default @@ -1864,11 +1992,18 @@ Paket Kald Bir istemcinin sisteme paket kaldırmak için izleyeceği yol şöyledir; \layout Itemize -Sistemdeki ilgili uygulamalardan biri PİSİ'ye paket kaldırmak için istekte - bulunur. +Sistemdeki ilgili uygulamalardan biri +\series bold +PİSİ +\series default +'ye paket kaldırmak için istekte bulunur. \layout Itemize -PİSİ, kendi yapılandırma dosyasını işleyerek, + +\series bold +PİSİ +\series default +, kendi yapılandırma dosyasını işleyerek, \series bold Kurulu Paket Veritabanı \series default @@ -1876,34 +2011,66 @@ ndan paketin ba kontrol eder. \layout Itemize -PİSİ paketi kaldırır. + +\series bold +PİSİ +\series default + paketi kaldırır. \layout Itemize -ÇOMAR'a ilgili CSL betiklerini kaldırması için silinen paket ile ilgili - bilgi verir. + +\series bold +ÇOMAR +\series default +'a ilgili +\series bold +CSL +\series default + betiklerini kaldırması için silinen paket ile ilgili bilgi verir. \layout Subsubsection Bağımlılık çözmek \layout Standard -PİSİ içerisinde paket bağımlılığı, doğrudan paket isim ve sürüm numarasına - bağımlılık olarak tanımlanmıştır. +TODO: Güzel anlatım, uzun bilimsel hikaye gerek +\layout Standard + + +\series bold +PİSİ +\series default + içerisinde paket bağımlılığı, doğrudan paket isim ve sürüm numarasına bağımlılı +k olarak tanımlanmıştır. Bu yüzden paket bağımlılığının çözümü depo veritabanından bağımlılığı oluşturan paketleri iteratif olarak çıkarmak ile sınırlıdır. \layout Standard -Paketler için tanımlanan bir diğer bağımlılık tipi ise COMAR OM (Object - Model) bacaklarına olan bağımlılıktır. +Paketler için tanımlanan bir diğer bağımlılık tipi ise +\series bold +ÇOMAR OM +\series default + (Object Model) bacaklarına olan bağımlılıktır. Bu bağımlılığın çözümü için Kurulu Paketler ve Depo veritabanları sorgulanarak - ilgili OM bacağını sağlayan bir paketin sistemde kurulu durumda olup olmadığı - bilgisi çıkartılır. - Eğer yoksa ilgili OM bacağını sağlayan paketlerin bir listesi sunulur. + ilgili +\series bold +OM +\series default + bacağını sağlayan bir paketin sistemde kurulu durumda olup olmadığı bilgisi + çıkartılır. + Eğer yoksa ilgili +\series bold +OM +\series default + bacağını sağlayan paketlerin bir listesi sunulur. \layout Subsection Veritabanları \layout Standard +FIXME: Dizaynı sonrası güncellenmeli +\layout Standard + İstemci makinadaki paket veritabanı aşağıdaki bölümlere sahip olacaktır. Veritabanları \series bold @@ -1939,23 +2106,37 @@ Depo Veritabanlar pisi-index.xml \series default dosyası içeriği depo veritabanına aktarılacaktır. +\layout Itemize + + +\series bold +Kaynak Veritabanları: \layout Subsubsection Kurulum Veritabanı \layout Standard -Will be... +FIXME: Dizaynı sonrası güncellenmeli \layout Subsubsection Depo Veritabanları \layout Standard -Will be... +FIXME: Dizaynı sonrası güncellenmeli +\layout Subsubsection + +Kaynak Veritabanları +\layout Standard + +FIXME: Dizaynı sonrası güncellenmeli \layout Subsection libpisi \layout Standard +FIXME: Revize edilmeli +\layout Standard + Paket veritabanının ana yüklenicisi libpisi kütüphanesi olacaktır. Kütüphanenin temel görevleri aşağıdaki liste ile özetlenebilir. \layout Itemize