Programa pré-compilado de empacotamento: lista de arquivos não encontrada

3

Estou tentando empacotar um conjunto já compilado de binários, incluindo doc, arquivos de cabeçalho, exemplos de uso, etc ...

A instrução de instalação dos binários originais recomenda apenas copiar todos os arquivos para um diretório abaixo de /usr

Então, fiz o seguinte debian/install :

bin/* /usr/tigcc/bin
doc/* /usr/tigcc/doc
examples/* /usr/tigcc/examples
include/* /usr/tigcc/include
lib/* /usr/tigcc/lib
projects/* /usr/tigcc/projects

Agora estou usando debuild -uc -us -sa para gerar o arquivo .deb. Eu sou confrontado com esse erro:

 dpkg-genchanges -sa >../tigcc_0.95-0ubuntu2_amd64.changes
dpkg-genchanges: Fehler: Dateienliste-Datei kann nicht gelesen werden: Datei oder Verzeichnis nicht gefunden
#translation: error: couldn't read file list file: File or directory not found

Por que estou recebendo esse erro? O que estou fazendo errado?

Editar : debian / rules

#!/usr/bin/make -f
# -*- makefile -*-

export DH_VERBOSE=1

%:
        dh $@

(padrão de algum guia de embalagem)

Editar : ls -lhR debian

debian:
total 36K
-rw-rw-r-- 1 sebastian sebastian  147 Feb 22 15:45 changelog
-rw-rw-r-- 1 sebastian sebastian    2 Feb 21 23:46 compat
-rw-rw-r-- 1 sebastian sebastian  454 Feb 23 12:43 control
-rw-rw-r-- 1 sebastian sebastian 1.2K Feb 23 12:19 copyright
-rw-rw-r-- 1 sebastian sebastian  148 Feb 26 21:39 install
-rw-rw-r-- 1 sebastian sebastian  102 Feb 23 12:13 postinst
-rw-rw-r-- 1 sebastian sebastian   79 Feb 23 12:13 preinst
-rwxr-xr-x 1 sebastian sebastian   85 Feb 26 21:39 rules
drwxrwxr-x 2 sebastian sebastian 4.0K Feb 21 23:11 source

debian/source:
total 4.0K
-rw-rw-r-- 1 sebastian sebastian 12 Feb 21 23:11 format

EDIT : Eu tentei criar um arquivo debian/files , só porque eu pensei que poderia ajudar. O erro desapareceu, mas debuild apenas disse "nada para construir" algumas vezes e terminou sem gerar um pacote.

Editar : seguindo o pedido de uma das pessoas que estão tentando me ajudar, estou fornecendo agora links para os arquivos usados.

Os binários originais podem ser encontrados aqui , as coisas abaixo de debian aqui .

OBSERVAÇÃO : esses links apontam diretamente para arquivos tar.

    
por s3lph 22.02.2014 / 15:56

2 respostas

1

Remova o caractere / anterior nas instruções /usr/tigcc/… no arquivo de instalação.

Além disso, você deve fazer com que seja opt/tigcc/… ou remover o tigcc bit e instalá-los corretamente integrados nos caminhos padrão do FHS, dependendo do que os binários são compilados para esperar exatamente.

Além disso, adicione --fail-missing como um argumento para dh, como:

%:
    dh $@ --fail-missing

Isso fará com que a construção falhe quando os arquivos instalados não estiverem incluídos no pacote.

    
por dobey 26.02.2014 / 21:35
0

OK, vou sugerir uma solução alternativa hackeada. Faça um backup e, em seguida, elimine install , postinstall , preinstall . Em seguida, em rules adicione o seguinte no final do arquivo:

override_dh_auto_install:
dh_auto_install
    mkdir debian/packagename
    mv bin/* debian/packagename/usr/tigcc/bin
    mv doc/* debian/packagename/usr/tigcc/doc
    mv examples/* debian/packagename/usr/tigcc/examples
    mv include/* debian/packagename/usr/tigcc/include
    mv lib/* debian/packagename/usr/tigcc/lib
    mv projects/* debian/packagename/usr/tigcc/projects

Em seguida, faça uma cópia de todo o diretório contendo a pasta debian e o restante dos binários pré-compilados, e tente construir binários usando debuild -b -us -uc . Eu suspeito que isso deva funcionar, mas tenha certeza de que todos os caminhos estão corretos e que todas as operações de movimentação de arquivos procedam como esperado.

UPDATE :

Eu joguei com os binários vinculados e debian dir. Eu tive que ajustar os nomes dos arquivos, a estrutura de pastas e as diretivas control e rules .

Para reproduzir o .deb , você precisa descompactar o arquivo binário, descompactar o diretório debian dentro do tigcc dir extraído e executar debuild -b -us -uc dentro da pasta debian . Coloque os dois arquivos em uma pasta temporária e, em seguida:

bzip2 -d -c "tigcc-0.95_orig.tar.bz2" | tar -xf - 
cd tigcc/
tar -zxf  "../tigcc-debian.tar.gz"
cd debian/
debuild -b -us -uc
ls -l ../../*deb

A menos que você tenha algumas dependências ausentes, não vejo por que isso não funcionaria.

    
por landroni 05.03.2014 / 09:01

Tags

___ answer459963 ___

Supõe-se que já exista um indicador, mas não funciona.

link

Enquanto isso, use Configurações do sistema → Impressoras → printer_name → Visualizar fila de impressão.

    
___ qstntxt ___

Existe um miniaplicativo de indicadores que eu posso fixar na minha barra de ferramentas, o que me permitirá ver trabalhos de impressão que estão na fila para impressão?

    
___ Executando várias conexões com a Internet simultaneamente