From 044534899bbbda01eb1543cff23f9ae391fe552b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Mon, 22 Feb 2021 18:07:52 +0000 Subject: [PATCH] rpm: include buildid components in MSI filename MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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é --- mingw-virt-viewer.spec.in | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/mingw-virt-viewer.spec.in b/mingw-virt-viewer.spec.in index 46c61b3..47fc67d 100644 --- a/mingw-virt-viewer.spec.in +++ b/mingw-virt-viewer.spec.in @@ -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