Installing Deb Packages on RHEL8
I noticed that a few applications I depend on are only available as Deb Packages (Debian, Ubuntu, Mint), e.g. the Synology Chat Client. So I was searching for a way to use those on a RHEL8 Workstation and found the Alien Package Converter.
Installing Alien Package Converter
Download Alien with the following command:
wget -c https://sourceforge.net/projects/alien-pkg-convert/files/release/alien_8.95.tar.xz
tar -xf alien_8.95.tar.xz
cd alien_8.95.tar
Install dependencies:
sudo dnf install perl
sudo yum install rpm-build -y
Then run the Alien Makefile:
sudo perl Makefile.PL; sudo make; sudo make install
Converting Deb to RPM
Installing the Synology Chat Client
I now download the Debian Package I want to convert - for example a Synology Application like the Chat Client. And run the following Alien command:
alien --to-rpm 'Synology Chat Client-1.2.0-0146.deb'
This attempt failed with an error message ERROR: Line 5: Empty Tag: Summary. So I unpacked the Deb package with:
alien -r -g -v 'Synology Chat Client-1.2.0-0146.deb'
and opened the chat-1.2.0-147.spec
file inside the generated folder chat-1.2.0
- and yes the key for Summary did not have a value - So I just added the string Synology Chat Client
and tried the rebuild by hand by making the BUILDROOT directory and copying the content of chat-1.2.0
into it:
mkdir /home/myuser/rpmbuild/BUILDROOT/chat-1.2.0-147.x86_64
cp -r ./chat-1.2.0/* /home/myuser/rpmbuild/BUILDROOT/chat-1.2.0-147.x86_64/
And running the RPM Build with
rpmbuild -bb chat-1.2.0/chat-1.2.0-147.spec
And this generated a chat-1.2.0-147.x86_64.rpm
file inside my home directory! Unfortunately, the installation failed at first:
file / from install of chat-1.2.0-147.x86_64 conflicts with file from package filesystem-3.8-8.el8.x86_64
Which can be solved by forcing the install:
sudo rpm -ivh --force chat-1.2.0-147.x86_64.rpm