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

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



16.09.2012 23:47, Andrey Rahmatullin пишет:
> On Sun, Sep 16, 2012 at 10:33:14PM +0400, "Артём Н." wrote:
>>> Надо только в Build-Depends указать libsox-dev. Вручную указывать в Depends
>>> библиотеки потенциально опасно.
>> Чем?
> Возможностью написать туда не то.
Например, что?

>> dh_auto_build нужен не только для autotools?
> Не только. Для scons, впрочем, он не нужен и не работает.
А для чего, кроме autotools оно используется (любопытно, для общего развития)?

> Какой ещё dh_installdirs?
> ...
> Какой ещё dh_autoclean?
Вы издеваетесь? По ним man есть. Только dh_auto_clean называется. Я перепутал.

>> 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)"

Любопытно, разве 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>>

И ещё... Мне приходится делать так, чтобы получать переменные:
<<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)>>

Но в 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). "

Он добавляет флаги только при использовании dh_auto_build?

Короче, как сделать, чтобы было правильно?
С флагами мне не очень понятно, запутался.

>> W: rhvoice: new-package-should-close-itp-bug
> Вы знаете, что у тегов lintian есть описания?
Да. Я вызываю его, как lintian -i -I --show-overrides|lintian-info|less .
Я их читаю. Но там много, а с ITP багом я что-то сразу не понял.
Буду смотреть секцию 5.1 руководства...

> И, кстати, вы lintian вызываете для .changes или только для .deb?
Вызываю в каталоге пакета без указания цели. Это только для .deb? А чем
отличается для .changes?


Reply to: