Intereting Posts
Не удается включить сеть после обновления системы CentOS 6.3 найти файл из папки с большим количеством подпапок Легкая альтернатива Apache Каковы преимущества использования OmniOS, чем SmartOS или OpenIndiana? Изменение экрана монитора по умолчанию в GRUB 2 Выйдя из цикла, вернитесь к началу цикла с правильным значением переменной как создать пользовательский сеанс рабочего стола для x2go Является ли свободное пространство для размонтированных разделов и жестких дисков, используемых в фоновом режиме, когда ОС требуется некоторое пространство? linux: сенсорная дата точность Труба назначает переменную Undeletable directory Печать столбцов данных, которые Как удалить / изменить сообщение, отображаемое при открытии терминала? Какой дистрибутив Linux поддерживает GNOME 3 по умолчанию? Невозможно использовать Wi-Fi-карту после помещения ее в режим мониторинга

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

Я хотел бы создать пакет Debian из исходного кода, используя dpkg-buildpackage . Я загрузил источник пакета:

 apt-get -t wheezy-backports source gnucash 

Внутри файла gnucash-2.6.9/configure я вижу, что есть опции, которые могут быть выбраны / отменены при создании пакета.

Разработчик Debian уже принял решение для меня. Но если я хочу отключить некоторые параметры, как мне это сделать?

Допустим, я хочу скомпилировать пакет без --enable-aqbanking . Этот параметр отображается в нескольких файлах конфигурации:

 $ grep -rl enable-aqbanking gnucash-2.6.9/ gnucash-2.6.9/packaging/gnucash.spec gnucash-2.6.9/packaging/gnucash.spec.in gnucash-2.6.9/configure.ac gnucash-2.6.9/configure 

Какие из них следует изменить?

Каков правильный способ сделать это?

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

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

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

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

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

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

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

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

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

Вкратце, способ «традиционного» debhelper заключается в том, чтобы предложить набор стандартных команд, которые можно использовать для сборки пакета, вместо того, чтобы делать все с нуля. dh – это более новый вариант, который имеет значения по умолчанию для каждого шага debhelper , который при необходимости может быть переопределен. Какая связь с тем, что говорит AP. В этом случае файл правил переопределяет шаг настройки по умолчанию. Следовательно. вам нужно изменить этот параметр 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 / option здесь.

Вот несколько слайдов о дх: Недолгое дедушке Дедушки . В сети есть другая информация.