ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] apt игнорирует provides/obsoletes при установке?
@ 2009-04-21  9:38 Alexey I. Froloff
  2009-04-21  9:52 ` Alexey Tourbin
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Alexey I. Froloff @ 2009-04-21  9:38 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 1568 bytes --]

Я собрал ruby 1.9.1, в котором все ruby-module-* слил в один
(не-такой-уж-и)большой ruby-stdlibs.  Выставлены соответствующие
Provides/Obsoletes:

...
Obsoletes: ruby-module-erb
Provides: ruby-module-erb = 1.9.1-alt1.20090412
Obsoletes: ruby-module-etc
Provides: ruby-module-etc = 1.9.1-alt1.20090412
...

Собранный пакет лежит в локальной хашернице.  В той же хашернице
пересобираю тот же самый пакет ruby, у которого есть некоторые
сборочные зависимости на ruby-module-*, получаю болт:

The following packages have unmet dependencies:
  ruby-module-erb: Depends: libruby (= 1.8.7-alt7)
  ruby-module-etc: Depends: libruby (= 1.8.7-alt7)
                   Depends: libruby.so.1.8
  ruby-module-fileutils: Depends: libruby (= 1.8.7-alt7)
                         Depends: ruby(delegate)
                         Depends: ruby(digest/md5)
                         Depends: ruby(optparse)
  ruby-module-strscan: Depends: libruby (= 1.8.7-alt7)
                       Depends: libruby.so.1.8
E: Broken packages

apt почему-то предпочитает вытаскивать старый ruby-module-erb
вместо нового ruby-stdlibs (который Provides/Obsoletes).  Если
удалить старый ruby из репозитария, проблема (думаю) не
воспроизведётся, но чтобы новый ruby попал в репозитарий, нужно
пересобрать очень нефиговую пачку пакетов и эта ситуация
повторится.  Честно говоря, меня не сильно радует перспектива
обновления сборочных зависимостей во всех пакетах, учитывая что в
систему такой ruby поставить нельзя.  Кто Виноват и Что Делать?

-- 
Regards,
Sir Raorn.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [devel] apt игнорирует provides/obsoletes при установке?
  2009-04-21  9:38 [devel] apt игнорирует provides/obsoletes при установке? Alexey I. Froloff
@ 2009-04-21  9:52 ` Alexey Tourbin
  2009-04-21 10:03 ` Alexey I. Froloff
  2009-05-05 19:52 ` Alexey I. Froloff
  2 siblings, 0 replies; 7+ messages in thread
From: Alexey Tourbin @ 2009-04-21  9:52 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 2375 bytes --]

On Tue, Apr 21, 2009 at 01:38:17PM +0400, Alexey I. Froloff wrote:
> Я собрал ruby 1.9.1, в котором все ruby-module-* слил в один
> (не-такой-уж-и)большой ruby-stdlibs.  Выставлены соответствующие
> Provides/Obsoletes:
> 
> ...
> Obsoletes: ruby-module-erb
> Provides: ruby-module-erb = 1.9.1-alt1.20090412
> Obsoletes: ruby-module-etc
> Provides: ruby-module-etc = 1.9.1-alt1.20090412
> ...
> 
> Собранный пакет лежит в локальной хашернице.  В той же хашернице
> пересобираю тот же самый пакет ruby, у которого есть некоторые
> сборочные зависимости на ruby-module-*, получаю болт:
> 
> The following packages have unmet dependencies:
>   ruby-module-erb: Depends: libruby (= 1.8.7-alt7)
>   ruby-module-etc: Depends: libruby (= 1.8.7-alt7)
>                    Depends: libruby.so.1.8
>   ruby-module-fileutils: Depends: libruby (= 1.8.7-alt7)
>                          Depends: ruby(delegate)
>                          Depends: ruby(digest/md5)
>                          Depends: ruby(optparse)
>   ruby-module-strscan: Depends: libruby (= 1.8.7-alt7)
>                        Depends: libruby.so.1.8
> E: Broken packages


Когда есть реальный кандидат то апт в маркинсталл выбирает реального
кандидата.  А когда реального кандидата нет только тогда апт будет
смотреть виртуальные зависимости.  То есть провайдес-обзолетес не
работает на уровне инсталл.  Работает только на уровне дист-апгрейд.

