I want to use OBS to package .NET app for Debian and Fedora. I couldn’t find an answers in docs.
I need to build x86_64 and aarch64 (cross-compilation) packages. I don’t know how to handle this, because the build recipes for these two architectures would differ. Should I create two different packages for x86_64 and aarch64?
Also how can I properly handle source and dependencies? Builder sandbox can’t access internet, so I have to vendor all of them. When looking for examples I see source and dependencies in package, but I think pushing 200M sdk and ~1G of nuget packages is not right. Is there a way to download and verify remote assets like you can do in Flatpak manifest?
Public build.opensuse.org has native workers for all supported architectures.
This is out of scope for OBS. You need to consult corresponding resources for RPM and Deb. For RPM you use conditionals in SPEC files, as you build for Fedora you need to check what conditions and macros are available there. There are countless examples of suche SPEC files. I have only cursory knowledge about Debian packages, but rules files are just shell scripts and I assume you can make them conditional on the target (or native) architecture.
OBS supports source services so it is possible. You can use them in your own OBS instance or when using osc service
locally. But as you already know, public build.opensuse.org does not allow access to Internet from build workers so all sources must be available locally.
Nothing stops you from having project without sources; the most prominent example are NVIDIA drivers.
Also keep in mind that storing binary blobs or non-free sources on build.opensuse.org is prohibited by policy. So, if you are talking about packages from Microsoft, you probably cannot use build.opensuse.org to store them.
Thank you for your reply! It indeed helped me to understand that public OBS instance doesn’t fit my use case.
Also thanks for mentioning no-blob policy, I’ve seen rule about blacklisted packages but nothing about blobs (probably missed something ) wish it stated more explicitly, because when scouting for examples I found a lot of them just bundle prebuilt artifacts.
I hope to try out OBS later when I get something more suitable to package. Cheers!
This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.