diff options
Diffstat (limited to 'mesonbuild/minstall.py')
-rw-r--r-- | mesonbuild/minstall.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/mesonbuild/minstall.py b/mesonbuild/minstall.py index 69763fa..8a97c8a 100644 --- a/mesonbuild/minstall.py +++ b/mesonbuild/minstall.py @@ -548,6 +548,7 @@ class Installer: self.install_emptydir(d, dm, destdir, fullprefix) self.install_data(d, dm, destdir, fullprefix) self.install_symlinks(d, dm, destdir, fullprefix) + self.install_opaque(d, dm, destdir, fullprefix) self.restore_selinux_contexts(destdir) self.run_install_script(d, destdir, fullprefix) if not self.did_install_something: @@ -604,6 +605,20 @@ class Installer: if self.do_symlink(s.target, full_link_name, destdir, full_dst_dir, s.allow_missing): self.did_install_something = True + def install_opaque(self, d: InstallData, dm: DirMaker, destdir: str, fullprefix: str) -> None: + for s in d.install_opaque: + from_dir, dst_dir = s + from_dir_abs = os.path.join(d.build_dir, from_dir) + full_dst_dir = get_destdir_path(destdir, fullprefix, dst_dir) + from_path = Path(from_dir_abs ) + for f in from_path.glob('*'): + if f.is_file(): + self.do_copyfile(f, os.path.join(full_dst_dir), f.parts[-1]) + else: + + self.do_copydir(d, str(f), os.path.join(full_dst_dir, f.parts[-1]), None, None, dm) + self.did_install_something = True + def install_man(self, d: InstallData, dm: DirMaker, destdir: str, fullprefix: str) -> None: for m in d.man: if not self.should_install(m): |