Debian (.deb) Paketi Nasıl Oluşturulur

dh_make ve debuild aracı ile linux debian dağıtımına paket oluşturmak için aşağıdaki iki paketi kurmalıyız. debuild aracı devscript paketi ile birlikte gelir.

sudo apt-get install dh-make devscripts

İlk adım projenin doğru adlandırılması gerekli <paket_adi> - <versiyon> şeklinde olmalıdır.

mkdir ornek-1.0
cd ornek-1.0
touch ornek.sh

Örnek için bir shell dosyası oluşturduk. dh_make aracı oluşturacağı dosyalarda kullanmak için email adresi ve isme ihtiyaç duyar. Bunları doğru şekilde kullanması için aşağıdaki komut kullanılan shell’in başladığı zaman çalıştırdığı (bash için .bashrc, zsh için .zshrc v.b) dosyaya eklenmeli ve dosya tekrar çalıştırılmalı. (source ~/.bashrc)

export DEBEMAIL="oguzhan3488@gmail.com"
export DEBFULLNAME="Oguzhan INAN"

Şimdi klasörün içinde aşağıdaki komutu çalıştırıyoruz.

dh_make --indep --createorig

dh_make komutu çalışdıktan sonra paket klasörünün içinde debian adında bir klasör oluşur. dh_make birçok dosya oluşturur. Kullanmak istenilen dosyaların sonundaki .ex uzantısı kaldırılarak amaca göre kullanılabilir. debian klasörünün içinde oluşturulan dosyalardan bazılarının kullanım amaçları:

         
control bu dosya paketin açıklama, bağımlılık, kategori v.b ayarlarının yapıldığı yerdir. Ayrıntılı bilgi debian control fields      
changelog paketteki yapılan sürüm değişiklikleri bu dosyaya yazılır.      
rules projenin nasıl derleneceğinin belirtildiği yer.      
postinst kurulum tamamlandıktan sonra yapılması gereken varsa bu shell script dosyasına yazılır.      
postrm kurulum kaldırıldıktan sonra yapılması gereken varsa bu shell script dosyasına yazılır.      
preinst kurulum yapılmadan önce yapılması gereken varsa bu shell script dosyasına yazılır.      
prerm kurulum kaldırılmadan önce yapılması gereken varsa bu shell script dosyasına yazılır.      
paket_adi.cron.d paket cron job kullanması gerekiyorsa bunun içine yazılır.      


Aşağıdaki dosyaların olması gereklidir. Dosyalar pakete göre düzenlenmeli.

    |-- ornek-1.0
    |   |-- debian
    |   |   |-- changelog
    |   |   |-- compat
    |   |   |-- control
    |   |   |-- copyright
    |   |   |-- rules
    |   |   `-- source
    |           `-- format
    |   `-- ornek.sh
    `-- ornek_1.0.orig.tar.gz

dh_make aracı debian klasörünün içine install adında bir dosya eklemedi bizim eklememiz gerekli. Bu dosya klasör içerisindeki yüklenmeasi gereken dosyaların nereye yükleneciğinin belirlendiği yerdir. Eklemek için:

touch debian/install

Örnek için içerik aşağıdaki gibidir.

ornek.sh usr/bin

Paket içeriği hazır paketi derlemek için ornek-1.0 klasörü içerisinde aşağıdaki komut çalıştırılır.

debuild -us -uc

Bir üst dizinde oluşan ornek_1.0-1_all.deb paketini kurmak için:

sudo dpkg -i ornek_1.0-1_all.deb

komutu kullanılır.