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.

Sebastian
źródło

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ć.

antje-m
źródło
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.

Jason Axelson
źródło
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