Но всё это не очень интересно, а интересно как сделать чтобы было
счастье в жизни и чтобы половой член был удовлетворен.  Мне кажется что
кроме двухядерного процессора нужно ещё чтобы было автомобиль.  Потому
что автомобиль производит впечатление на женщин и они соглашаются
вступить с мужчиной в особые отношения.  А автомобиль можно купить в
кредит.  Кредит-то можно отдавать потом, а пенис пососут уже сейчас!

> apt почему-то предпочитает вытаскивать старый ruby-module-erb
> вместо нового ruby-stdlibs (который Provides/Obsoletes).  Если
> удалить старый ruby из репозитария, проблема (думаю) не
> воспроизведётся, но чтобы новый ruby попал в репозитарий, нужно
> пересобрать очень нефиговую пачку пакетов и эта ситуация
> повторится.  Честно говоря, меня не сильно радует перспектива
> обновления сборочных зависимостей во всех пакетах, учитывая что в
> систему такой ruby поставить нельзя.  Кто Виноват и Что Делать?

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [devel] apt игнорирует provides/obsoletes при установке?
  2009-04-21  9:38 [devel] apt игнорирует provides/obsoletes при установке? Alexey I. Froloff
  2009-04-21  9:52 ` Alexey Tourbin
@ 2009-04-21 10:03 ` Alexey I. Froloff
  2009-04-21 10:17   ` Alexey Tourbin
  2009-05-05 19:52 ` Alexey I. Froloff
  2 siblings, 1 reply; 7+ messages in thread
From: Alexey I. Froloff @ 2009-04-21 10:03 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 3697 bytes --]

* Alexey I. Froloff <raorn@> [090421 13:39]:
> apt почему-то предпочитает вытаскивать старый ruby-module-erb
> вместо нового ruby-stdlibs (который Provides/Obsoletes).
В чрут установлены ruby и libruby версии 1.9.1-alt1.20090412.

$ ./aptbox/apt-get -oDebug::PkgProblemResolver=true -oDebug::PkgMarkInstall=true install ruby-module-etc                                                                                                             
Reading Package Lists... Done
Building Dependency Tree... Done
MI2a: mark ruby-module-etc
Starting
Starting 2
Investigating ruby-module-etc
Package ruby-module-etc has broken dep on libruby
  Considering libruby 4 as a solution to ruby-module-etc 9999
Package ruby-module-etc has broken dep on libruby.so.1.8
  Considering libruby 4 as a solution to ruby-module-etc 9999
Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.

Since you only requested a single operation it is extremely likely that
the package is simply not installable and a bug report against
that package should be filed.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
  ruby-module-etc: Depends: libruby (= 1.8.7-alt7)
                   Depends: libruby.so.1.8
E: Broken packages

$ ./aptbox/apt-get -oDebug::PkgProblemResolver=true -oDebug::PkgMarkInstall=true install ruby-module-etc=1.9.1-alt1.20090412
Reading Package Lists... Done
Building Dependency Tree... Done
MI2a: mark ruby-stdlibs
MI2a:  target libcrypto.so.7
MI2a:   mark libssl7
MI2a:    target ca-certificates
MI2a:     mark ca-certificates
MI2a:    target libk5crypto.so.3(k5crypto_3_MIT)
MI2a:     mark libkrb5
MI2a:      target libkeyutils.so.1(KEYUTILS_0.3)
MI2a:       mark libkeyutils
MI2a:  target libgdbm.so.3
MI2a:   mark libgdbm
MI2a:  target ruby(tcltklib) AMB
MI2b: mark ruby-stdlibs
MI2b:  target ruby(tcltklib) AMB
MI2c: mark ruby-stdlibs
MI2c:  target ruby(tcltklib)
MI2c:   mark ruby-stdlibs-tk
MI2c:    target libtcl8.5.so
MI2c:     mark libtcl
MI2c:    target libtk8.5.so
MI2c:     mark libtk
MI2c:      target libX11.so.6
MI2c:       mark libX11
MI2c:        target libX11-locales
MI2c:         mark libX11-locales
MI2c:        target libxcb.so.1
MI2c:         mark libxcb
MI2c:          target libXau.so.6
MI2c:           mark libXau
MI2c:          target libXdmcp.so.6
MI2c:           mark libXdmcp
MI2c:      target libXft.so.2
MI2c:       mark libXft
MI2c:        target libXrender.so.1
MI2c:         mark libXrender
MI2c:        target libfontconfig.so.1
MI2c:         mark fontconfig
MI2c:          target libexpat.so.1
MI2c:           mark libexpat
MI2c:          target libfreetype.so.6
MI2c:           mark libfreetype
Starting
Starting 2
Done
The following extra packages will be installed:
  ca-certificates fontconfig libX11 libX11-locales libXau libXdmcp libXft libXrender libexpat libfreetype libgdbm libkeyutils
  libkrb5 libssl7 libtcl libtk libxcb ruby-stdlibs ruby-stdlibs-tk
