Ошибка #1496

Сломанные зависимости Viber

Добавил(а) carasin berlogue почти 3 года назад. Обновлено больше 2 лет назад.

Статус:РешенаНачата:19.10.2015
Приоритет:НормальныйДата выполнения:
Назначена:Vasiliy GlazovГотовность:

0%

Категория:-
Версия:-

Описание

Skipping packages with broken dependencies:
viber x86_64 4.2.2.6-9.fc22.R russianfedora-nonfree-updates 42 M

Василий, я так понял, апдейт был призван исправить вот этот баг, но теперь Viber вообще не ставится. А судя по этому комменту, проблема , похоже, касается ещё и draftSight'а.

Есть идеи?

viber.requeres (2,578 КБ) carasin berlogue, 20.10.2015 12:11

REQUIRES (169 байта) carasin berlogue, 20.10.2015 12:32

История

#1 Обновлено Vasiliy Glazov почти 3 года назад

  • Параметр Статус изменился с Новая на В работе

И вайбер и драфтсайт хотят libicu 48, а у нас 54 в репах. И вообще они проприетарны и несут эту либу в себе.
Пока я не знаю как заставить их не хотеть эту либу и при этом не ломать зависимости остальных репозиториев. Завтра буду думать.

Если есть идеи - буду благодарен.

#2 Обновлено Vasiliy Glazov больше 2 лет назад

  • Параметр Статус изменился с В работе на Решена

Сделал.

#3 Обновлено carasin berlogue больше 2 лет назад

+AutoReqProv: no
А оно теперь будет все нужные зависимости само подтягивать? 0_o

#4 Обновлено Vasiliy Glazov больше 2 лет назад

Не знаю, будет вести себя как с официального сайта.
Оно же должно нести все либы в себе.

#5 Обновлено Maxim Orlov больше 2 лет назад

Ошибка: nothing provides libicui18n.so.48()(64bit) needed by draftsight-2015.3.0.3020-1.2.fc22.R.x86_64

http://fpaste.org/281352/37584144/

#6 Обновлено Vasiliy Glazov больше 2 лет назад

Да вот я думал то же самое и с draftsight сделать. carasin, сделаешь?

#7 Обновлено carasin berlogue больше 2 лет назад

В общем, я прошёлся по выхлопу rpm -q viber --requires (viber-*4.2.2.6-8*.fc22.R.x86_64) sed'ом: закомментированы зависимости, присутствующие в самом пакете.

При этом незакомментированными остались внешние зависимости, которые должны присутствовать в пакете.

#8 Обновлено carasin berlogue больше 2 лет назад

А вот перечень зависимостей пакета viber-4.2.2.6-10.fc22.R.x86_64.rpm.
Там всего-то:
/bin/sh
/bin/sh
/bin/sh
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(FileDigests) <= 4.6.0-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(PayloadIsXz) <= 5.2-1

#9 Обновлено Vasiliy Glazov больше 2 лет назад

Хорошо, и как нам оставить только нужные зависимости?
Как Игорь предложил:

+%global to_exclude libcu(uc|i18n)\\.so
+%global __requires_exclude_from ^%{_libdir}/%{to_exclude}.*$

-AutoReqProv:    no

#10 Обновлено carasin berlogue больше 2 лет назад

Не совсем понимаю, что делают эти %global'ы.

Я в draftsight'е планировал сделать так:
  1. в spec'е на первом этапе не прописываются никакие Requires'ы, собирается пакет;
  2. у собранного пакета берётся список REQUIRES;
  3. из полученного списка исключаются присутствующие в пакете зависимости;
  4. также из списка исключаются автоматически прописываемые зависимости (например, sh, rpmlib);
  5. в список добавляются дополнительные, не добавляемые автоматически зависимости (например, libaudio.so.2()(64bit), libGLU.so.1()(64bit), xdg-utils, gnome-icon-theme);
  6. в spec добавляется AutoReq: no и вручную прописываются зависимости из составленного ранее списка.

Экспортировать в Atom PDF