Summary: | kdebase-kdm 3.5.13.1-alt0.M60T.1 ошибка установки | ||
---|---|---|---|
Product: | Branch t6 | Reporter: | Sergey Y. Afonin <asy> |
Component: | kdebase-kdm | Assignee: | rom_as <rom_as> |
Status: | CLOSED FIXED | QA Contact: | QA t6 <qa-t6> |
Severity: | normal | ||
Priority: | P3 | CC: | cas, ldv, led, mike, rom_as, zerg |
Version: | не указана | ||
Hardware: | all | ||
OS: | Linux |
Description
Sergey Y. Afonin
2012-11-06 14:43:20 MSK
Assigned To, что-то, не на того выставился, на сколько понимаю... (В ответ на комментарий №0)
> Вылезло при попытке обновить с 3.5.13-alt4.M60T.1:
>
> 63: kdebase-kdm error: unpacking of archive failed on file
> /etc/X11/kdm: cpio: rename failed - Is a directory
В рассылках обсуждалось!
Нужно просто удалить текущий /etc/X11/kdm, вместо которого сейчас ставится ссылка на /usr/share/kde/config/kdm, где всё должно и лежит сейчас.
После удаления всё обновится корректно.
Решение вида mv /etc/X11/kdm /etc/X11/kdm.bak apt-get install kdebase-kdm --reinstall очевидно, но это, всё же, баг. :-) Проблема решаема, в devel@ обсуждалось несколько раз. Я, в такую ситуацию, тоже попадал, c zyGrib: %triggerpostun -- zygrib < 5.0.6-alt2 # %_libdir/%binname/data must be symlink since 5.0.6-alt2 if [ -d %_libdir/%binname/data ] ; then if ! [ -L %_libdir/%binname/data ] ; then rm -rf %_libdir/%binname/data cd %{_libdir}/%{binname} ln -s %{_datadir}/%{binname}/data data fi fi Ещё %post %post # if "data" missed then this first installation if ! [ -d %_libdir/%binname/data ] ; then cd %{_libdir}/%{binname} ln -s %{_datadir}/%{binname}/data data fi И в %files пришлось писать %ghost %_libdir/%binname/data Не так давно cas@ на эту же тему наступал, кажется, может быть, у него элегантнее... Сейчас позову его сюда, может скажет что. (В ответ на комментарий №4) > %post > # if "data" missed then this first installation > if ! [ -d %_libdir/%binname/data ] ; then > cd %{_libdir}/%{binname} > ln -s %{_datadir}/%{binname}/data data > fi Тогда уж проще: %pre kdm test -d /etc/X11/kdm && rm -fr /etc/X11/kdm "-d" не даёт разницы между каталогом и симлинком на каталог. rm -fr /etc/X11/kdm в любом случае приведёт к нужному результату ? А, вообще, хорошо ли конфиг убирать в /usr/share/kde/config/kdm ? Там никогда ничего руками править не нужно ? Может, правильнее, как раз, наоборот, симлинк в /usr/share/kde/config/ ? (В ответ на комментарий №6) > "-d" не даёт разницы между каталогом и симлинком на каталог. rm -fr > /etc/X11/kdm в любом случае приведёт к нужному результату ? Не вопрос: test ! -L /etc/X11/kdm && rm -rf /etc/X11/kdm Конечно приведёт и даже нужно поскольку в новом выключается tsak, который по умолчанию включен но деблокирование там не работает, точнее я его таки обошёл. > А, вообще, хорошо ли конфиг убирать в /usr/share/kde/config/kdm ? Там никогда > ничего руками править не нужно ? Может, правильнее, как раз, наоборот, симлинк > в /usr/share/kde/config/ ? Неправиьно, поскольку системно /usr/share/kde/config/kdm есть всегда, является основным для горсти утилей связанных с KDM, из-за чего и эти перетрубации, а так-же эта директория лежит в корневом пакете, а не в *-kdm. Следовательно переброс ссылки назад породит странные зависимсти базового пакета на *-kdm. А "-L" не делает разницы между симлинком на файл или на каталог. ;-) Так что правильно посредством -d выяснить, файл это, или каталог, а, потом, посредством -L, симлинк он, или настоящий. (В ответ на комментарий №8) > А "-L" не делает разницы между симлинком на файл или на каталог. ;-) Это уже всёравно поскольку будет там или ссылка или директория, для чего "-L" достаточно. (In reply to comment #2) > Нужно просто удалить текущий /etc/X11/kdm, вместо которого сейчас ставится > ссылка на /usr/share/kde/config/kdm, где всё должно и лежит сейчас. > После удаления всё обновится корректно. 1) не надо так делать, rpm4 крайне плохо относится к прыжкам каталог/симлинк; 2) конфиг в /usr/share -- нарушение FHS. (В ответ на комментарий №10) > (In reply to comment #2) > > Нужно просто удалить текущий /etc/X11/kdm, вместо которого сейчас ставится > > ссылка на /usr/share/kde/config/kdm, где всё должно и лежит сейчас. > > После удаления всё обновится корректно. > 1) не надо так делать, rpm4 крайне плохо относится к прыжкам каталог/симлинк; > 2) конфиг в /usr/share -- нарушение FHS. Скажи это разработчикам, начиная с KDE3. Лично меня текущая ситуация устраивает. Если хочешь-можешь сделать правильнее — делай. Я и это не очень то хотел делать, когда попросили сделать kdmtheme рабочим. Надо звать Турчина... :-) Может скажет что... Действительно, в kde4 есть два каталога с одноимёнными, и, при этом, разными файлами: /etc/X11/kdm4 и /usr/share/kde4/config/kdm У меня использовался /etc/X11/kdm4 . /usr/share/kde4/config/kdm я вроде бы не паковал. Не помню уже. Ой, отвечал про kde3 , а не про kde4 :-) /usr/share/kde4/config/kdm -- балласт, уберу. Исправлено. |