Przedtem też walczyłem z pakietem Python dla Ubuntu/Debian i zgadzam się, że dokumenty są nieporządne/nieistniejące/wprowadzające w błąd: naprawdę potrzebują krótkiego przewodnika w najprostszej możliwej sytuacji.
Cóż, oto jest!
Zainstaluj narzędzia. To może być przesadą, choć:
sudo apt-get install build-essential python-all dh-make devscripts fakeroot
start z kodem wyrejestrowany w katalogu o nazwie $packagename-$version
, jak library_name-0.6.0/
i cd
do tego katalogu. Uruchom coś w stylu dh_make -i -c gpl3 -e [email protected]
(patrz dh_make --help
, aby uzyskać informacje na temat innych opcji). Jeśli wszystko pójdzie dobrze, nie dostaniesz żadnych błędów, a utworzy ładunek plików w ./debian
. Możesz zignorować lub usunąć ./debian/*.{ex,EX}
; to tylko przykłady.
Powinieneś raczej badać wszystkie te pliki w pewnym momencie, ale przynajmniej, ty potrzeba edytować ./debian/control
i ./debian/rules
. Powinieneś wypełnić wszystkie pola kontrolne, a mianowicie Description
i Homepage
.Zmienić linię Package
do python-$libname
zmienić linię Depends
w control
do tego:
Depends: ${misc:Depends}, ${python:Depends}
To gwarantuje, że nasz pakiet binarny python-$libname
zależy od wersji Pythona potrzebuje. (${python:Depends} is a "substvar"; they're created when we build; you can inspect their values after your first build in
./Debian/$ packagename.substvars`.)
dokonać korekty w rules
z dh [email protected]
do dh [email protected] --with python2
konserwujące kartę z przodu (to jest Makefile). To powoduje, że debhelper używa swojego dodatku python2; domyślnie nadal używasz pysupport (który jest przestarzały, pamiętasz?).
Następnie uruchom następujące polecenia w katalogu źródłowym:
debuild -us -uc
To buduje pakiet, bez podpisania (coś powinny dowiedzieć się, jak to zrobić później!). Powinieneś zobaczyć kilka znanych narzędzi setuptools (dwa razy: raz na 2.6, raz na 2.7), stosy dh_ addonów i inne budowanie cruft. Na końcu jest wyjście lintian, które może wykryć niektóre typowe problemy z pakowaniem; powinieneś to naprawić. Wiele rzeczy, na które licyni i znajomi narzekają, to tylko przestrzeganie zasad pakowania, a jeśli Twoja wewnętrzna libacja jest po prostu wewnętrzna, możesz ją rozegrać luźno.
Przy okazji, This page talks about the deprecation of python-support
and python-central
Czy twój pakiet jest kompatybilny z wersjami 2.x i 3.x? To znaczy, czy celujesz w oba? – nfirvine
@nfirvine: 2,6 + 2,7 –