aboutsummaryrefslogtreecommitdiff
path: root/paludis/tar_merger.cc
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2010-07-29 19:12:54 +0100
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2010-07-31 11:36:05 +0100
commit064c194b7cd54c9b7a58ffce14896ff5488ff767 (patch)
tree0d751a8c971f6e352d07b17a597c6a99597c38eb /paludis/tar_merger.cc
parent0b85ee0343e93b8aff612c6ac3aef50229514613 (diff)
downloadpaludis-064c194b7cd54c9b7a58ffce14896ff5488ff767.tar.gz
paludis-064c194b7cd54c9b7a58ffce14896ff5488ff767.tar.xz
Better tar merging
Diffstat (limited to 'paludis/tar_merger.cc')
-rw-r--r--paludis/tar_merger.cc7
1 files changed, 6 insertions, 1 deletions
diff --git a/paludis/tar_merger.cc b/paludis/tar_merger.cc
index 7eca0f74c..11f5edc9a 100644
--- a/paludis/tar_merger.cc
+++ b/paludis/tar_merger.cc
@@ -130,6 +130,7 @@ TarMerger::on_file_main(bool is_check, const FSEntry & src, const FSEntry & dst)
void
TarMerger::add_file(const FSEntry & src, const FSEntry & dst)
{
+ track_install_file(src, dst);
(*TarMergerHandle::get_instance()->add_file)(_imp->tar, stringify(src), strip_leading(stringify(dst), "/"));
}
@@ -139,8 +140,12 @@ TarMerger::on_dir_main(bool, const FSEntry &, const FSEntry &)
}
void
-TarMerger::on_sym_main(bool, const FSEntry & src, const FSEntry & dst)
+TarMerger::on_sym_main(bool is_check, const FSEntry & src, const FSEntry & dst)
{
+ if (is_check)
+ return;
+
+ track_install_sym(src, dst / src.basename());
(*TarMergerHandle::get_instance()->add_sym)(_imp->tar, stringify(src), strip_leading(stringify(dst / src.basename()), "/"),
stringify(src.readlink()));
}