Bug ID | 1199211 |
---|---|
Summary | set buildflags exclude on kernel devel project so that branched projects have proper build disables |
Classification | openSUSE |
Product | openSUSE Tumbleweed |
Version | Current |
Hardware | Other |
OS | Other |
Status | NEW |
Severity | Normal |
Priority | P5 - None |
Component | Kernel |
Assignee | kernel-bugs@opensuse.org |
Reporter | dmueller@suse.com |
QA Contact | qa-bugs@suse.de |
Found By | --- |
Blocker | --- |
Kernel:stable has an optimized build setup where the kernel-binaries flavor (kernel-default, debug and so on) are only build-enabled for the "standard"/"ports" repositories, not for the "QA repositories. This makes sense to me and is sensible to optimize rebuild performance on the build service. however, when I do branch kernel-source, a full project is replicated under my OBS home project, and that one has build flags enabled for all the repositories. So with other words the branch projects have a lot more packages to build than the main project. This is because build disables are not inheriting over branches, they get reset. After a chat with the OBS folks, these two options are there: * set a OBS:BranchSkipRepositories attribute on the project. that means that new project branches will entirely have the given repositories skipped when creating a branch. I personally think that isn't the desired behavior, as it would means things like kernel-obs-build etc are not properly tested * add a BuildFlags: excludebuild:$packagename to the prjconf. this inherits to all derived projects, also existing ones, and makes the disabled-flags setting obsolete. I have tested the following configuration successfully. There might be a script somewhere that needs to be adapted to generate this project config. otherwise I think manually maintaining it for now is fine also. %if "%_repository" == "QA" || "%_repository" == "QA_ports" || "%_repository" == "QA_ARM" || "%_repository" == "QA_PPC" || "%_repository" == "QA_RISCV" || "%_repository" == "QA_S390" BuildFlags: excludebuild:dtb-aarch64 BuildFlags: excludebuild:dtb-armv6l BuildFlags: excludebuild:dtb-armv7l BuildFlags: excludebuild:dtb-riscv64 BuildFlags: excludebuild:kernel-64kb BuildFlags: excludebuild:kernel-debug BuildFlags: excludebuild:kernel-default BuildFlags: excludebuild:kernel-docs BuildFlags: excludebuild:kernel-firmware BuildFlags: excludebuild:kernel-firmware:compressed BuildFlags: excludebuild:kernel-kvmsmall BuildFlags: excludebuild:kernel-lpae BuildFlags: excludebuild:kernel-pae BuildFlags: excludebuild:kernel-source BuildFlags: excludebuild:kernel-syms BuildFlags: excludebuild:kernel-syzkaller BuildFlags: excludebuild:kernel-vanilla BuildFlags: excludebuild:kernel-zfcpdump BuildFlags: excludebuild:pesign-obs-integration BuildFlags: excludebuild:qlogic-rules BuildFlags: excludebuild:systemtap %endif %if "%_repository" == "standard" || "%_repository" == "ports" || "%_repository" == "PPC" || "%_repository" == "RISCV" || "%_repository" == "S390" BuildFlags: excludebuild:kernel-obs-build BuildFlags: excludebuild:kernel-obs-qa %endif