Я пытаюсь упаковать уже скомпилированный набор двоичных файлов, включая 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.
Удалите предшествование /
символ в эти /usr/tigcc/…
операторы в файле установки.
кроме того, необходимо или заставить это быть opt/tigcc/…
или удалить эти tigcc
бит и установить их правильно интегрированный в пути стандарта FHS, в зависимости от того, что двоичные файлы компилируются для ожидания точно.
кроме того, добавьте --fail-missing
как аргумент горячекатаному, как:
%: dh $@ --fail-missing
Это заставит сборку перестать работать, когда установленные файлы не будут включены в пакет.
Хорошо, я предложу 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
Если у Вас нет некоторых недостающих зависимостей, я не вижу, почему это не работало бы.