The following NEW packages will be installed:
  ca-certificates fontconfig libX11 libX11-locales libXau libXdmcp libXft libXrender libexpat libfreetype libgdbm libkeyutils
  libkrb5 libssl7 libtcl libtk libxcb ruby-stdlibs ruby-stdlibs-tk
0 upgraded, 19 newly installed, 0 removed and 0 not upgraded.
Need to get 0B/4996kB of archives.
After unpacking 18.2MB of additional disk space will be used.

Виртуальный пакет просто не выбирается.

-- 
Regards,
Sir Raorn.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [devel] apt игнорирует provides/obsoletes при установке?
  2009-04-21 10:03 ` Alexey I. Froloff
@ 2009-04-21 10:17   ` Alexey Tourbin
  2009-04-21 10:21     ` Alexey Tourbin
  2009-05-05  0:07     ` Alexey I. Froloff
  0 siblings, 2 replies; 7+ messages in thread
From: Alexey Tourbin @ 2009-04-21 10:17 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 1851 bytes --]

On Tue, Apr 21, 2009 at 02:03:45PM +0400, Alexey I. Froloff wrote:
> * Alexey I. Froloff <raorn@> [090421 13:39]:
> > apt почему-то предпочитает вытаскивать старый ruby-module-erb
> > вместо нового ruby-stdlibs (который Provides/Obsoletes).
> В чрут установлены ruby и libruby версии 1.9.1-alt1.20090412.
> 
> $ ./aptbox/apt-get -oDebug::PkgProblemResolver=true -oDebug::PkgMarkInstall=true install ruby-module-etc                                                                                                             
> Reading Package Lists... Done
> Building Dependency Tree... Done
> MI2a: mark ruby-module-etc
> Starting
> Starting 2
> Investigating ruby-module-etc
> Package ruby-module-etc has broken dep on libruby
>   Considering libruby 4 as a solution to ruby-module-etc 9999
> Package ruby-module-etc has broken dep on libruby.so.1.8
>   Considering libruby 4 as a solution to ruby-module-etc 9999
> Done
> Some packages could not be installed. This may mean that you have
> requested an impossible situation or if you are using the unstable
> distribution that some required packages have not yet been created
> or been moved out of Incoming.
> 
> Since you only requested a single operation it is extremely likely that
> the package is simply not installable and a bug report against
> that package should be filed.
> The following information may help to resolve the situation:
> 
> The following packages have unmet dependencies:
>   ruby-module-etc: Depends: libruby (= 1.8.7-alt7)
>                    Depends: libruby.so.1.8
> E: Broken packages
> 
> $ ./aptbox/apt-get -oDebug::PkgProblemResolver=true -oDebug::PkgMarkInstall=true install ruby-module-etc=1.9.1-alt1.20090412
> Reading Package Lists... Done
> Building Dependency Tree... Done
> MI2a: mark ruby-stdlibs

