| 1 |
# Python helper script to query for the packages that have |
|---|
| 2 |
# pending updates. Called by the yum package provider |
|---|
| 3 |
# |
|---|
| 4 |
# (C) 2007 Red Hat Inc. |
|---|
| 5 |
# David Lutterkort <dlutter @redhat.com> |
|---|
| 6 |
|
|---|
| 7 |
import yum |
|---|
| 8 |
import sys |
|---|
| 9 |
|
|---|
| 10 |
OVERRIDE_OPTS = { |
|---|
| 11 |
'debuglevel': 0, |
|---|
| 12 |
'errorlevel': 0, |
|---|
| 13 |
'logfile': '/dev/null' |
|---|
| 14 |
} |
|---|
| 15 |
|
|---|
| 16 |
def pkg_lists(my): |
|---|
| 17 |
my.doConfigSetup() |
|---|
| 18 |
|
|---|
| 19 |
for k in OVERRIDE_OPTS.keys(): |
|---|
| 20 |
if hasattr(my.conf, k): |
|---|
| 21 |
setattr(my.conf, k, OVERRIDE_OPTS[k]) |
|---|
| 22 |
else: |
|---|
| 23 |
my.conf.setConfigOption(k, OVERRIDE_OPTS[k]) |
|---|
| 24 |
|
|---|
| 25 |
my.doTsSetup() |
|---|
| 26 |
my.doRpmDBSetup() |
|---|
| 27 |
return my.doPackageLists('updates') |
|---|
| 28 |
|
|---|
| 29 |
try: |
|---|
| 30 |
try: |
|---|
| 31 |
my = yum.YumBase() |
|---|
| 32 |
ypl = pkg_lists(my) |
|---|
| 33 |
for pkg in ypl.updates: |
|---|
| 34 |
print "_pkg %s %s %s %s %s" % (pkg.name, pkg.epoch, pkg.version, pkg.release, pkg.arch) |
|---|
| 35 |
finally: |
|---|
| 36 |
my.closeRpmDB() |
|---|
| 37 |
except IOError, e: |
|---|
| 38 |
print "_err IOError %d %s" % (e.errno, e) |
|---|
| 39 |
sys.exit(1) |
|---|
| 40 |
|
|---|