Как переопределить 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