[sles-beta] SLES12 x86_64 RC3 zypper problem: requires ruby(abi) = 2.1.0, but this requirement cannot be provided

urs.frey at post.ch urs.frey at post.ch
Fri Sep 12 09:25:32 MDT 2014


Hello Marcus

OK after you hint, installing with zypper locally after having rebuilt the ruby package this worked

h05cni:/home/freyu/rpmbuild/RPMS/x86_64 # zypper in pst-rubygem-stomp-1.3.2-1.x86_64.rpm
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following NEW package is going to be installed:
  pst-rubygem-stomp

1 new package to install.
Overall download size: 138.4 KiB. Already cached: 0 B  After the operation, additional 399.2 KiB will be used.
Continue? [y/n/? shows all options] (y): y
Retrieving package pst-rubygem-stomp-1.3.2-1.x86_64                                                    (1/1), 138.4 KiB (399.2 KiB unpacked)
Checking for file conflicts: .........................................................................................................[done]
(1/1) Installing: pst-rubygem-stomp-1.3.2-1 ..........................................................................................[done]
h05cni:/home/freyu/rpmbuild/RPMS/x86_64 #

Now on my network install repo, observe the md5sum of the package
===================================================
h05cni:/home/freyu/rpmbuild/RPMS/x86_64 # md5sum pst-rubygem-stomp-1.3.2-1.x86_64.rpm
445b9d07e9283d6cad1fa8e3d13cc71d  pst-rubygem-stomp-1.3.2-1.x86_64.rpm
h05cni:/home/freyu/rpmbuild/RPMS/x86_64 #
v03g27:/appl/pstkits/pstaddon/SLES12_64/post/x86_64 # md5sum pst-rubygem-stomp-1.3.2-1.x86_64.rpm
445b9d07e9283d6cad1fa8e3d13cc71d  pst-rubygem-stomp-1.3.2-1.x86_64.rpm
v03g27:/appl/pstkits/pstaddon/SLES12_64/post/x86_64 #

The same file
Here I do nothing else than createrepo .  on a SLES11-SP3 Repo-Server
And obviously this does not work anymore,

v03g27:/appl/pstkits/pstaddon/SLES12_64/post/x86_64 # su - pkgadm
pkgadm at v03g27:~> cd /appl/pstkits/pstaddon/SLES12_64/post/
pkgadm at v03g27:/appl/pstkits/pstaddon/SLES12_64/post> createrepo .
Spawning worker 0 with 23 pkgs
Workers Finished
Gathering worker results

Saving Primary metadata
Saving file lists metadata
Saving other metadata
pkgadm at v03g27:/appl/pstkits/pstaddon/SLES12_64/post>

Because when trying to install http with zypper I run always into this problem

h05cni:/home/freyu/rpmbuild/RPMS/x86_64 # zypper in pst-rubygem-stomp
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: nothing provides ruby(abi) = 2.1.0 needed by pst-rubygem-stomp-1.3.2-1.x86_64
 Solution 1: do not install pst-rubygem-stomp-1.3.2-1.x86_64
 Solution 2: break pst-rubygem-stomp-1.3.2-1.x86_64 by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/c] (c):
h05cni:/home/freyu/rpmbuild/RPMS/x86_64 #




QUESTION: can it be, that with the new implementation of ruby(api) createrepo on SLES11-SP3 has some difficulty??

From the file repodate/primary.xml.gz I can see this for pst-rubygem-stomp

<package type="rpm">
  <name>pst-rubygem-stomp</name>
  <arch>x86_64</arch>
  <version epoch="0" ver="1.3.2" rel="1"/>
  <checksum type="sha" pkgid="YES">52dd2e42986e176bfc9b63005f44e5e024fd4826</checksum>
  <summary>Ruby client for the Stomp messaging protocol</summary>
  <description>A ruby gem for sending and receiving messages from a Stomp protocol compliant message queue. Includes: fail
