i686 binary packages in the x86_64 repository

Simone Caronni negativo17 at gmail.com
Wed Oct 23 20:28:35 CEST 2013


On 23 October 2013 19:58, Alec Leamas <leamas.alec at gmail.com> wrote:

> On 2013-10-23 19:22, Simone Caronni wrote:
>  I wonder if the simple answer is just "No, you can't" . OTOH, isn't it
> perfectly viable to install a 32-bit package on a x86_64 host using e. g.,
> yum install steam.i386?


It can be done, but installing it by calling "steam.i686" or just "steam"
is the same if the i686 package is the only one in the repository. It's
managed by yum, ff there's the native arch package, that is pulled in,
otherwise the compatible others.

Actually, if you run my repository on x86_64 and issue a "yum install
steam" the steam.i686 package is installed.


> If that is seen as a little awkward, one could probably create subpackages
> with correct architecture which pulls in steam.i386 (?)
>

Creating a 64 bit steam package, with all libraries and programs written in
as library(x86-32) in the requirements is a really ugly hack... I would
rather not do it. On top of this, after installing the Steam client, there
are "hints" (libraries, a stub Ubuntu runtime, etc.) that the client will
sooner or later ported to 64 bit (maybe in the new SteamMachines?); so
creating a package like that would create a lot of mess. Example:

[slaanesh at 3zpc0560 Steam]$ ls -ald ubuntu12_*
drwx------. 2 slaanesh slaanesh 4096 Oct 20 19:57 ubuntu12_32
drwxrwxr-x. 2 slaanesh slaanesh 4096 Oct 10 23:37 ubuntu12_64
[slaanesh at 3zpc0560 Steam]$ ls -al ubuntu12_64/
total 15460
drwxrwxr-x.  2 slaanesh slaanesh     4096 Oct 10 23:37 .
drwx------. 26 slaanesh slaanesh     4096 Oct 23 16:37 ..
-rwxrwxr-x.  1 slaanesh slaanesh   472576 Oct  4 02:47 crashhandler.so
-rwxrwxr-x.  1 slaanesh slaanesh   173323 Sep 27 19:57
gameoverlayrenderer.so
-rwxrwxr-x.  1 slaanesh slaanesh   191997 Sep 25 23:57 libtier0_s.so
-rwxrwxr-x.  1 slaanesh slaanesh   235937 Oct  4 02:47 libvstdlib_s.so
-rwxrwxr-x.  1 slaanesh slaanesh 14739300 Oct  9 04:25 steamclient.so
[slaanesh at 3zpc0560 Steam]$ ldd ubuntu12_64/steamclient.so
    linux-vdso.so.1 =>  (0x00007fff6673c000)
[...]
    libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f1d8cbb3000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f1d8c997000)
    /lib64/ld-linux-x86-64.so.2 (0x00000034b0600000)
    libc.so.6 => /lib64/libc.so.6 (0x00007f1d8c5d5000)
[...]

Anyway, to pull in steam.i386, the steam.i386 package would need to be in
the repository as well, so the problem is the same. I think the best and
cleanest way is to create an i686 package and installing it as it should.
Getting to something like ELRepo nvidia packages with a
"nvidia-x11-drv-libs-32bit.x86_64" package containing i686 libraries is a
really, really ugly thing and I would rather not do it...

Leaving it as is and simply adding x86_64 to ExclusiveArch would allow us
to rebuild the package as normal.

Regards,
--Simone




-- 
You cannot discover new oceans unless you have the courage to lose sight of
the shore (R. W. Emerson).

http://xkcd.com/229/
http://negativo17.org/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.rpmfusion.org/pipermail/rpmfusion-developers/attachments/20131023/c1e110e3/attachment.html>


More information about the rpmfusion-developers mailing list