RU/2: Forum. Discussion for users and developer OS/2 (eCS). : Помогите разобраться с yum/rpm


Message list | Post new message | Reply to current | Home Search:
Previous message | Next message
From : Igor Vaskov
To : Slavik Gnatenko
Subj : Помогите разобраться с yum/rpm

> > Помогите починить yum.
> >
> > Выдает кривой урл и отказывается работать - файл не найден. Понятно, что урл кривой.
> >
> > repomd.xml
> >
> > Должно быть
> > repomd.xml
> >
> > Переустановка пакета yum из rpm-yum-bootstrap-1_5-p4.wpi архива не дала результатов. Что делать дальше?
> Был бы в линуксе - читал бы советы по линуксу :) Но в оси свой порт, поэтому полезнее в его исходник и смотреть. Вот вижу в yum/config.py:
> =================
> def _getsysver(installroot, distroverpkg):
> '''Calculate the release version for the system.
>
> @param installroot: The value of the installroot option.
> @param distroverpkg: The value of the distroverpkg option.
> @return: The release version as a string (eg. '4' for FC4)
> '''
> ts = rpmUtils.transaction.initReadOnlyTransaction(root=installroot)
> ts.pushVSFlags(~(rpm._RPMVSF_NOSIGNATURES|rpm._RPMVSF_NODIGESTS))
> try:
> idx = ts.dbMatch('provides', distroverpkg)
> except TypeError, e:
> # This is code for "cannot open rpmdb"
> # this is for pep 352 compliance on python 2.6 and above :(
> if sys.hexversion < 0x02050000:
> if hasattr(e,'message'):
> raise Errors.YumBaseError("Error: " + str(e.message))
> else:
> raise Errors.YumBaseError("Error: " + str(e))
> raise Errors.YumBaseError("Error: " + str(e))
> except rpm.error, e:
> # This is the "new" code for "cannot open rpmdb", 4.8.0 ish
> raise Errors.YumBaseError("Error: " + str(e))
> # we're going to take the first one - if there is more than one of these
> # then the user needs a beating
> if idx.count() == 0:
> releasever = '$releasever'
> else:
> hdr = idx.next()
> releasever = hdr['version']
> del hdr
> del idx
> del ts
> return releasever
> =================
>
> Надо полагать, что "releasever = '$releasever'" - это то, что у тебя срабатывает. Как видим, это значит, что у тебя не установлен пакет, который даёт то, что в параметре distroverpkg. Если посмотреть вызывателя, то это "redhat-release". В моей системе такой файл предоставляет пакет os2-release-00-2.oc00.noarch. У тебя есть хотя бы похожий пакет в базе rpm? Например, "rpm -qa | grep os2" (без кавычек) чего показывает?
Вот это показывает:

os2-release-01-1.oc01.noarch
os2-base-fhs-0.0.0-19.oc00.i686
os2-mpts-0.0.0-2.oc00.i386
os2-base-unixtools-path-0.0.1-2.oc00.i686
os2-base-0.0.1-2.oc00.i686
os2-rpm-1-9.oc00.noarch
os2-mm-0.0.0-1.oc00.pentium4


Fri 10 Apr 2020 14:32 Mozilla/5.0 (OS/2; Warp 4.5; rv:45.0) Gecko/20100101 Firefox




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.