[Aptitude-devel] Bug#863755: [aptitude] "This code path should not be reached" message with some override specifiers

Manuel A. Fernandez Montecelo manuel.montezelo at gmail.com
Sat Jun 10 00:11:04 UTC 2017


Control: tags -1 + pending


Hi,

2017-06-08 08:56 Manuel A. Fernandez Montecelo:
>Em quarta-feira, 7 de junho de 2017, Katsuhiko Nishimra <ktns.87 at gmail.com>
>escreveu:
>> On Tue, Jun 06, 2017 at 10:39:56PM +0200, Manuel A. Fernandez Montecelo
>wrote:
>>>
>>> I am not sure that I understand, the phrases above sound contradictory.
>>
>> I'm sorry to have been unclear.

Yeah, so it was my fault for not paying attention to the = in the
command that you included as example (sleep deprivation has its
consequences...), not that you explanations were not clear -- sorry, and
thanks for the patience...


>> I was talkng about keep "specifier", that is, firefox-ja':', a colon
>> after a package name, and hold "specifier" firefox-ja'='.
>>
>> So please try these two commands.
>>  aptitude -s install whatever:
>>  aptitude -s install whatever=
>>
>> To see install, remove, and purge specifier is OK, try these three
>commands.
>>  aptitude -s install whaterver+
>>  aptitude -s install whaterver-
>>  aptitude -s install whaterver_
>
>Ah, I had missed the : at the end of the package with the locale.
>
>I think that I know what is the problem now, but I could not look at it in
>detail so I am not sure yet about the best way to fix it.
>
>In the meantime, thanks for the report and the extra examples.

Actually it was not a "bug" in the sense that it still applied the
actions as it should -- it was instead an spurious warning, because I
had not taken into account this important use-case when I implemented
the new, leaner way to mark packages as auto-installed, on hold, etc.

So I printed those lines as a kind of "canary" to alert us about cases
where code would be invoked and when (in theory) it shouldn't, but in
the end it was just that, that I forgot that there were legit cases to
invoke that code.

We could avoid some (small) duplication of code, which is what I hoped,
but at the moment the fix is just to avoid printing the warning and add
a comment to the code to remind me about this, should I, or somebody
else, manage to forget about all the implications if attempting to
remove it again in the future.

Thanks again.

-- 
Manuel A. Fernandez Montecelo <manuel.montezelo at gmail.com>



More information about the Aptitude-devel mailing list