Bug#870319: ben: Please make generated simple query match the set of exact package names
Source: ben
Version: 0.7.7
Severity: normal
Tags: patch
Dear Maintainers,
The queries generated for the auto-* transitions may match more
packages than expected due to \b matching "-".
For example this query matches packages depending on libevent-2.0-5:
ben query ".depends ~ /\b(libevent)\b/"
Please consider accepting the attached patch that fixes the generated queries.
Cheers,
Balint
--
Balint Reczey
Debian & Ubuntu Developer
From 447a9693c890742807efac0019c517dda1ea12db Mon Sep 17 00:00:00 2001
From: Balint Reczey <balint.reczey@canonical.com>
Date: Tue, 1 Aug 2017 01:13:51 +0200
Subject: [PATCH] Make generated simple query match set of exact package names
\b matched "-", too.
---
lib/query.ml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/query.ml b/lib/query.ml
index 58ca3dd..1cf09b6 100644
--- a/lib/query.ml
+++ b/lib/query.ml
@@ -31,7 +31,7 @@ let rec simplify query = match query with
| packages ->
let packages = List.map Re_pcre.quote packages in
let r_string = String.concat "|" packages in
- let rex = Re_pcre.regexp (Printf.sprintf "\b(%s)\b" r_string) in
+ let rex = Re_pcre.regexp (Printf.sprintf "[ ](%s)[, $]" r_string) in
EMatch (field, ERegexp (package, rex))
end
| EMatch (_, (EDep _ | ERegexp _)) -> query
--
2.11.0
Reply to: