From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Thu, 12 Nov 2020 17:59:31 +0300 From: "Dmitry V. Levin" To: ALT Devel discussion list Message-ID: <20201112145931.GB24577@altlinux.org> References: <20201111163426.GF9029@altlinux.org> <20201112120140.GA2021@hydra.imath.kiev.ua> <20201112130006.GB23210@altlinux.org> <20966716.EfDdHjke4D@zerg.malta.altlinux.ru> <20201112145252.GA24577@altlinux.org> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20201112145252.GA24577@altlinux.org> Subject: Re: [devel] Q: duplicate qml() self-provides 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: Thu, 12 Nov 2020 14:59:31 -0000 Archived-At: List-Archive: List-Post: On Thu, Nov 12, 2020 at 05:52:52PM +0300, Dmitry V. Levin wrote: > On Thu, Nov 12, 2020 at 05:26:31PM +0300, Sergey V Turchin wrote: > > On Thursday, 12 November 2020 16:00:06 MSK Dmitry V wrote: > > > On Thu, Nov 12, 2020 at 02:01:40PM +0200, Igor Vlasenko wrote: > > > > On Wed, Nov 11, 2020 at 07:34:26PM +0300, Dmitry V. Levin wrote: > > > > > Hi, > > > > > > > > > > У нас в репозитории обнаружилось 76 пакетов, которые содержат сразу две > > > > > разных версии одного и того же osgi(...) в Provides. > > > > > Предполагаю, что во всех случаях это ошибки, поскольку сравнения версий > > > > > в > > > > > rpm работают не так, как ожидают люди, когда у пакета больше одной > > > > > версии. > > > > > > > > Все это нужно для работы механизма зависимостей osgi. > > > > Там всегда явное указание версий в requires и диапазоны в provides. > > > > Та же ситуация, что с mono и qml. > > > > > > Получается, что произошло массовая подмена понятия версионирования > > > интерфейсов. > > Не совсем так. > > https://doc.qt.io/qt-5/qtqml-modules-qmldir.html#versioning-semantics > > Там фактически написано, что different major versions - это разные > интерфейсы, которые, в свою очередь, версионированы с помощью minor > versions. > > > > У интерфейса не может быть одновременно несколько разных версий > > В QML может. > > Там по сути тоже произошла подмена понятий, в результате чего стало > невозможным написать адекватные зависимости. > > Вместо того, чтобы написать, например, > Provides: qml(QtMultimedia)-5 = 15 > Requires: qml(QtMultimedia)-5 >= 7 > > Тебе приходится извращаться следующим образом: > $ rpmquery --provides -p Sisyphus/files/x86_64/RPMS/libqt5-multimedia-5.15.1-alt1.x86_64.rpm |\ > grep '^qml(QtMultimedia)' > qml(QtMultimedia) = 5.0 > qml(QtMultimedia) = 5.1 > qml(QtMultimedia) = 5.10 > qml(QtMultimedia) = 5.11 > qml(QtMultimedia) = 5.12 > qml(QtMultimedia) = 5.13 > qml(QtMultimedia) = 5.14 > qml(QtMultimedia) = 5.15 > qml(QtMultimedia) = 5.2 > qml(QtMultimedia) = 5.3 > qml(QtMultimedia) = 5.4 > qml(QtMultimedia) = 5.5 > qml(QtMultimedia) = 5.6 > qml(QtMultimedia) = 5.7 > qml(QtMultimedia) = 5.8 > qml(QtMultimedia) = 5.9 > > Только для того, чтобы была возможность написать > Requires: qml(QtMultimedia) = 5.7 > > Подумать только, 16 Provides вместо одной! Кстати, у тебя где-нибудь есть версионированные qml Requires? Я не нашёл. Всё, что я вижу, выглядит примерно так: $ rpmquery --provides -p Sisyphus/files/x86_64/RPMS/{qt5-quickcontrols-5.15.1-alt1.x86_64.rpm,qt5-quickcontrols2-5.15.1-alt1.x86_64.rpm} |\ grep '^qml(QtQuick.Controls)' qml(QtQuick.Controls) = 1.0 qml(QtQuick.Controls) = 1.1 qml(QtQuick.Controls) = 1.2 qml(QtQuick.Controls) = 1.3 qml(QtQuick.Controls) = 1.4 qml(QtQuick.Controls) = 1.5 qml(QtQuick.Controls) = 1.6 qml(QtQuick.Controls) = 2.0 qml(QtQuick.Controls) = 2.1 qml(QtQuick.Controls) = 2.10 qml(QtQuick.Controls) = 2.11 qml(QtQuick.Controls) = 2.12 qml(QtQuick.Controls) = 2.13 qml(QtQuick.Controls) = 2.14 qml(QtQuick.Controls) = 2.15 qml(QtQuick.Controls) = 2.2 qml(QtQuick.Controls) = 2.3 qml(QtQuick.Controls) = 2.4 qml(QtQuick.Controls) = 2.5 qml(QtQuick.Controls) = 2.6 qml(QtQuick.Controls) = 2.7 qml(QtQuick.Controls) = 2.8 qml(QtQuick.Controls) = 2.9 $ rpmquery -Rp Sisyphus/files/x86_64/RPMS/plasma5-kwin-5.20.2-alt1.x86_64.rpm |\ grep '^qml(QtQuick.Controls)' qml(QtQuick.Controls) -- ldv