vim -t AllTargets

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [devel] apt игнорирует provides/obsoletes при установке?
  2009-04-21 10:17   ` Alexey Tourbin
@ 2009-04-21 10:21     ` Alexey Tourbin
  2009-05-05  0:07     ` Alexey I. Froloff
  1 sibling, 0 replies; 7+ messages in thread
From: Alexey Tourbin @ 2009-04-21 10:21 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 587 bytes --]

On Tue, Apr 21, 2009 at 02:17:54PM +0400, Alexey Tourbin wrote:
> > $ ./aptbox/apt-get -oDebug::PkgProblemResolver=true -oDebug::PkgMarkInstall=true install ruby-module-etc=1.9.1-alt1.20090412
> > Reading Package Lists... Done
> > Building Dependency Tree... Done
> > MI2a: mark ruby-stdlibs
> vim -t AllTargets

И кстати выбор пакета в апт-гет инсталл и выбор пакетов при рекурсивном
проходе по зависимостям реализован разным кодом.  Сначала это было не
проблема, потому что код был простой, а потом код стал посложнее и это
стало проблемой.  Я размышляю над этой проблемой.

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [devel] apt игнорирует provides/obsoletes при установке?
  2009-04-21 10:17   ` Alexey Tourbin
  2009-04-21 10:21     ` Alexey Tourbin
@ 2009-05-05  0:07     ` Alexey I. Froloff
  1 sibling, 0 replies; 7+ messages in thread
From: Alexey I. Froloff @ 2009-05-05  0:07 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 839 bytes --]

* Alexey Tourbin <at@> [090421 14:20]:
> > > apt почему-то предпочитает вытаскивать старый ruby-module-erb
> > > вместо нового ruby-stdlibs (который Provides/Obsoletes).
> vim -t AllTargets
У меня получилось добиться такого эффекта:

$ hsh-install /raid/raorn/hasher ruby-module-etc
Reading Package Lists...
Building Dependency Tree...
Package ruby-module-etc is a virtual package provided by:
  ruby-module-etc 1.8.7-alt7
  ruby-stdlibs 1.9.1-alt1.20090412
You should explicitly select one to install.
E: Package ruby-module-etc is a virtual package with multiple good providers.

В TryToInstall() я убрал первое условие (Pkg->VersionList == 0) и
оставил только Pkg->ProvidesList != 0.  Теперь оно всегда
пытается обрабатывать виртуальные пакеты.  Что делать дальше я
слабо представляю ;-)

-- 
Regards,
Sir Raorn.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [devel] apt игнорирует provides/obsoletes при установке?
  2009-04-21  9:38 [devel] apt игнорирует provides/obsoletes при установке? Alexey I. Froloff
  2009-04-21  9:52 ` Alexey Tourbin
  2009-04-21 10:03 ` Alexey I. Froloff
@ 2009-05-05 19:52 ` Alexey I. Froloff
  2 siblings, 0 replies; 7+ messages in thread
From: Alexey I. Froloff @ 2009-05-05 19:52 UTC (permalink / raw)
  To: ALT Devel discussion list

[-- Attachment #1: Type: text/plain, Size: 886 bytes --]

* Alexey I. Froloff <raorn@> [090421 13:39]:
> Я собрал ruby 1.9.1, в котором все ruby-module-* слил в один
> (не-такой-уж-и)большой ruby-stdlibs.  Выставлены соответствующие
> Provides/Obsoletes:
> Obsoletes: ruby-module-erb
> Provides: ruby-module-erb = 1.9.1-alt1.20090412
> Obsoletes: ruby-module-etc
> Provides: ruby-module-etc = 1.9.1-alt1.20090412
Выкрутился (теоретически) следующим образом:

Вместо Provides/Obsoletes создаются пустые read-only пакеты
ruby-module-foo, которые тупо Requires: ruby-stdlibs и в этой
хашернице уже можно что-то собирать.  Когда все зависящие от ruby
пакеты пересоберутся одной транзакцией, следующей задачей
заливается новый ruby, где этих пустышек нет, а есть честные
Provides/Obsoletes.  Поскольку ruby1.8 уже из репозитория вылетел
(по результатам предыдущей транзакции), замена пройдёт нормально.

-- 
Regards,
Sir Raorn.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2009-05-05 19:52 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-04-21  9:38 [devel] apt игнорирует provides/obsoletes при установке? Alexey I. Froloff
2009-04-21  9:52 ` Alexey Tourbin
2009-04-21 10:03 ` Alexey I. Froloff
2009-04-21 10:17   ` Alexey Tourbin
2009-04-21 10:21     ` Alexey Tourbin
2009-05-05  0:07     ` Alexey I. Froloff
2009-05-05 19:52 ` Alexey I. Froloff

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