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 read_config() const; set make_keep_list(const set& files, const vector& rules) const; + set apply_install_rules(const string& name, pkginfo_t& info, const vector& rules); + void find_rules(const vector& rules, rule_event_t event, vector& found) const; + bool rule_applies_to_file(const rule_t& rule, const string& file) const; }; #endif /* PKGADD_H */