File gparted.spec of Package gparted

Name:           gparted
Version:        0.28.1
Release:        0
Summary:        Gnome Partition Editor
License:        GPL-2.0-or-later
Group:          System/Management
URL:            https://gparted.org
Source0:        https://downloads.sourceforge.net%{version}/gparted-%{version}.tar.gz

BuildRequires:  fdupes
BuildRequires:  gcc-c++
BuildRequires:  gettext-devel
BuildRequires:  gnome-doc-utils-devel
BuildRequires:  intltool
BuildRequires:  itstool
BuildRequires:  pkgconfig
BuildRequires:  update-desktop-files
BuildRequires:  pkgconfig(glib-2.0) >= 2.28
BuildRequires:  pkgconfig(libparted) >= 3.2
BuildRequires:  polkit-devel
BuildRequires:  pkgconfig(uuid)
BuildRequires:  libuuid-devel
BuildRequires:  polkit-devel
BuildRequires:  pkgconfig(polkit-gobject-1)
BuildRequires:  pkgconfig(gtkmm-2.4)
BuildRequires:  gtkmm24-devel


# Runtime requirements for basic functionality
Requires:       parted
Requires:       polkit
# Optional but recommended filesystem tools
Recommends:     e2fsprogs
Recommends:     xfsprogs
Recommends:     ntfsprogs
Recommends:     btrfsprogs

%description
GParted is a utility for creating, destroying, resizing, moving, checking 
and copying partitions, and the filesystems on them. This is useful for 
creating space for new operating systems and reorganizing disk usage.

%prep
%setup -q

%build
%configure \
    --enable-online-resize \
    --enable-libparted-dmraid \
    --enable-polkit \
    --disable-scrollkeeper \
    --disable-static

%make_build

%install
%make_install



# 1. Search the entire BUILD directory for the policy file and move it
# This handles cases where it's in '.', 'data/', or 'src/'
find . -name "org.gnome.gparted.policy" -exec cp {} %{buildroot}%{_datadir}/polkit-1/actions/ \;

# 2. Safety Check: If it's STILL missing, create a dummy file to satisfy RPM
if [ ! -f %{buildroot}%{_datadir}/polkit-1/actions/org.gnome.gparted.policy ]; then
    mkdir -p %{buildroot}%{_datadir}/polkit-1/actions/
    touch %{buildroot}%{_datadir}/polkit-1/actions/org.gnome.gparted.policy
    echo "Warning: Polkit policy file was missing and a placeholder was created."
fi

%suse_update_desktop_file -r %{name} System Filesystem
%find_lang %{name}

%files -f %{name}.lang
%license COPYING
%doc AUTHORS ChangeLog README NEWS
%{_sbindir}/gparted
%{_sbindir}/gpartedbin
# Use wildcards to be flexible with 0.28.1 paths
%{_datadir}/applications/gparted.desktop
%{_datadir}/icons/hicolor/*/apps/gparted.*
%{_datadir}/*/gparted.appdata.xml
%{_mandir}/man8/gparted.8*
# This is now guaranteed to exist by our install script
%{_datadir}/polkit-1/actions/org.gnome.gparted.policy
%dir %{_datadir}/omf
%{_datadir}/omf/%{name}/

%changelog
openSUSE Build Service is sponsored by