Kompilowanie źródła w pakiecie DEB

34

Zawsze miałem problem z instalowaniem i usuwaniem skompilowanego oprogramowania, dlatego zdecydowałem, że chcę zbudować oprogramowanie ze źródła w pakiecie .deb, aby ułatwić instalację / usunięcie.

Jako użytkownik końcowy chciałbym wiedzieć o łatwej i krótkiej drodze do zbudowania źródła w pakiecie .deb .

Próbowałem:

  • ubucompilator , który dla mnie nie działał
  • To jak poprowadzić, ale znalazłem to za długo
Ashu
źródło
1
Ubucompilator to ciekawy projekt i pochwalam ich dotychczasowe wysiłki. Jednak, jak odkryłeś, zapewnia on jedynie interfejs GUI do czterech lub pięciu poleceń niskiego poziomu. I NIE, nie można go użyć do łatwego utworzenia odpowiedniego pakietu „.deb”.
david6

Odpowiedzi:

47

checkinstall robi to, co chcesz osiągnąć: monitoruje, które pliki są instalowane i umieszcza je w pakiecie .deb, który można następnie zainstalować i usunąć

Zainstaluj za pomocą

apt-get install checkinstall

następnie wykonujesz normalną instalację ze źródła, zamieniając „sudo make install” na „sudo checkinstall”:

  ./configure
  make
  sudo checkinstall

Odniesienie: https://help.ubuntu.com/community/CheckInstall

Floyd
źródło
9

Mamy naprawdę dobry przewodnik po opakowaniach, który zawiera sekcję na temat nowych pakietów .

tumbleweed
źródło
1
Polecam ten link, ponieważ zawiera wszystkie informacje, których ktoś mógłby potrzebować. Ponadto, jeśli są jakieś konkretne pytania, mogę być w stanie pomóc, ale nie w celu wyjaśnienia całej procedury tworzenia pakietu debian ze źródła.
Thomas Ward
@ppumkin: zaktualizowano.
tumbleweed
6

make checkinstallKilkakrotnie korzystałem z polecenia, aby utworzyć .debpakiet na jednym komputerze, który ma zostać zainstalowany na innych serwerach. Jest to szybki sposób na zainstalowanie wersji Beta. Działa, ale należy go używać ostrożnie. Istnieją pułapki dla użytkownika, który nie rozumie wielu funkcji .debpakietu.

Mam dwadzieścia kilka serwerów, które korzystają z tych samych domowych aplikacji. Dodanie obsługi kompilacji i kompilatora do każdego hosta nie jest takie trudne.

Wprowadzanie poleceń pobierania i kompilowania nowej wersji dwadzieścia razy jest czasochłonne. Alternatywą jest przesłanie skryptu do wykonania zadania, a następnie wykonanie skryptu. Ale często łatwiej jest aktualizować aplikacje przy użyciu .debpliku utworzonego za pomocą checkinstall.

C Schuman
źródło
0

Zadanie spakowania losowego kodu oprogramowania do .deb jest dość skomplikowane, jeśli oprogramowanie nie pojawiło się już w takiej formie, szczególnie w porównaniu do samego make, make install. Jeśli chcesz, żeby wszystko było prostsze, myślę, że zmierzasz w złym kierunku.

Nie twierdzę, że nie możesz tego zrobić - programiści Debiana często to robią. Ale nie wydaje się to najprostszym sposobem robienia tego, co chcesz.

Może powinieneś skoncentrować się na nauce kompilowania i instalowania oprogramowania ze źródła. Na twoją korzyść jest fakt, że wszystko, co sam zainstalowałeś, powinno skończyć się w / usr / local

thomasrutter
źródło
dziękuję za sugestię, ale już wiem o kompilowaniu oprogramowania, mam kilka z nich skompilowanych w moim systemie. Jedyne, co uważam za trudne, to ich aktualizacja lub usuwanie. Pomyślałem więc, że plik deb byłby bardziej przydatny
Ashu
Powodem, dla którego pakiet deb może płynnie aktualizować się lub usuwać, jest fakt, że ktoś ma skrupulatnie napisane skrypty, które to robią, dla każdego pakietu. Ponadto musieli dodać wiele innych opisowych metadanych, których dpkg może użyć do ustalenia, jakie są pliki. Twoja praca będzie dla ciebie wycięta.
thomasrutter
1
Właściwie po prostu skorzystaj z odpowiedzi Floyda. Ogólnie wygląda to na znacznie lepsze rozwiązanie, jeśli naprawdę robi to, co mówi, że robi!
thomasrutter
Tak. Rozwiązanie Floyda jest świetne. Szczególnie teraz jest wyjątkowo dojrzały. Teraz nie muszę budować ze źródła na tonach serwerów. :)
Jack_Hu