Dlaczego w Arch Linux nie ma żadnych pakietów -dev?


28

Rozumiem, że dystrybucje źródłowe, takie jak Gentoo lub Slackware , nie potrzebują *-devwersji programów. Zawierają kod źródłowy, a także pliki nagłówkowe do kompilacji wszystkiego lokalnie.

Ale nigdy nie widziałem *-devpakietów w Arch Linux , chociaż jest on oparty na pakietach. Natknąłem się na wiele *-devpakietów w innych dystrybucjach.

Odpowiedzi:


30

Pakiety -dev zwykle zawierają pliki nagłówkowe, przykłady, dokumentację i takie, które nie są potrzebne do samego uruchomienia programu (lub korzystania z biblioteki jako zależności). Zostały pominięte, aby zaoszczędzić miejsce.

ArchLinux zwykle po prostu dostarcza te pliki z samym pakietem. To kosztuje nieco więcej miejsca na dysku dla instalacji, ale zmniejsza liczbę pakietów, którymi musisz zarządzać.


1
Witam dzięki za odpowiedź. Myślę, że masz rację, ponieważ zauważyłem na Arch Linux, że mogę od razu skompilować pakiety (nie trzeba instalować -devpakietów). Czy możesz podać jedną referencję?
Sebastian

3
Najważniejsze odniesienie, jeśli prawdopodobnie The Arch Way i zasada Simplicity - tworzenie -devpakietów oznacza budowanie pakietu i usuwanie plików dołączanych. Pakiety Archlinux zawierają jednak pakiet w takiej postaci, w jakiej został zbudowany (na przykład przez wywołanie make) bez dotykania go później. Istnieją wyjątki od tej zasady, ale nie mogę wymyślić jednego odpowiedniego dla tego pytania.
Wieland

4

Jeśli chcesz edytować źródło standardowych pakietów i samodzielnie je skompilować, powinieneś użyć ABS (Arch Build System). Cytat z Arch Linux Wiki :

Arch Build System, w skrócie ABS, to podobny do portów system do tworzenia i pakowania oprogramowania z kodu źródłowego. Podczas gdy pacman jest specjalistycznym narzędziem Arch do zarządzania pakietami binarnymi (w tym pakietami zbudowanymi z ABS), ABS to zbiór narzędzi do kompilowania źródeł w instalowalne pakiety .pkg.tar.gz / .pkg.tar.xz.

Jest to zalecana metoda podczas korzystania z Arch Linux.


1
Mylisz pakiety dev z pakietami src. Pakiety src pozwalają przebudować sam pakiet. Pakiety dev pozwalają zbudować coś, co zależy od pakietu.
Matthew Marshall

@MatthewMarshall Masz rację. Chociaż przynajmniej ABS jest związany z pytaniem.
Jason Axelson
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.