Porty FreeBSD: Różnice pomiędzy wersjami

[wersja przejrzana][wersja przejrzana]
Usunięta treść Dodana treść
akt., źródła/przypisy, drobne redakcyjne (future proofing)
Znacznik: Edytor kodu źródłowego 2017
Linia 6:
Porty zostały stworzone w [[1994]] przez jednego z założycieli FreeBSD, [[Jordan Hubbard|Jordana Hubbarda]] (''jkh''). Początkowo stanowiły jego własne rozwiązanie służące do automatyzacji instalacji oprogramowania. [[21 sierpnia]] [[1994]] ''jkh'' wczytał źródła szkieletu do repozytorium [[Concurrent Versions System|CVS]] projektu<ref name="portmacros">{{Cytuj stronę|tytuł=CVS log for ports/Mk/bsd.port.mk archived April 15, 2013|data dostępu=2020-01-05|url=https://archive.is/20130415033100/http://www.freebsd.org/cgi/cvsweb.cgi/ports/Mk/bsd.port.mk}}</ref>. Niemal rok wcześniej ([[26 sierpnia]]) upublicznił on już źródła programu pkg_install<ref name="Makefile">{{Cytuj stronę|tytuł=CVS log for src/usr.sbin/pkg_install/Makefile archived April 14, 2013|data dostępu=2018-05-26|url=https://archive.is/20130414183008/http://www.freebsd.org/cgi/cvsweb.cgi/src/usr.sbin/pkg_install/Makefile}}</ref>.
 
Przez kilka lat strukturą portów zajmował się sam twórca wraz z [[Japonia|japońskim]] programistą [[Satoshi Asami]]. WrazPóźniej z rozwojem stworzono jednakpowstał osobny zespół zwany ''Ports Team'', któremu przewodzą programiści pełniący stanowisko znaneokreślane jako ''Port Master''. Pierwszym wówczas jeszcze ''port meisterem'' byłzostał wspomniany Satoshi. ''Ports Team'' opiekuje się strukturą drzewa i jego rozwojem przy wykorzystaniu [[SubversionGit (oprogramowanie)|Git]]<ref name="gitmig">{{cytuj stronę | url = https://wiki.freebsd.org/GitTransition | tytuł = GitTransition - FreeBSD Wiki | data dostępu = 2021-06-07 }}</ref> (powcześniej migracji[[Subversion]] zi CVS) i bazy zgłoszeń [[bugzilla]] (dawniej [[GNATS]]).
 
== Konstrukcja ==
Porty tworzą hierarchiczną strukturę katalogów i plików na dysku podzieloną na funkcjonalne kategorie. Szkielet portu powstaje na bazie pliku Makefile [[bmake|BSD make]]. W założeniu każdy port posiada swego opiekuna, którym mogą być zarówno pojedynczy programiści, jak i całe zespoły odpowiedzialne w ramach FreeBSD za nadzór np. dużych środowisk [[GNOME]] i [[KDE]]. Obowiązkiem opiekuna jest aktualizacja swoich portów oraz udzielanie wsparcia użytkownikom programu.
 
Oparte na Subversion – podobnie jak sam system – repozytoriumRepozytorium portów FreeBSD zawiera niemalponad 4031 tysięcy (lipiecczerwiec 20202021){{Cytuj stronę|url=https://www.freshports.org/categories.php|tytuł=FreshPorts Ports count|autor=Dan Langille|data dostępu=2020-07-10|opublikowany=FreshPorts|język=enfakt}} programów przystosowanych do działania na tym systemieFreeBSD. Użytkownicy mogą aktualizować swoje lokalne kopie drzewa za pomocą klientówklienta systemów kontroli werjis Subversion, [[Git (oprogramowanie)|Git]], alemniejszego domyślnymnarzędzia trybem pracy''gitup'' jestoraz opartyopartego na binarnych łatkach programskryptu ''portsnap'' napisanystworzonego przez Colina Percivala, dawnego oficera bezpieczeństwa FreeBSD.
 
Na bazie portów dla tzw. warstwy ''tier 1''<ref group="uwaga">''Tier 1'' oznacza wersji i architektury sprzętowe uznawane przez projekt FreeBSD za zdatne dla środowisk produkcyjnych. Zbiór może się różnić między poszczególnymi wydaniami, np. w wersji 12.2 były to [[x86-64|amd64]] oraz [[IA-32|i386]], z kolei w 13.0: amd64 i [[Architektura ARM|aarch64]]</ref> projekt udostępnia prekompilowane pakiety powstające z domyślnymi opcjami dla wszystkichco aktualniepozwala wspieranychinstalować wersjioprogramowanie ibez architekturczasochłonnego sprzętowych FreeBSDkompilowania. Pakiety rozprowadzane są poprzez Internet oraz na nośnikach optycznych, ich funkcjonalność jest bardzo zbliżona do tych znanych z dystrybucji linuksowych.
 
Programy zainstalowane przy pomocy portów i pakietów przechowywane są w przestrzeni odseparowanej od właściwego systemu (w hierarchii poniżej /usr/local), co pozwala na zachowanie integralności obu warstw oprogramowania.