Product SiteDocumentation Site

10.3. gpk-install-catalog

gpk-install-catalog lee un archivo de entrada .catalog que provoca que los paquetes listados adecuadamente en él sean instalados si es que ya no lo están. Esta opción de PackageKit puede ser muy útil a los distribuidores y desarrolladores de software ya que permite por ejemplo al usuario bajar un catálogo e instalar en su distribución sin tener que preocuparse de identificar los componentes.
Es una especie de equivalente a los grupos yum pero más específico. ¿Cómo luce un archivo .catalog?
[PackageKit Catalog]

# Simplemente el paquete en Fedora que provee la dependencia
# Si hay múltiples paquetes, se le pregunta al usuario
InstallProvides(fedora)=audio/QCELP

# Específico para Fedora 9, instala dos paquetes de desarrollo
InstallPackages(fedora;9)=glib2-devel;PolicyKit-gnome-devel

# En cualquier distro, instala el paquete con el archivo indicado
InstallFiles=/usr/bin/fontinst

# Para cada arquitectura en Fedora 8, instala uno de los dos diferentes
# archivos compat
InstallFiles(fedora;8;i686)=/usr/lib/pango/1.6.0/modules/pango-arabic-fc.so
InstallFiles(fedora;8;x64)=/usr/lib64/pango/1.6.0/modules/pango-arabic-fc.so
Note el distro-id entre paréntesis (), esto le permite al empaquetador entonar el nombre de paquete, donde por ejemplo en Fedora es PolicyKit, en Debian es policykit. Se puede ser granular con la distribución, versión de la distrinución y la arquitectura.
Note que no hay verificación de versiones. Se debe especificar la distribución y ésta tener los datos correctos.
Si existe un paquete opcional no presente en versiones anteriores de la distribución, entonces puede hacer algo como lo siguiente:
[PackageKit Catalog]

# Fedora 9 no tiene Unique
InstallPackages(fedora;9)=glib2-devel;PolicyKit-gnome-devel

# Rawhide es fedora 9.90
InstallPackages(fedora;9.90)=glib2-devel;PolicyKit-gnome-devel;unique-devel
Tampoco existe una descripción del catalogo que haya que traducir o verificar, simplemente es un listado de paquetes, archivos y requerimientos (provides) que le puede ser de utilidad. Todas las traducciones provienen de los metadatos de la distribución y depende del usuario verificar el listado de paquetes que se está pidiendo instalar, asi que no hay firmas ni nada por el estilo.
Los métodos soportados son InstallPackages, InstallProvides e InstallFiles. Cualquier línea que no comience con alguna de estas tres palabras, será descartada.