18.09.2012 02:31, Andrey Rahmatullin пишет: > On Mon, Sep 17, 2012 at 10:13:32PM +0400, "Артём Н." wrote: >>>>> Надо только в Build-Depends указать libsox-dev. Вручную указывать в >>>>> Depends >>>>> библиотеки потенциально опасно. >>>> Чем? >>> Возможностью написать туда не то. >> Например, что? > Туда можно написать что угодно. В том смысле, что при неверных сборочных зависимостях пакет просто не соберётся, а при неверных установочных, он может установиться только у автора?
>>>> dh_auto_build нужен не только для autotools? >>> Не только. Для scons, впрочем, он не нужен и не работает. >> А для чего, кроме autotools оно используется (любопытно, для общего >> развития)? > ls /usr/share/perl5/Debian/Debhelper/Buildsystem Понятно. >>> Какой ещё 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." Его содержимое включается в переменные с опциями сборки автоматически? >> Любопытно, разве scons не должен брать два последних параметра из окружения? > Нет конечно, scons полностью и сознательно игнорирует окружение. Это тоже > "фича". С целью? o.O >> К тому же, в случае использования флагов, компиляция сваливается... >> <<scons prefix=/usr sysconfdir=/etc FLAGS="" LINKFLAGS="-Wl,-z,relro -fPIE >> -pie >> -Wl,-z,relro -Wl,-z,now " CCFLAGS="-D_FORTIFY_SOURCE=2 -g -O2 >> -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security >> -fPIE -fstack-protector --param ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 >> -Wformat -Wformat-security -Werror=format-security " >> scons: Reading SConscript files ... >> Mkdir("build/linux2") >> Checking whether the C compiler worksno >> The C compiler is not working >> make[1]: *** [override_dh_auto_build] Ошибка 1 >> make[1]: Leaving directory `/home/artiom/Desktop/voice/rhvoice-0.3' >> make: *** [build] Ошибка 2 >> dpkg-buildpackage: ошибка: debian/rules build возвратил код ошибки 2>> > Читайте лог scons, если таковой есть. Пока что не видел. Поищу, но сомневаюсь... :-( >> И ещё... Мне приходится делать так, чтобы получать переменные: >> <<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)"? Почему переменные с флагами не устанавливаются автоматически? -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/505d4652.7080...@yandex.ru