[packagekit] How to install a i386 rpm in a RHEL6 x86_64 using gpk-install-package-name ?

Richard Hughes hughsient at gmail.com
Fri Nov 12 02:29:21 PST 2010


On 12 November 2010 05:20,  <rotru at br.ibm.com> wrote:
> I trying to use gpk-install-package-name in a script to install some package
> dynamically from my repos which have 32 and 64 rpms.
> Problem is that when I try to install a RPM that is only 32 bits the tool
> does not find the package.

Right, looking at gpk_dbus_task_install_package_names, i see:

	pk_client_resolve_async (PK_CLIENT(dtask->priv->task),
pk_bitfield_from_enums (PK_FILTER_ENUM_ARCH, PK_FILTER_ENUM_NEWEST,
-1), packages, NULL,
			         (PkProgressCallback) gpk_dbus_task_progress_cb, dtask,
				 (GAsyncReadyCallback)
gpk_dbus_task_install_package_names_resolve_cb, dtask);

> Looking at the processes triggered when running the gpk-install-package-name
> I see "someone" runs:

Someone is the gpk-update-icon process in RHEL6, or gpk-dbus-service
process on fedora.

> So, I wonder if there is a way that allows me to install the 32 bits
> packages using the gpk-install-package-name on a 64 machine.
> Maybe I have missed something, but I searched in the sources and did not
> find any parameter to pass or option to set somewhere.

It's a good question. The session interface (which is what
gpk-install-package-names uses) is designed to be really easy to use,
and not have all the low level details like architecture and versions
and that kind of thing.

I'm not sure what to suggest. I'm not sure calling
gpk-install-package-name for non-native packages makes much sense. Is
there a reason you want to specifically install the 32 bit package on
a 64 bit machine? Is it a binary package that does not exist for 64
bit?

If that's the case, then I think somebody needs to pick up the
discussion on the mailing list (about searching arch's correctly when
there doesn't exist a 64 bit package) and write a patch or proposal.

Richard.



More information about the PackageKit mailing list