Tek bir python betiği için nasıl bir deb paketi oluşturabilirim?

77

Deb paketi olarak dağıtmak istediğim tek bir python betiğim var. Birlik panelinde yerel tarihi gösteren bir göstergesidir . Komut dosyalarından veya ikili dosyalardan .deb Paketi oluşturma takip ettim ancak bir borç paketi oluşturamadım çünkü başarısız oluyor.

Birisi bana ne yapmam gerektiği konusunda adım adım talimat verebilir mi? Bu betiği bildiğim kadarıyla python-appindicator 'ye bağlı.

NOT:
Debian / Ubuntu paketleme talimatlarına herhangi bir bağlantı istemiyorum. Bunların çoğunu gördüm. Onları acemi dostu bulmuyorum.

    
sordu sagarchalise 27.12.2011 13:12

7 cevap

83

Aşağıdakiler, bir python komut dosyasının kaynak paketinin nasıl görüneceğine dair temel bir örnektir. Paketleme öğreticilerinin çoğu biraz karmaşık olsa da, bir soruna çarptığınızda gerçekten yardımcı olabilirler. İlk önce Debian paketlerinin temellerini sadece Debian paketlerine bakarak öğrendim. apt-get source benzer bir şey ve örnek olarak öğrenin.

Temel kaynak paket düzeniniz:

my-script/
    -- myScript
    -- debian/
        -- changelog
        -- copyright
        -- compat
        -- rules
        -- control
        -- install

Düzgün olarak biçimlendirilmiş dch --create girdisi oluşturmak için dizinde debian/changelog dosyasını çalıştırın.

Debian / copyright gibi görünmelidir:

Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: myScript
Upstream-Contact: Name, <[email protected]>

Files: *
Copyright: 2011, Name, <[email protected]>
License: (GPL-2+ | LGPL-2 | GPL-3 | whatever)
 Full text of licence.
 .
 Unless there is a it can be found in /usr/share/common-licenses

debian / compat şu şekilde olabilir: 7

debian / kurallar :

#!/usr/bin/make -f

%:
    dh [email protected] --with python2

Önceden "sekme" olması gerektiğini unutmayın dh [email protected] --with python2 , boşluk değil.

debian / kontrol

Source: my-script
Section: python
Priority: optional
Maintainer: Name, <[email protected]>
Build-Depends: debhelper (>= 7),
               python (>= 2.6.6-3~)
Standards-Version: 3.9.2
X-Python-Version: >= 2.6


Package: my-script
Architecture: all
Section: python
Depends: python-appindicator, ${misc:Depends}, ${python:Depends}
Description: short description
 A long description goes here.
 .
 It can contain multiple paragraphs

debian / install :

myScript usr/bin/

Bu dosya hangi dosyanın hangi klasöre yükleneceğini gösterir.

Şimdi debuild --no-tgz-check ile oluştur

Bu, işlevsel bir deb paketi oluşturacaktır. Lintian, orig.tar.gz eksikliğiyle ilgili birkaç uyarı atıyor, ancak tarball yayınlarını hazırlayan uygun bir üst düzey proje oluşturmayı planlamıyorsanız, muhtemelen şimdilik bunu göz ardı etmek isteyeceksiniz.

    
verilen cevap andrewsomething 30.12.2011 20:25
18
  1. evinizde herhangi bir adla bir klasör oluşturun, örneğin: mypyscript
  2. Klasörü açın ve 'DEBIAN' ve 'usr' isimleriyle iki klasör oluşturun
  3. DEBIAN klasörünü açın. Orada 'kontrol' adı verilen bir metin dosyası (uzantısız) oluşturun.
  4. 'control' seçeneğini açın ve aşağıdaki gibi yazın ve DEBIAN'da kaydedin

    Package: mypyscript
    Version: 0.01
    Architecture: all
    Maintainer: your name<your mail id>
    Installed-Size: 2
    Depends: python-appindicator
    Section: extras
    Priority: optional
    Homepage: your homepage
    Description: describe
    
  5. Mypyscript adlı klasöre geri dön. 'Usr' açın. 'Bin' adlı bir klasör oluşturun. 'Bin'i açın ve pythonscript dosyanızı buraya yapıştırın.

  6. Ayrıca bir menü girişi de yapabilirsiniz. Ama bu önemli değil.
  7. 'mypyscript' klasörünün dosya tarayıcısında bulunduğu veya dosya tarayıcısını kapattığı ana klasöre dönüş.
  8. Terminali aç. Terminalin ana klasörde olduğundan emin olun. dpkg -b mypyscript yazın. Basın düğmesine basın. Saniyeler içinde borç paketiniz hazırdır

not: Lütfen 'kontrol' dosyasını doğru şekilde doldurun. Kesme işaretleri kullanmayın. Sadece isimleri belirtmek içindir.

    
verilen cevap ST Alfas 30.12.2011 17:16
9

Paket oluşturmak için Debreate , bir GUI aracıyla deneyebilirsiniz.

    
verilen cevap davidc3 30.12.2011 14:55
3

Hızlı bir şekilde kontrol edip, hızlı uygulamalar oluşturmak ve Google'da deb'leri oluşturmak için harika bir program olur veya buradan dersler bulabilirsiniz İşte

    
verilen cevap Oly 31.12.2011 00:16
2

pkgme ​​ ’yi deneyin. Sadece Çalışmak gerekiyordu.

Şuradan yükle:

sudo apt install pkgme

Çalıştırın:

pkgme
debuild

(Yeni bir geliştiricinin gpg --gen-key dosyasını çalıştırması gerekebilir, bunu doğru şekilde yapmak için Geliştirme Anahtarlarım'a bakın)

    
verilen cevap ams 30.12.2011 21:16
1

Bu arada, İşte adresinde bulunan ikilemi açıklayan bir makale var. Esas olarak, bir setup.py dosyası kullanarak Python kodunu kolayca dağıtmak için make-deb ile birlikte çalışan dh-virtualenv olduğunu belirtmektedir. Kısa bir kullanım kılavuzu İşte ’de bulunabilir.

    
verilen cevap tc88 18.11.2017 20:46
0

Debreate 'ı kullanmayı deneyebilirsiniz.

Bu, yukarıda listelenen web sitesinden indirmek istemiyorsanız, PPA'yı kullanabileceğiniz paketleri ve paketleri oluşturmak için bir Gui Arayüzüdür.

sudo add-apt-repository ppa:antumdeluge/<ppaname>; sudo apt update; sudo apt install debreate

Ppa'yı, tek bir kod satırı olarak çalıştırmaya karar verdim! Harika bir soru için teşekkürler ve bu kod satırlarını terminalde tutmaya dikkat edin!

    
verilen cevap Galien1 08.07.2017 04:36

Etiketlerdeki diğer soruları oku