Re: [Libguestfs] Porting febootstrap to urpmi-based distributions
On Mon, Oct 29, 2012 at 11:10:04AM +0100, Guillaume Rousse wrote:
Hello Richard.
I didn't find any dedicated mailing-list for febootstrap, so sending this directly seems the best option.
CC-ing this to libguestfs@redhat.com which is the right list.
I'm interested to have libguestfs on mageia, meaning I have to port febootstrap first. I had a quick look at the code, and it seems all I have to do is to provide a new dedicated package handler.
From the content of the febootstrap_yum_rpm.ml file, it seems I just have to rewrite the yum_rpm_resolve_dependencies_and_download function, given than all other adress rpm command directly.
Starting from an existing similar plugin is a good idea, so yes. See also: src/febootstrap_package_handlers.mli where the interface is precisely defined.
My current understanding of this function tells me that its purpose is to download a given package and all its dependency. I think I could basically achieve the same result by calling urpmi (the functional equivalent of yum install) with the --no-install flag, wrapping its output to return the list of downloaded filenames. Or am I missing an obvious trap ?
The purpose of ph_resolve_dependencies_and_download is described as: Take a list of package names, and using the package manager resolve those to a list of all the packages that are required including dependencies. Download the full list of packages and dependencies into a tmpdir. Return the list of full filenames. Note this should also process the [excludes] list. Unfortunately for the RPM/Yum plugin we have to do this with some complex Python code, which keeps breaking because they keep changing their ill-defined "API". For the dpkg/apt plugin it's a lot simpler, just running the command: apt-cache depends --recurse -i [package list] The obvious(?) trap might be that urpmi requires root. Hopefully not, but if it does require root unnecessarily, please get urpmi upstream to fix this. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming blog: http://rwmj.wordpress.com Fedora now supports 80 OCaml packages (the OPEN alternative to F#) http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora
participants (1)
-
Richard W.M. Jones