[BSD] freebsd build farm
Adam Szilveszter
sziszi at bsd.hu
2008. Jan. 14., H, 21:30:54 CET
Szia!
On Mon, Jan 14, 2008 at 06:09:53PM +0100, Laszlo Nagy wrote:
> 1. Minden gépen egyszerre frissítem a ports tree-t
Ezt is lehet, és a portupgrade-hez kell is, de ha csak a package-ket
akarnád használni ahhoz nem lenne muszáj (ld pkg_add) A legegyszerűbb
egyébként, ha egy gépet kinevezel mirrornak és arra cvsup-olsz, vagy
portsnap-ozol, és utána a többit már onnan látod el a ports tree-vel,
így mindenhol tök egyforma lesz.
> 2. Egy jó erős gépen lefordítok mindent, és megkérem arra hogy bináris
> csomagokat is csináljon. (Illetve majdnem mindent, fölteszem rá azokat a
> portokat amiket a legtöbb gépen használnak.) Közben az "éles" gépeket
> használják a régi csomagokkal.
Igen.
> 3. A többi gépre bemásolom a bináris csomagokat és ELVILEG ezeken a
> gépeken a "portupgrade -aP" már alig fog valamit fordítani forrásból.
Így van, ez jó ötlet.
> cd /usr/ports/x11/gnome2
> make package-recursive
>
> Erre képződni fog egy csomó bináris csomag.
Így van. Még az az előnyöd is megvan, hogy ha előtte nyomsz egy make
config-recursive-et akkor az összes options menü is feljpn szép sorban
és beállíthatod amit akarsz.
> Az első kérdés: nincs kedvem kézzel futtatni az összes make parancsot.
> Portupgrade segítségével hogyan készíthetek csomagokat? Tudom van egy -p
> kapcsolója:
>
>
> -p
> --package Build a package when each specified port is
> installed or upgraded. If a package is upgraded
> and its dependent packages are given from the com-
> mand line (including the case where -r is speci-
> fied), build packages for them as well.
>
> de ez azt írja hogy a "dependent" portokhoz csak akkor csinál package-t
> ha meg lettek adva parancsorban, illetve -r kapcsolóval.
Igen.
> Igen ám, de én
> -a kapcsolót szeretnék megadni. "portupgrade -ap" megfelelő lesz? (A
> doksi szerint nem, mert a -p nem vonatkozik a dependent packages-re
> abban az esetben ha -a kapcsolót használok.)
Szerintem sem, bár nem próbáltam. Ellenben a portupgrade -arp már jobb
lehet, csak valószínűleg eléggé erőforráspazarló, mert nem "jegyzi meg",
hogy ezt a package-t már egyszer egy másik port kedvéért legyártotta, és
újracsinálja. De a végére minden kész lesz. :-) De mondjuk a valóban
"nagy állatok", mint az OOo.org, vagy a gnome esetében tényleg van egy
top-level port, amit megadhatsz és azzal egy csomó függőséggel készen
leszel egyszerre. Ja és scriptelni is lehet, az ilyen "gyűjtő" portok
neve úgyis ritkán változik.
> Második kérdés: ezeket a binárisokat hogyan használom föl a portupgrade
> segítségével a többi gépen? Van ugyanis neki egy -P kapcsolója:
<...>
> Ez majdnem jó, de én csak az első felét szeretném. Nevezetesen, ha
> PKG_PATH-ban megtalálja akkor használja azt. Ha nem találja, akkor azt
> akarom hogy pkg_fetch helyett fordítsa le forrásból. Ilyen akkor lehet
> ha valamelyik "éles" gépen van egy extra csomag amit a "fordító gép" nem
> fordított le. Ezeket forrásból szeretném. Hogyan csináljam?
Szerintem úgy, hogy a PKG_FETCH változót a /bin/false-re állítod át,
mert azzal ugyan semmit sem fog letölteni. Ez és további jó ötletek a
portupgrade man vége felé, az EXAMPLES szekcióban :-)
Sok szerencsét!
Sz.
--
BSD: An Operating System, Not a Religion.
További információk a(z) BSD levelezőlistáról