<div dir="ltr">Вообще-то питоновский подход к байт-коду мне лично напоминает золотое правило "premature optimization is the root of all evils". Вы либо уже будьте как джава - сорцы не запускаются сами по себе, либо как джаваскрипт когда никто и никогда этого байткода как правило не видит, кроме виртуальной машины. А вот это вот, какая-то третья нога растущая прямо из жопы. А они вместо того чтобы пофиксить передвигают его между версиями из одной директории в другую.  :)<div><br></div><div>-Max </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jun 12, 2020 at 7:00 AM Eugene Grosbein <<a href="mailto:eugen@grosbein.net">eugen@grosbein.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">12.06.2020 12:05, Valentin Nechayev пишет:<br>
<br>
>  Fri, Jun 12, 2020 at 10:27:46, eugen wrote about "Re: [freebsd] mismatched checksums": <br>
> <br>
>> Слово __pycache__ намекает на то, что там лежит некий "кеш", то есть изменяемые файлы,<br>
>> проверить это можно через ls -l для сравнения даты создания/модификации этого файла<br>
>> с датой создания других файлов того же пакета вне кеша.<br>
>><br>
>> Суть контрольных сумм - обнаружить взлом, подмену файлов, поэтому изменяемым файлам не место<br>
>> в списке защищаемых котрольной суммой, такие кеши согласно принятой на фре иерархии<br>
>> должны жить внутри /var/db.<br>
> <br>
> Дело в том, что этот кэш должен быть идентичным для комбинации<br>
> конкретного исходного файла и версии Питона.<br>
<br>
Дата модификации на 11 секунд позднее других файлов пакета намекает на такой сценарий:<br>
порт или пакет установлены по зависимости, затем 11 секунд на загрузку/установку пакета<br>
или сборку зависящего порта порта, при которой вызывается код из свежепоставленного<br>
pycparser, который перегенерирует файл в кеше, при этом файл таки меняется,<br>
раз уж контрольная сумма поменялась.<br>
<br>
> Поэтому его и можно учитывать в пакете.<br>
<br>
Поэтому его учитывать в пакете так просто не следует, как это делается с действительно<br>
неизменяемыми файлами. Либо не защищать кеш контрольной суммой, что лично мне не нравится,<br>
либо в процессе установки пакета спровоцировать обновление кеша и пересчитать сумму,<br>
но последнее может создать проблемы при кросс-сборке, особенно если кеш платформенно-зависим.<br>
<br>
_______________________________________________<br>
freebsd mailing list<br>
<a href="mailto:freebsd@uafug.org.ua" target="_blank">freebsd@uafug.org.ua</a><br>
<a href="http://mailman.uafug.org.ua/mailman/listinfo/freebsd" rel="noreferrer" target="_blank">http://mailman.uafug.org.ua/mailman/listinfo/freebsd</a><br>
</blockquote></div>