[Gelistirici] Obsoletes

S.Çağlar Onur caglar at pardus.org.tr
2 Tem 2007 Pzt 16:05:13 EEST


Selamlar;

02 Tem 2007 Pts tarihinde, Faik Uygur şunları yazmıştı: 
> Şu Obsoletes'un ne yaptığını biraz daha belirginleştirebilir miyiz?
>
> Şu an bence _çok anlamsız_ bir şekilde index oluştururken Obsoletes'e
> bakıp, bunları index'e koyma dedirtiyoruz. Daha önce de demiştim, indexle
> diyorsak _şu klasördeki paketleri_ indexle diyoruz, index'e girmesin
> istiyorsak o klasörde o paket bulunmamalı. Replaces'in normalde zaten
> kaldıracağı paketi de _index'e girmesin diye_ buraya koymak zorundayız. Bir
> sonraki paket güncellemesinde bu paket zaten siliniyor.

- index'ini güncellemeyen adam bu dosyaları sildiğimizde veya başka bir yere 
taşıdığımızda 404 ile karşılaşıyor. Bunu aylar önce tartıştık ve eski 
paketleri depoda bırakma kararı aldık.

- Dosyaları başka bir yere taşımak benim depo maintainance iş yükümü arttıyor, 
bir de onları takip etmek zorunda kalıyorum, oysa şu anda distribution.xml 
içine yazmak bu paketlerin index'e girmemelerini garanti ediyor.

- Replaces ile Obsolute farklı şeyler. 

Replaces == Depoya gelen _YENİ_ paket eski paket ile yer değiştiriyor
Obsolute == Depoda zaten bulunan eski paket _ESKİ_ paketin yaptığı işi 
yapmaya/provide ettiği dosyaları provide etmeye başlıyor.

Hem Replaces'ı sen icat ettin, ben

<Obsolute replacedBy="hede">hödö</Obsolute>

ile tek noktada çözmeyi önermiştim :)

> Bunun dışında Obsoletes'daki paketlerin sistemden _otomatik_ olarak
> kaldırılması gerektiğini konuşuyorduk. Bu davranış ne derece doğru?
> Acayip paketler var Obsoletes içerisinde. Adam bzr, rar ve ya realplayer
> paketini kurmuş ve kullanıyor. Şimdi dağıtımdan kalktı (desteklemiycez bir
> sebepten), ama adam kurmuş bir kere makinesine ve kullanıyor. Bu ne oluyor
> ki şimdi? Çocuğun eline şekeri verip sonra geri alır gibi paketi otomatik
> mi kaldıracağız?
>
> Burada sorun, dağıtımda desteklemeyi bıraktığımız her paketin kurulu bir
> sistemden _mutlaka ama mutlaka_ kaldırılması gerekmediği. Bunun bir ölçüsü
> yok. Güvenlik açığı _olabilir_ artık desteklemiyoruz diyoruz sadece. Bu
> otomatik kaldırılması için bir sebep mi?

Evet hemde fazlaca yeterli bir sebep. Bunun çocuğun eline şeker vermekle ne 
alakası ki? 

Diyelim zamanında depoda bir paket varmış (örneğin gtk1), artık depoda bu 
pakete depend eden paket kalmamış ve bu paket maintain 
edilmiyormuş/geliştiricisi bir sebeple bu paketi bırakmış ve kimse de üzerine 
almamış ve depodan atmışız. 

Fakat bu  "_mutlaka ama mutlaka_ kaldırılması gerekmediği" fikrinden dolayı 20 
gün sonra gtk1'de remote exploit çıkmış adamın makinasına başka kötü çocuklar 
girmiş, bunu şimdi o çocuğa nasıl anlatacağız peki :)


> Conflict ve Replaces ile çözebileceğimiz bir sürü paket var Obsoletes
> içerisinde. Replaces olmuş paketleri de buraya koyuyorduk. Bu paketler
> upgrade olabiliyor, şimdi bunları da mı otomatik kaldıracağız bu listede
> diye.
>
> Obsoletes'ı, çoğu Conflicts ve Replaces ile çözülebilecek sorunları
> kapsayan, bir çok anlam yüklenmiş ama aslında ne olduğu belirsiz bir şey
> olarak görüyorum.

Bence yanlış görüyorsun o zaman, Conflict ve Replaces iki paket arasındaki 
ilişiyi tanımlıyor, bu taglardaki anlamların hayata geçmesi için bu tagları 
içeren paketlerin _o an_ güncelleniyor veya kuruluyor olması lazım oysa 
Obsoletes depo ile kurulu paketler arasındaki ilişkiyi tanımlıyor, orada 
Obsolete işaretlenen paket güncelleme listesinde yoksa/o an kurulmuyorsa bile 
ilk pisi işleminde (mesela pisi up) sistemden kaldırılmalı.

Saygılar
-- 
S.Çağlar Onur <caglar at pardus.org.tr>
http://cekirdek.pardus.org.tr/~caglar/

Linux is like living in a teepee. No Windows, no Gates and an Apache in house!
-------------- sonraki bölüm --------------
A non-text attachment was scrubbed...
Name: kullanılamıyor
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://liste.pardus.org.tr/gelistirici/attachments/20070702/122017db/attachment-0002.pgp>


Gelistirici mesaj listesiyle ilgili daha fazla bilgi