Erro ao instalar um pacote: “tentando sobrescrever diretório / usr / share / pixmaps”

1

Estou tentando instalar um pacote de um PPA que adicionei. (Sim, eu sou o autor do pacote, se isso ajudar de alguma forma.)

A execução de um comando de instalação simples gera o seguinte:

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)

Eu enfatizei o erro ... parece que algo está tentando sobrescrever /usr/share/pixmaps por algum motivo estranho.

O que poderia causar tal erro?

    
por Nathan Osman 14.12.2010 / 08:10

2 respostas

3

Navegando no pacote .deb usando o File Roller e notou /usr/share/pixmaps não é um diretório, é um arquivo de imagem ( /usr/share/applications também não é um diretório como deveria ser).

Eu acredito que o problema é com o seu Makefile , especificamente estas duas linhas:

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

Nenhum dos diretórios que você está tentando copiar existe, portanto, cp apenas cria novos arquivos $(DESTDIR)/usr/share/pixmaps e $(DESTDIR)/usr/share/applications

Para corrigir isso, modifique seu 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
    
por Isaiah 14.12.2010 / 20:27
0

Digite o seguinte no terminal

sudo dpkg -i --force-overwrite /var/cache/apt/archives/opentracks_0.0.5-1_amd64.deb
    
por karthick87 14.12.2010 / 08:53