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:
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:
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.
# 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:
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.
pardus-uygulama-paketi/DEBIAN/klasörü içinecontrolisimli (uzantısız) bir dosya oluşturun.İçine şu bilgileri yapıştırın:
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.
pardus-uygulama-paketi/usr/share/applications/klasörü içineilk-pardus-uygulamam.desktopisimli bir dosya oluşturun.İçine şunları yapıştırın:
[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.
# Ç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:
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:
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.
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:
flutter build linux --releasekomutunu çalıştırır.Gerekli Debian klasör yapısını (DEBIAN, usr, share vb.) otomatik kurar.
İkonları ve yetkileri ayarlar.
Sonuç olarak size hazır bir
.debdosyası 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:
Manuel Yöntem vs. Eklenti Yöntemi
| Özellik | Manuel Yöntem | Eklenti (flutter_to_debian) |
| Öğreticilik | Yüksek (Linux dosya yapısını öğretir) | Düşük (Sihirli değnek gibidir) |
| Hız | Yavaş (Her seferinde kopyala-yapıştır) | Çok Hızlı (Tek komut) |
| Hata Riski | Yüksek (Harf hatası yapılabilir) | Düşük (Otomatiktir) |
| Kullanım Yeri | Öğrencilere mantığı anlatırken | Seri üretim yaparken |
Yorumlar
Yorum Gönder