I'm using Mandriva 2010.0 and Smart 1.2 (the bug was observed on 1.3, too).
I recently re-added my repositories. After that, every attempt to upgrade ended up with "Package list with no CRPMTAG_FILENAME tag" message and my changes forgotten. Smart was unusable because of that.
I made a workaround for this problem, in form of a pseudo-patch, listed below. Smart will fall back to the default method of retrieving the file name if the header lacks [CRPMTAG_FILENAME]. The culprit may be the repository owner, but smart doesn't handle their fault gracefully. Attached my list of channels.
# patch for Smart 1.2 as found in Mandriva 2010.0
# lines 559 to 569
def getFileName(self, info):
try:
h = info._h filename = h[CRPMTAG_FILENAME]
if not filename: raise Error, _("Package list with no CRPMTAG_FILENAME tag")
if filename in self._prefix: filename = os.path.join(self._prefix[filename], filename)
return filename
except Error:
return RPMHeaderListLoader.getFileName(self, info)
I'm using Mandriva 2010.0 and Smart 1.2 (the bug was observed on 1.3, too).
I recently re-added my repositories. After that, every attempt to upgrade ended up with "Package list with no CRPMTAG_FILENAME tag" message and my changes forgotten. Smart was unusable because of that.
I made a workaround for this problem, in form of a pseudo-patch, listed below. Smart will fall back to the default method of retrieving the file name if the header lacks [CRPMTAG_FILENAME]. The culprit may be the repository owner, but smart doesn't handle their fault gracefully. Attached my list of channels.
# patch for Smart 1.2 as found in Mandriva 2010.0
filename = h[CRPMTAG_FILENAME]
raise Error, _("Package list with no CRPMTAG_FILENAME tag")
filename = os.path. join(self. _prefix[ filename] , filename) ader.getFileNam e(self, info)
# lines 559 to 569
def getFileName(self, info):
try:
h = info._h
if not filename:
if filename in self._prefix:
return filename
except Error:
return RPMHeaderListLo