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

Guillaume Rousse guillomovitch at gmail.com
Mon Oct 29 13:03:50 CET 2012


Hello list.

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.

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.
-- 
BOFH excuse #268:

Neutrino overload on the nameserver
-------------- next part --------------
A non-text attachment was scrubbed...
Name: urpmi-no-need-for-root-privileges.patch
Type: text/x-patch
Size: 964 bytes
Desc: not available
URL: </pipermail/mageia-dev/attachments/20121029/2f1a9100/attachment.bin>


More information about the Mageia-dev mailing list