summaryrefslogtreecommitdiff
path: root/pkgutil.cc
diff options
context:
space:
mode:
authorTilman Sauerbeck <tilman@code-monkey.de>2006-08-25 12:54:15 +0200
committerTilman Sauerbeck <tilman@code-monkey.de>2006-08-25 12:54:15 +0200
commit3e5b7ed9bbe9a9659486a9d4c51f3466d1e877ec (patch)
tree7339cb33b94cb326a395c96d3af5abae4fd675a2 /pkgutil.cc
parent1e0dfb6d09297f14827ed72e38dd48b4eb770e3f (diff)
downloadpkgutils-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.cc10
1 files changed, 9 insertions, 1 deletions
diff --git a/pkgutil.cc b/pkgutil.cc
index 9b41c5c1..beaa74b3 100644
--- a/pkgutil.cc
+++ b/pkgutil.cc
@@ -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);

Generated by cgit