Description of problem: rhnpush fails for .nosrc.rpm packages. .nosrc.rpm is an accepted package file extension, and should be valid for use with the satellite. For more information, see IT#68302. Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
did you try to use --source? Source rpms are "special".
Oh, sorry, misread the bug report - .nosrc.rpm are not exactly supported by os devel.
John, can you please try to reproduce the error? We can try to patch it to work with those packages, but AFAIR it's really difficult to know it's a nosrc.rpm - nothing in the rpm header tells you that.
I tried uploading a nosrc rpm without --source and got this traceback: Traceback (most recent call last): File "rhnpush.py", line 413, in ? sys.exit(main() or 0) File "rhnpush.py", line 133, in main upload.packages() File "rhnpush.py", line 276, in packages ret = self.package(p) File "rhnpush.py", line 301, in package h = uploadLib2.get_header(package, source=self.options.source) File "uploadLib2.py", line 598, in get_header raise UploadError("Unexpected RPM package type") uploadLib2.UploadError: Unexpected RPM package type When I tried uploading the package using --source it supposedly uploads the package to the channel (gets a 200 result code), but I can't find it anywhere through the web interface. It looks like rhnpush treats nosrc packages the same way it treats src packages.
Test Plan: o Find a nosrc rpm and a binary version of the nosrc rpm. o Using rhnpush, push the binary version of the nosrc rpm into a channel. rhnpush --server=servername/APP --channel=channel_name file.rpm o Using rhnpush, push the nosrc rpm using the --source option. Doesn't have to be into a channel. rhnpush --server=servername/APP --source ~/file.nosrc.rpm o Through the web interface, go to Channels->Manage Software Channels->Manage Software Packages and click on the name of the binary rpm that you pushed earlier. o The Source RPM field should list the nosrc version of the rpm that you pushed earlier. o The Download section at the bottom of the screen should list the nosrc rpm as being available for download. o Download the nosrc rpm and ensure that the filename is correct.
Excellent ! Works with rhnpush-4.0.0-156.rhel4 from rhn-satellite-4.0.0-101-redhat-linux-as-i386-4-embedded-oracle.iso