Uygulamayı .deb Paketi Haline Getirme

Pardus kullanıcısı bir öğretmen/sistem yöneticisi olarak, kendi yazdığınız uygulamanın .deb paketini oluşturup okulunuzdaki tahtalara veya diğer bilgisayarlara kolayca dağıtabilmek size büyük bir güç kazandıracak.


Bu işlem için ek bir Flutter eklentisi kullanabiliriz, ancak bir sistem yöneticisi olduğunuz için (ve Pardus'un temellerini öğrencilere göstermek isteyebileceğiniz için) size "Manuel Paketleme" yöntemini göstereceğim. Bu yöntem, Linux paket sisteminin mantığını kavramak açısından en öğretici olanıdır.

İşte adım adım Pardus için .deb paketi hazırlama rehberi:

Amacımız, oluşturduğumuz uygulamayı tek bir kurulum dosyası haline getirmek ve Pardus Başlat Menüsü'ne eklenmesini sağlamak.

1. Adım: Release (Yayın) Sürümünü Derleme

Geliştirme yaparken debug modunu kullanıyorduk (hata ayıklama kodları içerir ve yavaştır). Dağıtım için optimize edilmiş release sürümünü oluşturmalıyız.

Terminalde proje klasöründeyken şu komutu verin:

Bash:
flutter build linux --release

Bu işlem bittiğinde, derlenmiş dosyalarınız build/linux/x64/release/bundle/ klasöründe hazır olacaktır.


2. Adım: Paket Klasör Yapısını Oluşturma

Bir .deb paketi aslında belirli bir hiyerarşiye sahip klasörlerin sıkıştırılmış halidir. Masaüstünde geçici bir çalışma alanı oluşturalım.

Terminalde şu komutları sırasıyla uygulayarak klasör ağacını kurun:

Bash:
cd ~/Masaüstü
mkdir -p pardus-uygulama-paketi/DEBIAN
mkdir -p pardus-uygulama-paketi/usr/local/bin
mkdir -p pardus-uygulama-paketi/usr/share/applications
mkdir -p pardus-uygulama-paketi/usr/lib/ilk_pardus_uygulamam
mkdir -p pardus-uygulama-paketi/usr/share/icons/hicolor/512x512/apps

Oluşturduğumuz Yapının Mantığı:

  • DEBIAN: Paket bilgilerini (kontrol dosyası) tutar.

  • usr/lib/...: Uygulamanın asıl dosyaları burada duracak.

  • usr/share/applications: Pardus menüsünde görünmesi için kısayol dosyası burada olacak.

  • usr/local/bin: Terminalden çağırabilmek için sembolik link (isteğe bağlı ama önerilir).


3. Adım: Uygulama Dosyalarını Kopyalama

Şimdi derlediğimiz Flutter dosyalarını paket klasörümüze taşıyalım.

Bash:
# Proje klasörünüzün yolunu kendinize göre düzenleyin (Örn: ~/Masaüstü/ilk_pardus_uygulamam)
cp -r ~/Masaüstü/ilk_pardus_uygulamam/build/linux/x64/release/bundle/* ~/Masaüstü/pardus-uygulama-paketi/usr/lib/ilk_pardus_uygulamam/

Ayrıca Pardus logosunu da simge (icon) olarak kullanmak için kopyalayalım:

Bash:
cp ~/Masaüstü/ilk_pardus_uygulamam/assets/pardus_logo.png ~/Masaüstü/pardus-uygulama-paketi/usr/share/icons/hicolor/512x512/apps/ilk-pardus-uygulamam.png

4. Adım: Control Dosyasını Oluşturma

Paketin "kimliğini" oluşturan dosyadır.

  1. pardus-uygulama-paketi/DEBIAN/ klasörü içine control isimli (uzantısız) bir dosya oluşturun.

  2. İçine şu bilgileri yapıştırın:

Plaintext:
Package: ilk-pardus-uygulamam
Version: 1.0.0
Architecture: amd64
Maintainer: Nuri Tiras <mail@adresiniz.com>
Description: Pardus icin gelistirilmis ilk Flutter deneme uygulamasi.
 Bu uygulama egitim amaclidir ve Pardus logosunu gosterip gizler.
Depends: libgtk-3-0

5. Adım: Desktop (Menü Kısayol) Dosyasını Oluşturma

Bu dosya olmazsa uygulama kurulur ama Pardus menüsünde görünmez.

  1. pardus-uygulama-paketi/usr/share/applications/ klasörü içine ilk-pardus-uygulamam.desktop isimli bir dosya oluşturun.

  2. İçine şunları yapıştırın:

Plaintext:
[Desktop Entry]
Version=1.0
Type=Application
Name=Pardus Logosu
Comment=Flutter ile yapılmış örnek uygulama
Exec=/usr/lib/ilk_pardus_uygulamam/ilk_pardus_uygulamam
Icon=ilk-pardus-uygulamam
Categories=Utility;Education;
Terminal=false

6. Adım: Yetkileri Ayarlama ve Paketi Oluşturma

Dosyaların çalıştırılabilir olduğundan emin olalım ve paketleyelim.

Bash:
# Çalıştırma izni verelim
chmod +x ~/Masaüstü/pardus-uygulama-paketi/usr/lib/ilk_pardus_uygulamam/ilk_pardus_uygulamam

# Paketi oluşturuyoruz (dpkg-deb komutu ile)
dpkg-deb --build ~/Masaüstü/pardus-uygulama-paketi

Bu işlemden sonra masaüstünüzde pardus-uygulama-paketi.deb isminde bir dosya oluşacaktır.


7. Adım: Test Etme (Kurulum)

Artık oluşturduğunuz bu .deb dosyasını, tıpkı internetten indirdiğiniz bir program gibi kurabilirsiniz.

Terminalden test etmek için:

Bash:
sudo dpkg -i ~/Masaüstü/pardus-uygulama-paketi.deb

Veya dosyaya çift tıklayarak Pardus Paket Kurucu ile de kurabilirsiniz.

Sonuç: Pardus Başlat menüsünü açın, arama çubuğuna "Pardus Logosu" yazın. Uygulamanızın simgesiyle orada durduğunu göreceksiniz. Tıkladığınızda uygulamanız açılacak!

Bu işlemi için ek bir Flutter eklentisi ile yapma:

Manuel paketleme yöntemi, işin mutfağını öğrenmek için harikaydı. Ancak bir proje büyüdüğünde veya sürekli güncelleme yapmanız gerektiğinde o klasörleri tek tek elle ayarlamak yorucu olur.

Bu işi otomatize etmek için Flutter topluluğunun en çok kullandığı ve Pardus (Debian tabanlı) ile tam uyumlu çalışan flutter_to_debian paketini kullanacağız.

İşte adım adım eklenti ile otomatik paketleme rehberi:

1. Paketi Projeye Dahil Etme

Bu paket sadece geliştirme aşamasında (derleme yaparken) lazım olduğu için onu "dev_dependency" (geliştirici bağımlılığı) olarak ekleyeceğiz.

Terminali proje klasöründe açın ve şu komutu yazın:

Bash:

flutter pub add --dev flutter_to_debian


2. Ayarları Yapılandırma (pubspec.yaml)

Şimdi pubspec.yaml dosyasını açın. Bu dosya projenin kalbidir. Dosyanın en altına inin ve paketleme ayarlarını içeren şu bloğu (kendi bilgilerinizle düzenleyerek) ekleyin:

Dikkat: Girintilere (boşluklara) çok dikkat edin, YAML formatı hata kabul etmez.

YAML:

# Dosyanın en alt kısmına ekleyin:

flutter_to_debian:
  main_script:
    # Uygulamanın adı (Boşluk ve Türkçe karakter kullanmayın)
    name: ilk_pardus_uygulamam
    # Menüde görünecek açıklama
    description: Pardus icin otomatik paketlenen Flutter uygulamasi
    version: 1.0.0
    maintainer: Nuri Tiras <nuri@mailadresi.com>
    # Uygulamanın çalıştırılabilir dosyası (Genelde proje ismiyle aynıdır)
    exec: ilk_pardus_uygulamam
    # İkon dosyasının yolu (Projenizdeki assets yolunu gösterin)
    icon: assets/pardus_logo.png
    # Paket mimarisi (Güncel Pardus PC'ler için amd64)
    architecture: amd64
    # Uygulamanın hangi menü kategorisinde çıkacağı
    section: education
    # Öncelik
    priority: optional

3. Paketi Oluşturma (Tek Komutla!)

Artık o karmaşık klasör oluşturma, yetki verme işlemlerinin hepsini unutun. Terminale sadece şu komutu yazmanız yeterli:

Bash:

dart run flutter_to_debian:make

Bu komut çalışınca arka planda şunları yapar:
  1. flutter build linux --release komutunu çalıştırır.

  2. Gerekli Debian klasör yapısını (DEBIAN, usr, share vb.) otomatik kurar.

  3. İkonları ve yetkileri ayarlar.

  4. Sonuç olarak size hazır bir .deb dosyası verir.

4. Sonuç

İşlem bittiğinde terminal size dosyanın nerede olduğunu söyleyecektir. Genellikle proje ana dizininde debian/ isminde yeni bir klasör oluşur ve .deb dosyanız orada sizi bekler.

Kurmak için yine:

Bash:

sudo dpkg -i debian/ilk_pardus_uygulamam_1.0.0_amd64.deb


Manuel Yöntem vs. Eklenti Yöntemi

ÖzellikManuel YöntemEklenti (flutter_to_debian)
ÖğreticilikYüksek (Linux dosya yapısını öğretir)Düşük (Sihirli değnek gibidir)
HızYavaş (Her seferinde kopyala-yapıştır)Çok Hızlı (Tek komut)
Hata RiskiYüksek (Harf hatası yapılabilir)Düşük (Otomatiktir)
Kullanım YeriÖğrencilere mantığı anlatırkenSeri üretim yaparken


Yorumlar

Bu blogdaki popüler yayınlar

Pardus ETAP 23 İçin Flutter ile Dijital "Öğrenci Seçici" Uygulaması

Uygulama: Pardus Logosunu Göster

Pardus ETAP 23 İçin Flutter ile Sanal Laboratuvar