My packaging skills are a bit rusty and I’m hitting a bit of a wall here.
Background:
The “official” OpenSUSE ejabberd package does not include SQLite3 support, so I am having a go at packaging it myself, here: https://build.opensuse.org/project/show/home:licehunter:staging
I have managed to build erlang and erlang-rebar on the same repo. I haven’t quite yet managed to build erlang-sqlite3 (sources are on my local osc client, not yet committed to OBS) but that’s a different issue.
Problem:
I am trying to build ejabberd there, as a _link to the official package in https://build.opensuse.org/package/show/devel:languages:erlang/ejabberd
And I am failing miserably.
> osc build
Building ejabberd.spec for openSUSE_Factory/x86_64
Getting buildinfo from server and store to ~/osc/home:licehunter:staging/ejabberd/.osc/_buildinfo-openSUSE_Factory-x86_64.xml
Getting buildconfig from server and store to ~/osc/home:licehunter:staging/ejabberd/.osc/_buildconfig-openSUSE_Factory-x86_64
buildinfo is broken... it says:
unresolvable: nothing provides erlang-lager-devel >= 3.6.10
nothing provides erlang-p1_utils-devel >= 1.0.15
nothing provides erlang-p1_cache_tab-devel >= 1.0.19
nothing provides erlang-fast_tls-devel >= 1.1.1
nothing provides erlang-stringprep-devel >= 1.0.16
nothing provides erlang-fast_xml-devel >= 1.1.36
nothing provides erlang-xmpp-devel >= 1.3.4
nothing provides erlang-fast_yaml-devel >= 1.0.19
nothing provides erlang-jiffy-devel >= 0.14.11
nothing provides erlang-p1_oauth2-devel >= 0.6.5
nothing provides erlang-pkix-devel >= 1.0.2
nothing provides erlang-jose-devel >= 1.8.4
nothing provides erlang-eimp-devel >= 1.0.11
nothing provides erlang-mqtree-devel >= 1.0.3
nothing provides erlang-stun-devel >= 1.0.28
nothing provides erlang-esip-devel >= 1.0.29
nothing provides erlang-p1_mysql-devel >= 1.0.11
nothing provides erlang-p1_pgsql-devel >= 1.1.8
nothing provides erlang-epam-devel >= 1.0.6
nothing provides erlang-ezlib-devel >= 1.0.6
nothing provides erlang-luerl-devel >= 0.3
The thing is, if you look at my project’s meta , it should be picking up those packages from the devel:languages:erlang project.
So what exactly am I doing wrong here?
licehunter:
My packaging skills are a bit rusty and I’m hitting a bit of a wall here.
Background:
The “official” OpenSUSE ejabberd package does not include SQLite3 support, so I am having a go at packaging it myself, here: Show home:licehunter:staging - openSUSE Build Service
I have managed to build erlang and erlang-rebar on the same repo. I haven’t quite yet managed to build erlang-sqlite3 (sources are on my local osc client, not yet committed to OBS) but that’s a different issue.
Problem:
I am trying to build ejabberd there, as a _link to the official package in Show devel:languages:erlang / ejabberd - openSUSE Build Service
And I am failing miserably.
> osc build
Building ejabberd.spec for openSUSE_Factory/x86_64
Getting buildinfo from server and store to ~/osc/home:licehunter:staging/ejabberd/.osc/_buildinfo-openSUSE_Factory-x86_64.xml
Getting buildconfig from server and store to ~/osc/home:licehunter:staging/ejabberd/.osc/_buildconfig-openSUSE_Factory-x86_64
buildinfo is broken... it says:
unresolvable: nothing provides erlang-lager-devel >= 3.6.10
nothing provides erlang-p1_utils-devel >= 1.0.15
nothing provides erlang-p1_cache_tab-devel >= 1.0.19
nothing provides erlang-fast_tls-devel >= 1.1.1
nothing provides erlang-stringprep-devel >= 1.0.16
nothing provides erlang-fast_xml-devel >= 1.1.36
nothing provides erlang-xmpp-devel >= 1.3.4
nothing provides erlang-fast_yaml-devel >= 1.0.19
nothing provides erlang-jiffy-devel >= 0.14.11
nothing provides erlang-p1_oauth2-devel >= 0.6.5
nothing provides erlang-pkix-devel >= 1.0.2
nothing provides erlang-jose-devel >= 1.8.4
nothing provides erlang-eimp-devel >= 1.0.11
nothing provides erlang-mqtree-devel >= 1.0.3
nothing provides erlang-stun-devel >= 1.0.28
nothing provides erlang-esip-devel >= 1.0.29
nothing provides erlang-p1_mysql-devel >= 1.0.11
nothing provides erlang-p1_pgsql-devel >= 1.1.8
nothing provides erlang-epam-devel >= 1.0.6
nothing provides erlang-ezlib-devel >= 1.0.6
nothing provides erlang-luerl-devel >= 0.3
The thing is, if you look at my project’s meta , it should be picking up those packages from the devel:languages:erlang project.
So what exactly am I doing wrong here?
Hi
Just because it’s a link, doesn’t mean it will use the link repository, unless you add to your project via ‘add repositories’ and manually add the target via ‘expert mode’ button at the bottom of the page, else you need to use --alternative-project in your osc command…
osc build --alternative-project devel:languages:erlang
Or add;
Thank you Malcom.
I don’t understand: if I build locally via:
~/osc/home:licehunter:staging/erlang-sqlite3> osc build --alternative-project home:Ledest:erlang:22
it works no bother. But if I configure the appropriate projects on the OBS interface as suggested (https://build.opensuse.org/repositories/home:licehunter:staging/erlang-sqlite3 ) it still says “unresovlable” (https://build.opensuse.org/package/show/home:licehunter:staging/erlang-sqlite3 ).
D. Berge:
Thank you Malcom.
I don’t understand: if I build locally via:
~/osc/home:licehunter:staging/erlang-sqlite3> osc build --alternative-project home:Ledest:erlang:22
it works no bother. But if I configure the appropriate projects on the OBS interface as suggested (Welcome - openSUSE Build Service ) it still says “unresovlable” (Welcome - openSUSE Build Service ).
Hi
So where do those dependencies exist? I see none anywhere on OBS?
osc se erl_interface
No matches found for 'erl_interface' in projects
No matches found for 'erl_interface' in packages
osc se erts-devel
No matches found for 'erts-devel' in projects
No matches found for 'erts-devel' in packages
osc se epmd
No matches found for 'epmd' in projects
No matches found for 'epmd' in packages
cnf epmd
The program 'epmd' can be found in the following package:
* erlang-epmd path: /usr/bin/epmd
So looks like you need to check your BuildRequires for the correct packages
Those dependencies come from
home:Ledest:erlang:22
(they’re built as subpackages of erlang).
Hi
If they don’t reside in your repository, then you would need to link them in your project. Dependency hell… They should really all exist in the main development project, not in some home project…