Porty: minianketa :)

Dan Lukes dan at obluda.cz
Thu Nov 25 19:00:05 CET 2010


Miroslav Prýmek napsal/wrote, On 11/25/10 11:14:
> Takze treba jenom do oficialniho stromu dohrajes do files dalsi patch-* soubor? Nebojis se, ze na to casem
> zapomenes a pak se budes divit, proc ze ten port nejde prelozit? :)

No, nastesti vetsinou to co selze je uz samotna aplikace patchu. Ale 
ano, muze dojit i k tomu, ze patche se povedou a selze preklad a nebo se 
dokonce podari i preklad a nefunguje to dobre.

C'est la vie ...

Horsi je, kdyz zmena, ktere chci dosahnout, nespociva v pridani dasiho 
patche do ./files ale je napriklad treba zmenit Makefile ...

> Rikam si, ze kdyz uz vlastni zmeny ve stromu portu, chtelo by to nejaky system... Ale jeste jsem teda nepremyslel,
> jak by treba v mem pripade mel vypadat :)

"Pridane" patche jsou ve ./files - abych rozeznal vlastni od cizich a 
aby nedochazelo k ekolizim ve jmenech, tak vsechny moje pridane soubory 
maji jmeno patch-DAN-* respektive patch-~DAN* (to druhe proto, ze nekdy 
patchuji uz patchovane misto a tudiz potrebuju aby s emuj patch uplatnil 
az nakonec ; patche se aplikuji v abecednim poradi a '~' je posledni 
znak ...)

Modifikace (nejcasteji ./Makefile) - to je podstatne slozitejsi pisnicka.

Vyuzivam toho, ze 'make' spusteny bez parametru hleda drive soubor s 
nazvem BSDmakefile, takze mam v /usr/src a /usr/ports ten - kdyz tedy 
spustim "make update" tak se ve skutecnosti spusti "muj", ten udela 
standardni update a po nem aplikuje updaty (jake - to pisu do 
/etc/make.conf).

Je to ale strasne komplikovane, protoze bych z make potreboval zavolat 
jine make, ale predat mu vsechny optiony a promenne - a jestli to jde 
jednoduse, tak ja to neumim.
A s tim svym resenim, ktere jsme prave popsal nejsem spokojeny a budu to 
muset nejak prerozmyslet a predelat.

Nejspis tak, ze tu "skrytou" funkcionalitu", ktera se provadi 
automaticky i pri "beznem" spusteni - tedy "make update" prestanu 
skryvat a to udelam "zjevne" - a  misto "make update" se bude volat 
nejaky normalni script.

Navic jsem nespokojeny s tim, ze jak mam 4 master stroje (6.4-R, 7.3-R, 
8.1-R/i386, 8.1-R/amd64) tak nemam zadny mechanismus na spolecnou udrzbu 
techto patchu. Jak portove patche tak OS patche tam musim mezi temito 
stroji prenaset rucne a to ej nachylne na chyby (o pracnosti nemluve).

Jen na okraj bych explicitne zminil zjevnou vec - system "master 
builderu" vyzaduje dostatecny stupen unifikace. Napriklad nepripada v 
uvahu, aby na nekterem stroji byl PHP 5.2 a na jinem PHP 5.3, ledaze ty 
porty nejsou ve vzajemnem konfliktu (coz v tomto pripade jsou).

Zakaznik ma tri moznosti - bud' aktualizace na posledni verze chce u 
vseho, nebo je nechce u niceho, nebo pozaduje specialni sluzbu se 
specialnimi parametry (a pochopitelne i cenou) ...

Musim ale dodat, ze ja v podstate nemam zakazniky v tom beznem slova 
smyslu, v jakem to slovo pouzivate vy.

Dan



More information about the Users-l mailing list