El propósito de este sitio es proporcionar información de APT y el backend APTcc de PackageKit y la integración en Debian. PackageKit intenta hacer más fáciles las simples y comunes tareas de gestión de software y mas suaves entre todas/la mayoría distribuciones. Para lo cual proporciona una interfaz DBus neutral a las distribuciones.
El backend Smart no se tratará aquí.
Estado actual
PackageKit backend se entrega en Debian Sid y está por defecto en Kubuntu.
Código
El desarrollo se hace en el repositorio git de PackageKit:
git clone git://gitorious.org/packagekit/packagekit.git
El empaquetamiento de Debian & Ubuntu se puede obtener vía Git:
git clone git://anonscm.debian.org/pkg-packagekit/packagekit.git
O vía APT:
apt-get source packagekit
Paquetes
Los paquetes binarios y de fuentes para Ubuntu se pueden conseguir aquí:
https://edge.launchpad.net/~packagekit/+archive
Hay paquetes disponibles para Debian. (Véase ITP #468132) Puede encontrarlos en los archivos
Discusión
El lugar principal para discutir es la lista de correo de PackageKit:
http://lists.freedesktop.org/mailman/listinfo/packagekit
La discusión de cuestiones sin resolver fue archivada en wiki:/Discussion.
Integración en Debian
Seguidamente encontrará una lista de características únicas de dpkg/apt y como son tratadas.
Backends APT
PackageKit tiene dos backends para APT. Una llamada "APT", la cual está basada en Python y otra llamada "APTcc", la cual está escrita en C++. El backend por defecto de PackageKit en Debian está configurado como APTcc, ya que tiene menos errores, menos uso de memoria y soporta debconf.
No-Interactividad
Según la Ley de Hughsie no se permite a una tarea en ejecución (transacción de PackageKit) esperar por interacciones del usuario. Pero ese es el caso en varias situaciones cuando se usa dpkg/apt (debconf y ficheros conf).
Entrada estándar
Según La política de Debian ya no está soportada el pedir datos de entrada por stdin en los scripts de mantenedores. Los backends APT y APTcc tienen un tiempo de espera de 10 minutos para manejar paquetes rotos antes de que cancelen un script colgado.
Conflicto de fichero de configuración
PackageKit tiene por defecto mantener la configuración actual y mostrar un mensaje al usuario sobre el conflicto de ficheros de configuración. Existe un esfuerzo de cambiar dpkg para usar Debconf para manipular conflictos de ficheros.
Cambios de Medios
Usar CD-ROM o DVD como fuente de instalación está soportado por PackageKit desde la versión 0.4.7 (publicada en mayo de 2009).
Debconf
PackageKit tiene soporte para debconf si se usa el backend APTcc. Véase http://blogs.gnome.org/hughsie/2010/11/02/packagekit-and-debian-2/ para más detalles.
Apper (PackageKit KDE UI) crea un instancia de debconf-kde ( ?DebconfGui() ), la cual recibe una ruta para crear un enchufe socket en /tmp. La ruta se pasa entonces a PackageKit que la pasa al backend APTcc el cual configura una variable de entorno que debconf usa para comunicar con debconf-kde.
Para clientes que usen PackageKit-GLib2 (tales como pkcon y GNOME-PackageKit) se creará un enchufe socket automáticamente y se pasará al backend APT actual desde PackageKit 0.6.10.
Si el cliente cierra la ventana de debconf, se retornará al frontend no interactivo por defecto de debconf, pemitiendo que ocurran actualizaciones desatendidas.
Instalación de Codec
Las partes correspondientes de los backends de APT reutilizan la infraestructura gnome-app-install.
Aplicaciones
PackageKit es usado por GNOME-PackageKit y Apper en Debian todo el tiempo, el centro de Software podría usarse también como backend de PackageKit en un futuro.
Hay un prototipo de gnome-app-install que usa PackageKit en vez de Synaptic. Puede encontrarse una presentación aquí.
El Proyecto Listaller proporciona un plugin de PackageKit que añade soporte del instalador de software Linux independiente de distro "Listaller" para PackageKit. (Integrando Listaller sin problemas en todas las alicaciones que hagan uso de PackageKit)
Anjuta, Totem, Nautilus, Zero-Install, Dr.Konqui y muchas otras apllicaciones pueden hacer uso de PackageKit. Véase http://packagekit.org/pk-users.html para mas información.