[英]How to override 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,就像我們使用plain configure一樣,無濟於事。 我該如何覆蓋這些值?
您嘗試重建的軟件包,設置(讀取:覆蓋)* FLAGS,其中包含從dpkg-buildflags
檢索到的強化特定標志。
如果你需要為自己的目的覆蓋這些標志,你應該告訴dpkg-buildflags
提供你想要的標志,而不是(強化)默認值。 看看man dpkg-buildflags
,你會發現有關環境變量的部分,尤其是 請參閱DEB_flag_SET
和DEB_flag_APPEND
所以這應該做的伎倆(填寫你自己的* FLAGS):
$ DEB_CPPFLAGS_SET="-I/foo/bar/baz" DEB_CFLAGS_SET="-g -O6" DEB_LDFLAGS_SET="-L/fruzzel/frazzel/" dpkg-buildpackage -uc -us -j8 -rfakeroot
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.