Zainstalowałem program (na przykład wywołaj go progA
), budując go z kodu źródłowego, a następnie w końcu wywołując sudo make install
i sudo ldconfig
.
Wydaje się jednak, że apt-get
nie otrzymałem notatki, ponieważ podczas instalacji progB
, która zależy od progA
, apt-get
zaleca się również zainstalować progA
. Dlaczego tak jest i co mogę zrobić?
apt
package-management
make
Braiam
źródło
źródło
progB
ręcznie ...Odpowiedzi:
TL; DR
checkinstall
jest twoim przyjacielem ;)Po instalacji z
sudo make install
menedżerem pakietów nie wie absolutnie nic o tej instalacji. Ale wie wszystko o pakiecie o tej samej nazwie w repozytoriach Ubuntu lub w PPA.Użyj
sudo checkinstall
zamiastsudo make install
i użyj wyższej wersji jako wersji w repozytorium, aby mieć pewność, że menedżer pakietów akceptuje tę wersję jako poprawną zależność dlaProgB
.Dalsza informacja:
checkinstall
jest naprawdę fajny, ponieważ wynika z tego, comake install
zrobiłoby to polecenie, aby dowiedzieć się, jak zbudować pakiet.Oznacza to, że jeśli zainstalujesz program za pomocą
make install
, ale potem żałujesz za swoje grzechy, wszystko, co musisz zrobić, tosudo checkinstall -D make install
, a to polecenie:wykonaj,
make install
aby dowiedzieć się, co to robicopy-cat
make install
, z wyjątkiem pakietu * .debzainstaluj z pakietu (dokładnie tak, jak
make install
by to miało miejsce, biorąc pod uwagę punkt 1), oprócz tego daj równieżapt-get
znać o tym, a zatem zastąp wszystkie pliki dokładnie tam, gdziemake install
je umieścił, o ile wybierzesz TAK, aby dołączyć pliki umieszczonemake install
w katalogu domowym również w pakiecie - kilka opcji podczascheckinstall
procesu pozwoli ci wybrać (oczywiście wybór jest dostępny, abyś mógł je wykonać indywidualnie dla każdego przypadku)Premia: możesz także usunąć pakiet (nazwać go
progA
ponownie) zainstalowany przy użyciumake install
tej ody, która nie mamake uninstall
wsparcia , wykonująccheckinstall
proces opisany do tej pory, a następnie po prostu:źródło
checkinstall
- ŚWIAT musi o tym wiedzieć!Trzy opcje:
utworzyć fałszywy pakiet dla
progA
: Jak sfałszować zainstalowaną wersję pakietu? (istnieje obszerny przykład dla TeXlive) .utworzyć pakiet dla
progA
, łatwiejsze, jeśli macheckinstall
opcję: Jak oszukać apt zależności?Buduj również
progB
ze źródeł.źródło
progA
skompilowanąapt-get
wersję i zainstaluj wersję. 5. Zainstalujapt-get
pakiet nad skompilowaną wersją i licz na najlepsze.Polecam korzystania
uupdate
zdevscripts
i zbudować pakiet jak oryginał został zbudowany przed.Zainstaluj wymagane pakiety
Pobierz starą paczkę z oficjalnego repozytorium (posłuży
MediaWiki
jako przykład) i nową paczkę tar z góry.Uruchom,
uupdate
aby utworzyć nowy folder źródłowy z poprzedniej tar-ball i starejdebian/control
Teraz powinieneś sprawdzić, czy musisz wprowadzić zmiany w
debian/control
plikach itp. Po zakończeniu możesz zbudować pakiet deb i zainstalować goźródło