Jak resit zavislost balicku

Miroslav Lachman 000.fbsd at quip.cz
Fri Oct 30 19:02:19 CET 2015


Dan Lukes wrote on 10/30/2015 18:29:
> Miloslav Pelár wrote:
>> Proto se ptam
>> 1) Pokud budu instalovat pomoci pkg, je mozne predem nejak "prepsat"  zavislost?
>>      Myslel jsem si, ze by pomohlo pkg set -o databases/mysql56-client:databases/mariadb100-client
>
> Ti ale nevyresis primarni problem - ze ty balicky si navzajem prepisuji
> soubory a vysledkem bude, ze jeden z obou portu (obvykle ten instalovany
> jako prvni) nemusi spravne fungovat.

Timhle by melo jen dojit ke zmene origin v databazi pkg, ale stale to 
nema dovolit instalaci obou portu zaroven. Melo by to zapricinit to, ze 
pokud nejaky balicek bude vyzadovat "mysql56-client", bude tato 
zavislost uspokojena i pritomnosti "madiadb100-client".
Jak je ale vidno, je v tom nejaky problem a nefunguje to tak (narazil 
jsem na neco podobneho pri upgrade, ale obesel jsem to jinak a uz to vic 
neresil)

>> 2) Jak se to resi v pripade kompilace z portu?
>>      Jak to udelat, aby se vytvoril balicek ktery bude mit zavislost na mariadb misto mysql.
>
> Pri rpekladu portu muze byt mozne si u konkretniho portu vybrat jaky
> databazovy backend pouzije. V takovem pripade se musis rozhodnout jestli
> budes pouzitav mysal nebo mariadb a vsechny zavisejici balicky prelozit
> proti tento vybrane databazi. Tim ta druha nebud etreba a ke konfliktu
> nedojde.

Do /etc/make.conf si ulozis definici vychozich verzi a podle toho se ti 
budou kompilovat vsechny balicky. Ted je treba v ports defaultne vsechno 
zavisle na PHP 5.6, ale ja chci 5.5, defaultne je MySQL 5.6, ale ja 
pouzivam MariaDB 5.5 ... a tak dale:

DEFAULT_VERSIONS= perl5=5.20 mysql=5.5m php=5.5 python=3.4 apache=2.4

Tebe tam zajima hlavne tohle mysql=5.5m = "55m" znamena MariaDB 5.5, 
kdyby tam bylo jen "55", tak je to MySQL 5.5

Jake jsou aktualne defaultni verze najdes v 
/usr/ports/Mk/bsd.default-versions.mk

Jake jsou moznosti, to uz musis dohledat v jednotlivych *.mk souborech v 
/usr/ports/Mk/

>
> Muze se ale stat, ze u konkretniho portu si nebudes moc databazovej
> backend vybrat uplen libovolne - a muze nastat situace, ze nejaky
> konkretni port, co chces, neumi mariadb a umi jen mysql a jiny zase
> obracene.

V tomhle pripade by to (zatim) melo byt tak, ze cokoliv jde zkompilovat 
pro MySQL, jde pouzit i MariaDB, protoze jsou kompatibilni. Jak to bude 
do budoucna, tezko rict. Ale zatim jsem necetl o nicem, co by s MySQL 
fungovalo a s MariaDB ne.

Mirek



More information about the Users-l mailing list