[opensuse-buildservice] Linking another package from within the same home project
Hi, I have a question on OSC. I have two packages in my home: project on opensuse.org. How do I set up a link or something so that when I build one package it knows to grab or link the other package from my home: project? Scenario: Home Project Package 1 (built and online) Package 2 (working on it locally) So I have a BuildRequires in my SPECFILE for Package 2 and when I try to do an osc build it complains that it can't find that package. So it is looking in Factory but it should be looking in my home: project instead. How do I add that to the second package so it knows where to look? Is this related to adding a _link file to the Package 2? Thanks, Sean -- seanvk -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On 20.01.2017 05:15, Sean V Kelley wrote:
Hi, I have a question on OSC. I have two packages in my home: project on opensuse.org. How do I set up a link or something so that when I build one package it knows to grab or link the other package from my home: project?
Scenario:
Home Project
Package 1 (built and online) Package 2 (working on it locally)
So I have a BuildRequires in my SPECFILE for Package 2 and when I try to do an osc build it complains that it can't find that package. So it is looking in Factory but it should be looking in my home: project instead. How do I add that to the second package so it knows where to look?
Is this related to adding a _link file to the Package 2? You can build the package in your repository with a _link file Heres an example of our local OBS instance with a link to the outside <link project='openSUSE.org:home:uibmz:opsi:opsi40' package='python-opsi'/> Replace the repository after OpenSUSe.org to the package repository you want to link against and the packagename. If you link on the official OBS instance you can remove the OpenSUSE.org: prefix
Cheers -- Mathias Radtke --- http://uib.de/de/support-schulung/schulung/ --- uib gmbh Bonifaziusplatz 1B 55118 Mainz Tel. 06131 / 27561-16 <phone:061312756116> Fax 06131 / 27561-22 <phone:061312756122> E-Mail: m.radtke@uib.de Internet: www.uib.de Geschäftsführer: dr. detlef oertel & erol ueluekmen Handelsregister: Amtsgericht Mainz HRB 6942 -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Friday, January 20, 2017 7:43:04 AM PST Mathias Radtke wrote:
On 20.01.2017 05:15, Sean V Kelley wrote:
Hi, I have a question on OSC. I have two packages in my home: project on opensuse.org. How do I set up a link or something so that when I build one package it knows to grab or link the other package from my home: project?
Scenario:
Home Project
Package 1 (built and online) Package 2 (working on it locally)
So I have a BuildRequires in my SPECFILE for Package 2 and when I try to do an osc build it complains that it can't find that package. So it is looking in Factory but it should be looking in my home: project instead. How do I add that to the second package so it knows where to look?
Is this related to adding a _link file to the Package 2?
You can build the package in your repository with a _link file Heres an example of our local OBS instance with a link to the outside <link project='openSUSE.org:home:uibmz:opsi:opsi40' package='python-opsi'/> Replace the repository after OpenSUSe.org to the package repository you want to link against and the packagename. If you link on the official OBS instance you can remove the OpenSUSE.org: prefix
I had assumed that if I have a single project, then packages are available automatically to other packages in that project. So I thought I did not have to do anything explicitly. My home project is: https://build.opensuse.org/project/show/home:seanvk The two packages are: https://build.opensuse.org/package/show/home:seanvk/libyami https://build.opensuse.org/package/show/home:seanvk/libyami-utils Libyami builds fine and I can see the stored packages: http://download.opensuse.org/repositories/home:/seanvk/openSUSE_Tumbleweed/ x86_64/ The other package, libyami-utils, depends on Libyami, yet it consistently fails to find the dependencies through the addition of BuildRequires in libyami-utils.spec: BuildRequires : libyami BuildRequires : libyami-devel An OSC build always gives the error: eanvk@linux-bend:~/dev/obs/home:seanvk/libyami-utils$ osc build WARNING: package is not existing on server yet WARNING: source service from package or project will not be executed. This may not be the same build as on server! Building libyami-utils.spec for openSUSE_Tumbleweed/x86_64 Getting buildinfo from server and store to /home/seanvk/dev/obs/home:seanvk/ libyami-utils/.osc/_buildinfo-openSUSE_Tumbleweed-x86_64.xml Getting buildconfig from server and store to /home/seanvk/dev/obs/home:seanvk/ libyami-utils/.osc/_buildconfig-openSUSE_Tumbleweed-x86_64 buildinfo is broken... it says: unresolvable: nothing provides libyami nothing provides libyami = 1.1.0 needed by libyami-devel Any further suggestions, much appreciated. Thanks, Sean
Cheers
-- seanvk -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On Donnerstag, 19. Januar 2017, 23:07:14 CET wrote Sean V Kelley:
On Friday, January 20, 2017 7:43:04 AM PST Mathias Radtke wrote:
On 20.01.2017 05:15, Sean V Kelley wrote:
Hi, I have a question on OSC. I have two packages in my home: project on opensuse.org. How do I set up a link or something so that when I build one package it knows to grab or link the other package from my home: project?
Scenario:
Home Project
Package 1 (built and online) Package 2 (working on it locally)
So I have a BuildRequires in my SPECFILE for Package 2 and when I try to do an osc build it complains that it can't find that package. So it is looking in Factory but it should be looking in my home: project instead. How do I add that to the second package so it knows where to look?
Is this related to adding a _link file to the Package 2?
You can build the package in your repository with a _link file Heres an example of our local OBS instance with a link to the outside <link project='openSUSE.org:home:uibmz:opsi:opsi40' package='python-opsi'/> Replace the repository after OpenSUSe.org to the package repository you want to link against and the packagename. If you link on the official OBS instance you can remove the OpenSUSE.org: prefix
I had assumed that if I have a single project, then packages are available automatically to other packages in that project. So I thought I did not have to do anything explicitly.
My home project is: https://build.opensuse.org/project/show/home:seanvk
The two packages are: https://build.opensuse.org/package/show/home:seanvk/libyami https://build.opensuse.org/package/show/home:seanvk/libyami-utils
Libyami builds fine and I can see the stored packages: http://download.opensuse.org/repositories/home:/seanvk/openSUSE_Tumbleweed/ x86_64/
The other package, libyami-utils, depends on Libyami, yet it consistently fails to find the dependencies through the addition of BuildRequires in libyami-utils.spec:
BuildRequires : libyami BuildRequires : libyami-devel
An OSC build always gives the error:
eanvk@linux-bend:~/dev/obs/home:seanvk/libyami-utils$ osc build WARNING: package is not existing on server yet WARNING: source service from package or project will not be executed. This may not be the same build as on server! Building libyami-utils.spec for openSUSE_Tumbleweed/x86_64 Getting buildinfo from server and store to /home/seanvk/dev/obs/home:seanvk/ libyami-utils/.osc/_buildinfo-openSUSE_Tumbleweed-x86_64.xml Getting buildconfig from server and store to /home/seanvk/dev/obs/home:seanvk/ libyami-utils/.osc/_buildconfig-openSUSE_Tumbleweed-x86_64 buildinfo is broken... it says: unresolvable: nothing provides libyami nothing provides libyami = 1.1.0 needed by libyami-devel
Any further suggestions, much appreciated.
This has nothing to do with the link, but that your library package is call libyami1 and your -devel package requires libyami . -- Adrian Schroeter email: adrian@suse.de SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg) Maxfeldstraße 5 90409 Nürnberg Germany -- To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-buildservice+owner@opensuse.org
On 20.1.2017 08:21, Adrian Schröter wrote:
unresolvable: nothing provides libyami nothing provides libyami = 1.1.0 needed by libyami-devel
Any further suggestions, much appreciated.
This has nothing to do with the link, but that your library package is call libyami1 and your -devel package requires libyami .
To expand: package "libyami.rpm" from "libyami.spec" does not build, because there is no "%files" section related to "libyami" (there are "%files -n libyami1" and "%files devel", but not just "%files") This is perfectly ok, if that is what you want. But it does mean that you never get a "libyami" package. Your "libyami-devel" has a requirement on "%name", which would be "libyami", which, as shown, does not exist. So that is wrong, it should probably be "libyami1". Also, "libyami-utils" buildrequire "libyami", which should not be necessary. "libyami-devel" should be sufficient. m.
On Friday, January 20, 2017 7:14:28 PM PST jan matejek wrote:
On 20.1.2017 08:21, Adrian Schröter wrote:
unresolvable: nothing provides libyami
nothing provides libyami = 1.1.0 needed by libyami-devel
Any further suggestions, much appreciated.
This has nothing to do with the link, but that your library package is call libyami1 and your -devel package requires libyami .
To expand: package "libyami.rpm" from "libyami.spec" does not build, because there is no "%files" section related to "libyami" (there are "%files -n libyami1" and "%files devel", but not just "%files")
This is perfectly ok, if that is what you want. But it does mean that you never get a "libyami" package.
Your "libyami-devel" has a requirement on "%name", which would be "libyami", which, as shown, does not exist. So that is wrong, it should probably be "libyami1".
Also, "libyami-utils" buildrequire "libyami", which should not be necessary. "libyami-devel" should be sufficient.
m.
Thank you all for your feedback. Packages are building and working. I'm hoping to add them to factory. I am the media lead for Intel's open source driver and media frameworks. I quite enjoy working with Tumbleweed. Best regards, Sean
participants (4)
-
Adrian Schröter
-
jan matejek
-
Mathias Radtke
-
Sean V Kelley