Упаковка скомпилированной программы: список файлов не найден

Я пытаюсь упаковать уже скомпилированный набор двоичных файлов, включая doc, заголовочные файлы, примеры использования и т. Д.

Инструкция по установке исходных двоичных файлов рекомендует просто скопировать все файлы в каталог ниже /usr

Итак, я сделал следующее 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

Сейчас Я использую debuild -uc -us -sa для создания файла .deb. Я сталкиваюсь с этой ошибкой:

 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

Почему я получаю эту ошибку? Что я делаю не так?

Редактировать : debian / rules

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

export DH_VERBOSE=1

%:
        dh $@

(по умолчанию из некоторых руководств по упаковке)

Редактировать : 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

РЕДАКТИРОВАТЬ : я пытался создать файл debian/files только потому, что думал, что это может помочь. Ошибка исчезла, но debuild просто несколько раз сказал «нечего собирать» и завершил работу, вообще не создавая пакет.


Редактировать : По просьбе одного из людей, пытающихся мне помочь, я сейчас предоставляю ссылки на используемые файлы.

Оригинальные двоичные файлы можно найти здесь , , материал ниже debian, , здесь .

ПРИМЕЧАНИЕ : Эти ссылки указывают непосредственно на архивы tar.

3
задан 5 March 2014 в 19:46

2 ответа

Удалите предшествование / символ в эти /usr/tigcc/… операторы в файле установки.

кроме того, необходимо или заставить это быть opt/tigcc/… или удалить эти tigcc бит и установить их правильно интегрированный в пути стандарта FHS, в зависимости от того, что двоичные файлы компилируются для ожидания точно.

кроме того, добавьте --fail-missing как аргумент горячекатаному, как:

%:
    dh $@ --fail-missing

Это заставит сборку перестать работать, когда установленные файлы не будут включены в пакет.

0
ответ дан 5 March 2014 в 19:46

Хорошо, я предложу hackish обходное решение. Сделайте резервное копирование, затем избавьтесь от install, postinstall, preinstall. Затем в rules добавьте следующее в конце файла:

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

Затем сделайте копию всего dir, содержащего debian папка и остальная часть предварительно скомпилированных двоичных файлов, и на той попытке создать двоичные файлы при помощи debuild -b -us -uc. Я подозреваю, что это должно работать, но удостоверяться, что все пути корректны и что все операции пересылки файла продолжаются как ожидалось.


ОБНОВЛЕНИЕ:

Я играл со связанными двоичными файлами и debian dir. Я должен был скорректировать имена файлов, структуру папок и control и rules директивы.

Воспроизвести .deb, необходимо распаковать двоичный архив, распаковать debian dir в извлеченном tigcc dir, затем выполненный debuild -b -us -uc из debian папка. Помещенный оба архива во временную папку, затем:

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

Если у Вас нет некоторых недостающих зависимостей, я не вижу, почему это не работало бы.

0
ответ дан 5 March 2014 в 19:46

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

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