From: Ivan Zakharyaschev <imz@altlinux.org>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: [devel] querying alternatives providers; was: Re: re-writing GNU C; part1.4.1: .rpm produced
Date: Wed, 17 Feb 2016 12:46:12 +0300 (MSK)
Message-ID: <alpine.LFD.2.20.1602171235240.21858@imap.altlinux.org> (raw)
In-Reply-To: <20160217090432.GA2686@dad.imath.kiev.ua>
[-- Attachment #1: Type: text/plain, Size: 2727 bytes --]
On Wed, 17 Feb 2016, Igor Vlasenko wrote:
> On Wed, Feb 17, 2016 at 11:19:24AM +0300, Ivan Zakharyaschev wrote:
>> (BTW, не смог найти команду, которая бы показывала бы, какие есть
>> установленные в системе альтернативы для определённого пути. Например: хочу
>> знать, какие есть альтернативы для /usr/bin/x86_64-alt-linux-gcc . Только
>> grep-ать /etc/alternatives/?)
>
> По базе repocop можно пробить (базу можно скачать с repocop.altlinux.org:
> http://repocop.altlinux.org/pub/repocop/data/repocop-data-current.tar.gz )
>
> $ sqlite3 .repocop/db/altlinux-alternatives.db
> sqlite> select * from altlinux_alternatives where altalternative = '/usr/bin/gcc';
> gcc-common-1.4.20-alt1.x86_64|/etc/alternatives/packages.d/gcc-common|0|/usr/bin/gcc|/usr/bin/gcc_wrapper|40|1|0|0
Спасибо, полезно знать! Это такой глобальный запрос по всему Sisyphus
получается, а не просто локальный в своей системе (про отсутствие команды
для которого я удивлялся).
Заметил, что подобную информацию можно и через APT получить.
Заметил, что если пакет несёт альтернативу, то у него в provides есть этот
путь с приоритетом в качестве версии:
$ rpm -q gcc-common --provides
/usr/bin/gcc = 40
gcc-common = 1.4.19-alt1
$ rpm -q gcc5 --provides
gcc = 5.2.1
/usr/bin/gcc
/usr/bin/x86_64-alt-linux-gcc = 511
/usr/bin/x86_64-alt-linux-gcc-ar = 511
/usr/bin/x86_64-alt-linux-gcc-nm = 511
/usr/bin/x86_64-alt-linux-gcc-ranlib = 511
/usr/bin/x86_64-alt-linux-gcov = 511
/usr/bin/x86_64-alt-linux-gcov-tool = 511
/usr/share/man/man1/gcc.1.bz2 = 511
/usr/share/man/man1/gcov.1.bz2 = 511
gcc5 = 5.2.1-alt1
$
Ну значит, можно по этим путям делать запросы к APT:
apt> showpkg /usr/bin/gcc
Package: /usr/bin/gcc
Versions:
Reverse Depends:
libopencv2.4-examples,/usr/bin/gcc
icfs,/usr/bin/gcc
Dependencies:
Provides:
Reverse Provides:
gcc5 5.3.1-alt1
gcc4.9 4.9.2-alt5
gcc4.8 4.8.2-alt5
gcc4.7 4.7.2-alt10
gcc4.6 4.6.3-alt11
gcc4.5 4.5.4-alt4
gcc4.4 4.4.7-alt4
gcc4.3 4.3.2-alt20
gcc4.1 4.1.2-alt11
gcc3.4 3.4.5-alt16
gcc-common 1.4.20-alt1
apt> showpkg /usr/bin/x86_64-alt-linux-gcc
Package: /usr/bin/x86_64-alt-linux-gcc
Versions:
Reverse Depends:
libginac-devel,/usr/bin/x86_64-alt-linux-gcc
Dependencies:
Provides:
Reverse Provides:
gcc5 5.3.1-alt1
gcc4.9 4.9.2-alt5
gcc4.8 4.8.2-alt5
gcc4.7 4.7.2-alt10
gcc4.6 4.6.3-alt11
gcc4.5 4.5.4-alt4
gcc4.4 4.4.7-alt4
gcc4.3 4.3.2-alt20
gcc4.1 4.1.2-alt11
gcc3.4 3.4.5-alt16
apt>
Вот эта вот обнаружившаяся зависимость libginac-devel от можно сказать
внутреннего /usr/bin/x86_64-alt-linux-gcc кажется не очень удачной
(особенно для подмены gcc -- поэтому я думал передвигать как-то такие пути
при пересборке с подменённым gcc, чтобы выявлять случаи прямого
обращения.)
--
Best regards,
Ivan
prev parent reply other threads:[~2016-02-17 9:46 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-16 13:27 [devel] " Ivan Zakharyaschev
2016-02-17 8:19 ` Ivan Zakharyaschev
2016-02-17 9:04 ` Igor Vlasenko
2016-02-17 9:46 ` Ivan Zakharyaschev [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.LFD.2.20.1602171235240.21858@imap.altlinux.org \
--to=imz@altlinux.org \
--cc=devel@lists.altlinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
ALT Linux Team development discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
public-inbox-index devel
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.devel
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git