2011-09-01 11 views
14

Jako kontynuację do How do I write a setup.py for a twistd/twisted plugin that works with setuptools, distribute, etc?, w jaki sposób zrobić pakiet debian dla skręconej wtyczki?Jak utworzyć pakiet ubuntu/debian dla wtyczki Twistd/Twisted?

Zakładając, że plik setup.py został poprawnie napisany, użycie cdbs/python-central/dh_python2 powinno działać, ale do tej pory nie miałem zbyt wiele szczęścia.

Sztuczka z tymi narzędziami polega na tym, że w zasadzie uruchamiają "python setup.py install --root =", a następnie pakują wszystko, co kończy się w '', więc być może po tym, jak poprzednie pytanie zostanie poprawnie odebrane, wtedy to pytanie staje się sporny?

Ktoś tutaj pomyślnie zapakował skręcony plugin do debiana?

Odpowiedz

1

Argh, próbowałem to zrobić i nie udało mi się. Myślę, że jest to możliwe, w zależności od Debian/Ubuntu uwalnia chcesz kierować i jak wiele wysiłku chcesz umieścić w

Istnieją dwa podejścia:.

  1. Czy Twój pakiet trzymać plik wtyczki w twisted/plugins/ w pokręconym drzewie. To jest ból, ponieważ Twisted jest pakowany przy użyciu różnych metod w różnych wersjach (python-support w Lucid vs dh_python2 w Natty IIRC) i (w przybliżeniu) twój pakiet musi być spakowany w taki sam sposób jak Twisted, aby to działało.
  2. Posiadam katalog twisted/plugins/ zainstalowany wraz z kodem. Następnie, IIRC, problem polega na tym, że las tworzonych dowiązań symbolicznych obejmuje katalog skręcony (ponieważ nie jest to pakiet).
+0

Nie rozumiem tych opcji strasznie dobrze. Czy możesz podać więcej technicznych szczegółów, jak ma się pakiet "przyklejać" plik wtyczki do "skręconego drzewa"? Skąd wiadomo, gdzie jest skręcone drzewo, biorąc pod uwagę różne miejsca, w których Twisted może być instalowany przez różne wydania? – Glyph

3

Wygląda na to, że problem polega na "python-support", który jest zepsuty, jeśli chodzi o skręcone wtyczki.

This message from Ubuntu's Matthias Klose wyjaśnia problem i oferuje rozwiązanie:

pakowanie skręconych wtyczek z python-support jest uszkodzony przez projekt. Nawet polityka python mówi wyraźnie, że powinieneś używać tego samego pomocnika pakowania dla paczek dzielących tę samą przestrzeń nazw w pythonie.

Powinieneś użyć dh_python2 dla tej lub (przestarzałej) kompilacji z dh_pycentral używając `include-links '.

- Matthias Klose

+2

Twoje pierwsze zdanie jest nieco mylące; Python-support jest "po prostu łamany, jeśli chodzi o skręcone wtyczki", ponieważ pakiety Twisted używają dh_python2, nie z powodu pewnych wewnętrznych wad obsługi Pythona. Mówiąc bardziej ogólnie, jeśli instalujesz moduły Pythona w przestrzeni nazw innego pakietu, musisz użyć tego samego pomocnika do pakowania, co ten pakiet, w przeciwnym razie pliki nie znajdą się we właściwym miejscu. – mithrandi

+0

Czy to prawda zarówno w przypadku Debiana, jak i Ubuntu? Jakie wersje każdego? – Glyph