From your build error:
Failed to open file '/home/roved/src/rpm/tmp/system-config-printer-1.2.0-build%{_datadir}/applications/system-config-printer.desktop': No such file or directory
..it appears that the code that I gave you for updating the .desktop files is not getting correctly translated to the actual path of your %buildroot; your previously posted spec defines the following:
BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
..looking at the code I gave you before, I see that there is an error in it; the double
%% symbols should be changed to a single
% symbol...
Broken:
desktop-file-install \
--vendor="" \
--add-category="X-MandrivaLinux-System-Configuration-Printing" \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
$RPM_BUILD_ROOT%%{_datadir}/applications/system-config-printer.desktop
Fixed:
desktop-file-install \
--vendor="" \
--add-category="X-MandrivaLinux-System-Configuration-Printing" \
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
$RPM_BUILD_ROOT%{_datadir}/applications/system-config-printer.desktop
..if that doesn't fix it, you can also try changing
$RPM_BUILD_ROOT to
%{buildroot} (..those should be interpreted exactly the same though).