Bug 29707 - shared libs policy: rename to libudev0 to allow installing libudev1 and some new pkgs
Summary: shared libs policy: rename to libudev0 to allow installing libudev1 and some ...
Status: NEW
Alias: None
Product: Branch t6
Classification: Distributions
Component: libudev (show other bugs)
Version: не указана
Hardware: all Linux
: P3 normal
Assignee: Sergey Vlasov
QA Contact: QA t6
URL: http://www.altlinux.org/Shared_Libs_P...
Depends on:
Blocks: 29708
  Show dependency tree
Reported: 2014-01-10 21:45 MSK by Ivan Zakharyaschev
Modified: 2014-01-17 14:32 MSK (History)
2 users (show)

See Also:


Note You need to log in before you can comment on or make changes to this bug.
Description Ivan Zakharyaschev 2014-01-10 21:45:55 MSK

It could be renamed to libudev0 (accroding to http://www.altlinux.org/Shared_Libs_Policy ). This would allow to install some new pkgs from p7/t7 or Sisyphus in a p6/t6 system -- those which depend on libudev1 (which in its turn obsoletes libudev, and thus is not installable in p6/t6).

(libudev1 obsoletes libudev because it was renamed from libudev when it provided libudev.so.1.)

AFAIU there must be no danger for programs using libudev1 if the system works with a non-matching version of udev. (I make this conclusion from the fact that libudev* don't depend on udev.)

Example -- let's try to install chromium from t7 in a p6 system:

[root@cerob apt]# apt-shell 
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Добро пожаловать в APT shell. Используйте команду "help" для дополнительной информации.
apt> install chromium
Некоторые пакеты установить невозможно. Это может означать, что Вы
потребовали невозможного, либо пользуетесь нестабильным репозиторием.
Часть необходимых пакетов либо ещё не создана, либо была удалена
из каталога 'Входящие'.

Так как для выполнения Вашего запроса достаточно одной операции, то
скорее всего этот пакет просто невозможно установить. Сообщите, пожалуйста,
об этом как о найденной ошибке в пакете.
Эти сведения могут помочь найти выход из ситуации:

Следующие пакеты имеют неудовлетворенные зависимости:
  chromium: Требует: libudev.so.1 (>= set:kfkPWgjvwRmf1wAYhuw2GQVxErStEm5FxiWJ4rl7tkTkJVESoSX1S61Fgg7e)
            Требует: libudev.so.1(LIBUDEV_183)
E: Извините, `битые' пакеты
apt> showpkg libudev1
Package: libudev1

Reverse Depends: 
  libudev1-debuginfo,libudev1 201-alt1.M70P.1
  udev,libudev1 201-alt1.M70P.1
  libudev-devel,libudev1 201-alt1.M70P.1
  libgudev,libudev1 201-alt1.M70P.1
201-alt1.M70P.1 - libsystemd-daemon (5 201-alt1.M70P.1) ld-linux.so.2 (0 (null)) libc.so.6(GLIBC_2.1) (0 (null)) libc.so.6(GLIBC_2.17) (0 (null)) libc.so.6(GLIBC_2.2.3) (0 (null)) libc.so.6(GLIBC_2.3) (0 (null)) libc.so.6(GLIBC_2.3.4) (0 (null)) libc.so.6(GLIBC_2.7) (0 (null)) librt.so.1 (2 set:jiq20) librt.so.1(GLIBC_2.2) (0 (null)) libudev (3 181-alt5) 
201-alt1.M70P.1 - libudev1 libudev.so.1(LIBUDEV_199) libudev.so.1(LIBUDEV_196) libudev.so.1(LIBUDEV_189) libudev.so.1(LIBUDEV_183) libudev.so.1 
Reverse Provides: 
libudev1 201-alt1.M70P.1
apt> install libsystemd-daemon
apt> showpkg libudev
Package: libudev

Reverse Depends: 
  libudev1,libudev 181-alt5
168-alt2.M60P.2 - libc.so.6(GLIBC_2.0) (0 (null)) libc.so.6(GLIBC_2.1) (0 (null)) libc.so.6(GLIBC_2.1.3) (0 (null)) libc.so.6(GLIBC_2.2) (0 (null)) libc.so.6(GLIBC_2.2.3) (0 (null)) libc.so.6(GLIBC_2.3) (0 (null)) libc.so.6(GLIBC_2.3.4) (0 (null)) libc.so.6(GLIBC_2.4) (0 (null)) libc.so.6(GLIBC_2.8) (0 (null)) librt.so.1 (2 set:jiq20) librt.so.1(GLIBC_2.2) (0 (null)) rtld(GNU_HASH) (0 (null)) 
168-alt2.M60P.2 - libudev libudev.so.0 
Reverse Provides: 
libudev 168-alt2.M60P.2

Note that the old libudev is the only obstackle for the installation of libudev1; libsystemd-daemon can be installed without problems.
Comment 1 Ivan Zakharyaschev 2014-01-11 00:20:04 MSK
With udev-168-alt2.M60T.1 I have prepared (trying to build in task #111658 now), the goal is achieved:

first, libudev0-168-alt2.M60T.1 should be installed,

then, chromium can be installed from t7:

# apt-get update ; apt-get install chromium
Получено: 1 http://ftp.altlinux.org i586 release [913B]
Получено: 2 http://ftp.altlinux.org noarch release [707B]
Получено 1620B за 0s (23,3kB/s).
Получено: 1 http://ftp.altlinux.org i586/classic pkglist [15,5MB]
Получено: 2 http://ftp.altlinux.org i586/classic release [133B]
Получено: 3 http://ftp.altlinux.org i586/debuginfo pkglist [2304kB]
Получено: 4 http://ftp.altlinux.org i586/debuginfo release [135B]
Получено: 5 http://ftp.altlinux.org noarch/classic pkglist [3291kB]
Получено: 6 http://ftp.altlinux.org noarch/classic release [135B]
Получено 21,1MB за 8s (2405kB/s).                                                                                                                                                                               
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Следующие дополнительные пакеты будут установлены:
  libX11 libX11-debuginfo libX11-locales libpci libsystemd-daemon libudev1 libv8-3.21 pciutils
Следующие пакеты будут ОБНОВЛЕНЫ:
  chromium libX11 libX11-debuginfo libX11-locales libpci pciutils
Следующие НОВЫЕ пакеты будут установлены:
  libsystemd-daemon libudev1 libv8-3.21
6 будет обновлено, 3 новых установлено, 0 пакетов будет удалено и 1694 не будет обновлено.
Необходимо получить 48,2MB архивов.
После распаковки потребуется дополнительно 21,1MB дискового пространства.
Продолжить? [Y/n]
Comment 2 Michael Shigorin 2014-01-11 01:49:11 MSK
Feel free to upload to t6/branch (given that no somame duplication occurs and you have tested upgrade to t7/branch at least within a chroot).
Comment 3 Ivan Zakharyaschev 2014-01-17 14:32:12 MSK
Yes, I've now just tested that apt-get dist-upgrade can proceed.

It's no surprise that there are no strange problems, because in t6 "libudev" is not part of any dependency relation (only the soname is used), and t7 has the new libudev1.

task #111658 for t6 -- please approve if you have no objections.