On 29 October 2012 13:03, Guillaume Rousse <[email protected]> wrote:
> I'm trying to port febootstrap to mageia (I need libguestfs, and it's a
> mandatory dependency). I need to be able to resolve dependencies and
> download packages, without root privileges. I see two solutions here:
>
> 1) use 'urpmq --requires-recursive --sources' first to get the list of
> packages, then check against already installed packages, then use another
> tool (curl, wget, whatever) to download the missing ones.

Which would mean reinventing urpmi logic for computing full URIs :-(

> 2) modify urpmi to allow it to be used without root privileges to just
> download files.
>
> I'm currently trying to achieve solution 2. The attached patch relax the
> process uid check when --no-install option is used, provided an explicit
> download directory is used, through --download-all option. However, I'm
> facing multiple issues here:
>
> - first, --download-all doesn't just change download-directory, its main
> effect is to change urpmi behaviour from interleaved download/install steps
> to download everything first. It doesn't matter very much here, but distinct
> --download-all and --download-dir options would have been a clearer
> interface.
>
> - second, --noclean seems to be useless when using something an alternative
> download directory
>
> - last, the default downloader (aria, I presume) doesn't specify which files
> it is currently downloading, meaning I'll have to post-process download
> directory to retrieve the list of packages, whereas I'd prefered to just
> parse urpmi output. I had to use --downloader wget to get a more verbose
> output.
>
> urpmi maintainer(s) opinion welcome here.

This is not the right approach.
What's more the download-all packages only affect downloading packages before
transactions, and is restricted to urpm::main_loop.

I would just add a download-dir option the attached patch way (untested),
and not warn if no-install is used (second (untested) patch).

Together with --no-install, it's what you want.

Attachment: download-dir.diff
Description: Binary data

Attachment: only_warn_if_not_using_no-install.diff
Description: Binary data

Reply via email to