Name: rpm-extractor-gui Version: 1.0.0 Release: 1%{?dist} Summary: A PyQt6 GUI application for extracting RPM files License: GPL-3.0-or-later BuildArch: noarch # Source files Source0: %{name}-%{version}.tar.gz # Description %description A graphical user interface application for extracting RPM package files. Built with PyQt6 and follows XDG specifications for file dialogs. # Build requirements %if 0%{?fedora} >= 43 BuildRequires: python3-devel BuildRequires: python3-qt6 BuildRequires: rpm-build BuildRequires: cpio %else BuildRequires: python3-devel BuildRequires: python3-qt6 BuildRequires: rpm-build BuildRequires: cpio %endif # Runtime requirements %if 0%{?fedora} >= 43 Requires: python3 Requires: python3-qt6 >= 6.6 Requires: rpm Requires: cpio %else Requires: python3 Requires: python3-qt6 Requires: rpm Requires: cpio %endif %prep %autosetup -n %{name}-%{version} %build # No compilation needed for Python application %install # Create directories mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_datadir}/applications mkdir -p %{buildroot}%{_datadir}/icons/hicolor/128x128/apps # Install the application files install -m 755 rpm_extract.sh %{buildroot}%{_bindir}/rpm_extract install -m 755 pyqt_rpm_extractor.py %{buildroot}%{_bindir}/rpm-extractor-gui # Install desktop file cat > %{buildroot}%{_datadir}/applications/rpm-extractor-gui.desktop << EOF [Desktop Entry] Name=RPM Extractor GUI Comment=A tool for extracting RPM package files Exec=%{_bindir}/rpm-extractor-gui Icon=rpm-extractor-gui Terminal=false Type=Application Categories=Utility; EOF # Install icon (create a simple placeholder icon) convert -size 128x128 xc:#3498db -fill white -draw "text 30,60 'RPM'" \ %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/rpm-extractor-gui.png 2>/dev/null || \ touch %{buildroot}%{_datadir}/icons/hicolor/128x128/apps/rpm-extractor-gui.png %files %{_bindir}/rpm_extract %{_bindir}/rpm-extractor-gui %{_datadir}/applications/rpm-extractor-gui.desktop %{_datadir}/icons/hicolor/128x128/apps/rpm-extractor-gui.png %changelog * Sun Jan 25 2026 James Smith - 1.0.0-1 - Initial package