Implicitně se vyhledávací vzor shoduje s balíkem, pokud vzoru vyhovuje
libovolná verze balíku. Některé vzory omezují své podvzory pouze na
některé verze balíku. Například vyhledávací term
vybere libovolný balík, který závisí na balíku odpovídajícímu vzoru
?depends
(vzor
)vzor
. vzor
se
však bude porovnávat pouze vůči verzím balíku, které splňují danou
závislost. Například balík foo
závisí na balíku
bar (>= 3.0)
, od něhož jsou dostupné verze
2.0
, 3.0
a 4.0
.
Pak se ve vyhledávacím vzoru
budou vůči podtermu
?depends
(?version
(2\.0))
porovnávat pouze verze
?version
(2\.0)3.0
a 4.0
a tím pádem toto
hledání nic nenalezne.
Na porovnávaných verzích záleží, protože jak bylo vidět na předchozím
příkladu, některé vzory se mohou shodovat s jednou verzí balíku a s
druhou ne. Například vzor ?installed
se bude shodovat pouze s
instalovanou verzí balíku (pokud taková existuje). Podobně vzor
nalezne pouze verze, které mají za svého správce
?maintainer
(správce
)správce
. Obvykle mívají všechny verze
balíku stejného správce, ale přesto takový případ může nastat
(např. balík spravovaný individuálně přejde pod týmovou správu).
Stejně se chová každý vyhledávací vzor, který se dívá do kontrolních
polí balíku (s výjimkou jména balíku), protože všechna pole se mohou
mezi jednotlivými verzemi balíku měnit.
Poznámka | |
---|---|
Existuje drobný, ale významný, rozdíl mezi porovnáváním vzoru vůči balíku nebo porovnáváním vzoru vůči všem verzím balíku. V prvním případě se každý term vzoru porovnává vůči balíku, tzn. vyhledávací vzor jako celek se bude shodovat v případě, že se každý jeho podterm bude shodovat s některou z verzí balíku. Oproti tomu ve druhém případě se celý vzor porovnává vůči každé verzi balíku, což znamená, že aby byl úspěšný, musí se všechny termy vzoru shodovat vůči stejné verzi balíku.
Například předpokládejme, že je nainstalován balík
|