From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: To: ALT Linux Team development discussions , Leonid Krivoshein References: <20190118232219.GC1963@altlinux.org> <363c0931-4b98-b3bd-1070-1bfb8160b481@basealt.ru> <20190119121113.GA10962@altlinux.org> From: Anton Farygin Organization: BaseALT Message-ID: <967ee6aa-a764-31b4-b64c-ff17204ea7a0@basealt.ru> Date: Sat, 19 Jan 2019 20:50:13 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Subject: Re: [devel] =?utf-8?b?cnBtINCyIHA5?= X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 19 Jan 2019 17:50:13 -0000 Archived-At: List-Archive: List-Post: 19.01.2019 20:21, Leonid Krivoshein пишет: > > 19.01.2019 15:11, Dmitry V. Levin пишет: >> On Sat, Jan 19, 2019 at 10:32:07AM +0300, Anton Farygin wrote: >> [...] >>> а довести rpm в Sisyphus >>> до состояния, когда его можно будет полноценно использовать для работы. >>> >>> А в *8 ветках оставить как есть сейчас. >> Как сейчас тоже нехорошо, потому что apt неисправимо плохо работает > > Посмотрев исходники APT'а (нашего и современного Дебиновского), могу > сказать, что здесь стоит поставить точку. Неисправимая ошибка в > дизайне. На dist-upgrade он непредсказуем из-за алгоритма весов и > приоритетов. У нас в RPM, ко всему прочему, поля приоритета просто > нет. Алгоритм разрешения конфликтов отлично справляется в пределах > одной частной машины, но если взять хотя бы две одинаковые машины с > полностью одинаковым набором пакетов и начать обновлять их в разное > время, то рано или поздно не только пакетные базы разойдутся, но и на > одной из них могут быть вынесены ключевые для исходного решения пакеты. > > Если сильно упростить: первоначальная установка системы -- это apt-get > install A B C (со всеми зависимостями, которые мы конечно не > указываем), тогда как apt-get dist-upgrade -- это отнюдь не повторение > этой операции, а игра в лотерею "мне повезёт". Но это чисто поворчать, > просто так это не исправить. Использование /etc/apt/pkgpriorities с > умом лишь уменьшает вероятность серьёзных разъездов и заставляет APT > хотя бы предупредить при выносе критически важных пакетов. Но это > укрепляет лишь 0-й уровень графа зависимостей исходного решения, > гарантий это всё равно не даёт. > > Другими словами, при нашей воспроизводимой сборке пакетов имеем > непредсказуемую процедуру обновления установленных решений, в том > числе, зависимую от времени обновления. К воспроизводимости сборки тоже есть вопросы - в последнее время очень часто Beehive ругается тогда, когда локально проблема сборки не воспроизводится. К счастью, чаще всего это race в результате параллельной сборки. А солвер в apt давно уже надо кому-то переписать, но для этого нужно поменять нашу пакетную базу - избавиться от виртуальных пакетов, например, что бы не было одинаковых provides у разных пакетов.