Description of problem: When updating a package with a + sign in the RPM name it gives a 404 on the download link in the webui and yum update fails to associate the dependencies. Version-Release number of selected component (if applicable): Spacewalk version .5 Spacewalk server: CentOS 5.3 x86 Spacewalk client: CentOS 5.2 x86_64 Oracle XE: 10.2.0.1-1.0 How reproducible: Have a CentOS 5.2 client and have it associated with a channel that has been reposynced with the contents of a CentOS 5.3 branch. On the client try to update a package that has a + sign in it. I've found libstdc++,libstdc++-devel, gcc-c++ and dvd+rw-tools all don't work. You can also go into the webgui for any of the above mentioned RPMs select the download link for the RPM and it will return a "404 Error - File Not Found The requested page can not be found. Please report this error to your local administrator." For all other RPMs that don't have a + sign in the name the download link works flawlessly and yum update on the client finishes successfully. Steps to Reproduce: 1. Setup CentOS 5.2 client attach to a Spacewalk channel that has the RPMs for CentOS 5.2 2. Try to run yum update . 3. Try to wget an RPM from the webgui that has a + sign in the RPM name. Actual results: [root@brian src]# yum repolist Loading "fastestmirror" plugin Loading "rhnplugin" plugin repo id repo name status centos5-base-x86_64 None enabled centos5-updates-x86_ None enabled spacewalk-client-too None enabled [root@brian ~]# yum list libstdc++ Loading "fastestmirror" plugin Loading "rhnplugin" plugin Loading mirror speeds from cached hostfile * spacewalk-client-tools-x86_64-5: spacewalk.example.com * centos5-updates-x86_64: spacewalk.example.com * centos5-base-x86_64: spacewalk.example.com spacewalk-client-tools-x8 100% |=========================| 871 B 00:00 centos5-updates-x86_64 100% |=========================| 871 B 00:00 centos5-base-x86_64 100% |=========================| 871 B 00:00 Installed Packages libstdc++.x86_64 4.1.2-42.el5 installed libstdc++.i386 4.1.2-42.el5 installed Available Packages libstdc++.x86_64 4.1.2-44.el5 centos5-base-x86 libstdc++.i386 4.1.2-44.el5 centos5-base-x86 [root@brian src]# yum info libstdc++ Loading "fastestmirror" plugin Loading "rhnplugin" plugin Loading mirror speeds from cached hostfile * spacewalk-client-tools-x86_64-5: spacewalk.example.com * centos5-updates-x86_64: spacewalk.example.com * centos5-base-x86_64: spacewalk.example.com spacewalk-client-tools-x8 100% |=========================| 871 B 00:00 centos5-updates-x86_64 100% |=========================| 871 B 00:00 centos5-base-x86_64 100% |=========================| 871 B 00:00 Installed Packages Name : libstdc++ Arch : x86_64 Version: 4.1.2 Release: 42.el5 Size : 951 k Repo : installed Summary: GNU Standard C++ Library Description: The libstdc++ package contains a rewritten standard compliant GCC Standard C++ Library. Name : libstdc++ Arch : i386 Version: 4.1.2 Release: 42.el5 Size : 904 k Repo : installed Summary: GNU Standard C++ Library Description: The libstdc++ package contains a rewritten standard compliant GCC Standard C++ Library. Available Packages Name : libstdc++ Arch : x86_64 Version: 4.1.2 Release: 44.el5 Size : 353 k Repo : centos5-base-x86_64 Summary: GNU Standard C++ Library Description: The libstdc++ package contains a rewritten standard compliant GCC Standard C++ Library. Name : libstdc++ Arch : i386 Version: 4.1.2 Release: 44.el5 Size : 363 k Repo : centos5-base-x86_64 Summary: GNU Standard C++ Library Description: The libstdc++ package contains a rewritten standard compliant GCC Standard C++ Library. [root@brian ~]# yum upgrade libstdc++ Loading "fastestmirror" plugin Loading "rhnplugin" plugin Loading mirror speeds from cached hostfile * spacewalk-client-tools-x86_64-5: spacewalk.example.com * centos5-updates-x86_64: spacewalk.example.com * centos5-base-x86_64: spacewalk.example.com spacewalk-client-tools-x8 100% |=========================| 871 B 00:00 centos5-updates-x86_64 100% |=========================| 871 B 00:00 centos5-base-x86_64 100% |=========================| 871 B 00:00 Setting up Upgrade Process Resolving Dependencies --> Running transaction check --> Processing Dependency: libstdc++ = 4.1.2-42.el5 for package: gcc-c++ --> Processing Dependency: libstdc++ = 4.1.2-42.el5 for package: libstdc++-devel ---> Package libstdc++.i386 0:4.1.2-44.el5 set to be updated ---> Package libstdc++.x86_64 0:4.1.2-44.el5 set to be updated --> Running transaction check ---> Package gcc-c++.x86_64 0:4.1.2-44.el5 set to be updated --> Processing Dependency: libstdc++-devel = 4.1.2-44.el5 for package: gcc-c++ --> Processing Dependency: libstdc++ = 4.1.2-44.el5 for package: gcc-c++ --> Processing Dependency: gcc = 4.1.2-44.el5 for package: gcc-c++ ---> Package libstdc++-devel.x86_64 0:4.1.2-44.el5 set to be updated --> Processing Dependency: libstdc++ = 4.1.2-44.el5 for package: libstdc++-devel --> Finished Dependency Resolution Error: Missing Dependency: libstdc++ = 4.1.2-44.el5 is needed by package gcc-c++ Error: Missing Dependency: libstdc++ = 4.1.2-44.el5 is needed by package libstdc++-devel Error: Missing Dependency: libstdc++-devel = 4.1.2-44.el5 is needed by package gcc-c++ Error: Missing Dependency: gcc = 4.1.2-44.el5 is needed by package gcc-c++ RPM with + in the RPM name fails when wgetting the file: [root@brian src]# wget --no-check-certificate https://spacewalk.example.com/download/package/371013b8dfe80595895d8341be9330dd09fa3b8f/1239773130070/1/10981/libstdc++-4.1.2-44.el5.x86_64.rpm --19:36:26-- https://spacewalk.example.com/download/package/371013b8dfe80595895d8341be9330dd09fa3b8f/1239773130070/1/10981/libstdc++-4.1.2-44.el5.x86_64.rpm Resolving spacewalk.example.com... 10.100.0.61 Connecting to spacewalk.example.com|10.100.0.61|:443... connected. WARNING: cannot verify spacewalk.example.com's certificate, issued by `/C=US/ST=VA/L=Sterling/O=NTTA/OU=OPS/CN=spacewalk': Unable to locally verify the issuer's authority. WARNING: certificate common name `spacewalk' doesn't match requested host name `spacewalk.example.com'. HTTP request sent, awaiting response... 404 Not Found 19:36:27 ERROR 404: Not Found. RPM without + in the RPM name successful when wgetting the file: [root@brian src]# wget --no-check-certificate https://spacewalk/download/package/587102789052a6ad4d29006c9752b38420dbcf4f/1239773703825/1/12172/gcc-4.1.2-44.el5.x86_64.rpm --19:46:00-- https://spacewalk/download/package/587102789052a6ad4d29006c9752b38420dbcf4f/1239773703825/1/12172/gcc-4.1.2-44.el5.x86_64.rpm Resolving spacewalk... 10.100.0.61 Connecting to spacewalk|10.100.0.61|:443... connected. WARNING: cannot verify spacewalk's certificate, issued by `/C=US/ST=VA/L=Sterling/O=NTTA/OU=OPS/CN=spacewalk': Unable to locally verify the issuer's authority. HTTP request sent, awaiting response... 200 OK Length: unspecified [application/octet-stream] Saving to: `gcc-4.1.2-44.el5.x86_64.rpm' [ <=> ] 5,552,941 1.92M/s in 2.8s 19:46:03 (1.92 MB/s) - `gcc-4.1.2-44.el5.x86_64.rpm' saved [5552941] Expected results: The download link in the webgui should successfully serve up the RPM file. Yum should be able to update the package if it is listed in the output of "yum list". Additional info:
This issue can't be reproduced in Spacewalk 0.7 and looks it fixed. Closing now, feel free to reopen if you disagree.
Spacewalk 0.8 has been released