Как переопределить dpkg-buildflags CFLAGS?

я получил пакет с:

$ apt-get source <pkg-name>

и теперь я пытаюсь построить его с:

$ dpkg-buildpackage -uc -us -j8

в начале вывода указывается:

dpkg-buildpackage: export CFLAGS from dpkg-buildflags (origin: vendor): -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security
dpkg-buildpackage: export CPPFLAGS from dpkg-buildflags (origin: vendor): -D_FORTIFY_SOURCE=2
dpkg-buildpackage: export CXXFLAGS from dpkg-buildflags (origin: vendor): -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security
dpkg-buildpackage: export FFLAGS from dpkg-buildflags (origin: vendor): -g -O2
dpkg-buildpackage: export LDFLAGS from dpkg-buildflags (origin: vendor): -Wl,-Bsymbolic-functions -Wl,-z,relro

Я хотел бы переопределить эти CFLAGS (также, LDFLAGS). Я попытался экспортировать CFLAGS envvar, так же, как мы делаем с простой настройкой, безрезультатно. Как я могу переопределить эти значения?

1 ответов


пакет, который вы пытаетесь перестроить, устанавливает (читай: переопределяет) флаги *с закалкой-флаги специфики, полученные из dpkg-buildflags.

если вам нужно переопределить эти флаги для ваших собственных целей, вы должны сказать dpkg-buildflags чтобы предоставить флаги, которые вы хотите, а не (упрочнение) по умолчанию. глядя на man dpkg-buildflags, вы найдете раздел о переменных среды, esp. см.DEB_flag_SET и DEB_flag_APPEND

так что это должно сделать трюк (заполните свой собственный * Флаги):

$ DEB_CPPFLAGS_SET="-I/foo/bar/baz" DEB_CFLAGS_SET="-g -O6" DEB_LDFLAGS_SET="-L/fruzzel/frazzel/" dpkg-buildpackage -uc -us -j8 -rfakeroot