libropkg: implement package list expression parsing

This commit is contained in:
2025-08-06 22:05:35 +01:00
parent 46c6a66e44
commit f35ade11d6
3 changed files with 719 additions and 0 deletions

29
libropkg/pkg-expr.h Normal file
View File

@@ -0,0 +1,29 @@
#ifndef _PKG_EXPR_H_
#define _PKG_EXPR_H_
#include <ropkg/pkg-expr.h>
#include <ropkg/version.h>
struct ropkg_pkg_expr {
enum ropkg_pkg_expr_type expr_type;
b_queue_entry expr_entry;
};
struct ropkg_pkg_expr_pkg {
struct ropkg_pkg_expr pkg_base;
char *pkg_name;
enum ropkg_comparison_op pkg_version_predicate;
struct ropkg_version *pkg_version;
};
struct ropkg_pkg_expr_and {
struct ropkg_pkg_expr and_base;
struct ropkg_pkg_expr *and_left, *and_right;
};
struct ropkg_pkg_expr_or {
struct ropkg_pkg_expr or_base;
struct ropkg_pkg_expr *or_left, *or_right;
};
#endif