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


You are receiving this mail because: