[Mageia-dev] [patch] use urpmi without root privileges to just download packages

Thierry Vignaud thierry.vignaud at gmail.com
Mon Oct 29 16:00:09 CET 2012


On 29 October 2012 13:03, Guillaume Rousse <guillomovitch at gmail.com> 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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: download-dir.diff
Type: application/octet-stream
Size: 3462 bytes
Desc: not available
URL: </pipermail/mageia-dev/attachments/20121029/b874af54/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: only_warn_if_not_using_no-install.diff
Type: application/octet-stream
Size: 469 bytes
Desc: not available
URL: </pipermail/mageia-dev/attachments/20121029/b874af54/attachment-0001.obj>


More information about the Mageia-dev mailing list