X-Git-Url: http://gitweb/?a=blobdiff_plain;f=pkgadd.h;h=e121dc1d8d4c1c5ac7050b418428683a2f107ddc;hb=d1e01d50ac7775bae9663fe4cae36e3e469c31a8;hp=46e0f1bef99dcc62e2465cc529b05d86107352aa;hpb=9ac667e68d3e36eb99272eac57219002ee2318e6;p=pkgutils-cross.git

diff --git a/pkgadd.h b/pkgadd.h
index 46e0f1b..e121dc1 100644
--- a/pkgadd.h
+++ b/pkgadd.h
@@ -2,6 +2,7 @@
 //  pkgutils
 // 
 //  Copyright (c) 2000-2005 Per Liden
+//  Copyright (c) 2006-2007 by CRUX team (http://crux.nu)
 // 
 //  This program is free software; you can redistribute it and/or modify
 //  it under the terms of the GNU General Public License as published by
@@ -29,8 +30,13 @@
 #define PKGADD_CONF             "/etc/pkgadd.conf"
 #define PKGADD_CONF_MAXLINE     1024
 
+enum rule_event_t {
+	UPGRADE,
+	INSTALL
+};
+
 struct rule_t {
-	enum { UPGRADE } event;
+	rule_event_t event;
 	string pattern;
 	bool action;
 };
@@ -44,6 +50,9 @@ public:
 private:
 	vector<rule_t> read_config() const;
 	set<string> make_keep_list(const set<string>& files, const vector<rule_t>& rules) const;
+	set<string> apply_install_rules(const string& name, pkginfo_t& info, const vector<rule_t>& rules);
+	void find_rules(const vector<rule_t>& rules, rule_event_t event, vector<rule_t>& found) const;
+	bool rule_applies_to_file(const rule_t& rule, const string& file) const;
 };
 
 #endif /* PKGADD_H */