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
TAGs: gnu, linux, open-source, pardus-19, pardus, screenfetch, package management, quilt tool, patch