Debian IRC kanalında irc: //irc.debian.org#debian-mentors , bazı şeylerle konuştum , aynı şeyi sordum ve genel fikir birliği:
Çözüm # 1:
Kaynak dosyalarını tek bir kod temeli olarak kopyalayarak paketinize bağımlılıkları entegre etmek çok kaşlarını çattı. Bağımlılıkları, güncellemeleri, sürümleri vb. İşleyen bir paketleme sisteminin amacını yener.
Çözüm # 3:
İkili olmayan ( .deb
) yüklerken debian olmayan paketleri anında indirmek ciddi bir güvenlik riskidir, kesinlikle hayır. Hatta etmek mümkün olmaz incelemek çıkararak bağımlılıkları deb
onlar indirilen ve saati yüklemek kurulur çünkü. Depo sistemini tamamen atlayan bir yaklaşım. İlgili hiçbir kullanıcı, perde arkasında (ve root
hatırlayın!), Güvenilir olmayan ek kaynaklardan güvenilir olmayan ek yazılımlar indiren bir paketten memnun olmaz . Evet, bu DEBIAN/postinst
(veya preinst
) ile uğraşmayı ve (veya wget
sizin durumunuzda,pip install
) ve Flash, Oracle Java, Steam ve diğerleri tarafından alınan yaklaşım budur. Ancak bu tescilli, kapalı kaynaklı bir yazılımdır, bu yüzden güvenlikleri zaten yoktur.
Çözüm # 1.5:
Bunu söz etmedi, ancak sadece az bağımlılıkları entegre olabilir inşa zamanda içinde, yani kaynak paketi ( .orig.tar.gz
, .debian.tar.gz
, .dsc
"ikili" paketi (oluştururken PyPi dan indirerek, üçlü) .deb
). İçin talimatlar ( ikili paketin aksine küçük harfe dikkat edin) pip install
girer ve yayınladığınızda ya da yürütülür .debian/rules
debian
debuild
dpkg-buildpackage
Bu # 1 ve # 3 arasında bir orta yol. # 3'ün bazı sorunlarını hafifletir (ama çözmez!): En azından son ürünü inceleyebilirsiniz ve .deb
kurulum zamanında internet erişimi gerektirmez. Tüm riskler ve yükler son kullanıcıdan paket koruyucusuna aktarılır. Ancak, paketleme sistemi altyapısının çoğunu atladığı için # 1 ile aynı sorunlara sahiptir. Daha sonra, bağımlılıkları ele alma (sürümler, güncellemeler, gereksinimler, çakışmalar) ilk etapta neden yaratılmıştır dpkg
/ apt
yaratılmıştır! :)
Çözüm # 2:
One True Doğru ™ . Bağımlılıklarınız için debian paketleri oluşturursunuz, bunları paketinizde gereksinimler olarak listelersiniz ve tüm .debs
veya kaynak paketleri gönderirsiniz.
Oradan bir dizi seçeneğiniz var:
Debian'a dahil edilmek için hem yazılımınızı hem de bağımlılıklarını içeren kaynak paketlerini gönderin . Kabul edilirse, Ubuntu gibi tüm türevler de dahil olmak üzere tüm Debian kullanıcıları tarafından otomatik olarak kullanılabilir.
Kaynak paketleri Launchpad'e yükleyin , böylece herhangi bir Ubuntu kullanıcısının (ve Linux Mint gibi türevlerinin) kolayca ekleyip kurabileceği bir PPA oluşturun
Web sitenizde, Debian tabanlı herhangi bir sistemden kullanıcıların ekleyebileceği ve güncellemeyi indirmek, yüklemek ve güncel tutmak /etc/apt/sources.list.d
için apt
altyapıyı kullanabilecekleri (yukarıda olduğu gibi!) Kendi debian deponuzu barındırın.
Ev sahibi .deb
doğrudan indirmek için dosya ve yükleyin. Hiçbir apt
veya otomatik güncelleme düşünülmemiştir.
PyPi bağımlılıklarınızı (ve python yazılımınızı da!) Nasıl paketleyeceğinize gelince , işlemi kolaylaştıran bir dizi araç ve referans vardır:
stdeb , dediğin gibi. Oldie ve güle güle.
Pybuild , Debian'ın yerini alan yeni ve şaşırtıcı bir araç stdeb
.
Ve birçok yararlı referans:
Yardıma mı ihtiyacınız var? Bunlara göz atın: