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