[opensuse-buildservice] Modularity Support in OBS
Hi all, we have added simplistic support for RedHat's modules [1] (aka "Application Streams). Basically Modularity is a way to have multiple repositories wrapped into one. The default in OBS is that no module packages are used at all. If you need packages from some module (e.g. python36), you'll need to enable the module you want in the project config: ExpandFlags: module:python36-3.6 This enables module "python36" with stream version "3.6". Just add more "module:XXX-YYY" arguments if you need multiple modules. (You can also use multiple ExpandFlags lines.) If you're wondering about what else you can do with a project config, please check out our documentation [2]. [1] https://docs.fedoraproject.org/en-US/modularity/ [2] https://openbuildservice.org/help/manuals/obs-user-guide/cha.obs.prjconfig.h... Enjoy, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX GmbH, GF Jeff Hawn, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Wed, Nov 13, 2019 at 8:03 AM Michael Schroeder
Hi all,
we have added simplistic support for RedHat's modules [1] (aka "Application Streams). Basically Modularity is a way to have multiple repositories wrapped into one.
The default in OBS is that no module packages are used at all. If you need packages from some module (e.g. python36), you'll need to enable the module you want in the project config:
ExpandFlags: module:python36-3.6
This enables module "python36" with stream version "3.6".
Just add more "module:XXX-YYY" arguments if you need multiple modules. (You can also use multiple ExpandFlags lines.)
If you're wondering about what else you can do with a project config, please check out our documentation [2].
[1] https://docs.fedoraproject.org/en-US/modularity/ [2] https://openbuildservice.org/help/manuals/obs-user-guide/cha.obs.prjconfig.h...
Thank you for this feature! Can we get this backported to OBS 2.10? Also, are module dependencies factored in when doing the expansion? e.g. module1:A depends on module2:B? -- 真実はいつも一つ!/ Always, there's only one truth! -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Wed, Nov 13, 2019 at 08:05:17AM -0500, Neal Gompa wrote:
Thank you for this feature! Can we get this backported to OBS 2.10?
Only if it works (i.e. give us feedback!)
Also, are module dependencies factored in when doing the expansion? e.g. module1:A depends on module2:B?
Nope, not yet. Currently you have to manually expand the module list. Cheers, Michael. -- Michael Schroeder mls@suse.de SUSE LINUX GmbH, GF Jeff Hawn, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Wed, Nov 13, 2019 at 8:23 AM Michael Schroeder
On Wed, Nov 13, 2019 at 08:05:17AM -0500, Neal Gompa wrote:
Thank you for this feature! Can we get this backported to OBS 2.10?
Only if it works (i.e. give us feedback!)
Well then, I guess I'll start playing with the feature and seeing how it works! :)
Also, are module dependencies factored in when doing the expansion? e.g. module1:A depends on module2:B?
Nope, not yet. Currently you have to manually expand the module list.
Okay, that's fine. It just means I need to write some automation for generating the stanzas for prjconf for now. -- 真実はいつも一つ!/ Always, there's only one truth! -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
Hi Michael, is there a way to update a 2.10 installation to a version containing modules support? I just tried to update packages from 1 | OBS | OBS | Yes | (r ) Yes | No | 99 | rpm-md | http://download.opensuse.org/repositories/OBS:/Server:/2.10/openSUSE_15.1/ | to 2 | OBS-Unstable | OBS-Unstable | Yes | (r ) Yes | No | 99 | rpm-md | http://download.opensuse.org/repositories/OBS:/Server:/Unstable/openSUSE_15.... | but not I get ● obsdodup.service - OBS dodup, updates download on demand metadata Loaded: loaded (/usr/lib/systemd/system/obsdodup.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Thu 2019-11-14 11:42:49 CET; 3min 7s ago Process: 31615 ExecStop=/usr/lib/obs/server/bs_dodup --stop (code=exited, status=2) Process: 31696 ExecStart=/usr/lib/obs/server/bs_dodup --logfile dodup.log (code=exited, status=2) Main PID: 31696 (code=exited, status=2) Nov 14 11:42:48 buildservice.test.open-xchange.com systemd[1]: Started OBS dodup, updates download on demand metadata. Nov 14 11:42:49 buildservice.test.open-xchange.com bs_dodup[31696]: Can't locate Build/Modules.pm in @INC (you may need to install the Build::Modules module) (@INC contains: /usr/lib/obs/server /usr/lib/obs/server/build /usr/lib/perl5/> Nov 14 11:42:49 buildservice.test.open-xchange.com bs_dodup[31696]: BEGIN failed--compilation aborted at /usr/lib/obs/server/bs_dodup line 30. Nov 14 11:42:49 buildservice.test.open-xchange.com systemd[1]: obsdodup.service: Main process exited, code=exited, status=2/INVALIDARGUMENT Nov 14 11:42:49 buildservice.test.open-xchange.com systemd[1]: obsdodup.service: Unit entered failed state. Nov 14 11:42:49 buildservice.test.open-xchange.com systemd[1]: obsdodup.service: Failed with result 'exit-code'.
On 13. Nov 2019, at 14:03 , Michael Schroeder
wrote: Hi all,
we have added simplistic support for RedHat's modules [1] (aka "Application Streams). Basically Modularity is a way to have multiple repositories wrapped into one.
The default in OBS is that no module packages are used at all. If you need packages from some module (e.g. python36), you'll need to enable the module you want in the project config:
ExpandFlags: module:python36-3.6
This enables module "python36" with stream version "3.6".
Just add more "module:XXX-YYY" arguments if you need multiple modules. (You can also use multiple ExpandFlags lines.)
If you're wondering about what else you can do with a project config, please check out our documentation [2].
[1] https://docs.fedoraproject.org/en-US/modularity/ [2] https://openbuildservice.org/help/manuals/obs-user-guide/cha.obs.prjconfig.h...
Enjoy, Michael.
-- Michael Schroeder mls@suse.de SUSE LINUX GmbH, GF Jeff Hawn, HRB 16746 AG Nuernberg main(_){while(_=~getchar())putchar(~_-1/(~(_|32)/13*2-11)*13);} -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
-- kind regards, Carsten Hoeger Engineering Services Email: carsten.hoeger@open-xchange.com ------------------------------------------------------------------------------ Open-Xchange AG, Hohenzollernring 72, 50672 Cologne, District Court Cologne HRB 95366 Managing Board: Rafael Laguna de la Vera, Carsten Dirks, Michael Knapstein, Stephan Martin Chairman of the Board: Richard Seibt European Office: Open-Xchange GmbH, Olper Huette 5f, D-57462 Olpe, Germany, District Court Siegen, HRB 8718 Managing Director: Frank Hoberg US Office: Open-Xchange. Inc., 530 Lytton Avenue, Palo Alto, CA 94301, USA ------------------------------------------------------------------------------ -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Donnerstag, 14. November 2019, 11:49:42 CET Carsten Höger wrote:
Hi Michael,
is there a way to update a 2.10 installation to a version containing modules support?
I just tried to update packages from
1 | OBS | OBS | Yes | (r ) Yes | No | 99 | rpm-md | http://download.opensuse.org/repositories/OBS:/Server:/2.10/openSUSE_15.1/ |
to
2 | OBS-Unstable | OBS-Unstable | Yes | (r ) Yes | No | 99 | rpm-md | http://download.opensuse.org/repositories/OBS:/Server:/Unstable/openSUSE_15 .1/ |
but not I get
● obsdodup.service - OBS dodup, updates download on demand metadata Loaded: loaded (/usr/lib/systemd/system/obsdodup.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Thu 2019-11-14 11:42:49 CET; 3min 7s ago Process: 31615 ExecStop=/usr/lib/obs/server/bs_dodup --stop (code=exited, status=2) Process: 31696 ExecStart=/usr/lib/obs/server/bs_dodup --logfile dodup.log (code=exited, status=2) Main PID: 31696 (code=exited, status=2)
Nov 14 11:42:48 buildservice.test.open-xchange.com systemd[1]: Started OBS dodup, updates download on demand metadata. Nov 14 11:42:49 buildservice.test.open-xchange.com bs_dodup[31696]: Can't locate Build/Modules.pm in @INC (you may need to install the Build::Modules
you have some obs-server 2.11~pre version installed, but an old build script
package....
--
Adrian Schroeter
Hi Adrian,
On 14. Nov 2019, at 13:46 , Adrian Schröter
wrote: I just tried to update packages from
1 | OBS | OBS | Yes | (r ) Yes | No | 99 | rpm-md | http://download.opensuse.org/repositories/OBS:/Server:/2.10/openSUSE_15.1/ |
to
2 | OBS-Unstable | OBS-Unstable | Yes | (r ) Yes | No | 99 | rpm-md | http://download.opensuse.org/repositories/OBS:/Server:/Unstable/openSUSE_15 .1/ |
but not I get
● obsdodup.service - OBS dodup, updates download on demand metadata Loaded: loaded (/usr/lib/systemd/system/obsdodup.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Thu 2019-11-14 11:42:49 CET; 3min 7s ago Process: 31615 ExecStop=/usr/lib/obs/server/bs_dodup --stop (code=exited, status=2) Process: 31696 ExecStart=/usr/lib/obs/server/bs_dodup --logfile dodup.log (code=exited, status=2) Main PID: 31696 (code=exited, status=2)
Nov 14 11:42:48 buildservice.test.open-xchange.com systemd[1]: Started OBS dodup, updates download on demand metadata. Nov 14 11:42:49 buildservice.test.open-xchange.com bs_dodup[31696]: Can't locate Build/Modules.pm in @INC (you may need to install the Build::Modules
you have some obs-server 2.11~pre version installed, but an old build script package....
And from where to get the/a recent one? -- kind regards, Carsten Hoeger Engineering Services Email: carsten.hoeger@open-xchange.com ------------------------------------------------------------------------------ Open-Xchange AG, Hohenzollernring 72, 50672 Cologne, District Court Cologne HRB 95366 Managing Board: Rafael Laguna de la Vera, Carsten Dirks, Michael Knapstein, Stephan Martin Chairman of the Board: Richard Seibt European Office: Open-Xchange GmbH, Olper Huette 5f, D-57462 Olpe, Germany, District Court Siegen, HRB 8718 Managing Director: Frank Hoberg US Office: Open-Xchange. Inc., 530 Lytton Avenue, Palo Alto, CA 94301, USA ------------------------------------------------------------------------------ -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Donnerstag, 14. November 2019, 16:11:23 CET Carsten Höger wrote:
Hi Adrian,
On 14. Nov 2019, at 13:46 , Adrian Schröter
wrote: I just tried to update packages from
1 | OBS | OBS | Yes | (r ) Yes | No | 99 | rpm-md | http://download.opensuse.org/repositories/OBS:/Server:/2.10/openSUSE_15.1 /
to
2 | OBS-Unstable | OBS-Unstable | Yes | (r ) Yes | No | 99 | rpm-md | http://download.opensuse.org/repositories/OBS:/Server:/Unstable/openSUSE_ 15 .1/ |
but not I get
● obsdodup.service - OBS dodup, updates download on demand metadata
Loaded: loaded (/usr/lib/systemd/system/obsdodup.service; enabled; vendor
preset: disabled) Active: failed (Result: exit-code) since Thu 2019-11-14 11:42:49 CET; 3min 7s ago Process: 31615 ExecStop=/usr/lib/obs/server/bs_dodup --stop (code=exited, status=2) Process: 31696 ExecStart=/usr/lib/obs/server/bs_dodup --logfile dodup.log (code=exited, status=2) Main PID: 31696 (code=exited, status=2)
Nov 14 11:42:48 buildservice.test.open-xchange.com systemd[1]: Started OBS dodup, updates download on demand metadata. Nov 14 11:42:49 buildservice.test.open-xchange.com bs_dodup[31696]: Can't locate Build/Modules.pm in @INC (you may need to install the Build::Modules
you have some obs-server 2.11~pre version installed, but an old build script package....
And from where to get the/a recent one?
Also from OBS:Server:Unstable project.
But I made also a new release in openSUSE:Tools a few hours ago.
--
Adrian Schroeter
Hi again,
On 13. Nov 2019, at 14:03 , Michael Schroeder
wrote: we have added simplistic support for RedHat's modules [1] (aka "Application Streams). Basically Modularity is a way to have multiple repositories wrapped into one.
The default in OBS is that no module packages are used at all. If you need packages from some module (e.g. python36), you'll need to enable the module you want in the project config:
ExpandFlags: module:python36-3.6
This enables module "python36" with stream version "3.6".
Just add more "module:XXX-YYY" arguments if you need multiple modules. (You can also use multiple ExpandFlags lines.)
If you're wondering about what else you can do with a project config, please check out our documentation [2].
[1] https://docs.fedoraproject.org/en-US/modularity/ [2] https://openbuildservice.org/help/manuals/obs-user-guide/cha.obs.prjconfig.h...
We're having projects requiring perl-libs. perl-libs, however is provided in two different versions: $ dnf module list Name Stream Profiles Summary [...] perl 5.24 common [d], minimal Practical Extraction and Report Language perl 5.26 [d] common [d], minimal Practical Extraction and Report Language [...] http://mirror.centos.org/centos-8/8/BaseOS/x86_64/os/Packages/ contains perl-libs-5.26 http://mirror.centos.org/centos-8/8/AppStream/x86_64/os/Packages/ contains perl-libs-5.24 I wasn't able to build a construct to ignore the 5.24 version without removing AppStream or reordering it. e.g. ExpandFlags: !module:perl-5.24 module:mariadb-10.3 doesn't seem to work. Is that a known issue, missing feature or am I doing something wrong? -- kind regards, Carsten Hoeger Engineering Services Email: carsten.hoeger@open-xchange.com ------------------------------------------------------------------------------ Open-Xchange AG, Hohenzollernring 72, 50672 Cologne, District Court Cologne HRB 95366 Managing Board: Rafael Laguna de la Vera, Carsten Dirks, Michael Knapstein, Stephan Martin Chairman of the Board: Richard Seibt European Office: Open-Xchange GmbH, Olper Huette 5f, D-57462 Olpe, Germany, District Court Siegen, HRB 8718 Managing Director: Frank Hoberg US Office: Open-Xchange. Inc., 530 Lytton Avenue, Palo Alto, CA 94301, USA ------------------------------------------------------------------------------ -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On 15. Nov 2019, at 14:54 , Carsten Höger
wrote: we have added simplistic support for RedHat's modules [1] (aka "Application Streams). Basically Modularity is a way to have multiple repositories wrapped into one.
The default in OBS is that no module packages are used at all. If you need packages from some module (e.g. python36), you'll need to enable the module you want in the project config:
ExpandFlags: module:python36-3.6
This enables module "python36" with stream version "3.6".
Just add more "module:XXX-YYY" arguments if you need multiple modules. (You can also use multiple ExpandFlags lines.)
If you're wondering about what else you can do with a project config, please check out our documentation [2].
[1] https://docs.fedoraproject.org/en-US/modularity/ [2] https://openbuildservice.org/help/manuals/obs-user-guide/cha.obs.prjconfig.h...
We're having projects requiring perl-libs.
perl-libs, however is provided in two different versions:
$ dnf module list
Name Stream Profiles Summary
[...]
perl 5.24 common [d], minimal Practical Extraction and Report Language perl 5.26 [d] common [d], minimal Practical Extraction and Report Language
[...]
http://mirror.centos.org/centos-8/8/BaseOS/x86_64/os/Packages/ contains perl-libs-5.26 http://mirror.centos.org/centos-8/8/AppStream/x86_64/os/Packages/ contains perl-libs-5.24
I wasn't able to build a construct to ignore the 5.24 version without removing AppStream or reordering it.
e.g.
ExpandFlags: !module:perl-5.24 module:mariadb-10.3
doesn't seem to work.
Is that a known issue, missing feature or am I doing something wrong?
Forgot to mention the resulting problem: OBS doesn't seem to find the perl-libs version 5.26 in that case, which is needed by most of the perl modules and thus all builds fail with unresolved errors. -- kind regards, Carsten Hoeger Engineering Services Email: carsten.hoeger@open-xchange.com ------------------------------------------------------------------------------ Open-Xchange AG, Hohenzollernring 72, 50672 Cologne, District Court Cologne HRB 95366 Managing Board: Rafael Laguna de la Vera, Carsten Dirks, Michael Knapstein, Stephan Martin Chairman of the Board: Richard Seibt European Office: Open-Xchange GmbH, Olper Huette 5f, D-57462 Olpe, Germany, District Court Siegen, HRB 8718 Managing Director: Frank Hoberg US Office: Open-Xchange. Inc., 530 Lytton Avenue, Palo Alto, CA 94301, USA ------------------------------------------------------------------------------ -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Freitag, 15. November 2019, 15:00:29 CET Carsten Höger wrote:
On 15. Nov 2019, at 14:54 , Carsten Höger
wrote: we have added simplistic support for RedHat's modules [1] (aka "Application Streams). Basically Modularity is a way to have multiple repositories wrapped into one.
The default in OBS is that no module packages are used at all. If you need packages from some module (e.g. python36), you'll need to enable the module you want in the project config:
ExpandFlags: module:python36-3.6
This enables module "python36" with stream version "3.6".
Just add more "module:XXX-YYY" arguments if you need multiple modules. (You can also use multiple ExpandFlags lines.)
If you're wondering about what else you can do with a project config, please check out our documentation [2].
[1] https://docs.fedoraproject.org/en-US/modularity/ [2] https://openbuildservice.org/help/manuals/obs-user-guide/cha.obs.prjconf ig.html> We're having projects requiring perl-libs.
perl-libs, however is provided in two different versions:
$ dnf module list
Name Stream Profiles Summary
[...]
perl 5.24 common [d], minimal Practical Extraction and Report Language perl 5.26 [d] common [d], minimal Practical Extraction and Report Language
[...]
http://mirror.centos.org/centos-8/8/BaseOS/x86_64/os/Packages/ contains perl-libs-5.26 http://mirror.centos.org/centos-8/8/AppStream/x86_64/os/Packages/ contains perl-libs-5.24
I wasn't able to build a construct to ignore the 5.24 version without removing AppStream or reordering it.
e.g.
ExpandFlags: !module:perl-5.24 module:mariadb-10.3
doesn't seem to work.
Is that a known issue, missing feature or am I doing something wrong?
Forgot to mention the resulting problem:
OBS doesn't seem to find the perl-libs version 5.26 in that case, which is needed by most of the perl modules and thus all builds fail with unresolved errors.
You may have BaseOS repo before Appstream. We had this as well as workaround
for dependency problems. (AppStream needs overwrite packages from BaseOS).
You also need an
<archfilter>x86_64</archfilter>
in your DoD definition for Appstream to block i586 packages. Check our
CentOS:CentOS-8 project meta in doubt.
--
Adrian Schroeter
participants (4)
-
Adrian Schröter
-
Carsten Höger
-
Michael Schroeder
-
Neal Gompa