diff options
author | Tilman Sauerbeck <tilman@code-monkey.de> | 2006-08-25 12:54:15 +0200 |
---|---|---|
committer | Tilman Sauerbeck <tilman@code-monkey.de> | 2006-08-25 12:54:15 +0200 |
commit | 3e5b7ed9bbe9a9659486a9d4c51f3466d1e877ec (patch) | |
tree | 7339cb33b94cb326a395c96d3af5abae4fd675a2 /pkgutil.cc | |
parent | 1e0dfb6d09297f14827ed72e38dd48b4eb770e3f (diff) | |
download | pkgutils-3e5b7ed9bbe9a9659486a9d4c51f3466d1e877ec.tar.gz pkgutils-3e5b7ed9bbe9a9659486a9d4c51f3466d1e877ec.tar.xz |
added support for INSTALL rules. based on a patch by johannes. documentation needs to be updated.
Diffstat (limited to 'pkgutil.cc')
-rw-r--r-- | pkgutil.cc | 10 |
1 files changed, 9 insertions, 1 deletions
@@ -368,7 +368,7 @@ pair<string, pkgutil::pkginfo_t> pkgutil::pkg_open(const string& filename) const return result; } -void pkgutil::pkg_install(const string& filename, const set<string>& keep_list) const +void pkgutil::pkg_install(const string& filename, const set<string>& keep_list, const set<string>& non_install_list) const { TAR* t; unsigned int i; @@ -382,6 +382,14 @@ void pkgutil::pkg_install(const string& filename, const set<string>& keep_list) string original_filename = trim_filename(root + string("/") + archive_filename); string real_filename = original_filename; + // Check if file is filtered out via INSTALL + if (non_install_list.find(archive_filename) != non_install_list.end()) { + if (TH_ISREG(t)) + tar_skip_regfile(t); + + continue; + } + // Check if file should be rejected if (file_exists(real_filename) && keep_list.find(archive_filename) != keep_list.end()) real_filename = trim_filename(reject_dir + string("/") + archive_filename); |