over logic, ssl support.</description>
  <packager></packager>
  <url>https://github.com/stompgem/stomp</url>
  <time file="1410534064" build="1410533812"/>
  <size package="141683" installed="408807" archive="423184"/>
<location href="x86_64/pst-rubygem-stomp-1.3.2-1.x86_64.rpm"/>
  <format>
    <rpm:license>Apache License Version 2.0</rpm:license>
    <rpm:vendor>Die Schweizerische Post</rpm:vendor>
    <rpm:group>Development/Languages/Ruby</rpm:group>
    <rpm:buildhost>h05cni.pnet.ch</rpm:buildhost>
    <rpm:sourcerpm>pst-rubygem-stomp-1.3.2-1.src.rpm</rpm:sourcerpm>
    <rpm:header-range start="280" end="11520"/>
    <rpm:provides>
      <rpm:entry name="pst-rubygem-stomp" flags="EQ" epoch="0" ver="1.3.2" rel="1"/>
      <rpm:entry name="pst-rubygem-stomp(x86-64)" flags="EQ" epoch="0" ver="1.3.2" rel="1"/>
      <rpm:entry name="rubygem(ruby:2.1.0:stomp)" flags="EQ" epoch="0" ver="1.3.2"/>
      <rpm:entry name="rubygem(ruby:2.1.0:stomp:1)" flags="EQ" epoch="0" ver="1.3.2"/>
      <rpm:entry name="rubygem(ruby:2.1.0:stomp:1.3)" flags="EQ" epoch="0" ver="1.3.2"/>
      <rpm:entry name="rubygem(ruby:2.1.0:stomp:1.3.2)" flags="EQ" epoch="0" ver="1.3.2"/>
      <rpm:entry name="rubygem(stomp)" flags="EQ" epoch="0" ver="1.3.2"/>
    </rpm:provides>
    <rpm:requires>
      <rpm:entry name="ruby(abi)" flags="EQ" epoch="0" ver="2.1.0"/>
      <rpm:entry name="/usr/bin/ruby"/>
      <rpm:entry name="/usr/bin/ruby.ruby2.1"/>
    </rpm:requires>
    <file>/usr/bin/catstomp</file>
    <file>/usr/bin/stompcat</file>
    <file>/usr/lib64/ruby/gems/2.1.0/gems/stomp-1.3.2/bin/catstomp</file>
    <file>/usr/lib64/ruby/gems/2.1.0/gems/stomp-1.3.2/bin/stompcat</file>
  </format>
</package>


So the change in SLES12 RC3 with ruby makes my entire environment and SLES12 unusable
Installation local with rpm and zypper works, but zypper from a rpm-md repository does not work anymore
http-172.27.40.68-44fc3b8b | Post-Specific-Kits 12    | Yes     | Yes     |   99     | rpm-md | http://172.27.40.68/pstkits/pstaddon/SLES12_64

-----------------------------------------------------------------------------

o Updated ruby-common (security/bugfix/feature)

- we actually need the splitted version in any case. uncomment it
  again
- pass the ruby abi as hash containing :interpreter, :version,
  :abi as keys. that way we have the full new string but also the
  version for the 1.8 support
- rubygemsdeps.rb:
  - make the provides/requires also include the ruby interpreter
  - no longer emit the old package name style provides
- rubygems.attr:
  - make the path a bit more relaxed so we can match other ruby
    interpreter too

-----------------------------------------------------------------------------


Unless I can safely install my own built RPM packages from a http network repo server SLES11-SP3, repo updated with createrepo under SLES11-SP3 , SLES12 is unusable for me.

regardds

Urs Frey                                              
Post CH AG
Informationstechnologie
IT Betrieb 
Webergutstrasse 12 
3030 Bern (Zollikofen) 
Telefon : ++41 (0)58 338 58 70 
FAX     : ++41 (0)58 667 30 07 
E-Mail:   urs.frey at post.ch


