diff options
author | Erik Troan <ewt@redhat.com> | 1999-08-04 18:14:07 +0000 |
---|---|---|
committer | Erik Troan <ewt@redhat.com> | 1999-08-04 18:14:07 +0000 |
commit | cfd1a388adce1f80aa12d56c56fd58ece0abc779 (patch) | |
tree | 7b3897e63a0afc190e83ef193a01327956b414ff /rpmmodule/rpmmodule.c | |
parent | 1b59ce1f5f938ddf22256851808235cff7d87d46 (diff) | |
download | anaconda-cfd1a388adce1f80aa12d56c56fd58ece0abc779.tar.gz anaconda-cfd1a388adce1f80aa12d56c56fd58ece0abc779.tar.xz anaconda-cfd1a388adce1f80aa12d56c56fd58ece0abc779.zip |
fixes for package upgrading
Diffstat (limited to 'rpmmodule/rpmmodule.c')
-rw-r--r-- | rpmmodule/rpmmodule.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/rpmmodule/rpmmodule.c b/rpmmodule/rpmmodule.c index 790e7ec8e..b646013d2 100644 --- a/rpmmodule/rpmmodule.c +++ b/rpmmodule/rpmmodule.c @@ -830,8 +830,9 @@ static PyObject * rpmtransAdd(rpmtransObject * s, PyObject * args) { hdrObject * h; PyObject * key; char * how = NULL; + int isUpgrade = 0; - if (!PyArg_ParseTuple(args, "OO|s", &h, &key, &s)) return NULL; + if (!PyArg_ParseTuple(args, "OO|s", &h, &key, &how)) return NULL; if (h->ob_type != &hdrType) { PyErr_SetString(PyExc_TypeError, "bad type for header argument"); return NULL; @@ -840,12 +841,13 @@ static PyObject * rpmtransAdd(rpmtransObject * s, PyObject * args) { if (how && strcmp(how, "a") && strcmp(how, "u")) { PyErr_SetString(PyExc_TypeError, "how argument must be \"u\" or \"a\""); return NULL; - } + } else if (how && !strcmp(how, "u")) + isUpgrade = 1; if (how && strcmp(how, "a")) - rpmtransAvailablePackage(s->ts, h->h, key); + rpmtransAvailablePackage(s->ts, h, key); else - rpmtransAddPackage(s->ts, h->h, NULL, key, how ? 1 : 0, NULL); + rpmtransAddPackage(s->ts, h->h, NULL, key, isUpgrade, NULL); if (key) PyList_Append(s->keyList, key); |