How do I convert a x86 RPM to a x86 DEB within a x64 system?

31,744

Solution 1

The process is quite easy, in short you need to modify the control file and that's it.

sudo alien -g package-name.rpm
cd package-dir/
sudo vi debian/control

Now change the architecture (i386 in my case) to be the one you need. For example, I added the amd64 architecture and this is how the line ended up:

Architecture: i386, amd64

Last step:

sudo debian/rules binary

This will produce the .deb file.


References:

Solution 2

I made it work with just this command:

fakeroot alien --target=amd64 package.i586.rpm

Solution 3

This should be an easy work-around as well, as found on https://www.maketecheasier.com/convert-32bit-rpm-to-deb-64bit/ - use TGZ as an intermediate stage:

sudo alien --scripts --to-tgz <package.rpm>

sudo alien --scripts --to-deb <package.tgz>

The --to-deb is a default, used here only to be explicit about the conversions.

Then, install with dpkg as usual (when using a raw .deb from Alien).

Share:
31,744

Related videos on Youtube

givanse
Author by

givanse

The MVC family tree: https://mvc.givan.se/

Updated on September 18, 2022

Comments

  • givanse
    givanse over 1 year

    In my case the software I am trying to convert is the Lacie lightscribe labeler.

    1.- I renamed the RPM

    mv LaCie\ LightScribe\ Labeler\ 1.0\ Linux.rpm lacie-lightscribe-labeler-1.0.rpm
    

    2.- Convert the package with alien

    sudo alien lacie-lightscribe-labeler-1.0.rpm
    

    Error:

    lacie-lightscribe-labeler-1.0.rpm is for architecture i386 ; the package cannot be built on this system
    

    I know that:

    • I could do this in a x86 system and then copy it from there.
    • Use the simple labeler

    I'm curious about how to do this conversion in general.

  • Muriuki David
    Muriuki David almost 8 years
    fakeroot in action, it was meant for this kind of thing
  • Roger Dueck
    Roger Dueck almost 8 years
    What version of alien is that? I have 8.86 on Ubuntu 12.04.5, and target is an unknown option. (Time to upgrade Ubuntu!)