Bug 213402

Summary: Pup package updater error: Cannot open/read repomd.xml file for repository:
Product: [Fedora] Fedora Reporter: Wes Armour <wes.armour>
Component: pirutAssignee: Jeremy Katz <katzj>
Status: CLOSED RAWHIDE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 6CC: fangorious, katzj, mitr
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-03-23 15:39:00 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 150226    
Attachments:
Description Flags
cli pup output with proxy info in /etc/yum.conf none

Description Wes Armour 2006-11-01 11:05:37 UTC
Description of problem:

When I try to launch the package updater I get the error:

Cannot open/read repomd.xml file for repository: ...

I am behind a firewall and have a squid proxy server. I have put a proxy.sh in
my /ect/profile.d/ and also used the graphical network proxy manager to enter my
proxy details.

Yum, yumex and firefox all work.

Version-Release number of selected component (if applicable):

rpm -qa pirut
pirut-1.2.5-1

How reproducible:

Always

Steps to Reproduce:
1. Just launch the package updater or the applet.
  
Actual results:
Reports the above error then dies.

Expected results:
Download updates and play nicely.

Additional info:
None.

Comment 1 Jeremy Katz 2006-11-03 19:03:16 UTC
What is in your proxy script?

Can you try launching pirut/pup from a terminal and see if it works better?

Comment 2 Wes Armour 2006-11-06 10:24:17 UTC
Hi 

My proxy scripts are:

more /etc/profile.d/proxy.sh 
#!/bin/bash

export http_proxy=http://wwwcache.rl.ac.uk:8080/
export ftp_proxy=http://wwwcache.rl.ac.uk:8080/
export HTTP_PROXY=http://wwwcache.rl.ac.uk:8080/
export FTP_PROXY=http://wwwcache.rl.ac.uk:8080/

and

more /etc/profile.d/proxy.csh 
#!/bin/csh

setenv http_proxy http://wwwcache.rl.ac.uk:8080/
setenv ftp_proxy http://wwwcache.rl.ac.uk:8080/
setenv HTTP_PROXY http://wwwcache.rl.ac.uk:8080/
setenv FTP_PROXY http://wwwcache.rl.ac.uk:8080/
 
There permissions are:

ll /etc/profile.d/
total 160
-rwxr-xr-x 1 root root  764 Sep 28 13:32 colorls.csh
-rwxr-xr-x 1 root root  713 Sep 28 13:32 colorls.sh
-rwxr-xr-x 1 root root   78 Oct 29 09:24 cvs.sh
-rwxr-xr-x 1 root root  192 Aug 30 14:34 glib2.csh
-rwxr-xr-x 1 root root  192 Aug 30 14:34 glib2.sh
-rwxr-xr-x 1 root root   58 Oct  2 18:39 gnome-ssh-askpass.csh
-rwxr-xr-x 1 root root   70 Oct  2 18:39 gnome-ssh-askpass.sh
-rwxr-xr-x 1 root root  465 Oct 26 23:37 kde.csh
-rwxr-xr-x 1 root root  407 Oct 26 23:37 kde.sh
-rwxr-xr-x 1 root root  218 Sep  6 21:41 krb5.csh
-rwxr-xr-x 1 root root  229 Sep  6 21:41 krb5.sh
-rwxr-xr-x 1 root root 2492 Oct 12 04:55 lang.csh
-rwxr-xr-x 1 root root 2698 Oct 12 04:55 lang.sh
-rwxr-xr-x 1 root root  122 Jul 13 09:39 less.csh
-rwxr-xr-x 1 root root  108 Jul 13 09:39 less.sh
-rwxr-xr-x 1 root root  208 Nov  6 09:38 proxy.csh
-rwxr-xr-x 1 root root  209 Nov  6 09:38 proxy.sh
-rwxr-xr-x 1 root root   72 Sep 29 04:02 vim.csh
-rwxr-xr-x 1 root root  246 Sep 29 04:02 vim.sh
-rwxr-xr-x 1 root root  170 Jul 15 04:08 which-2.sh

I find that as a user I get the following error if I launch pup/pirut
graphically or from the cli:

Cannot find a valid baseurl for repo: updates

or on the cli:

pirut 
Loading "installonlyn" plugin
Could not retrieve mirrorlist
http://mirrors.fedoraproject.org/mirrorlist?repo=updates-released-fc6&arch=i386
error was
[Errno 4] IOError: <urlopen error (111, 'Connection refused')>

***However if I launch these as root from the cli everything works***

So I have a feeling this has something to do with the consolehelper

I could however be completely wrong (as my girlfriend points out frequently, god
only knows what I'd do if she wasn't there to correct me ;-)

Cheers,

Wes.


Comment 3 Jeremy Katz 2006-11-06 19:21:52 UTC
Hrmm, it looks like usermode's sanity checking nukes the vars for proxies. 

Comment 4 Douglas Campbell 2006-12-18 18:05:18 UTC
Workaround:  

a) Make backup copy of /etc/yum.conf
b) add one line to /etc/yum.conf:
   either
   proxy=http://<user>:<passwd>@wwwcache.rl.ac.uk:8080
   or
   proxy=http://wwwcache.rl.ac.uk:8080
   (if no proxy server user/password needed)
c) comment out the http_proxy and ftp_proxy and HTTP_PROXY and FTP_PROXY env
vars you created
d) If the user/password is to be hidden from nonprivileged users, chown
root.root /etc/yum.conf and chmod 640 /etc/yum.conf  
   (as a side effect of (d), regular users can't do pup, which I view as positive)

Note that, for websense and some other security-conscious proxies, the passwords
will age; when you change your password for access, you need to update
/etc/yum.conf as well.

Comment 5 Miloslav Trmač 2007-03-19 22:28:17 UTC
With usermode-1.91, you can add the following to
/etc/security/console.apps/{pirut,pup}:
  KEEP_ENV_VARS=http_proxy,ftp_proxy

Please check the way the environment variables are used, and enable them only if
they can't be used for privilege escalation (which, I guess, is not a concern
for pup/pirut).

Comment 6 Jeremy Katz 2007-03-20 01:09:29 UTC
Great -- will add in the next day or so

Comment 7 Jeremy Katz 2007-03-23 15:39:00 UTC
Done in CVS, will be in the next build

Comment 8 Jeremy Katz 2007-04-23 18:13:35 UTC
*** Bug 237536 has been marked as a duplicate of this bug. ***

Comment 9 fangorious 2007-04-23 20:24:00 UTC
Created attachment 153313 [details]
cli pup output with proxy info in /etc/yum.conf

I added my proxy info to /etc/yum.conf and ran pup from the terminal, and was
given the error show in the attached file. Setting http_proxy and editing
/etc/security/console.apps/pirut works. I'd rather have the yum.conf setting
work for pup though. And I'd rather have pup use check the GNOME settings
before that. I go back and forth between networks with a proxy that requries
auth and networks with no proxy, so setting it in GNOME would be the most
convenient.