On Sat, Sep 22, 2012 at 09:02:10AM +0400, "Артём Н." wrote: > >>>>> Надо только в Build-Depends указать libsox-dev. Вручную указывать в > >>>>> Depends > >>>>> библиотеки потенциально опасно. > >>>> Чем? > >>> Возможностью написать туда не то. > >> Например, что? > > Туда можно написать что угодно. > В том смысле, что при неверных сборочных зависимостях пакет просто не > соберётся, > а при неверных установочных, он может установиться только у автора? К чему вы это? Исходная мысль была о том, что не надо пытаться написать руками то, что автомат сделает лучше.
> >>> Какой ещё dh_installdirs? > >>> ... > >>> Какой ещё dh_autoclean? > >> Вы издеваетесь? По ним man есть. > > Это не я издеваюсь, это вы тупите. > Ну так просветите, раз вы такой умный. Или постоянно говорить недомолвками > входит в ваш имидж? Вы процитировали два куска кода и упомянули в связи с ними две тулзы, одну из которых вы написали неправильно, а вторая никакого отношения к процитированным кускам не имеет. > > К чему вы вообще упомянули dh_installdirs? > Вроде бы, без dh_installdirs у меня не создавались каталоги. Возможно, что я > вначале заменил цель install, а не override_dh_auto_install, а потом просто > забыл. Брр. > >>> Сборочная система, вероятно, игнорирует флаги, выставленные > >>> dpkg-buildflags (ну т.е. ясен пень она их игнорирует, вы же их не передали > >>> в scons). > >> Хм... > >> Нужно передавать так: > >> ? > >> scons prefix=/usr sysconfdir=/etc FLAGS="$(DEB_BUILD_OPTIONS)" > >> LINKFLAGS="$(LDFLAGS)" CCFLAGS="$(CPPFLAGS) $(CFLAGS)" > > В общем случае зависит от SConstruct, но зачем вы туда передаёте > > DEB_BUILD_OPTIONS? > На всякий случай... > Где-то я прочитал: "If you want to pass custom additonal options to configure, > you can set up the DEB_BUILD_OPTIONS environment variable." Нашлось http://www.cyberciti.biz/faq/rebuilding-ubuntu-debian-linux-binary-package/ и http://www.mplayerhq.hu/DOCS/HTML/zh_CN/linux.html Судя по всему, один идиот неправильно использовал DEB_BUILD_OPTIONS в своём пакете mplayer, а другой, ещё больший, прочитал его доку и решил, что она применима для любых пакетов вообще, что и написал в своей. > Его содержимое включается в переменные с опциями сборки автоматически? Нет, разумеется. Читайте: http://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules-options > >> Любопытно, разве scons не должен брать два последних параметра из > >> окружения? > > Нет конечно, scons полностью и сознательно игнорирует окружение. Это тоже > > "фича". > С целью? o.O Чтобы не зависеть от окружения. > >> И ещё... Мне приходится делать так, чтобы получать переменные: > >> <<include /usr/share/hardening-includes/hardening.make > >> > >> DESTDIR=$(CURDIR)/debian/rhvoice > >> > >> CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS) > >> CFLAGS:=$(shell dpkg-buildflags --get CFLAGS) > >> CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS) > >> LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS) > >> > >> CFLAGS+=$(HARDENING_CFLAGS) > >> LDFLAGS+=$(HARDENING_LDFLAGS)>> > > Это вы где такое взяли? hardening-includes не нужен при использовании > > dpkg-buildflags. > Понятно. HARDENING_*FLAGS тоже добавляется к CXXFLAGS автоматически? Нет. > >> Но в http://wiki.debian.org/Hardening написано, что: "Debhelper (since > >> 9.20120417, only with compat=9 and dh_auto* commands!) and cdbs (since > >> 0.4.110) > >> automatically append CPPFLAGS to CFLAGS and CXXFLAGS. The following > >> workaround > >> is not necessary anymore if the package uses debhelper (compat=9, > >> dh_auto*) or > >> cdbs (packages might require a new upload though). " > > Вы правда понимаете, о чём этот абзац? > Ну, вроде бы. Debhelper у меня в зависимостях >= 9... Не понимаете, значит. > Я предположил, что он просто устанавливает переменные окружения (а > configure и make читают их оттуда), а scons с окружением работает (я не > разбирался в scons подробно)... При использовании GNU сборки, опции > сборки передаются к make через командную строку или через окружение? Через окружение. > >> Короче, как сделать, чтобы было правильно? > >> С флагами мне не очень понятно, запутался. > > В ситуации, когда содержимое флагов надо всё равно передавать в сборочную > > систему вручную, необходимо и достаточно спросить значения флагов у > > dpkg-buildflags и правильно их передать куда надо. > Т.е., нужно: > "$(shell dpkg-buildflags --get CPPFLAGS)"? > Почему переменные с флагами не устанавливаются автоматически? Что значит не устанавливаются? -- WBR, wRAR
signature.asc
Description: Digital signature