Uzun zamandır yazma fırsatı bulamamıştım, bugün yazacak 1-2 şey var aklımda, uçmadan yazayım dedim.
2-3 gün önce pardus hata takip sistemine girilen bir hatada, kdeutils paketinin bir parçası olan ark yazılımının parola korumalı rar arşivlerini açamadığından bahsediliyordu. Ben de zamanında bu problemle karşılaşıyordum ve çözümü konsoldan unrar programını kullanarak çözüyordum. Ama artık açık kaynak dünyasına kenarından giriş yapmış bir insan olarak "bakalım problem neymiş, anlayabilecek miyim, çözebilecek miyim" düşüncesiyle ailemizin arama motoruna balıklama daldım. Ubuntu hata listelerinde de bahsinin geçtiğini gördüm konunun. Hemen Kde hata listelerine baktım orada da halen açık durumda olan bir hata girdisi vardı konu ile ilgili. Kaynak kodlarını inceleyeyim dedim. KDE SVN depolarına daldım, aradığımı bulamadım. En son kdeutils-3-5-8 paketinin kaynak kodlarını indirerek derdime derman buldum ve incelemeye başladım. Problemin kaynağı özetle şuydu:
Mevcut araç, bir rar arşivi açılmak istendiğinde önce yeni bir süreç(process) yaratıp unrar'ı çağırıyor. Ark dosyanın parola korumalı olup olmadığını, bu ilk çalıştırma sonucunda unrar'ın ürettiği çıktıyı ayıklayarak anlıyor(hacky tanımının cuk oturduğu bir durum olsa gerek). Eğer çıktıda "(password incorrect ?)" cümlesini yakalarsa parola korumalı bir dosyayla karşı karşıya olduğunu düşünüp unrar'ı tekrar çağırmadan önce kullanıcıdan parolayı girmesini istiyor ve bunu parametre olarak(-p [parola]) unrar'a geçiriyor. Problem ise şu, ne hikmetse unrar ilk çağırılışta asla "password incorrect ?" demiyor, sadece parolayı girmenizi istiyor. Çözüm en basit şekilde unrar'ın ilk çağırılışta "password incorrect ?" demesini sağlamaktı, bunu da "-p-" parametresi geçirerek yapabiliyoruz çünkü bu parametre kullanıcıdan parolayı asla istememesini sağlıyor böylece doğrudan hatalı şifre mesajını veriyor. En azından ben böyle yorumladım, gerekli dosyaya 2 satır ekledim, tekrar derledim ve çalıştı! Gerekli yamayı kde hata listesine ekledim, yaklaşık 1 saat sonra cartman tarafından yama kde svn'e sokuldu ve akabinde pardus deposundaki kdeutils paketine eklendi. Günümün bir bölümünü bu konuya harcayıp sonuçta da somut bir şeyler elde etmek mükemmel bir şey, insana güven ve mutluluk veriyor, en önemlisi açık kaynak dünyasının çekiciliğinden insan tekrar etkileniyor, heyecanlanıyor :)
Sonra yemeğimi yiyip Moda'ya gittim, biramı yudumladım keyifle.
Kalın sağlıcakla :)
Tags: Pardus