[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: