2010-05-28 15 views
7

Mam problemy z nawigacją w labiryncie narzędzi dystrybucyjnych dla Pythona i Debiana; cdbs, debhelper, python-support, python-central, bla bla bla ..łatwy, prosty sposób na spakowanie programu Pythona dla debiana?

moja aplikacja jest dość prosta jeden - pojedynczy pakiet python (katalog zawierający moduły i __init__.py), skrypt do uruchomienia programu (script.py) i niektóre ikony (.png) i elementy menu (pliki .desktop).

z tych plików, w jaki sposób mogę zbudować prosty, czysty plik .deb od podstaw bez użycia wymienionych powyżej bezsensownych narzędzi?

jestem głównie kierowania ubuntu, ale chciałby, jeśli pakiet pracował na prostym debian

Odpowiedz

3

pierwsze, odpowiedź brzmi, że nie istnieje prosty sposób, aby dpkg, a dokumentacja jest rozparcelowany w sposób milion drobnych kęsów z tak wielu miejsc. Jednak ubuntu Python Packaging Guide jest całkiem przydatne.

przypadku prostych pakietów (te łatwo opisać setuptools), kroki są dość proste, gdy masz system kontroli debian skonfigurować:

  • Run setup.py --sdist --prune a także upewnić się, aby ustawić dist-dir coś rozsądnego
  • Invoke dpkg-buildpackage z odpowiednich opcji dla pakietu (prawdopodobnie -b przynajmniej)

Musisz plik debian/rules dla buildpackage funkcjonować od, ale na szczęście praca jest wykonywana dla Ciebie, jeśli używasz cdbs, będziemy chcieli coś bardzo podobnego do:

#!/usr/bin/make -f 

DEB_PYTHON_SYSTEM := pysupport 

include /usr/share/cdbs/1/rules/debhelper.mk 
include /usr/share/cdbs/1/class/python-distutils.mk 

Jeśli nie używasz distutils, warto przyjrzeć na stronie DebianPython/Policy na wiki (pod "CDBS + the hard way"). Dostępna jest również opcja pycentral dla DEB_PYTHON_SYSTEM, którą można znaleźć w Google, jeśli chcesz znaleźć więcej informacji na jej temat.

+0

Nowy przewodnik pakowania w Python dla Ubuntu znajduje się pod adresem: http://packaging.ubuntu.com/html/python-packaging.html –

+0

@DanielTrebbien Ten link już nie działa, ale link archive.org wydaje się dostarczać tego, co kiedyś było. Obecna wiki Ubuntu nie ma nic znaczącego poza https://wiki.ubuntu.com/Python, która po prostu odsyła do wiki Debiana na wszystko, co dotyczy pakowania. – tripleee

5

python-stdeb powinien działać dla Ciebie. Jest na testach Debiana/unstable i Ubuntu (Lucid). apt-get install python-stdeb

Jest to mniej metoda skrótu niż narzędzie, które próbuje wygenerować jak najwięcej pakietu źródłowego, jak to możliwe. Może faktycznie zbudować pakiet, który zarówno działa poprawnie, jak i jest prawie zgodny ze standardami. Jeśli chcesz, aby twój pakiet spełniał standardy jakości do włączenia do Debiana, Ubuntu, itp., Musisz wypełnić pliki takie jak debian/copyright, itp.

Tak samo jak ludzie twierdzą, że cdbs jest naprawdę łatwe, chciałbym wskazać że wspomniany plik Nicka można łatwo zrobić z debhelper7. Nie można zapomnieć, że dh7 można dostosować znacznie łatwiej niż cdbs.

#!/usr/bin/make -f 
%: 
    dh [email protected] 

Uwaga: Należy sprawdzić, czy opakowanie spełnia Politykę Debiana, Debian Policy Python, etc przed wysłaniem do Debiana. Będziesz musiał przeczytać dokumenty - bez skrótów.

Powiązane problemy