Рабочая версия checkinstall

Добавление к ответу egmont, потому что вопрос был отредактирован ...

Используйте --complement, если вы хотите удалить первое поле с -f1.

echo "xxxx/x/xx/xx/xxxx/x/yyyyy"|rev|cut -d/ -f1 --complement|rev
xxxx/x/xx/xx/xxxx/x

echo "xxxx/x/xx/xx/xxxx/x/yyyyy"|rev|cut -d/ -f1|rev
yyyyy

Также , вопрос не совсем ясен о том, что должно происходить с входами, не содержащими никаких косых черт. xxxx => xxxx или xxxx => - дополнение

0
задан 13 March 2018 в 19:42

3 ответа

Оказывается, что checkinstall действительно работает. Проблема заключалась в проекте, который я пытался установить. checkinstall (например, dh_make) устанавливает DESTDIR=some/temp/location во время шага make install.

Этот проект использует qmake, а Makefile, сгенерированный qmake, не понимает директиву DESTDIR. Вместо этого требовалось INSTALL_ROOT.

Я использовал dh_make и жестко закодированный override_dh_auto_install для установки INSTALL_ROOT вручную вместо DESTDIR.

Команда dh_make генерирует файлы правил, необходимые для настраивать, создавать, устанавливать и упаковывать проект.

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

#!/usr/bin/make -f
%:
    dh $@  --with autotools-dev --parallel
override_dh_auto_configure:
    ./configure --prefix=/opt/sim-qt --opensource --confirm-license --skip=qtcharts --skip=qtvirtualkeyboard --skip=qtdatavis3d --skip=qtwebengine --silent --nomake=examples --nomake=tests QMAKE_ARGS+=INSTALL_ROOL=/opt/sim-qt QMAKE_ARGS+=DESTDIR=

override_dh_auto_install:
    dh_auto_install -Smakefile -- INSTALL_ROOT=$(CURDIR)/debian/sim-qt/

Затем настройте, сборка и пакет с одной командой:

fakeroot dpkg-buildpackage -nc -j10 -us -uc
0
ответ дан 22 May 2018 в 12:35

Оказывается, что checkinstall действительно работает. Проблема заключалась в проекте, который я пытался установить. checkinstall (например, dh_make) устанавливает DESTDIR=some/temp/location во время шага make install.

Этот проект использует qmake, а Makefile, сгенерированный qmake, не понимает директиву DESTDIR. Вместо этого требовалось INSTALL_ROOT.

Я использовал dh_make и жестко закодированный override_dh_auto_install для установки INSTALL_ROOT вручную вместо DESTDIR.

Команда dh_make генерирует файлы правил, необходимые для настраивать, создавать, устанавливать и упаковывать проект.

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

#!/usr/bin/make -f %: dh $@ --with autotools-dev --parallel override_dh_auto_configure: ./configure --prefix=/opt/sim-qt --opensource --confirm-license --skip=qtcharts --skip=qtvirtualkeyboard --skip=qtdatavis3d --skip=qtwebengine --silent --nomake=examples --nomake=tests QMAKE_ARGS+=INSTALL_ROOL=/opt/sim-qt QMAKE_ARGS+=DESTDIR= override_dh_auto_install: dh_auto_install -Smakefile -- INSTALL_ROOT=$(CURDIR)/debian/sim-qt/

Затем настройте, сборка и пакет с одной командой:

fakeroot dpkg-buildpackage -nc -j10 -us -uc
0
ответ дан 17 July 2018 в 18:55

Оказывается, что checkinstall действительно работает. Проблема заключалась в проекте, который я пытался установить. checkinstall (например, dh_make) устанавливает DESTDIR=some/temp/location во время шага make install.

Этот проект использует qmake, а Makefile, сгенерированный qmake, не понимает директиву DESTDIR. Вместо этого требовалось INSTALL_ROOT.

Я использовал dh_make и жестко закодированный override_dh_auto_install для установки INSTALL_ROOT вручную вместо DESTDIR.

Команда dh_make генерирует файлы правил, необходимые для настраивать, создавать, устанавливать и упаковывать проект.

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

#!/usr/bin/make -f %: dh $@ --with autotools-dev --parallel override_dh_auto_configure: ./configure --prefix=/opt/sim-qt --opensource --confirm-license --skip=qtcharts --skip=qtvirtualkeyboard --skip=qtdatavis3d --skip=qtwebengine --silent --nomake=examples --nomake=tests QMAKE_ARGS+=INSTALL_ROOL=/opt/sim-qt QMAKE_ARGS+=DESTDIR= override_dh_auto_install: dh_auto_install -Smakefile -- INSTALL_ROOT=$(CURDIR)/debian/sim-qt/

Затем настройте, сборка и пакет с одной командой:

fakeroot dpkg-buildpackage -nc -j10 -us -uc
0
ответ дан 23 July 2018 в 19:42

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

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