Red Hat Bugzilla – Bug 178498
up2date --channel checks for updates on all subscribed channels
Last modified: 2007-11-30 17:07:22 EST
+++ This bug was initially created as a clone of Bug #176123 +++
Description of problem:
up2date --channel with no specified package checks for updates on all subscribed
channels. It should only check for updates on the specified channel.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Install the latest up2date package.
2. Subscribe a system to a base and at least one child channel.
3. Run 'up2date --channel <child channel> -l'
up2date will check for updates on all subscribed channels
up2date should only check for updates on the specified child channel
[root@rlx-3-04 tmp]# up2date -l --channel rhn-tools-rhel-3-as-i386
Fetching Obsoletes list for channel: rhel-i386-as-3...
Fetching Obsoletes list for channel: rhn-tools-rhel-3-as-i386...
--channel=foo will now limit the channel universe for any operations, including
-u, pkgname, --installall, --showall, --showavailable, and -l.
1) install a system, register it to multiple child channels (extras, fastrack,
and rhn-tools work rather well)
2) use combinations of --channel=channel_label to see if the output makes sense:
'up2date --channel=foo -l' should list the available updated packages within foo.
'up2date --channel=foo --channel=bar --installall' should install anything
within the specified channels
Negative tests include:
'up2date --channel=channel_i_dont_have_access_to -u'
'up2date --channel=doesnt_exist --showall'
Manpage has been updated to eliminate the --installall tie.
This Bug has been fixed in this release
How does this affect dependencies of packages that are not in the same channel?
i.e. you want to install everything in the cluster suite channel. Does it pull
in the dependencies from the RHEL channel?
If you only specifiy one --channel, you're limiting the visible package
universe. If that package universe is not dependency complete, you'll have a
If you were subscribed to 3 channels: A, B, &C, and you wanted to install a
package in B, but ignore the contents of C, you would:
up2date --channel=B blah
If 'blah' has dependencies only met by A, the above operation will fail. The
work around would be:
up2date --channel=A --channel=B blah
I hope this clarifies things.
So this totally breaks a case that I was using regularly. I would be "subscribed"
to two channels, RHEL base and RHCS. I wanted to install _everything_ from
RHCS, but there are some things it needs to pull into RHEL base to be complete. I
use the command line "up2date -f --installall --channel=cluster-version" to
accomplish this. How do I accomplish the same thing now?
What if I made it so that --installall required a parameter, like:
up2date -f --installall=cluster-version
that would work for me
patch committed, will roll pkgs this weekend for testing.
Packages rolled, should be fixed in up2date 4.4.69-15
I verified this by subscribing the test client to a bunch of custom channels
that contained various rhn-applet and rhn-applet-actions packages. This created
a ripe interchannel-dependency environment in which to fully exercise the fix
for this bug.
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.