From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <7da15a2240384dace43f72118b2b23eade62d8c3.camel@altlinux.org> From: Yuri Sedunov To: devel@lists.altlinux.org Date: Wed, 11 Nov 2020 19:45:22 +0300 In-Reply-To: <20201111160030.GA9029@altlinux.org> References: <20201111160030.GA9029@altlinux.org> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.38.1-alt1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: Re: [devel] Q: duplicate gir/typelib 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: Wed, 11 Nov 2020 16:45:24 -0000 Archived-At: List-Archive: List-Post: В Ср, 11/11/2020 в 19:00 +0300, Dmitry V. Levin пишет: > Hi, > > У нас в репозитории обнаружилось несколько пакетов, которые содержат > сразу 2 разные версии одного и того же gir(...)/typelib(...) в > Provides. > Предполагаю, что во всех случаях это ошибки, поскольку сравнения > версий в rpm > работают не так, как ожидают люди, когда у пакета больше одной > версии. > Кто-нибудь знает, зачем это было сделано? > > $ pkglist-query '[%{PROVIDENAME} %{NAME} > %|PROVIDEFLAGS?{%{PROVIDEFLAGS:depflags}%{PROVIDEVERSION}}:{}|\n]' \ >   Sisyphus/{x86_64,noarch}/base.bloat/pkglist.classic |\ >   sed -rn -e 's/ \+$//' -e 's/^((gir|typelib)\(([^ ]+)) ([^ ]+) ([^ > ]+)$/\5 \4 \1/p' |\ >   sort -k2 |\ >   uniq -D -f1 |\ >   sed -rn -e 's/^([^ ]+) ([^ ]+) ([^ ]+)$/\2 \3 \1/p' |\ >   sort -k2,2 |\ >   column -t -N 'Package:,Provide Name:,Provide Version:' > > Package:           Provide Name:       Provide Version: > libcogl-gir-devel  gir(Cogl)           =1.0 > libcogl-gir-devel  gir(Cogl)           =2.0 > libcogl-gir-devel  gir(CoglPango)      =1.0 > libcogl-gir-devel  gir(CoglPango)      =2.0 $ rpmql libcogl-gir-devel /usr/share/gir-1.0/Cogl-1.0.gir /usr/share/gir-1.0/Cogl-2.0.gir /usr/share/gir-1.0/CoglPango-1.0.gir /usr/share/gir-1.0/CoglPango-2.0.gir > libcogl-gir        typelib(Cogl)       =1.0 > libcogl-gir        typelib(Cogl)       =2.0 > libcogl-gir        typelib(CoglPango)  =1.0 > libcogl-gir        typelib(CoglPango)  =2.0 $ rpmql libcogl-gir /usr/lib64/girepository-1.0/Cogl-1.0.typelib /usr/lib64/girepository-1.0/Cogl-2.0.typelib /usr/lib64/girepository-1.0/CoglPango-1.0.typelib /usr/lib64/girepository-1.0/CoglPango-2.0.typelib > libfolks-gir       typelib(Folks)      =0.14 > libfolks-gir       typelib(Folks)      =0.6 Это исправил. -- Yuri N. Sedunov