How to Convert x86 RPM to x86 DEB on x64 System

32-bit64-bitaliendebrpm

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.

Best Answer

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 archicture and this is how the line ended up:

Architecture: i386, amd64

Last step:

sudo debian/rules binary

This will produce the .deb file.


References:

Related Question