Etiketlenmiş Kayıtlar ·

yama

·...

Bir mallık hikayesi

2 yorum

Uzun zamandır, Ubuntu‘da kullandığım bittorrent istemcisi olan Transmission’ın gtk arabiriminde olmasını istediğim bir özellik vardı. Torrent’in takipçilerini /trackers) liste üzerinden silebilmek.

Transmission da bu özellik yerine “takipçileri düzenle” isimli bir tuş ve tüm trackerların listesinin olduğu bir metin kutusu üzerinden yazarak ekleme çıkarma özelliği vardı. Dün C yazmayı özlediğimi farkederek bu işe giriştim. GTK bilmediğim ve Transmission’ın kod tabanına biraz uzak olduğum için işlevi eklemem 2 günümü aldı. Ancak işin kolayına kaçtığım için apt-get source ile indirdiğim kaynak kodu üzerinde çalıştım.

apt-get source transmission
apt-get build-dep transmission

İşimi kolaylaştıran ve tüm derleme ağacını sağlayan bu komutların rahatlığı yüzünden svn HEAD i incelemeyi atladım. Ne de olsa, transmission gtk arabiriminde yıllardır bu özellik yoktu. Kimse eklemiş olamaz değil mi?

Yaklaşık 2 gün çalışarak bu özelliği çok az  gtk bildiğim halde ve çok uzun zamandır kullanmadığım C’yi kullarak ekledim. çalıştırdım. Bundan sonra sıra yamayı hazırlayarak transmission’a göndermeye geldi. Bunun için svn head i alıp yazdığım kodları bu ağaç üzerinde çalışır hale getirmem gerekiyordu. Bu sayede kullanılabilir bir yama elde edecektim.

svn co svn://svn.transmissionbt.com/Transmission/trunk Transmission-svn

İndirdiğim kodlara elimdeki değişiklikleri elle eklemek ile işe başladım. Kodları kopyalayıp yapıştırdım. Debian build kurallarından aldığım configure satırı ile paketi ayarlamaya çalışınca libevent-2 kullanmaya geçtiklerini farkettim. Bunun için launchpad.net‘den gerekli olan libevent-2.0-5 paketlerini buldum sisteme yükledim. Sağlıklı bir derleme yapabilmek için yazdığım kodları, HEAD’de gerçekleşmiş olan değişikliklere uygun hale getirmeye başladım. Kullandığım yapılar (structures), sabitler ve enumlar değişmişti. Bu kadar değişiklik olduğunu doğrusu düşünmemiştim. Çalışacağını düşündüğüm hale getirip derlemeyi başardım. Programı çalıştırdım. Bir de ne göreyim! İstediğim özelliği sağ butona koymamışlar ama ayrı buton ekleyerek gerçekleştirmişler. Üstelik yaptığım yama da çalışmıyordu. Bu 2 olumsuzluk yüzünden yamayı çalışır ve yeni kod yapısında bulunan özellikleri kullanır hale getirmekten - şimdilik- vazgeçtim. Bunun yerine kurduğum ekstra paketleri kaldıdım ve,

apt-add-repository ppa:transmissionbt
aptitude update
aptitude install transmission

komutlarını vererek transmission’ın son sürümünü kullanmaya başladım.

Evet, bu yetenekli bir malın hikayesidir..

 

s/ls/sl/ ve s/cat/car/ yaması

yorum yok

Biraz önce planetubuntu‘da Christer Edwards: This One Is For The LOLZ başlıklı makaleyi görünce aklıma uzun zamandır yaptığım car typosu geldi. “sl yazınca dumanlı Kara tren görüyorsak niye car yazınca araba görmüyoruz ki?” diyordum çokça zamandır. Gün bugünmüş..

apt-get source sl

ile kaynak koduna ulaştım ve küçük bir yama hazırladım.

yamaya sl-car.patch adresinden ulaşabilirsiniz.. sl kodunu yamayın, derleyin ve car komutu olarak linkleyin. NOS destekli araba terminalinize gelsin..
(İngilizce benzer açıklaması aradan sonra)

Daha Fazla: Kaydın geri kalanını okuyun…

Switch to our mobile site