linuxdeepin / developer-center

Deepin developer center, provide developer wiki and community forum.
452 stars 73 forks source link

部分项目编译参数有拼写错误: D_FORTITY_SOURCE -> D_FORTIFY_SOURCE 且不应在 cmake 设置 #4292

Open wineee opened 1 year ago

wineee commented 1 year ago

SUMMARY | 问题概要

根本不存在 D_FORTITY_SOURCE 这个参数,正确写法是 D_FORTIFY_SOURCE https://www.redhat.com/en/blog/security-technologies-fortifysource

upd:

此参数建议有打包者配置而非 cmake: https://github.com/orgs/linuxdeepin/discussions/4301

SOFTWARE/OS VERSIONS | 软件/系统版本信息

master

PRE-REQUIREMENT | 预置条件

No response

STEPS TO REPRODUCE | 复现步骤

none

OBSERVED RESULT | 观察到的结果

No response

EXPECTED RESULT | 期望的结果

No response

ADDITIONAL INFORMATION | 额外补充

No response

Decodetalkers commented 1 year ago

改了后会产生巨大多的编译警告诶。。干脆去掉吧

wineee commented 1 year ago

fority 用于检查是否存在缓冲区溢出的错误, 应该优先规范代码来符合检查, 这个参数打包也常用

Decodetalkers commented 1 year ago

fority 用于检查是否存在缓冲区溢出的错误, 应该优先规范代码来符合检查, 这个参数打包也常用

image 现在会变成这个样子。我想没有用对

wineee commented 1 year ago

这个和 @xzl01 遇到的问题一样了,我们的 glibc 没有打 patch

wineee commented 1 year ago

https://github.com/deepin-community/glibc/pull/2 已经合并了

BLumia commented 1 year ago

这个参数(以及一些别的类如优化级别的参数)不应该在 CMakeLists 里硬编码,应当由发行版提供默认的参数供所有包使用,若需覆盖时应当修改 debian/rules 进行覆盖而不是在 CMakeLists 中覆盖。