RPM: syntaxe BuildPrereq

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Úterý Duben 2 13:27:42 CEST 2002


On 2 Apr 2002, Pavel Lisy wrote:

> moje predstava byla asi takova:
> BuildPrereq: FirebirdCS OR FirebirdSS OR InterBaseCS OR InterBaseSS
> coz nejde. Hledal jsem ruzne priklady, nasel jsem par moznosti:
> oddelovat carkami nebo jen mezerami, ale oboji je zrejme pro AND

Nevim o tom, ze by to rpm umelo. Mozna by to mohlo byt neco jako
(A | B) (takhle nejak to dela dpkg). Ovsem otazka je, jestli tohle je
zrovna priklad toho, kdy by takova funkce byla uzitecna, nebot se zjevne
jedna o neprilis dobre zabaleny software.

> Nakonec jsem to obesel, pres test existence hlavickovych souboru:
> BuildPrereq: /usr/include/gds.h     /usr/include/ibase.h
> BuildPrereq: /usr/include/iberror.h /usr/include/ib_util.h

To je take urcity druhy reseni.

> 2) existuje nekde popis syntaxe .spec, hledal jsem vsude mozne, ale nic
>    krome zakladnich informaci v maximum rpm (ktere je navic pomerne
>    zaostale), jsem neobjevil.

K Maximum RPM existuje nova verze, ale zatim je "in statu nascendi".
Viz www.rpm.org. V kazdem pripade je pravda, ze dokumentace k rpm je,
mirne receno, slabsi (tady rpm s dpkg prohrava na cele care).

> 3) V pripade nutnosti, bych prohledaval i zdrojaky, ale nevim, zda 
>    v nich jsou takoveto informace k nalezeni.

Ve zdrojacich je vsechno. :)

> pri instalaci mi php-interbase hlasi:
> rpm -ivh php-interbase-4.0.6-15tms.i386.rpm 
> chyba: nevyresene závislosti:
> 	libgds.so je nutné pro php-interbase-4.0.6-15tms
> 
> V na disku i RPM databazi dana knihovna je:
> rpm -qf /usr/lib/libgds.so
> FirebirdCS-1.0.0.796-0
> 
> ale nevypise se na dotaz:
> rpm -q --whatprovides libgds.so
> zádný balícek neposkytuje libgds.so

"rpm -q --provides FirebirdCS" to vypise? Co je /usr/lib/libgds.so zac?
Symlink na libgds.so.CISLO nebo primo sdilena knihovna?

> 4) jde to obejit, bez rekompilace balicku FirebirdCS-1.0.0.796-0, tak
>    abych nemusel php-interbase instalovat pomoci --nodeps?

Napr. by mohlo jit nainstalovat pseudobalik, ktery nebude mit zadne
soubory, jen "Provides: libgds.so". Ale je to reseni typu "vetsi kladivo".

> i kdyz je dana knihovna na disku, ale zrejme neni v RPM databazi, tj.
> balicek firebird ji nevyexportuje jako

Pardon?

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."






Další informace o konferenci Linux