OBS 编译时,参数配置问题

我自己搭建的 obs,在 worker 上编译的时候,查看日志,具体的编译命令如下:
rpmbuild -ba --define ‘_srcdefattr (-,root,root)’ --nosignature --undefine _enable_debug_packages --define ‘disturl obs://private/openEuler:22.03:LTS/standard_aarch64/e82835348d0a94e2c59e4baa07b16d4d-tcl’ /home/abuild/rpmbuild/SOURCES/tcl.spec

这个编译在大部分情况下时没问题的,但是有极少数包在加了–undefine _enable_debug_packages 这个参数后,会导致权限不够,无法拷贝文件而导致编译失败,如下图

事实上,我分析了此类问题,所调用了/usr/lib/rpm/brp-strip /usr/bin/strip 这个脚本的 rpm 包,在加入–undefine _enable_debug_packages 这个参数后,都是导致编译失败,并且我对比了我们社区版的obs编译,我发现编译的时候是去掉了–undefine _enable_debug_packages 这个参数的,如下图

所以我想咨询下,obs 端该怎么配置,让编译的时候,去掉–undefine _enable_debug_packages 这个参数。

2 Likes

OBS手册里只提供了如何构建openSUSE的包,请教一下你是如何实现构建openEuler的软件包的,应该需要将openEuler所有的源码都下载到OBS服务器吧?你是all-in-one还是拆分了前后端服务呢?需要将源码都下载到后端服务器,还是源码端服务器,具体哪一个目录呢? :pray:

openeuler的相关技术手册需要到openeuler社区获取:infrastructure: This repository contains the scripts which can be used to manage the commuity basic resources. - Gitee.com

谢谢回复,我也是参考这个仓库跑起了基础环境,但是这个仓库不是step by step手册,之前提到的问题没能找到解决方法。脚本挺多,但是很多脚本不知道具体应用场景,执行场景。

你直接单机部署service端,会简单很多。他是分布式部署,许多脚本适配是一次性的,obs版本更迭后,他的很多脚本失效了。