-----Ursprüngliche Nachricht-----
Von: Marcus Rückert [mailto:mrueckert at suse.de] 
Gesendet: Friday, September 12, 2014 4:36 PM
An: Frederic Crozat
Cc: Frey Urs, IT222; sles-beta at lists.suse.com
Betreff: Re: [sles-beta] SLES12 x86_64 RC3 zypper problem: requires ruby(abi) = 2.1.0, but this requirement cannot be provided

On Fri, 12 Sep 2014 15:57:41 +0200
Frederic Crozat <fcrozat at suse.com> wrote:

> Le vendredi 12 septembre 2014 à 13:47 +0000, urs.frey at post.ch a
> écrit :
> > Hello Frederic
> > 
> > Thank you very much for your answer
> > 
> > See the problem is, that I am really rebuilding on RC3 and still
> > encountering problems
> 
> Let me forward those information to our ruby specialist.
> 
> 
> > 
> > freyu at h05cni:~/rpmbuild/SPECS> uname -a
> > Linux h05cni 3.12.28-2-default #1 SMP Mon Sep 8 11:15:37 UTC 2014
> > (aff039d) x86_64 x86_64 x86_64 GNU/Linux
> > freyu at h05cni:~/rpmbuild/SPECS> rpmbuild -ba --clean
> > rubygem-stomp.spec . . . freyu at h05cni:~/rpmbuild/SPECS> rpm -qp
> > --requires ../RPMS/x86_64/pst-rubygem-stomp-1.3.2-1.x86_64.rpm /usr/bin/ruby
> > /usr/bin/ruby.ruby2.1
> > rpmlib(CompressedFileNames) <= 3.0.4-1
> > rpmlib(PayloadFilesHavePrefix) <= 4.0-1
> > ruby(abi) = ruby:2.1.0
> > rpmlib(PayloadIsLzma) <= 4.4.6-1
> > freyu at h05cni:~/rpmbuild/SPECS>
> > 
> > h05cni:/home/freyu/rpmbuild/RPMS/x86_64 # uname -a
> > Linux h05cni 3.12.28-2-default #1 SMP Mon Sep 8 11:15:37 UTC 2014
> > (aff039d) x86_64 x86_64 x86_64 GNU/Linux
> > h05cni:/home/freyu/rpmbuild/RPMS/x86_64 # rpm -ivh
> > pst-rubygem-stomp-1.3.2-1.x86_64.rpm
> > Preparing...
> > ################################# [100%] Updating / installing...
> > 1:pst-rubygem-stomp-1.3.2-1
> > ################################# [100%]
> > h05cni:/home/freyu/rpmbuild/RPMS/x86_64 # rpm -e pst-rubygem-stomp
> > h05cni:/home/freyu/rpmbuild/RPMS/x86_64 # uname -a Linux h05cni
> > 3.12.28-2-default #1 SMP Mon Sep 8 11:15:37 UTC 2014 (aff039d)
> > x86_64 x86_64 x86_64 GNU/Linux
> > h05cni:/home/freyu/rpmbuild/RPMS/x86_64 #
> > 
> > 
> > On my network install server, the package uploaded, made ready for
> > use with zypper ===========================================
> > v03g27:/appl/pstkits/pstaddon/SLES12_64/post/x86_64 # rpm -qp
> > --requires pst-rubygem-stomp-1.3.2-1.x86_64.rpm /usr/bin/ruby
> > /usr/bin/ruby.ruby2.1
> > rpmlib(CompressedFileNames) <= 3.0.4-1
> > rpmlib(PayloadFilesHavePrefix) <= 4.0-1
> > ruby(abi) = ruby:2.1.0

as you see here it generated the correct ruby(abi) requires.

> > h05cni:~ # zypper in pst-rubygem-stomp

could you copy over the file you just built above and try

zypper in pst-rubygem-stomp-1.3.2-1.x86_64.rpm

It looks like the package it tries to install from the repository has
not been rebuilt yet.

   darix

-- 
          openSUSE - SUSE Linux is my linux
              openSUSE is good for you
                  www.opensuse.org


More information about the sles-beta mailing list