Just create a simple toy try to convert rpm to flatpak

RPM to Flatpak Converter

A smart tool to convert RPM packages into Flatpak bundles with minimal effort. For over a decade, converting RPM packages to Flatpak has been a manual, error-prone process requiring deep knowledge of both packaging formats. This tool automates the entire workflow with intelligent detection and an interactive wizard.

Why This Tool?

The RPM-to-Flatpak conversion problem has existed since Flatpak’s inception:

  • Manual complexity: Requires understanding file layouts, desktop entries, dependencies
  • No standard workflow: Each application needs custom handling
  • Wrapper scripts: Hard to trace actual binaries from launcher scripts
  • Permission configuration: Difficult to determine correct sandbox settings
  • Time-consuming: Hours of trial-and-error for a single package

This tool solves all these issues with automated detection and intelligent recommendations.

Features

  • :magnifying_glass_tilted_left: Intelligent Detection: Automatically scans RPM contents and detects desktop files, executables, and icons
  • :bullseye: Interactive Wizard: Step-by-step guided process with smart recommendations
  • :wrench: Manual Override: Enter container shell anytime for manual inspection and fixes
  • :package: Wrapper Script Detection: Automatically unwraps shell scripts to find real binaries
  • :high_voltage: Force Install Support: Handles problematic RPMs with signature or dependency issues
  • :artist_palette: Complete Flatpak: Generates proper desktop integration with icons and metadata

check it here: GitHub - sunnyyangyangyang/rpm2flatpak

1 Like

sunny@fedora:~$ flatpak list | grep rpm
code    org.rpm.code            master  code-origin     user
wechatlinux     org.rpm.wechatlinux             master  wechatlinux-origin      user
wps-office      org.rpm.wps-office              master  wps-office-origin       user
xmcl    org.rpm.xmcl            master  xmcl-origin     user

few examples

vscode.conf

# RPM to Flatpak Configuration File

# Generated: Wed Jan 28 08:27:06 PM CST 2026

[meta]

app_name=code

rpm_file=code-1.108.1-1768404278.el8.x86_64.rpm

force_install=no

extra_repos=

[desktop]

desktop_file=/usr/share/applications/code.desktop

[exec]

exec_path=/usr/share/code/code

exec_name=code

[icon]

icon_path=

[flags]

no_sandbox=yes

extra_path=

extra_ld_path=

extra_permissions=

wps-office.conf

# RPM to Flatpak Configuration File
# Generated: Mon Jan 19 06:47:51 PM CST 2026

[meta]
app_name=wps-office
rpm_file=wps-office-11.1.0.11723.XA-1.x86_64.rpm
force_install=yes

[desktop]
desktop_file=/usr/share/applications/wps-office-pdf.desktop

[exec]
exec_path=/opt/kingsoft/wps-office/office6/wps
exec_name=wpspdf

[icon]
icon_path=/usr/share/icons/hicolor/256x256/mimetypes/wps-office2019-pdfmain.png

[flags]
no_sandbox=no
extra_path=
extra_ld_path=

wechat-linux.conf

# RPM to Flatpak Configuration File
# Generated: Wed Jan 28 07:41:42 PM CST 2026

[meta]
app_name=wechatlinux
rpm_file=WeChatLinux_x86_64.rpm
force_install=no
extra_repos=https://download.copr.fedorainfracloud.org/results/rezso/ML/fedora-43-x86_64/

[desktop]
desktop_file=/usr/share/applications/wechat.desktop

[exec]
exec_path=/usr/bin/wechat
exec_name=wechat

[icon]
icon_path=/opt/wechat/icons/wechat.png

[flags]
no_sandbox=no
extra_path=
extra_ld_path=
extra_permissions=--filesystem=/tmp

xmcl.conf

# RPM to Flatpak Configuration File
# Generated: Wed Jan 21 09:43:19 PM CST 2026

[meta]
app_name=xmcl
rpm_file=xmcl-0.53.3-x86_64.rpm
force_install=no

[desktop]
desktop_file=/usr/share/applications/xmcl.desktop

[exec]
exec_path=/opt/xmcl/xmcl
exec_name=xmcl

[icon]
icon_path=/usr/share/icons/hicolor/256x256/apps/xmcl.png

[flags]
no_sandbox=yes
extra_path=
extra_ld_path=