On 12/05/18 10:59, Sven Joachim wrote: > On 2018-05-12 09:46 +0200, Emilio Pozuelo Monfort wrote: > >> On 10/05/18 15:56, Sven Joachim wrote: >>> On 2018-03-25 21:51 +0200, Sven Joachim wrote: >>> >>> This has turned out to be rather suboptimal, because the regexes match >>> on libncurses5-dev etc, and so some packages are listed as partial or >>> bad in the tracker[1] which should be good or unaffected. The ones >>> below seem to be better, filtering out the -dev packages while still >>> catching hardcoded dependencies such as #804579. >>> >>> title = "libncurses6"; >>> is_affected = .depends ~ >>> /\b(lib32ncurses6|lib32ncursesw6|lib32tinfo6|lib64ncurses6|lib64ncursesw6|lib64tinfo6|libncurses6|libncursesw6|libtinfo6|libtinfo6\-udeb|lib32ncurses5|lib32ncursesw5|lib32tinfo5|lib64ncurses5|lib64tinfo5|libncurses5|libncursesw5|libtinfo5|libtinfo5\-udeb)([^-]|$)/; >>> is_good = .depends ~ >>> /\b(lib32ncurses6|lib32ncursesw6|lib32tinfo6|lib64ncurses6|lib64ncursesw6|lib64tinfo6|libncurses6|libncursesw6|libtinfo6|libtinfo6\-udeb)\b/; >>> is_bad = .depends ~ >>> /\b(lib32ncurses5|lib32ncursesw5|lib32tinfo5|lib64ncurses5|lib64tinfo5|libncurses5|libncursesw5|libtinfo5|libtinfo5\-udeb)\b/ >>> & ! .package ~ /\b(libncursesw5|libncurses5)([^-]|$)/; >> >> What do you want to achieve with this? > > Filter out packages which depend on libncurses5-dev or > libncursesw5-dev, since changing their dependencies is out of the scope > for this transition. For instance, cwidget is listed as "partial" in > the tracker, and I think this is because libcwidget-dev depends on > libncursesw5-dev. > > The trailing '$' is there to match cases like logol where there is a > hardcoded dependency on libncursesw5.
Sorry, I meant with the .package line that I quoted after the question. I should have made it clearer. The above change makes sense and I committed it to the transition tracker. >> & ! .package ~ /\b(libncursesw5|libncurses5)([^-]|$)/; >> >> I don't think that's doing what you want. > > Indeed not, thanks for checking. The line below is what I meant. > > is_bad = .depends ~ > /\b(lib32ncurses5|lib32ncursesw5|lib32tinfo5|lib64ncurses5|lib64tinfo5|libncurses5|libncursesw5|libtinfo5|libtinfo5\-udeb)([^-]|$)/ > & ! .package ~ /\b(libncursesw5|libncurses5)\b/; > > Pardon my ignorance, but this is only the second time in my life where I > worked^Wstruggled with ben files. And "ben monitor" only gives a list > of affected packages, I can't really check what is "good" or "bad" wrt > the state of the archive. :-( Maybe my question wasn't clear. Your " ! .package" part of the match is basically a no-op (unless I'm misremembering the ben syntax). Basically that full is_bad is doing something like "give me all packages that depend on one of these, but exclude src:libncursesw5 and src:libncurses5 from the is_bad set. Since there are no such source packages, that part is basically doing nothing. Since I don't know what you want to achieve with that, I can't suggest something that may work. :-) BTW it's alright, one doesn't have to get a perfect regex on the first attempt, we all make mistakes. Cheers, Emilio