nothing provides obs-service-tar, nothing provides obs-service-recompress,.. in most distros

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

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 :frowning:
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

Hi
That’s correct, I just use the command line… osc linkpac :wink:

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.