OpenSUSE Leap Ruby2.6 Package broken
Opened this issue · 3 comments
OpenSUSE package repository
- The Ruby package I tested is
obs://devel:languages:ruby/openSUSE_Leap_15.1 ruby
(notobs://devel:languages:ruby/openSUSE_Leap_15.0 ruby
)
Details
Hello OpenSUSE Team, I have recently worked a bit on Portus, and :
- Other Community users, and I, have reproduced an issue using container image
opensuse/protus:2.5
: see SUSE/Portus#2241 (comment) - I have provide one fix, that is not suitable for
OpenSUSE
distribution model, and anyway, not satisfying, it is more a temporary work around. - I released a container image definition providing that fix, here : https://github.com/pokusio/opensuzie-oci-library/releases/tag/0.0.2
- In my release notes, I give you details :
- explaining why my temporary fix is neither suitable for production, nor for OpenSUSE distribution policies,
- explaining details about the only fix I see proper for OpenSUSE Teams, you can read it here : https://github.com/pokusio/opensuzie-oci-library/releases/tag/0.0.2 (
Ctrl + F
the stringDEBIAN_
)
I'll read with care any anwser / remarks / question, and would appreciate being informed of OpenSUSE Team opinion on that. (I understand there's recently been significant repository migrations going on last months).
Thank you for opening source code of Portus Source Code,
Regards
We have news on this, see SUSE/Portus#2279 (comment)
Thanks to @JosuaSR
what i finally got to with @Josua-SR , After writing my sum up and questions above, I am almost sure that it is the Portus OpenSUSE package that has a bad design :
- in the
make_spec.sh
, hard-coded, and impossible to override
https://github.com/SUSE/Portus/blob/53bd63e299f47f1761f55ba2bc53b9cb804c1616/packaging/suse/make_spec.sh#L6 , you can read :
BUNDLER_VERSION="1.16.0"
And in my fix https://github.com/pokusio/opensuzie-oci-library/releases/tag/0.0.2 , I had to reset bundle version to 1.16.4
. At least, we should have :
BUNDLER_VERSION=${BUNDLER_VERSION:-"1.16.0"}
#
# Instead of
# BUNDLER_VERSION="1.16.0"
Or it's not worth sharing a file, with an accurate version, if we have to edit it, to use it properly.
Update
Yet, as of today, we don't have a final explanation for why and how it can happen that running portus requires a specific version of bundler :
- this behavior does not make sense, since bundling an application, is not running it. Bundling dependencies (even if clumsily managed), should not ever be Runtime dependencies. Any rails app should run without any dependency to a specific version of bundler.
- We, as of today, have for suspicions towards both the
portus
zypper package (for it may "pull" undesired old ruby gems, packaged inside the linux opensuse zypper package, see the spec file ), and theportusctl
executable: either one, or combination of both is responsible for requiring a specific version of BUNDLER - See @Josua-SR comment here : SUSE/Portus#2279 (comment)