From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 21 Oct 2019 19:27:32 +0300 From: "Vladimir D. Seleznev" To: ALT Linux Team development discussions Message-ID: <20191021162732.GA293956@portlab> References: <20191018003323.GA170066@portlab> <20191018115402.02ca8be8@rigel.localdomain> <20191018172606.GA625811@portlab> <038b2b29-f6cd-c94f-47c8-922865374918@altlinux.org> <20191018193327.GA801392@portlab> <2589d984-2954-2036-49fa-38a0ef93884a@altlinux.org> <20191018223753.GA1106595@portlab> <20191018230330.GA1137184@portlab> <20191021173112.28725417@rigel.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20191021173112.28725417@rigel.localdomain> User-Agent: Mutt/1.10.1 (2018-07-13) Subject: Re: [devel] =?utf-8?b?RndkOiBbc2lzeXBodXNdINCd0L7QstCw0Y8g0LLQtdGA?= =?utf-8?b?0YHQuNGPIEdudVBHINCyINCh0LjQt9C40YTQtQ==?= 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: Mon, 21 Oct 2019 16:27:35 -0000 Archived-At: List-Archive: List-Post: On Mon, Oct 21, 2019 at 05:31:12PM +0300, Paul Wolneykien wrote: > В Sat, 19 Oct 2019 02:03:30 +0300 > "Vladimir D. Seleznev" пишет: > > > On Sat, Oct 19, 2019 at 01:39:02AM +0300, Paul Wolneykien wrote: > > > 19.10.2019 1:37, Vladimir D. Seleznev пишет: > > > > On Sat, Oct 19, 2019 at 01:02:52AM +0300, Paul Wolneykien wrote: > > > >>>> [skip] > > > >>>> > > > >>> Нет, ты не понял: ты не можешь исправить зависимости на _уже_ > > > >>> установленных системах у всех пользователей. Поэтому гораздо > > > >>> проще и предсказуемее оставить /usr/bin/gpg за первым gnupg, а > > > >>> переводить те пакеты, которым нужен gnupg2, на /usr/bin/gpg2. > > > >>> > > > >>>>> Ты не можешь исправить у всех пользователей на всех уже > > > >>>>> установленных системах /usr/bin/gpg на /usr/bin/gpg1, > > > >>>> > > > >>>> Почему? При обновлении новая версия пакета gnupg2 установит > > > >>>> /usr/bin/gpg, а новая версия gnupg установит /usr/bin/gpg1 — > > > >>>> файловых конфликтов между ними не будет так же, как их нет > > > >>>> сейчас. Само собой, если система не обновляется, то все эти > > > >>>> "переименования" её не затронут. > > > >>> > > > >>> И это сломает уже установленные пакеты, которые рассчитывают, > > > >>> что /usr/bin/gpg — это первый gnupg. > > > >> > > > >> Объясни же наконец, почему уже установленные пакеты не будут > > > >> обновляться? > > > > > > > > Потому что речь идёт про точечные обновления. > > > > > > Но я же могу прописать в пакете Conflict или Obsolete и тогда > > > обновление перестанет быть точечным. > > > > Давай ещё раз что ты предлагаешь? По пунктам. Какие пакеты будут, что > > они будут obsolete'еть и с чем конфликтовать, и какие экзекьютейблы, > > которые требуются другим программам, в них будут упакованы. > > Я пока думаю так: > > Name: gnupg > Version: 1.4.23 > -Release: alt1 > +Release: alt2 > -Provies: gpg, openpgp > +Provies: gpg1, openpgp1, gnupg1 > ... > -%_bindir/gpg?* > +%_bindir/gpg1 > > --- > > Name: gnupg2 > Version: 2.2.17 > -Release: alt4 > +Release: alt5 > +Provies: gpg, openpgp, gnupg > +Obsoletes: gnupg < 1.4.23-alt2 > ... > %configure \ > - --enable-gpg-is-gpg2 \ > ... > +%_bindir/gpg > > --- > > Во всех пакетах, для которых критична совместимость со старой GnuPG > (apt, rpm?): > > -Requires: gnupg > +Requires: gnupg1 > > или > > -Requires: gpg > +Requires: gpg1 > > А также где-то в коде: > > - ... "/usr/bin/gpg" ... > + ... "/usr/bin/gpg1" ... > > > Исходя из этого, я рассчитываю, что при точечном обновлении пакета > gnupg, будет предложено установить версию gnupg-1.4.23-alt2, а также > обновить все затронутые пакеты до версий, использующих "/usr/bin/gpg1". Проблема в том, что при точечном обновлении gnupg не будет предложено обновить всех клиентов gnupg до тех, которые понимают, что /usr/bin/gpg — это /usr/bin/gpg2, а не бинарник из gnupg. Я не готов сказать, как поведёт себя apt, т.к. это слабопредсказуемо, но по опыту могу предположить следующие два варианта: либо будут удалены из системы все клиенты gnupg (наиболее вероятно), либо будет доустановлен gnupg2, и клиенты gnupg сломаются в рантайме. > Дальше. При точечном обновлении пакета gnupg2 будет предложено > установить версию gnupg2-2.2.17-alt5, а также обновить пакет gnupg до > версии gnupg-1.4.23-alt2 и все затронутые пакеты до версий, > использующих "/usr/bin/gpg1", если пакет gnupg был установлен и не был > обновлён ранее. Подозреваю, что в этом случае вылезет неявный конфликт на установленную версию gnupg, и установка обвалится. > При dist-upgrade я ожидаю, что снос системы не произойдёт потому, что > новые версии пакетов, предпочитающих gnupg1 также попадут в обновление > и вытянут за собой новую версию gnupg-1.4.23-alt2, не попадающую под > Obsoletes (там строго < 1.4.23-alt2). Также как и при точечном обновлении gnupg из первого цитирования, слабо прогнозирую, что произойдёт, но по опыту предполагаю, что как раз-таки будет предложено снести полсистемы. -- С уважением, Владимир Селезнев