rpm: include buildid components in MSI filename

The MSI file can contain different content with each change in build ID,
but the filename never changes. This creates confusion as to whether the
MSI is actually up to date or not. It requires the looking inside the
MSI to see the encoded version.

The RPM uses 2 components from the %release field as input for the build
ID value. Use these as two parts of the filename, separated from the
version with a "-" similar to how RPM version/release are separated.

IOW, an RPM

   mingw32-virt-viewer-msi-9.0-1.fc33.noarch.rpm

will result in

   virt-viewer-x64-9.0-1.0.msi

while

   mingw32-virt-viewer-msi-9.0-1.fc33.1.noarch.rpm

will result in

   virt-viewer-x64-9.0-1.1.msi

Essentially we've just stripped the %dist part (".fc33") out of
the release, and default the second component to "0" if omitted.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
Daniel P. Berrangé 2021-02-22 18:07:52 +00:00 committed by Daniel P. Berrangé
parent c34984c41e
commit 044534899b

View File

@ -10,6 +10,8 @@
%define rel1 %(test -z "`echo %{relver} | cut -d. -f3`" && echo 0 || (echo %{relver} | cut -d. -f3))
%define buildid %(expr %{rel0} \\* 256 + %{rel1})
%define msiver @VERSION@-%{rel0}.%{rel1}
Name: mingw-virt-viewer
Version: @VERSION@
Release: %{relver}
@ -121,13 +123,13 @@ MinGW Windows virt-viewer MSI
%if 0%{?mingw_build_win32} == 1
DESTDIR=%{buildroot} ninja -C build_win32$MINGW_BUILDDIR_SUFFIX data/virt-viewer-x86-@VERSION@.msi
mkdir $RPM_BUILD_ROOT/%{mingw32_datadir}/virt-viewer
cp build_win32$MINGW_BUILDDIR_SUFFIX/data/virt-viewer-x86-@VERSION@.msi $RPM_BUILD_ROOT/%{mingw32_datadir}/virt-viewer
cp build_win32$MINGW_BUILDDIR_SUFFIX/data/virt-viewer-x86-@VERSION@.msi $RPM_BUILD_ROOT/%{mingw32_datadir}/virt-viewer/virt-viewer-x86-%{msiver}.msi
%endif
%if 0%{?mingw_build_win64} == 1
DESTDIR=%{buildroot} ninja -C build_win64$MINGW_BUILDDIR_SUFFIX data/virt-viewer-x64-@VERSION@.msi
mkdir $RPM_BUILD_ROOT/%{mingw64_datadir}/virt-viewer
cp build_win64$MINGW_BUILDDIR_SUFFIX/data/virt-viewer-x64-@VERSION@.msi $RPM_BUILD_ROOT/%{mingw64_datadir}/virt-viewer
cp build_win64$MINGW_BUILDDIR_SUFFIX/data/virt-viewer-x64-@VERSION@.msi $RPM_BUILD_ROOT/%{mingw64_datadir}/virt-viewer/virt-viewer-x64-%{msiver}.msi
%endif
%find_lang virt-viewer
@ -146,7 +148,7 @@ cp build_win64$MINGW_BUILDDIR_SUFFIX/data/virt-viewer-x64-@VERSION@.msi $RPM_BUI
%{mingw32_mandir}/man1/remote-viewer.1*
%files -n mingw32-virt-viewer-msi
%{mingw32_datadir}/virt-viewer/virt-viewer-x86-@VERSION@.msi
%{mingw32_datadir}/virt-viewer/virt-viewer-x86-%{msiver}.msi
%files -n mingw64-virt-viewer -f virt-viewer.lang
%defattr(-,root,root)
@ -162,6 +164,6 @@ cp build_win64$MINGW_BUILDDIR_SUFFIX/data/virt-viewer-x64-@VERSION@.msi $RPM_BUI
%{mingw64_mandir}/man1/remote-viewer.1*
%files -n mingw64-virt-viewer-msi
%{mingw64_datadir}/virt-viewer/virt-viewer-x64-@VERSION@.msi
%{mingw64_datadir}/virt-viewer/virt-viewer-x64-%{msiver}.msi
%changelog