Como você força o apt-get source a obter o pacote solicitado

Como você força o apt-get source a obter o pacote solicitado
$ apt-get source libtiff4
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Picking 'tiff3' as source package instead of 'libtiff4'
E: Unable to find a source package for tiff3

Se eu adicionar -f, isso não altera o comportamento. O que está causando isso e como faço para forçá-lo a baixar o pacote que desejo?

Com base em uma pesquisa, não consigo nem dizer de onde está tirando a ideia do tiff3

$ apt-cache search libtiff
libtiff-doc - TIFF manipulation and conversion documentation
libtiff-tools - TIFF manipulation and conversion tools
libtiff5 - Tag Image File Format (TIFF) library
libtiff5-alt-dev - Tag Image File Format library (TIFF), alternative development files
libtiff5-dev - Tag Image File Format library (TIFF), development files
libtiffxx5 - Tag Image File Format (TIFF) library -- C++ interface
gem-plugin-tiff - Graphics Environment for Multimedia - TIFF support
libtiff-opengl - TIFF manipulation and conversion tools
libtiff4 - Tag Image File Format (TIFF) library (old version)
libtiff4-dev - Tag Image File Format (TIFF) library (old version), development files
libtiffxx0c2 - Tag Image File Format (TIFF) library (old version) -- C++ interface
pngtools - series of tools for PNG (Portable Network Graphics) images
python-libtiff - wrapper to the libtiff library to Python using ctypes

Responder1

Não existe um relacionamento 1 para 1 entre pacotes binários e seus pacotes fonte correspondentes. As razões para isso incluem:

  • Em alguns casos, vários pacotes binários serão derivados de uma única fonte
  • Os nomes serão ligeiramente diferentes para refletir o versionamento do pacote binário
  • Alguns pacotes não incluem binários diretamente, mas apenas especificam pacotes de dependências que devem ser instalados.

Não consigo reproduzir o seu problema específico, talvez porque tenha uma versão mais recente do Ubuntu instalada. Abaixo está um passo a passo de um problema semelhante com uma biblioteca semelhante (observe que tudo no meu exemplo já está instalado, mas as informações exibidas sobre mapeamento e dependências ainda são relevantes). Isso deve dar algumas boas dicas sobre como lidar com esse tipo de problema.

Instalei com sucesso um pacote chamado libjpeg8:

$ sudo apt-get install libjpeg8
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libjpeg8 is already the newest version.

Tento obter a fonte, mas ela é remapeada para algo com o sufixo -empty.

$ apt-get source libjpeg8
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Picking 'libjpeg8-empty' as source package instead of 'libjpeg8'
Skipping unpack of already unpacked source in libjpeg8-empty-8c

Listo as dependências do pacote desejado e observo libjpeg-turbo8:

$ apt-cache depends libjpeg8
libjpeg8
  Depends: libjpeg-turbo8
  Replaces: libjpeg8:i386
  Breaks: libjpeg8:i386

Eu instalo a fonte para libjpeg-turbo8e obtenho a fonte que precisava:

$ apt-get source libjpeg-turbo8
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Picking 'libjpeg-turbo' as source package instead of 'libjpeg-turbo8'
Skipping unpack of already unpacked source in libjpeg-turbo-1.3.0

Responder2

Certifique-se de ter a verificação de entrada do "Código-fonte" marcada em "Software e atualizações".

captura de tela de software e atualizações

Caso contrário, marque-o e abra um terminal e:

sudo apt-get update

(você provavelmente não precisará fazer isso, se receber uma caixa de diálogo solicitando que você recarregue a lista de pacotes depois de marcar se não estiver) e então faça:

apt-get source libtiff4-dev

para buscar o código fonte da libtiff4.

informação relacionada