22 Eylül 2010 Çarşamba

spamassassin ve saz arkadaşları

Uzunca bir süre yazamadım ama gezmek, UPEM, başka işler falan internete de pek nadir girebildim. :)

Neyse, okulun ilk gününde Necdet Hoca ile spamassassin ve saz arkadaşları konusunda el sıkıştık. Artık ben bakıyorum bunlara :)

Spamassassin + 60 Perl bağımlılığı konu olunca insan biraz düşünüyor ama zevkli ya. Öncelikle pspec.xml dosyalarındak Pacakger tagındaki Name ve Email taglarını düzenlemem gerekiyordu. 60+1 paket + bir de 3 tane depoda da uygulamam gerekiyordu. Tek tek yapmak pek de mantıklı değildi. Sonradan da takeover betiğini kullanmak aklıma geldi ama onun yerine daha çok işe (işime) yarayacak bir betik hazırlayayım dedim. Python ile yazdım.

betiğin adı takePisiPackages. Şu an Pardus deposundaki playground'umda[0]. Kullanımı şu şekilde:

takePisiPackages paketlerin_isimleri_bulundugu_dosya yeni_paketci_adi yeni_paketci_eposta

buradaki "paketlerin_isimleri_bulundugu_dosya" ismindeki dosyada paketlerin listesi bulunuyor. Bu dosyada

ffmpeg

şeklinde

ya da

multimedia/video/ffmpeg

ya da

multimedia/video/ffmpeg/pspec.xml

şeklinde olabilir. Yarısı öyle yarısı öbür türlü de olabilir. Eğer sadece ffmpeg var ise bulunduğunuz dizinden itibaren içeri doğru özyinelemeli (recursive) olarak arıyor. Bulduğu yere göre de pspec.xml dosyaları tekrardan düzenleniyor. Arama fonksiyonunu da kendim yazdım.

Eğer isterseniz belirli dosyaları istediğiniz editör ile açabiliyorsunuz. Mesela her açtığınız paketteki actions.py'lere de bakmak isterseniz çalıştırdıktan sonra sorulan soruya 'y' diyorsunuz sonra editör'e vim, dosyaya da actions.py dediğiniz zaman her actions.py de vim ile açılmış oluyor.

Bunlar aslında sadece benim istediğim özellikler, eğer başkalarının da istekleri olursa onları da betiğe eklerim.

Şimdilik betik, sed'leme şeklinde değil de satır satır okuyup ona göre yapıyor. Bunu değiştirip değiştirmeme konusunda kararsız kaldım.

Hepsinin haricinde diğer projelerden:

guestlogin'in isminin değişmesi işi var. Bu işlemi de şöyle yapıyormuşuz. (Serdar'a teşekkürler)

önce sürüm yöneticilerine haber veriyormuşuz. Sonra

eğer paket pardus depolarındaysa paketin ismini devel'de değiştiriyoruz, devel root'undaki distribution.xml dosyasına

yorum satırı içerisinde ( !-- -- tagları) replaced by yeni_paket

ve Package tagı içerisinde eski paket



gibi ekliyoruz. ( burayı düzgün yazamıyorum çünkü blogger bunun öyle yazılmasını istemiyor :)

burada dikkat edilmesi gereken

************************************************************
not gone to binary stable yet, please don't remove this mark
************************************************************


satırlarının altına yazmak. Ondan sonra da devel'i stable ile birleştirmek kalıyor. (stable şu an için sadece Pardus 2009 Deposunda olduğu için sadece 2009 da stable ile birleştirmek var)

python-guestlogin paketinin ismini de pam_guestlogin yapacağım.

Guestlogin'in bir de bug'u mevcut. Aslında bug değil de yeni bir özellik isteği.[1] Onu da yakında tamamlayacağım. Bir de KDM'ye buton eklemek var. (hmm. bitireyim bi ara bunları ya)


[0] https://svn.pardus.org.tr/pardus/playground/mesutcan/takePisiPackages
[1] http://bugs.pardus.org.tr/show_bug.cgi?id=14233

3 Eylül 2010 Cuma

guestlogin ve ptsp_installer projeleri

Öncelikle ptsp_installer projesinden başlayayım.

Hazırlamış olduğum betik zaten çalışıyordu fakat dosya düzenlemelerinde bir kaç iyileştirme yapmam gerekiyordu. (Mesela, gerekli girdi varsa bunun üzerine yazmak gibi)

Bunları tamamladım. Ben henüz bir sorunla karşılaşmadım. Proje aşağıdaki adreste mevcut:

https://svn.pardus.org.tr/uludag/trunk/playground/intern/ptsp_installer

Çalıştırmak için root iken

python ptsp_installer.py

komutunu çalıştırmanız yeterli.

Bunun haricinde de guestlogin projesi artık pardus depolarında. Projenin ismi python-guestlogin oldu.

Şu anki Kurumsal2, Pardus 2009 ve Pardus 2011 test depolarında mevcut.

Kurmak için:

pisi it python-guestlogin

yapmanız yeterli. Bunu kurarken pam_python paketini de bağımlılığı olduğu için kuruyor.

Bunu kurduktan sonra yapmanız gereken değişiklikler:

/etc/pam.d/system-auth dosyasında

auth sufficient pam_unix.so içeren satırın üstüne (genellikle en üstlerde olur):

auth sufficient pam_python.so guestlogin.py

--

session required pam_unix.so içeren satırın üstüne(genellikle en altta olur):

session sufficient pam_python.so guestlogin.py

satırlarını eklemeniz yeterli.

Bu işlemden sonra herhangi yapacağınız bir girişte "/etc/security/guestlogin.conf" dosyasındaki guestname değişkeninde yazanı yazdığınızda parola sormadan giriş yapılacaktır. (Yeni bir misafir kullanıcı oluşturulup)

Şimdilik kdm desteği yok. Bunun için kdebase-workspace'ye bir yama koymamız gerekiyor. Yama burada da bahsettiğim gibi hazır. Bunu depoya da yakında alırız.

Diğer yandan da başka alacağım paketler de olacak. (Projeler ile ilgili değil, Pardus'a katkı olarak)

Şimdilik durum böyle. Yapılması gerekenler şu an kdm'ye buton eklemek. Bunu da halledince buradan yine bilgi vereceğim.