Ошибка установки пакета: & ldquo; попытка перезаписать каталог / usr / share / pixmaps & rdquo;

Я пытаюсь установить пакет из PPA, который я добавил. (Да, я являюсь автором пакета, если это поможет каким-либо образом.)

Выполнение простой команды установки приводит к следующему:

xxxxx@xxxxx:~$ sudo apt-get install opentracks
[sudo] password for xxxxx: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  opentracks
1 upgraded, 0 newly installed, 0 to remove
Need to get 1,834kB of archives.
After this operation, 184kB of additional disk space will be used.
(Reading database ... 218827 files and directories currently installed.)
Preparing to replace opentracks 0.0.2-1
    (using .../opentracks_0.0.5-1_amd64.deb) ...
Unpacking replacement opentracks ...
dpkg: error processing /var/cache/apt/archives/opentracks_0.0.5-1_amd64.deb
    (--unpack):
trying to overwrite directory '/usr/share/pixmaps' in package
    mysql-query-browser 5.0r14+openSUSE-2.1 with nondirectory
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Errors were encountered while processing:
 /var/cache/apt/archives/opentracks_0.0.5-1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Я подчеркнул ошибку .. Кажется, что-то пытается переписать /usr/share/pixmaps по какой-то странной причине.

Что может вызвать такую ​​ошибку?

1
задан 9 July 2012 в 17:11

2 ответа

Введите следующее в терминале,

sudo dpkg -i --force-overwrite /var/cache/apt/archives/opentracks_0.0.5-1_amd64.deb
0
ответ дан 9 July 2012 в 17:11

Просматривая пакет .deb с помощью File Roller, вы заметили, что /usr/share/pixmaps - это не каталог, это файл изображения (/usr/share/applications также не каталог, как должно быть).

alt text

Я полагаю, что проблема в вашем Makefile , а именно в этих двух строках:

cp -r images/* $(DESTDIR)/usr/share/pixmaps
cp other/opentracks.desktop $(DESTDIR)/usr/share/applications

Ни один из каталогов вы пытаетесь скопировать, чтобы существовать, поэтому cp просто создает новые файлы $(DESTDIR)/usr/share/pixmaps и $(DESTDIR)/usr/share/applications

Чтобы исправить это, измените ваш Makefile:

mkdir -p $(DESTDIR)/usr/share/pixmaps
mkdir -p $(DESTDIR)/usr/share/applications
cp -r images/* $(DESTDIR)/usr/share/pixmaps
cp other/opentracks.desktop $(DESTDIR)/usr/share/applications
0
ответ дан 9 July 2012 в 17:11

Другие вопросы по тегам:

Похожие вопросы: