сборка пакета Debian с нестандартными опциями

С 'чтением' команды можно собрать информацию от входа и сохранить его в переменной/файле, которую можно впоследствии передать до другого сценария.

С-s опцией это даже маскирует ввод данных пользователем при вводе: большой для ввода, например, паролей.

6
12.10.2015, 00:12
2 ответа

Хорошо, взгляните на gnucash-2.6.x / debian / rules .

Найдите строку с override_dh_auto_configure: (строка 23 в моем случае) и добавьте свои переопределения под ней.

В вашем случае - enable-aqbanking уже существует (по крайней мере, для wheezy-backports), поэтому просто удалите его.

Дополнительную информацию можно найти на странице руководства .

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

5
27.01.2020, 20:24

gnucash-2.6.9/packaging/gnucash.spec и gnucash-2.6.9/packaging/gnucash.spec.in не являются частью упаковки Debian. Это собственные файлы спецификаций проекта (второй является шаблоном) для упаковки gnucash в виде RPM.

gnucash-2.6.9/configure.ac также является частью upstream. Это файл Autoconf, который используется для генерации gnucash-2.6.9/configure. Этот autoconf.ac файл используется упаковкой Debian, но не является её частью.

Вся упаковка Debian находится в подкаталоге debian/.

Фактический сценарий сборки (который на самом деле является просто Makefile) находится в debian/rules, так что это всё, о чём вам нужно здесь беспокоиться. Большинство пакетов Debian используют программу debhelper . Этот пакет использует более новый и современный вариант dh, который является частью debhelper.

Вкратце, способ работы "традиционного" debhelper заключается в том, что он предлагает набор стандартных команд, которые можно использовать для сборки пакета, вместо того, чтобы делать все с нуля. dh - это более новый вариант, который имеет значения по умолчанию для каждого шага stahdard debhelper, которые при необходимости можно переопределить. Это связано с тем, что говорит A.P. В этом случае файл правил переопределяет шаг configure по умолчанию. Следовательно, вам нужно изменить эту цель override_dh_auto_configure, чтобы изменить то, что делает шаг configure. Вот цель override_dh_auto_configure:

override_dh_auto_configure:
        dh_auto_configure -- \
                --libdir=/usr/lib/$(DEB_HOST_MULTIARCH)/gnucash \
                --infodir=/noinst \
                --mandir=/noinst \
                --docdir=/noinst \
                --disable-static \
                --enable-dbi \
                --enable-ofx \
                --enable-aqbanking \
                --enable-locale-specific-tax \
                --enable-python

Итак, это переопределяет цель dh_auto_configure debhelper. Посмотрите man dh_auto_configure для получения дополнительной информации об этой цели.

В этом случае dh_auto_configure по умолчанию просто запускает configure без аргументов, т.е. ./configure. Переопределение просто запускает configure с заданными аргументами/опцией. Поэтому здесь нужно удалить аргумент/опцию --enable-aqbanking.

Вот несколько слайдов о dh: Not Your Grandpa's Debhelper. В сети есть и другая информация.

5
27.01.2020, 20:24

Теги

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