openSUSE:发布工程技巧
openSUSE 发布工程中使用的技巧
切换 GCC 主要版本
GCC 主要版本打包在单独的软件包中,并且可以并行安装。有一些系统库,特别是 libgcc_s1,需要由一个 GCC 版本提供。通常情况下,发行版中可用的最高 GCC 版本需要提供该库,以便使用该版本编译的程序能够正常工作。有一些宏控制着 GCC 软件包
- %gcc_version - 确定系统编译器版本
- %product_libs_gcc_ver - 确定哪个 GCC 版本创建 libgcc_s1
- %product_libs_gcc_ver_lib* - 确定哪个 GCC 软件包构建具有指定 soname 的库
为了将系统库迁移到新的编译器,建议
- 将项目的重建模式切换到“local”。这避免了随机软件包开始构建
- 调整新的编译器的 %product_libs* 宏
- 签入/触发新的编译器
- 触发旧的编译器
- 将项目切换回其原始重建模式
- 可能触发完全重建
: