Hi, On Tue, 7 Aug 2018, John Paul Adrian Glaubitz wrote:
Since I haven't built any larger packages for openSUSE before, in particular not any SDKs or library packages which include development files such static libraries, cmake files and header files, I'm wondering whether anyone can give me a heads-up what the common policy is.
In Debian, we usually put all shared library files into a lib$NAME$SOVER package where $NAME is the library name and $SOVER it's SO version. Development files such as headers, cmake files and static library archives go into a lib$NAME-dev package. What's the policy for openSUSE?
Specifically for shared libraries: https://en.opensuse.org/openSUSE:Shared_library_packaging_policy which also talks about -devel packages. Of relevance: * There is no reason why a -devel package cannot provide development files for multiple shared library packages. Also the -devel package doesn't have to (but can) be named lib$NAME-devel. It might make sense to call it aws-devel, or even package the devel files (headers, .so links and such) into the main package (if that exists). If the SDK supports the option of disabling static libraries do that. If not, package the static libs separately (into xxx-devel-static for instance), if the SDK then at least has the option of not using static libs. So, for something like that SDK (without knowing its details) I'd expect these binary rpms: - libfoo1 - libfoo2 - libfoo3 (and so on for all individual shared libs in {,/usr}/lib{,64}) - awk-sdk-cpp-devel-static (if really needed and indeed optional) - aws-sdk-cpp-devel (if not folded into aws-sdk-cpp) - aws-sdk-cpp (the rest) See exceptions 4a/4b in the above policy for when also the -devel packages need to be versioned (I'd hope it's not supported to install multiple AWK-SDK version onto the same system).
Also, while the package built fine on my AMD EPYC machine (except for the failing installation process due to the missing %files statements), on OBS the package occasionally fails with out-of-memory errors or even the compiler segfaulting.
Compiler segfaulting is no resource problem, but either a compiler bug, or a flaky machine (usually when the compiler segfault can't be reproduced).
Is there any chance to schedule large packages onto beefier build instances?
You want build constraints: https://openbuildservice.org/help/manuals/obs-reference-guide/cha.obs.build_... See e.g. % osc cat devel:gcc/gcc8/_constraints Careful with specifying too strong constraints, not all architectures provide build hosts with much RAM, if you're using too large numbers your package won't ever be scheduled for building. For curren resource usage of build e.g.: % osc api /build/openSUSE:Factory/standard/x86_64/gcc8/_statistics Ciao, Michael. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org