From fb197fc176e65d28b28fee0c7b0bda84ab536f4e Mon Sep 17 00:00:00 2001 From: Arjan van de Ven Date: Tue, 12 Oct 2021 22:28:07 +0000 Subject: [PATCH] move the elf-move run to after install_append so that install_append can fix up messes correctly --- autospec/specfiles.py | 16 +++++++++------- tests/test_specfile.py | 4 ++-- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/autospec/specfiles.py b/autospec/specfiles.py index 3599039..5755258 100644 --- a/autospec/specfiles.py +++ b/autospec/specfiles.py @@ -308,6 +308,7 @@ class Specfile(object): self.write_service_restart() self.write_exclude_deletes() self.write_install_append() + self.write_elf_move() # self.write_systemd_units() def write_scriplets(self): @@ -730,13 +731,11 @@ class Specfile(object): if self.config.config_opts['use_avx2']: self._write_strip("pushd ../buildavx2/" + self.config.subdir) self._write_strip("%s_v3 %s\n" % (self.config.install_macro, self.config.extra_make_install)) - self._write_strip('/usr/bin/elf-move.py avx2 %{buildroot}-v3 %{buildroot}/usr/share/clear/optimized-elf/ %{buildroot}/usr/share/clear/filemap/filemap-%{name}') self._write_strip("popd") if self.config.config_opts['use_avx512']: self._write_strip("pushd ../buildavx512/" + self.config.subdir) self._write_strip("%s_v4 %s\n" % (self.config.install_macro, self.config.extra_make_install)) - self._write_strip('/usr/bin/elf-move.py avx512 %{buildroot}-v4 %{buildroot}/usr/share/clear/optimized-elf/ %{buildroot}/usr/share/clear/filemap/filemap-%{name}') self._write_strip("popd") if self.config.config_opts['openmpi']: @@ -924,12 +923,19 @@ class Specfile(object): self._write_strip("{}\n".format(line)) self._write_strip("## install_append end") + def write_elf_move(self): + """Write out elf-move for alternate build roots.""" + if self.config.config_opts['use_avx2']: + self._write_strip('/usr/bin/elf-move.py avx2 %{buildroot}-v3 %{buildroot}/usr/share/clear/optimized-elf/ %{buildroot}/usr/share/clear/filemap/filemap-%{name}') + if self.config.config_opts['use_avx512']: + self._write_strip('/usr/bin/elf-move.py avx512 %{buildroot}-v4 %{buildroot}/usr/share/clear/optimized-elf/ %{buildroot}/usr/share/clear/filemap/filemap-%{name}') + def write_exclude_deletes(self): """Write out deletes for excluded files.""" if self.excludes: self._write_strip("## Remove excluded files") for exclude in self.excludes: - self._write_strip(f"rm -f %{{buildroot}}{exclude}") + self._write_strip(f"rm -f %{{buildroot}}*{exclude}") def write_service_restart(self): """Enable configured units to be restarted with clr-service-restart.""" @@ -1008,13 +1014,11 @@ class Specfile(object): if self.config.config_opts['use_avx2']: self._write_strip("pushd clr-build-avx2") self._write_strip("%s_v3 %s || :\n" % (self.config.install_macro, self.config.extra_make_install)) - self._write_strip('/usr/bin/elf-move.py avx2 %{buildroot}-v3 %{buildroot}/usr/share/clear/optimized-elf/ %{buildroot}/usr/share/clear/filemap/filemap-%{name}') self._write_strip("popd") if self.config.config_opts['use_avx512']: self._write_strip("pushd clr-build-avx512") self._write_strip("%s_v4 %s || :\n" % (self.config.install_macro, self.config.extra_make_install)) - self._write_strip('/usr/bin/elf-move.py avx512 %{buildroot}-v4 %{buildroot}/usr/share/clear/optimized-elf/ %{buildroot}/usr/share/clear/filemap/filemap-%{name}') self._write_strip("popd") if self.config.config_opts['openmpi']: @@ -1939,10 +1943,8 @@ class Specfile(object): self._write_strip("pushd " + self.config.subdir) if self.config.config_opts['use_avx2']: self._write_strip('DESTDIR=%{buildroot}-v3 ninja -C builddiravx2 install') - self._write_strip('/usr/bin/elf-move.py avx2 %{buildroot}-v3 %{buildroot}/usr/share/clear/optimized-elf/ %{buildroot}/usr/share/clear/filemap/filemap-%{name}') if self.config.config_opts['use_avx512']: self._write_strip('DESTDIR=%{buildroot}-v4 ninja -C builddiravx512 install') - self._write_strip('/usr/bin/elf-move.py avx512 %{buildroot}-v4 %{buildroot}/usr/share/clear/optimized-elf/ %{buildroot}/usr/share/clear/filemap/filemap-%{name}') self._write_strip("DESTDIR=%{buildroot} ninja -C builddir install") if self.config.subdir: diff --git a/tests/test_specfile.py b/tests/test_specfile.py index bfbb578..0594ecc 100644 --- a/tests/test_specfile.py +++ b/tests/test_specfile.py @@ -446,8 +446,8 @@ class TestSpecfileWrite(unittest.TestCase): self.specfile.write_exclude_deletes() expect = [ "## Remove excluded files", - "rm -f %{buildroot}/usr/bin/bar", - "rm -f %{buildroot}/usr/bin/foo", + "rm -f %{buildroot}*/usr/bin/bar", + "rm -f %{buildroot}*/usr/bin/foo", ] self.assertEqual(expect, self.WRITES)