[FreeBSD] a ports-rol

Miklos Niedermayer mico at bsd.hu
2001. Jan. 10., Sze, 21:01:18 CET


Hello,

( > Adam Szilveszter)

> Igen, nem tokeletes. Pl nem lehet make deinstallt hasznalni, ha mar
> frissult a verzio. Akkor csak pkg_delete marad. Azonkivul van amikor akkor
> se telepiti az ujabb fuggoseget, ha tenyleg kellene, mert a regi valtoztnak
> is ugyanaz volt a neve. (pl mert a FreeBSD rtld-je nem ismeri konyvtaraknal
> az un mikro verziot ezert ha az 0.0.3 helyett most mar a 0.0.6 kellene,
> neki az mindegy. A port vezioszama emelkedik, tehat ha onnan teszed fel
> frissen, nem lesz baj. De ha mar fenn van a regi es arra varsz, hogy
> felismerje hogy a fuggoseget frissiteni kene, hat hiaba varsz:-( 

Hadd szóljak közbe.  A Porters' Handbook és/vagy a -ports lista
leírja, hogy nem lenne valami kellemes dolog, ha gtk-1.2.7 vs. gtk-1.2.8
dolgokkal vesződnénk (lásd a fokozottan kellemes Linux-disztribúciókat).
Pl. a usernek fenn van mondjuk n darab alkalmazása még tavalyról, amit még
a 4.5.6 library verzióval rakott fel, most viszont cvsuppolta a ports
treet, és az egyik új alkalmazás, amit használni szeretne, már a 4.5.7
verziót igényelné (mármint a port Makefile-jában 4.5.7 lenne megadva
függőségnek).  Hát bizony érdekes dolgot tudnának történni.  Éppen ezért
library függőséget soha nem adunk meg úgy, hogy 1.2.3, vagy ilyesmi. 

Ennyit mondunk:

LIB_DEPENDS=
	jpeg.9:${PORTSDIR}/graphics/jpeg:install

Így ha az ldconfig -r szerint van jpeg.9, akkor kuss neki.  De ajánlott még a
.9-et is lehagyni, ha nem muszáj.  Mindegy, hogy ez x.y verziójú libjpeg,
vagy más...  működnie kell.  Annak, hogy jpeg.9 vagy jpeg.8 vagy jpeg.x,
elégnek kell lennie ahhoz, hogy a port leforduljon vele és működjön.

Ezért is _sokkal_ kellemesebb portsból telepíteni, mint .tgz csomagból:
ports-nál a fent említett függőségi rendszer működik, míg make package-nél
a bináris csomagba nem az kerül be, hogy kell neki jpeg.x library, hanem
függőségi csomagként tünteti fel azt a package verziót, ami az adott jpeg.x
libraryt a make package idején nyújtotta.  Pl. jpeg-x.y.z., és itt már
tényleg bonyodalmak lehetnek.

Namost hogy a GTK és egyéb GNU-közeli (ehehe, portolók kedvencei) dolgok
miért működnek olyan bonyolultan, ahogy, _az egy másik dolog_.  Pl. hogy
valamelyik GNU-közeli program saját configure scriptje elkezdené megnézni,
hogy van-e x.y.z verziójú valami library.  Suxx!


> De van jobb is: Most mar vannak olyan portok, amik ha van, hasznaljak pl a
> GNOME vagy a KDE konyvtarakat, vagy eppen az ESD-t. De van amikor en nem
> akarom:-) es akkor csak a Makefilek durva atfaragasaval lehet
> megakadalyozni,

Hmm, vagy a make parancssorában, nem?



> hany port is van pontosan egy egy BSD variansnal... pl a FreeBSD 4100
> feletti portja kozul nem jelentektelen reszt tesz ki a fel CPAN:-) vagyis
> egy csomo Perl modul. Amellett pl ami OpenBSD-n csak kulon flavor lenne, az
> FreeBSD-n rendszerint kulon port, novelve az osszletszamot, de nem a
> rendelkezesre allo sw mennyiseget. Pl w3m es w3m-ssl nalunk kulon port,

Ettől függetlenül FreeBSD-n naponta 6-8-10 új portot commitelnek.
Elég szép növekedés.  A 4100-at tudtommal már jól elhagytuk, 4500-ról van
most szó. (nem is olyan rég volt, amikor átléptük a 3000-t, ugye?)


> statisztikazni, hogy pl a portok kozul mennyi az, ami le se fordul, vagy
> elerhetetlen stb. Ilyen azonban sajnos csak FreeBSD-n van, itt napra keszen
> lehet tudni, hogy melyik distfile elerhetetlen es azt is, hogy kb 600 port
> nem fordul le:-( a tobbi projekt eroforrasai ehhez kicsik.) 	

Hát itt sincs erőforrás-túltengés.  A distfiles-hibákat többnyire hamar
észreveszik, de külső emberek, és send-pr-elnek.  A naprakészség azért sem
reális, mivel több napig (mostanában kb 4) eltart az összes port
lefordítása (pedig vannak rá jó gépek).  Most az ARM, Sparc, stb. gcc-k és
egyebek megjelenése még plusz gondokat is okoz a fejeseknek.  Ha jól csal
az eszem, havonta jön egy levél a nyitott PR-ekről, 2 hetente Wolframtól
egy összesítés, hogy milyen új portok kerültek be vagy lettek upgradelve,
és mintha havonta jönne az unfetchable distfiles is.  (de lehet, hogy a
PR-es dolog gyakrabban.)

A 600 port le nem fordulását pedig nem kell olyan komolyan venni,
mindennapos, rövid, átmeneti problémákról van szó, amiket a legtöbb
esetben hamar fixálnak.  Megjavítják az egyiket, elromlik a másik,
megjavítják azt, elromlik a harmadik, stb.

-- 
 ______  o _. __
/ / / (_(_(__(_)  @ bsd.hu




További információk a(z) BSD levelezőlistáról