ALT Linux Team development discussions
 help / color / mirror / Atom feed
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

      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