Sistem Gözlem Merkezi (system-monitoring-center) adındaki geliştirdiğim bir yazılımı Debian depolarına eklemek istiyorum. Uygulama şu an Pardus Yazılım Merkezinde var ama Debian depolarından çeşitli dağıtımlara geçecek şekilde daha yaygın kullanımını amaçlıyorum.
Bunun için “reportbug” paketini kurdum. Ancak “reportbug” uygulaması Debian dokümanlarındaki yönlendirmelerde “request type” sorarken bende sormadan Nano ile metin düzenleme aşamasına geçiyor. ITP request oluşturmak yerine farklı bir ekrana yönlendirdiğini düşünüyorum.
ITP request oluşturmak için ne yapmalıyım?
Benim bilgisayarda gelinen aşamanın resmi aşağıda:
Yazılımınız fotoğraflardan gördüğüm kadarıyla oldukça güzel görünüyor. Ben henüz deneyemedim.
Debian depolarına ekleme süreci tam olarak nasıl işliyor bilmiyorum. Fakat yazılımın yönetimiyle ilgili naçizane 1-2 tavsiyem var. Bu yazılımınızı her dağıtım için kurulabilir yapmakla ilgili. Yani debian, arch, fedora, gentoo vb. her dağıtımda paket yöneticiden bağımsız bir biçimde kurulabilir olması için.
Gördüğüm kadarıyla DEBIAN paketi için güzel bir sistem hazırlayıp pek çok da debian paketi yapmışsınız. Fakat şunu belirteyim. Debian dışı dağıtımlarda da büyük bir kullanım var. Yani debian paketlerini kaynak kod dizinine dahil etmek yerine sürüm çıkarıp oraya koymak bana daha mantıklı geliyor.
Debian dışı ya da deposunda sizin yazılımınız bulunmayan kullanıcılar için ise her dağıtıma uyacak bir ‘build system’ yani derleme ve kurulum sistemi oluşturmanız daha iyi olacaktır. Python’a çok hakim değilim ama python için setuptools mu ne. Öyle bir derleme ve kurulum sistemi var. Hatta yazılımı her dağıtımda kullanılabilecek ortak depolara da koyabilirsiniz. Mesela python paketlerii setuptools ile düzgün kurulabilir olduğunda PYPI deposuna da eklenebilir sanırım. Bu sayede her dağıtımda pip ile kurulabilir olacaktır.
Veya basitçe Makefile de yazabilirsiniz ama bu python projeleri için nasıl olur bilmiyorum. Dediğim gibi pythonda bir proje yapmadım hiç.
Ve daha sağlıklı debian paketlemesi için kaynak paket oluşturmaya çalışın. Bu debian paketleme araçları ile paketlenmesini kolaylaştırır. Buna destek için de bahsettiğim derleme sistemleri gerçekten büyük önem arz ediyor ve herkes için kolaylık sağlıyor.
Size çok basit bir yazılım atayım. O GNU Build System ile kuruluyor. Debian paketçileri de o sisteme özel hazır şablonlar oluşturduğu için o sistemle kurulan yazılımları paketlerken neredeyse hiç sıkıntı çekmiyor sanırsam. Python Setuptools için de benzer şekilde şablonlar vardır. Çünkü o da python yazılımcıları arasında oldukça tercih edilen bir build system.
Buyrun bu GNU Hello ana sayfası.
Bu da son sürüm tarball bunu arşivden çıkarıp birkaç komutla paket sistemine ihtiyaç duymadan kurabiliyorsunuz.
Benim de bu kadar yazdığıma bakmayın. Ben de yazılım konusunda deneyimsiz biriyim. Daha doğru düzgün bir dil bile bilmiyorum. Sadece böyle şeyleri çok araştırmıştım . Ben de sadece basit bir örnek olması için hello world uygulaması oluşturmuştum. Daha basit şekilde düz Makefile ile kuruluyor.
Kurarken sudo make install komutunu vermek yetiyor. İşte bu da benim küçük hello uygulamam
Vakit ayırdığınız için teşekkürler. Çokça detay varmış kodlama sonrasında. Link’teki son mesajlardan birinde yazdığım gibi programcı değilim ve belki çok kişi için basit sayılabilecek aşamalara (mesajınızdaki) ben yabancıyım. Şimdilik yerel diskte çalışıp dosyaları proje dizinine yüklüyorum (replace şeklinde). Github, Gitlab sistemlerine de alışık değilim. Çok uzun bir kodlama süreci oldu ve şimdilik kodlamayı bitirmeye çalışıyorum. Az kaldı.
Uygulamayı Debian temelli olmayan sistemlerde hiç denemedim. Pardus dışında birkaç sistemde detaylı olmayan bazı denemeler yaptım ve eksiklikleri giderdim.
Kodlama bitince paket ve dağıtım konusuna detaylı bakacağım. Şimdilik Debian deposu konusunda yol kat edemedim. Süreçleri tam bilmiyorum ama Debian konusundaki amacım, Pardus Mağazasına da (depolarına) buradan geçmesi içindi. Böylelikle mağazayı güncelleyenlere kolaylık sağlamaktı.
Belki sizinle iletişime geçip paketleme konusunda bazı yardımlar isteyebilirim. Hatta proje dizini için de olabilir.
Pardus 19 için Python kullanılarak yazılmış Pardus uygulamalarının proje dizinlerinden ve Python/LibraryStyleGuide - Debian Wiki adresinden faydalanarak kendi proje dizinimi düzenledim.
ITP request’ini mail ile yaptım. https://wnpp.debian.net/ adresindeki listede görüntüleniyor (ITP’yi seçip aramak gerekiyor). Bir maintainer paketle ilgilenenince yüklemesi yapılır diye düşünüyorum. Sonucu bekleyeceğim.