(In reply to Egbert Eich from comment #26) > (In reply to Atri Bhattacharya from comment #24) > > > > The attempt in obs://home:badshah400:lapackv3/lapack is to generate the > > x86-64-v3 libs purely as a separate flavour, *without* the baselibs.conf > > coming into play at all in so far as these -v3 libs are concerned. > > > > Baselibs.conf is still used to produce 32-bit biarch packages for pure > > x86_64 in this case, but it simply does not matter for x86-64-v3 flavour > > since there aren't i586-v3 equivalents. > > > > But perhaps I misunderstand your question? > > No, you don't. What confused me: you were using the %suse_build_hwcaps macro > - which you have removed since. Yes, this macro should not be used if we want to use flavours to manually produce the -v3 libs instead of their generation via baselibs. > The problem I see is: this macro is crafted > to add the right 'magic' to the spec file (see > https://en.opensuse.org/openSUSE: > Packaging_Conventions_RPM_Macros#%{?suse_build_hwcaps_libs}). This magic is > "to automatically set specific build targets and schedule the job on workers > which match the intended buildconstraint". Unfortunately, one can only guess > how this works. My understanding is that it pretty much checks for the avx/avx2 instruction support on the build host's CPU. Similar to having a _constraint file that limits the build to the avx2 supporting CPUs: > ~> cat _constraints > <constraints> > <hardware><cpu> > <flag>sse3</flag> > <flag>avx2</flag> > </cpu></hardware> > </constraints> > Without baselibs.conf, two arch flavors will be built: > x86_64 and x86_x6_v3. So I would think if you want to use flavors, you'd > need to add: > #!BuildTarget: x86_64_v3-linux > #!BuildConstraint: hardware:cpu:flag x86-64-v3 > to the spec file in the -v3 flavor on x86_64. Yes, this is true. I have been only trying this out on my local machine (which supports x86-64-v3) but for a final version for OBS, my plan is to include a _constraints file to do this as documented here (or, equivalently, add the comments to specfile as you have noted): <https://openbuildservice.org/help/manuals/obs-user-guide/cha.obs.build_constraints#id-1.5.10.16.8.6.3.3> > When using baselibs.conf for > -v3, mkbaselibs will create a spec file which consumes these packages and > 'repackages them into the main architecture'. You may need to do all this > manually. > I'm currently trying to figure out how all this works. Same here: home:badshah400:lapackv3 is an early experiment about using flavours to generate the -v3 libs. Not (yet) ready for prime time :) Thanks for your reviews/advice. Side note: I also learnt that RPM natively supports generating actual x86_64_v3 arch packages since version 4.19.0 (i.e. already in Factory). Perhaps we can have a look at how it does so: <https://github.com/rpm-software-management/rpm/commit/cd46c1704ccd8eeb9b600729a0a1c8738b66b847>