[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Вопросы по созданию пакета.



On Sat, Sep 22, 2012 at 04:15:43PM +0400, "Артём Н." wrote:
> >>>>> Какой ещё dh_installdirs?
> >>>>> ...
> >>>>> Какой ещё dh_autoclean?
> >>>> Вы издеваетесь? По ним man есть. 
> >>> Это не я издеваюсь, это вы тупите.
> >> Ну так просветите, раз вы такой умный. Или постоянно говорить недомолвками
> >> входит в ваш имидж?
> > Вы процитировали два куска кода и упомянули в связи с ними две тулзы, одну
> > из которых вы написали неправильно, а вторая никакого отношения к
> > процитированным кускам не имеет.
> Понял: я снова что-то перепутал (видимо, maint-guide читал невнимательно).
> dh_install_dirs вызывается в цели binary?
Да.

> >>>> 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
> Тьфу, блин. Надо будет прочитать Policy полностью.
> Так всё-таки, если я хочу их использовать, я должен всегда обрабатывать их
> самостоятельно, как в примере, или есть автоматические подстановки (например,
> для GNU системы сборки)?
Кого их?

> >>>> Любопытно, разве scons не должен брать два последних параметра из окружения?
> >>> Нет конечно, scons полностью и сознательно игнорирует окружение. Это тоже
> >>> "фича".
> >> С целью? o.O
> > Чтобы не зависеть от окружения.
> В чём смысл?
SCons does not automatically propagate the external environment used to
execute 'scons' to the commands used to build target files. This is so
that builds will be guaranteed repeatable regardless of the environment
variables set at the time scons is invoked.

> >>>> Но в 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...
> > Не понимаете, значит.
> Прочитал и въехал.
> Для debhelper >= 9 Не нужно делать это:
> "CFLAGS+=$(CPPFLAGS)
> CXXFLAGS+=$(CPPFLAGS)"
> 
> Так?
Не "для debhelper >= 9", а для того, что написано, но да.

> >>>> Короче, как сделать, чтобы было правильно?
> >>>> С флагами мне не очень понятно, запутался.
> >>> В ситуации, когда содержимое флагов надо всё равно передавать в сборочную
> >>> систему вручную, необходимо и достаточно спросить значения флагов у
> >>> dpkg-buildflags и правильно их передать куда надо.
> >> Т.е., нужно:
> >> "$(shell dpkg-buildflags --get CPPFLAGS)"?
> >> Почему переменные с флагами не устанавливаются автоматически?
> > Что значит не устанавливаются?
> Почему они не включаются в make файл. 
Какой ещё файл?

> Кстати, внезапно:
> `gcc -o build/linux2/configure_tests/conftest_0.o -c -O2-D_FORTIFY_SOURCE=2 -g
> -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security
> -DPACKAGE=\"rhvoice\" -DVERSION=\"0.3\" -I. -Is$
> cc1: error: argument to '-O' should be a non-negative integer
> scons: Configure: n`
> 
> scons действительно создаёт configure.log.
> Проблема оказалась здесь: -O2-D_FORTIFY_SOURCE=2 .
> Проблема решилась расстановкой пробелов внутри кавычек вокруг опций.
Скорее это склеивание в SConstruct кривое.

> P.S.:
> Нормально, что hardening-check пишет 'Immediate binding: no, not found!' ?
Вы его не заказывали, а по дефолту оно выключено. man dpkg-buildflags

-- 
WBR, wRAR

Attachment: signature.asc
Description: Digital signature


Reply to: