I’m trying to build my project (https://build.opensuse.org/package/show/home:oleg_antonyan/mpz ) for many popular distros.
Builds for openSUSE and Fedora 32 work, but Ubuntu or Fedora 31 do not:
nothing provides obs-service-tar, nothing provides obs-service-recompress, nothing provides obs-service-set_version
I suppose these are missing packages which I have to install into those distros, but I cannot find any clues in documentation on how to do this
oleg_antonyan1:
I’m trying to build my project (Show home:oleg_antonyan / mpz - openSUSE Build Service ) for many popular distros.
Builds for openSUSE and Fedora 32 work, but Ubuntu or Fedora 31 do not:
nothing provides obs-service-tar, nothing provides obs-service-recompress, nothing provides obs-service-set_version
I suppose these are missing packages which I have to install into those distros, but I cannot find any clues in documentation on how to do this
Hi
You would need to build those tools for the foreign distributions in you project with a link (or copy) to the development project package;
eg;
I would probably set the repositories to ‘use for build’ only as well, as in ‘not publish’…
I would surmise based on the un-resolveable nature of some, there are other packages to link to as well…
I still can’t wrap my head around this
https://en.opensuse.org/openSUSE:Build_Service_Tips_and_Tricks#link_and_aggregate - it says that I can link another package into my repository. Ok, but I need these package for multiple distros.
Should I just create new package in my home project with a single _link
file containing
<link project='openSUSE:Tools' package='obs-service-tar_scm'/>
?
Ok, by trial and error I managed to get it working.
For each missing package I’ve created a new package in my repository with a single file “_link” containing
<link project='openSUSE:Tools' package='obs-service-set_version'/>
<link project='openSUSE:Tools' package='obs-service-tar_scm'/>
and
<link project='openSUSE:Tools' package='obs-service-recompress'/>
3 packages total. Now few more distros builds work. Don’t know if it’s a proper way to do this.
No idea how to figure this stuff out without any clue in documentation or examples
Oleg Antonyan:
Ok, by trial and error I managed to get it working.
For each missing package I’ve created a new package in my repository with a single file “_link” containing
<link project='openSUSE:Tools' package='obs-service-set_version'/>
<link project='openSUSE:Tools' package='obs-service-tar_scm'/>
and
<link project='openSUSE:Tools' package='obs-service-recompress'/>
3 packages total. Now few more distros builds work. Don’t know if it’s a proper way to do this.
No idea how to figure this stuff out without any clue in documentation or examples
Hi
That’s correct, I just use the command line… osc linkpac
Still have troubles with CentOS: nothing provides obs-service-tar
But threre’s no such package “obs-service-tar” in https://build.opensuse.org/project/show/openSUSE:Tools
Where to get it? And why other distros don’t require it?
It is built from obs-service-tar_scm.
Then why it doesn’t work? Show home:oleg_antonyan / mpz - openSUSE Build Service CentOS 8 for example. I have a link to obs-service-tar_scm in the repository
Because build fails for this repository. Did you try to check build log?
See here for the obs-service-tar_scm
https://build.opensuse.org/project/monitor/home:oleg_antonyan?arch_x86_64=1&defaults=0&repo_CentOS_8=1&unresolvable=1
If there is a unresolveable, you have to resolve this first by building the “nothing provides xxxx” or patching the sources.
Ok, I see now.
nothing provides python-PyYAML, nothing provides python-dateutil, nothing provides python-lxml, nothing provides python >= 2.6
Thanks
I’ve had some success with including the openSUSE:Tools repository in my project meta information:
<repository name="CentOS_8">
<path project="openSUSE:Tools" repository="CentOS_8"/>
<path project="CentOS:CentOS-8" repository="standard"/>
<arch>x86_64</arch>
</repository>
I don’t know if this is the canonical way to go, either. I would appreciate if someone with more experience in cross-distribution building could review.