On Sun, Apr 21, 2019 at 12:06 PM Stasiek Michalski <hellcp@opensuse.org> wrote:
On nie, Apr 21, 2019 at 5:11 PM, Lars Vogdt <lrupp@suse.de> wrote:
On Sun, 21 Apr 2019 01:02:09 +0200 Stasiek Michalski <hellcp@opensuse.org> wrote:
But why? It encourages to contribute to the software which you can run on your favourite distro afterwards :D
No it doesn't - something built in OBS for Fedora or Ubuntu isn't magically suddenly available for openSUSE. Other distributions have other standards (I would argue lesser ones), and we shouldn't compromise openSUSE's quality needlessly.
I mean, that's a fair point, but what if Fedora had an official instance interconnected with openSUSE instance.
This would - at least for me - impli that Fedora will shut down (or at least use less) their own build system. If you have any contacts to developers/decision makers on Fedora site, I'm happy to jump into the discussion with them.
I feel like the bigger issue here is that there were trials of making OBS work on other distros, but were never considered beyond that.
Let's discuss/see if those trials came from openSUSE people, who tried to convince other distributions from OBS - or real decision makers from other distributions, who tried to get it to work on their distributions?
Debian jumped onto OBS train because of clang rebuilds back in the days, although they ultimately decided to keep using their long trusted system of doing everything on developers machines. The old instance that was made for this purpose was since abandoned [1]. Trials of porting didn't come "officially" from distributions, people porting OBS were doing it in their own private time for own purposes of running OBS on their distro, with Fedora those hopes amounted to actual code though [2,3], with GPL's hopes of being useful, without any warranty :P
I've been working on this off and on for the past three years myself. I was inspired by Josef Stribny's work[1] and his effort to get OBS 2.5.0 working on Fedora. Unfortunately, his effort stalled out due to dependency issues and difficulties in adjusting the file paths to be compliant with Fedora FHS (mainly no package content in /srv[2]). I've taken a more gradual approach and started from the bottom of OBS up, so I've packaged and maintain obs-build[3], osc[4], and a number of OBS source services[5][6][7][8]. I'm working on more pieces as I go along, including writing a new spec file OBS itself that is much cleaner and coherent. One of the things on my TODO is to write an OBS source service to work with various Dist-Git servers, including Fedora's[9] and CentOS'[10]. Some of the other required source services for the main OBS are missing licensing content that is required per Fedora packaging guidelines[11], but I hope that situation will eventually resolve itself... I have, in the past, contributed small things to make OBS more palatable within the greater Fedora and CentOS communities, such as the full author identities in changes files, swapping RabbitMQ Perl modules in the backend, and assisting with supporting Fedora in the openSUSE Build Service. I still want to do it, but it's very hard, and it's difficult to get support or assistance from the OBS developers to make this work. I was hoping to be able to make a push for this for OBS 2.10, but I think I won't be able to make it. :( [1]: https://is.muni.cz/th/kq9bs/thesis.pdf [2]: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_no_files_or_dire... [3]: https://apps.fedoraproject.org/packages/obs-build [4]: https://apps.fedoraproject.org/packages/osc [5]: https://apps.fedoraproject.org/packages/osc-source_validator [6]: https://apps.fedoraproject.org/packages/obs-service-download_files [7]: https://apps.fedoraproject.org/packages/obs-service-set_version [8]: https://apps.fedoraproject.org/packages/obs-service-extract_file [9]: https://src.fedoraproject.org/ [10]: https://git.centos.org/ [11]: https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuideline...
It's almost as if people doing that hard work on porting are afraid of the reaction of OBS team to this kind of submission, even though it would not hurt openSUSE packaging in any way. There is a huge __**BUT**__ here though, it would make SLE11 (general support just ended, still on LTSS support for 3 years) incapable of running OBS due to lack of systemd, and incompatibility of sysv scripts between SLE and RHEL just makes this harder to support fully.
I guess we have some misunderstanding here.
1) OBS is not an official product
While SUSE is using OBS to build his packages and products, OBS is not selled to customers as product on its own. So there is no need for SUSE to do nasty stuff or support OBS to run on old distributions.
JFYI: all OBS instances run either on SLE15 or even SLE15-SP1.
That's a relief to say the least.
The worker images run even sometimes Tumbleweed or the latest Leap (15.1 in this regard). This depends more on the reliability (kernel, toolchain) of the distro on different architectures and the needs of the to build packages than anything else.
2) Support for SysVinit is still there for a reason
We still have some glitches, if the services are managed via systemd. Especially the "reload" or "restart" handling might be easy for generic services, but sadly not many of the OBS services are generic. Just have a look at the OBS sources and issues in Github - we have some open issues there and working since a while on fixes for them. Feel free to join the discussions there and drive the porting from systemd to sysvinit to a success.
*sysvinit to systemd
I will gladly take a look, although assuming that it's related to a bunch of perl, I will just end up looking at it for hours without doing much progress.
There have been multiple attempts to port to systemd units. Josef's work is the starting point for the stuff that's in current git master, I believe. Currently, there are issues with how OBS would configure bs_worker services for each architecture, as it can't create/delete the systemd unit and activate it.
3) Time - the ugly enemy
If we had enough time, I'm sure that some of my team members whould try a lot of things. Even to get OBS working on all possible distributions.
But I have to admit that the BuildOPS team (FYI: we are responsible for package reviews, help with product building, the SUSE maintenance chain, OBS backend development, PackageHUB, OBS operations and other, non-OBS related stuff) has not enough manpower to spent this time during working hours.
So - for me - it is just logical that the SUSE team behind OBS concentrates on the deliverables they have towards their sponsor SUSE. That does not mean that we as developers would not accept merge requests or patches (and indeed, I can show you a lot of patches from other distributions that went into OBS code) - that just means that our focus is not on this task.
Then again, I am not expecting SUSE to stop doing everything for a month and collectively make everything compatible with every distro out there, because it's unreasonable. Realistically a decision to support another distros should be decided in early stages of development of any code, but I do not think that anybody could have expected OBS to prove itself to be as useful as it currently is.
It kind of is in the hands of the community (not just openSUSE community) to do something about this though.
I have to admit that I did not see a concrete point in your blaming of OBS developers for not being supportive enough (I guess you did not want to blame anyone personally, but please accept that your claims could be interpreted in this way). But I offer my help (and I'm up for personal discussions, if you like) here to clarify any misunderstandings.
Because they are not to blame, historically (open)SUSE has not been excellent at sharing technologies. At least not in cases where the work is done in non-standardized environments (like filesystem standards, system inits before systemd etc). This is obviously complaining about ideology, not about actual development or developers of the products, because from where I'm standing, they are doing more than an excellent job.
[1] https://irill8.siege.inria.fr/project/show/Debian:Unstable:Clang [2] https://github.com/OlegGirko/open-build-service/tree/fedora-2.9.5 [3] https://github.com/strzibny/obs-for-fedora
I hold out hope that one day I'd be able to make it happen, but it's hard to do alone... -- 真実はいつも一つ!/ Always, there's only one truth! -- To unsubscribe, e-mail: opensuse-project+unsubscribe@opensuse.org To contact the owner, email: opensuse-project+owner@opensuse.org