That covers your bases, gives the user an option, and doesn't violate any standards that I can see. If a standard banning Launcher install re-emerges, you won't have to do major surgery to your spec, and it will degrade gracefully.

Does that satisfy any|everyone?

Isaac, thank you very much for your response!

Now I can get rpmbuild to successfully use rpmbuild with xdg-desktop-icon in %install... and in the process puts an icon on my desktop (before even installing the rpm!)  I am doing something wrong.  Any suggestions?

Here is the relevant part of my spec file:

Source1: %{name}.desktop
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires:  gettext, python-devel, desktop-file-utils, xdg-utils

...

%install
rm -rf $RPM_BUILD_ROOT
%{__python} setup.py install -O1 --skip-build --root $RPM_BUILD_ROOT
desktop-file-install --dir=${RPM_BUILD_ROOT}%{_datadir}/applications %{SOURCE1}
xdg-desktop-icon install --novendor %{SOURCE1}