ubuntu – 如何覆盖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

相关文章

目录前言一、创建Hadoop用户二、更新apt和安装Vim编辑器三、...
原文连接:https://www.cnblogs.com/yasmi/p/5192694.html ...
电脑重启后,打开VirtualBox,发现一直用的虚拟机莫名的消失...
参见:https://blog.csdn.net/weixin_38883338/article/deta...
Ubuntu 18.04 LTS 已切换到 Netplan 来配置网络接口。Netpla...
介绍每个 Web 服务都可以通过特定的 URL 在 Internet 上访问...