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

Bug#894049: transition: ncurses



On 2018-05-12 20:29 +0200, Emilio Pozuelo Monfort wrote:

> 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.

I have seen that, but the is_bad regex is still very much suboptimal
because with it dependencies on libncursesw?5-dev are considered "bad".

>>>   & ! .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/;

That "is_bad" regex was better, I think.

>> 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.

According to the ben reference manual it matches _binary_ packages:

,----
| * `is_bad`: matches binary packages that are considered to be broken
|   (not fixed) for this transition.
`----

> Since I don't know what you want to achieve with that, I can't suggest something
> that may work. :-)

My goal with that "! .package" part was to prevent the ncurses source
package from being listed as "partial" which would have happened
otherwise, because the binary packages libncursesw5 and libncurses5
still depend on libtinfo5.  And this has apparently even worked.

Cheers,
       Sven


Reply to: