LINUX.ORG.RU

SuSE 10.1. ошибки в smart во время кеширования


0

0

##################
#smart fix
Traceback (most recent call last): ################################################################ ( 99%)
File "/usr/bin/smart", line 194, in ?
main(sys.argv[1:])
File "/usr/bin/smart", line 167, in main
exitcode = iface.run(opts.command, opts.argv)
File "/usr/lib/python2.4/site-packages/smart/interface.py", line 53, in run
result = _command.main(self._ctrl, opts)
File "/usr/lib/python2.4/site-packages/smart/commands/fix.py", line 71, in main
ctrl.reloadChannels()
File "/usr/lib/python2.4/site-packages/smart/control.py", line 375, in reloadChannels
self._cache.load()
File "/usr/lib/python2.4/site-packages/smart/backends/rpm/metadata.py", line 321, in loadFileProvides
self.parseFilesList(fndict)
File "/usr/lib/python2.4/site-packages/smart/backends/rpm/metadata.py", line 346, in parseFilesList
for event, elem in cElementTree.iterparse(file, ("start", "end")):
File "<string>", line 64, in __iter__
SyntaxError: not well-formed (invalid token): line 479344, column 58
#################

Люди. Вообще, ничего не понимаю. Что с этим делать.
Если нужна дополнительная инфа, выложу.

по гуглу эти ошибки встречаются только в бэктреках и решения этой проблемы я не нашел.

Кто-нибудь с этим сталкивался?

anonymous

Да. сейчас позвонил один знакомый. У него, после обновления списка содержимого репозитариев, возникла та же самая ошибка. Как он говорил, он, тогда, очистил кеш (списки оных) и закачал их заново. ошибка повторилась.
Также, появилась и у меня и у него проблема с YaST-update. конфликты происходят на любом новом пакете.
Еще один чел сказал, что, когда он сеня утром запустил smart, вылетела какая-то ошибка. он нажал ок и все закрылось. что за ошибка, он не сказал.

anonymous
()

У меня сегодня та же самая фигня. Буду экспериментировать, есть подозрение, что в каком-то репозитории корявый файл с метаданными выложили.
Временное решение: удалить /var/lib/smart, после этого smart запускается нормально и заново обнаруживает все репозитории, однако после update все начинается сначала.

Deleted
()
Ответ на: комментарий от Deleted

>Временное решение: удалить /var/lib/smart, после этого smart запускается нормально и заново обнаруживает все репозитории, однако после update все начинается сначала.

Да. это не выход.

Еще одна тема всплыла, подобного рода: http://linuxforum.ru/index.php?showforum=31

anonymous
()

Нашел!!

У меня смарт падал на парсинге файла
/var/lib/smart/channels/updates%%http:__ftp.chg.ru_pub_Linux_SuSE_suse_update_10 .1_repodata_filelists.xml
на строчке 479344, в которой вот что:
<file>/usr/share/gforce/G-Force ColorMaps/Purple & Blues</file>

Решение: удалить все символы "&" из этого файла (их там 3 штуки) и зажать его gzip'ом (smart потом его распаковывает).

Deleted
()
Ответ на: комментарий от Deleted

>Решение: удалить все символы "&" из этого файла (их там 3 штуки) и зажать его gzip'ом (smart потом его распаковывает).

Прошу прощения. А выйдет ли программа под сюс, которая автоматически будет удалять эти 3 мивола/1 симовл из этого файла/трех файлов?

Похоже, что это новведение с амперсандом. неплохо было бы и прогу под корректировку им сделать, на сколько я понимаю..

anonymous
()
Ответ на: комментарий от Deleted

ls -1 /var/lib/smart/channels/ | grep updates
пусто

grep -R "/usr/share/gforce/G-Force ColorMaps/Purple & Blues" /var/lib/smart/channels/
/var/lib/smart/channels/suse-update%%ftp:__ftp.suse.com_pub_suse_update_10.1_rep odata_filelists.xml: <file>/usr/share/gforce/G-Force ColorMaps/Purple & Blues</file>
/var/lib/smart/channels/suse-update%%ftp:__ftp.suse.com_pub_suse_update_10.1_rep odata_filelists.xml: <file>/usr/share/gforce/G-Force ColorMaps/Purple & Blues II</file>
/var/lib/smart/channels/suse-update%%ftp:__ftp.suse.com_pub_suse_update_10.1_rep odata_filelists.xml: <file>/usr/share/gforce/G-Force ColorMaps/Purple & Blues</file>
/var/lib/smart/channels/suse-update%%ftp:__ftp.suse.com_pub_suse_update_10.1_rep odata_filelists.xml: <file>/usr/share/gforce/G-Force ColorMaps/Purple & Blues II</file>

4 таких значения. не 3

anonymous
()
Ответ на: комментарий от anonymous

Офхиреть. Эт терь каждый раз при обновлении файллистов, значения менять, что ли? или только через раз? :))))

anonymous
()

ну вы отжигаете...
gросто отключить надо временно канал updates, пока кто-то-там не дочитает книгу "XML для чайников" и не научится делать нормальные файллисты с амперсандами :)

Deleted
()
Ответ на: комментарий от Deleted

>Нашел!!

>У меня смарт падал на парсинге файла /var/lib/smart/channels/updates%%http:__ftp.chg.ru_pub_Linux_SuSE_suse_update_10 .1_repodata_filelists.xml на строчке 479344, в которой вот что: <file>/usr/share/gforce/G-Force ColorMaps/Purple & Blues</file>

>Решение: удалить все символы "&" из этого файла (их там 3 штуки) и зажать его gzip'ом (smart потом его распаковывает).

Можно вопрос?

А как Ты определил, что эта строка есть глюк, именно в файле /var/lib/smart/channels/updates%%http:__ftp.chg.ru_pub_Linux_SuSE_suse_update_10 .1_repodata_filelists.xml, а не какой-либо еще, в той директории.

По синтаксису?

Но там много подобных амперсандов, не относящихся к "G-Force ColorMaps".

структура у них та же.

можешь ответить?

anonymous
()
Ответ на: комментарий от anonymous

Внимательно почитал сообщение об ошибке (ключевой момент!), заглянул в файл /usr/lib/python2.4/site-packages/smart/backends/rpm/metadata.py нашел строку 346 и поставил перед ней print "PROCESSING FILE ", self._filelistsname. Запустил smart еще раз в консоли, он свалился на парсинге именно этого xml файла. Открыл этот файл в vim и пошел на строку 479344, а там амперсанд подсвеченный красным стоит! Я его удалил, запустил smart еще раз - амперсанд вернулся :) Понял что smart каждый раз распаковывает xml.gz файл, так что я запаковал исправленный xml файл в gz и после этого все заработало. Все.
Конечно, амперсандов там еще дофига, но они употребляются правильно, в составе xml entities.

Deleted
()
Ответ на: комментарий от Deleted

2 root_at_localhost

Благодарю за ответ.

попробую в дальнейшем опираться на такой ход действий.

если это случилось, то это может случиться и еще раз.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.