On 24/09/2024 16:10, Dan Lukes wrote:
Z workshopu by me zajimal, pokud se dozvim jak se poudriere principialne funguje a rozhoduje co v jakem environmentu prelozi. Ja ho nepouzivam, protoze ho podezrivam, ze jakmile chci porty prekladat s jinymi nez defaultnimi optiony, tak se nechova dobre.
Dokazal bys definovat "nechova dobre"? Ja ho leta pouzivam prave proto, abych mel baliky s nedefaultnima options (vyhazuju X11, NLS a spoustu dalsich veci). Tam je pak takovy problem (za ktery nemuze Poudriere, ale ports framework), ze kdyz se zacnou rekurzivne prochazet options (cmd: poudriere options), tak tam, kde zmena options ma zpusobit prochazeni jine vetve zavislosti, tak se prochazi ty defaultni, protoze se to nacita pred zmenou, takze se "poudriere options", musi spoustet opakovane, nez se clovek doklika k tema options, co chce. Ale predpokladam, ze ty by sis je stejne daval do make.conf a nepouzil dialog.
Po dlouhych letech se mi nakonec nejvic osvedcil jedinny zpusob vyroby vlastnich packages - mit jeden stroj, na kterem mam soucasne nainstalovane naprosto vsechny porty, ktere kde potrebuju, jen tam se preklada, a odsud se pak packages (uz jen ty co potrebuju na konkretnim miste) distribuji.
Ja v poudriere builduju nekolik package setu pro ruzne servery, protoze na nekterych pouzivam stejny balik, ale s jinyma options, nebo treba baliky, co nejdou nainstalovat zaroven (ruzne verze PHP a k nim mod_php pro Apache) Stejne tak builduju baliky pro ruzne verze FreeBSD, protoze nez vsechny stroje prejdou na stejnou verzi FreeBSD, tak uz mezi tim vyjde dalsi verze :D
Rozhodne nepripada v uvahu kombinovat packages ze dvou zdroju, to je cesta do pekel.
No a tady se poustim na stezku odvahy - kombinuju treba dva package sety, tedy v poudriere jsou to dva ruzne sety baliku, na cilovem stroji jsou pak dva konfiguraky pro pkg a nektere baliky to bere z primarniho (vyssi priorita) a jine ze sekundarniho, kde jsou treba jine verze / jine options...) K tomu jeste poudriere umi pro build dependencies stahovat hotove balicky z FreeBSD repozitare, takze se nemusi buildovat lokalne. I tak toho ale (na muj vkus) Podriere rebuilduje az moc, protoze kdyz se nekde zmeni PORTREVISION Pythoniho baliku, na kterem zavisi llvm / rust, tak zahodi cele llvm a zacne ho buildovat znovu (nekolik hodin) a s tim zahodi i vsechny veci, co zavisely na llvm a taky je pak builduje znovu.
Stejne tak se stava, ze Poudriere fetchne hotove balicky z oficialniho repa, pak teprve detekuje nejakou zmenu a vsechny (treba 50 prave stazenych balicku) zase smaze a zacne je buildovat.
Takze to zere zbytecne moc procesoroveho casu, ale nastesti ne meho casu. Buildy bezi pres noc, tak me to moc netrapi.
Mirek -- FreeBSD mailing list (users-l@freebsd.cz) http://www.freebsd.cz/listserv/listinfo/users-l