Pardus 19 üzerinde Patch Nasıl Yazılır? ve Patch Nasıl Dahil Edilir?

pardus-kapak

Pardus Serimizde Screenfetch paketi üzerinde basit temel patch işlemlerini gerçekleştireceğiz. Ardından Bölüm-1 ‘ de kurduğumuz screenfetch paketi ile karşılaştırıp aradaki farkları gözlemleyeceğiz. Bölüm-1’de temel olarak screenfetch kurulum, yapılandırma, kullanımı ele alacağız. Bölüm-2 üzerinde paketler üzerinde işlemler yapacağız. Bu yaptığımız değişikliklerden sonra Bölüm-1 ve Bölüm-2 arasındaki farkı daha iyi anlayacağınızı umuyorum :) Patch’in mantığını bu şekilde daha iyi kavrayabileceğimizi düşündüm.

Önceki yazılarımızda olduğu gibi bu yazıdaki başlıklarımızı listeleyecek olursak;

  • Bölüm 1
    • Screenfetch Kurulumu
    • Uçbirim içerisine Screenfetch Eklenmesi
    • Screenfetch Önizlemesi
    • Screenfetch Paketinin Kaldırılması
  • Bölüm 2
    • Screenfetch Paketinin İndirilmesi
    • Screenfetch Paketlerinin Çıkarılması
    • Screenfetch Dosyalarının Düzenlenmesi
    • Screenfetch Paketi Üzerinde Patch İşlemleri
    • Paketlenme ve İmzalanma İşlemleri
    • Screenfetch Kurulumu
    • Screenfetch Paketinin Önizlemesi

Bölüm 1

Screenfetch Kurulumu

Paketin patch eklenmiş haliyle normali arasındaki farkı görmek için öncelikle screenfetch kurulumunu aşağıdaki komutla yapalım.

$ sudo apt-get install screenfetch

Resim-1

Uçbirim içerisine Screenfetch Eklenmesi

.bashrc dosyasını düzenleyerek screenfetch’i ekleyelim.

$ nano ~/.bashrc

Resim-2

Resim-3

Screenfetch Önizlemesi

“CTRL + ALT + T” tuş kombinasyonunu kullanarak Uçbirimi açalım ve değişiklikleri Uçbirimde önizleyelim.

Resim-4

Screenfetch Paketinin Kaldırılması

Screenfetch paketini aşağıdaki komutu kullanarak kaldıralım.

$ sudo apt-get remove screenfetch

Resim-5

Bölüm-2

Screenfetch Paketinin İndirilmesi

“screenfetch” adında bir dizin oluşturalım ve dizin içerisine girelim.

$ mkdir screenfetch && cd screenfetch

“wget” aracını kullanarak gereken paketlerimizi indirelim.

$ wget http://deb.debian.org/debian/pool/main/s/screenfetch/screenfetch_3.9.1.orig.tar.gz

Resim-6

$ wget http://deb.debian.org/debian/pool/main/s/screenfetch/screenfetch_3.9.1-1.debian.tar.xz

Resim-7

Screenfetch Paketlerinin Çıkarılması

Paketlerimizi aşağıdaki komutları kullanarak çıkaralım.

$ tar -xvf screenfetch_3.9.1-1.debian.tar.xz

Resim-8

$ tar -xvf screenfetch_3.9.1.orig.tar.gz

Resim-9

Screenfetch Dosyalarının Düzenlenmesi

“tar.gz” ve “tar.xz” uzantılı arşivleri silelim ve “debian/” dizinini “screenfetch-3-9.1/” içerisine taşıyalım.

$ ls

$ rm -rf *z

$ ls

$ mv debian/ screenfetch-3.9.1/

$ ls

Resim-10

Screenfetch Paketi Üzerinde Patch İşlemleri

“screenfetch-3.9.1/” dizinimize gireceğiz. Ardından “debian/” dizini altında “patches/” dizini oluşturup “export QUILT_PATCHES” komutuyla bu dizinimizde patch dosyalarının yer alması gerektiğini bildireceğiz. “0001-pardus-logo.patch” adında yeni bir patch dosyası oluşturacağız. Oluşturduktan sonra “series” dosyamızın içerisinde patch dosyasının adının yer aldığını göreceğiz. Değişiklik yapacağımız dosyayı “quilt add” komutuyla belirteceğiz.

$ cd screenfetch-3.9.1/

$ mkdir debian/patches

$ export QUILT_PATCHES=debian/patches

$ quilt new 0001-pardus-logo.patch

$ cat debian/patches/series

$ quilt add screenfetch-dev

Resim-11

Pardus Kurumsal Github hesabında Screenfetch 3.7.1 versiyonu için yazılmış patch’i kullanacağım. Aşağıdaki resimde gösterilen kısmı kopyalayalım.

Resim-12

Kopyalama işleminden sonra mousepad metin editörü ile “screenfetch-dev” dosyamızı açalım.

Resim-13

Aşağıdaki resimdeki alanı kopyaladığımız alan ile değiştirelim ve kaydedelim.

Resim-14

Resim-15

Değişiklikleri kaydettikten sonra “patches” dizini altında sadece “series” dosyasını görürüz. Bunun sebebi yenileme işlemini henüz gerçekleştirmemiş olmamızdır. “quilt refresh” komutunu kullanarak yenileme işlemini yapalım ve “debian/patches/” dizini altındaki dosyaları “ls” komutuyla tekrar kontrol edelim.

Resim-16

Başarılı bir şekilde patch dosyamız eklendi. Şimdi patch dosyamızın içeriğini kontrol edelim :)

Resim-17

Değişiklikleri changelog dosyamıza ekleyelim

$ dch -i

Resim-18

Pardus logosunun değiştirildiğine dair bir bilgi verelim.

Resim-19

Paketleme ve İmzalama

Şimdi paketimizde ilgili değişiklikleri yaptıktan sonra paketleme ve imzalama adımına geçelim.

$ dpkg-buildpackage -b

Resim-20

Aşağıdaki komutu kullanarak bir önceki dizinimizde paketin oluşturulduğunu gözlemleyebiliriz.

$ ls ../

Resim-21

Paketin Kurulumu

$ sudo dpkg -i ../screenfetch_3.9.1-1.1_all.deb

Resim-22

Screenfetch Önizlemesi

“.bashrc” dosyamıza daha önceden “screenfetch” komutunu eklemiştik. “CTRL + ALT + T” tuş kombinasyonunu kullanarak uçbirimimizi açalım ve değişiklikleri gözlemleyelim.

Resim-23

Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar 

www.mshowto.org   

TAGs: , , open-source, -19, , screenfetch, package management, quilt tool, patch

Yazı gezinmesi

Mobil sürümden çık