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?

> >> 1. Что делать с watch файлом? Как приспособить uscan к git?
> > К git никак. Да и какой watch-файл, если вы версию каким-то жутким
> > скриптом на основании содержимого исходников формировали.
> >> 2. Lintian выдаёт:
> >> W: rhvoice: hardening-no-relro usr/bin/RHVoice-client
> >> W: rhvoice: hardening-no-fortify-functions usr/bin/RHVoice-client
> >> W: rhvoice: hardening-no-relro usr/lib/libRHVoice.so.0.0.0
> >> W: rhvoice: hardening-no-fortify-functions usr/lib/libRHVoice.so.0.0.0
> > Сборочная система, вероятно, игнорирует флаги, выставленные
> > dpkg-buildflags (ну т.е. ясен пень она их игнорирует, вы же их не передали
> > в scons).
> Хм...
> Нужно передавать так:
> ?
> scons prefix=/usr sysconfdir=/etc FLAGS="$(DEB_BUILD_OPTIONS)"
> LINKFLAGS="$(LDFLAGS)" CCFLAGS="$(CPPFLAGS) $(CFLAGS)"
В общем случае зависит от SConstruct, но зачем вы туда передаёте
DEB_BUILD_OPTIONS?

> Любопытно, разве scons не должен брать два последних параметра из окружения?
Нет конечно, scons полностью и сознательно игнорирует окружение. Это тоже
"фича".

> К тому же, в случае использования флагов, компиляция сваливается...
> <<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.

> Но в 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). "
Вы правда понимаете, о чём этот абзац?

> Короче, как сделать, чтобы было правильно?
> С флагами мне не очень понятно, запутался.
В ситуации, когда содержимое флагов надо всё равно передавать в сборочную
систему вручную, необходимо и достаточно спросить значения флагов у
dpkg-buildflags и правильно их передать куда надо.

> > И, кстати, вы lintian вызываете для .changes или только для .deb?
> Вызываю в каталоге пакета без указания цели. Это только для .deb? А чем
> отличается для .changes?
       $ lintian
                  Assuming debian/changelog exists, look for a changes
                  file for the source in the parent dir.
Значит, видимо, правильно.

-- 
WBR, wRAR

Attachment: signature.asc
Description: Digital signature

Ответить