%global owner ZZYZX %global commit d53d64f908603d6989674610eec7099c55deb8ed %global date 20141001 %global shortcommit %(c=%{commit}; echo ${c:0:7}) Name: qparted Version: 0.6.1 # upstream has no official release yet Release: 0.1.%{date}git%{shortcommit}%{?dist} Summary: Visual partition editor based on Qt framework License: GPLv2+ URL: https://github.com/%{owner}/%{name} Source0: %{url}/archive/%{commit}.tar.gz#/%{name}-%{owner}-%{shortcommit}.tar.gz # Merged from qtparted: use PAM, https://github.com/ZZYZX/qparted/issues/1 Source10: %{name}.pam Source11: %{name}.consoleapp Source12: %{name}.policy BuildRequires: parted-devel # FIXME Qt5? BuildRequires: qt-devel BuildRequires: /usr/bin/g++ BuildRequires: desktop-file-utils Requires: hicolor-icon-theme Requires: polkit # usermode is not recommended #Requires: usermode # Merged from qtparted: Suggest fs tools # Bugzilla 407151 %ifnarch ppc ppc64 Suggests: ntfsprogs %endif Suggests: e2fsprogs Suggests: jfsutils Suggests: xfsprogs %description Visual partition editor based on Qt framework. Forked from qtparted v0.6.0 %prep %setup -qn%{name}-%{commit} # prevent execution with non-root sed -i 's,\(Exec=\)\(.*\),\1pkexec --disable-internal-agent "%{_sbindir}/\2" "\\\\$@",' *.desktop # remove senseless content sed -i 's,QT;,,' *.desktop # ignore misplaced docs rm docs/INSTALL mv docs/*.1 . # upstream provides precompiled binary rm ./%{name} %build %{_qt4_qmake} make %{?_smp_mflags} %install %make_install # FIXME tell upstream to provide proper install rule mkdir -p %{buildroot}%{_sbindir} %{buildroot}%{_bindir} cp -p %{name} %{buildroot}%{_sbindir} # TODO consolehelper (usermode) is obsolete in favour of pkexec (polkit) # https://fedoraproject.org/wiki/Features/UsermodeMigration#How_to_Convert # ln -s consolehelper %{buildroot}%{_bindir}/%{name} mkdir -p %{buildroot}%{_sysconfdir}/pam.d %{buildroot}%{_sysconfdir}/security/console.apps cp -p %{SOURCE10} %{buildroot}%{_sysconfdir}/pam.d/%{name} cp -p %{SOURCE11} %{buildroot}%{_sysconfdir}/security/console.apps/%{name} mkdir -p %{buildroot}%{_datadir}/polkit-1/actions cp -p %{SOURCE12} %{buildroot}%{_datadir}/polkit-1/actions mkdir -p %{buildroot}%{_mandir}/man1 cp -p *.1 %{buildroot}%{_mandir}/man1/%{name}.1 desktop-file-install %{name}.desktop # distribute all icon sizes mkdir -p %{buildroot}%{_datadir}/pixmaps %{buildroot}%{_datadir}/icons/hicolor cp -p data/*.xpm %{buildroot}%{_datadir}/pixmaps/%{name}.xpm pushd %{buildroot}%{_datadir}/icons/hicolor mkdir -p 16x16/apps 32x32/apps 64x64/apps popd cp -p data/*_16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/%{name}.png cp -p data/*_32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/%{name}.png cp -p data/*_64.png %{buildroot}%{_datadir}/icons/hicolor/64x64/apps/%{name}.png ln -s ../icons/hicolor/64x64/apps/%{name}.png %{buildroot}%{_datadir}/pixmaps %post /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : %postun if [ $1 -eq 0 ] ; then /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : fi %posttrans /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %files %license COPYING %doc README.md docs/* %config(noreplace) %{_sysconfdir}/pam.d/* %config(noreplace) %{_sysconfdir}/security/console.apps/* %config(noreplace) %{_datadir}/polkit-1/actions/*.policy %{_sbindir}/%{name} # enforce to call via sbin (with pkexec) #%{_bindir}/%{name} %{_mandir}/man1/%{name}.* %{_datadir}/applications/*.desktop %{_datadir}/pixmaps/%{name}.* %{_datadir}/icons/hicolor/*/apps/%{name}.png %changelog * Tue Feb 03 2015 Raphael Groner - 0.6.1-0.1.20141001gitd53d64f - initial