Bug 35163

Summary: --repack не обрабатывает симлинки
Product: Sisyphus Reporter: mikhailnov <m>
Component: eepmAssignee: Vitaly Lipatov <lav>
Status: CLOSED DUPLICATE QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: lav
Version: unstable   
Hardware: all   
OS: Linux   

Description mikhailnov 2018-07-19 15:41:01 MSK
Конвертировал пакет TeamViewer 13 (https://download.teamviewer.com/download/linux/teamviewer.x86_64.rpm) через eepm --repack install

Конвертировалось, при установке ошибка:
 teamviewer: Требует: /bin/ip но пакет не может быть установлен

Однако по факту /bin/ip в системе есть, но является симлинком:
 $ readlink /bin/ip
 /sbin/ip

Если такое возможно, то надо было раскрутить цепочку симлинков и поставить Requires на пакет, который предоставляет /sbin/ip.
Comment 1 Vitaly Lipatov 2018-07-19 18:37:37 MSK
Попробуйте воспроизвести как в
https://bugzilla.altlinux.org/show_bug.cgi?id=34323.
Какой у вас версии rpm-build?

*** This bug has been marked as a duplicate of bug 34323 ***
Comment 2 mikhailnov 2018-07-19 18:44:24 MSK
rpm-build-4.0.4-alt101.M80P.1.x86_64, p8
Сизифа под рукой нет, но я дал ссылку на пакет, можете попробовать воспроизвести
Comment 3 Vitaly Lipatov 2018-07-19 18:53:01 MSK
(В ответ на комментарий №2)
> rpm-build-4.0.4-alt101.M80P.1.x86_64, p8
> Сизифа под рукой нет, но я дал ссылку на пакет, можете попробовать
> воспроизвести
Я указал ссылку на багу, которую я завёл ещё в декабре по этой проблеме. Привёл там тестовый репозиторий, осталось показать на нём наличие проблемы.
Comment 4 mikhailnov 2018-07-19 19:02:42 MSK
Да, проблему воспроизвел на p8.

user@pay2-alt-p8-portable dev $ git clone http://git.altlinux.org//people/lav/packages/broken-symlink-requires.git
Cloning into 'broken-symlink-requires'...
user@pay2-alt-p8-portable dev $ cd broken-symlink-requires
user@pay2-alt-p8-portable broken-symlink-requires $ ls
broken-symlink-requires.spec
user@pay2-alt-p8-portable broken-symlink-requires $ cat broken-symlink-requires.spec
Name: broken-symlink-requires
Version: 1.1
Release: alt1

Summary: It packages has /bin/ip requires on p8
License: BSD
Group: Archiving/Compression

BuildArch: noarch

%description
It packages has /bin/ip requires on p8,
that can be resolved.

%prep

%build

%install

mkdir -p %buildroot%_bindir/
cat <<EOF >%buildroot%_bindir/te
#!/bin/sh
ip
EOF
chmod 0755 %buildroot%_bindir/te

%files
%_bindir/*

%changelog
* Mon Dec 11 2017 Vitaly Lipatov <lav@altlinux.ru> 1.1-alt1
- initial build

user@pay2-alt-p8-portable broken-symlink-requires $ rpm -bb broken-symlink-requires.spec
Выполняется(%prep): /bin/sh -e /tmp/.private/user/rpm-tmp.47807
+ umask 022
+ /bin/mkdir -p /home/user/RPM/BUILD
+ cd /home/user/RPM/BUILD
+ exit 0
Выполняется(%build): /bin/sh -e /tmp/.private/user/rpm-tmp.93564
+ umask 022
+ /bin/mkdir -p /home/user/RPM/BUILD
+ cd /home/user/RPM/BUILD
+ exit 0
Выполняется(%install): /bin/sh -e /tmp/.private/user/rpm-tmp.93564
+ umask 022
+ /bin/mkdir -p /home/user/RPM/BUILD
+ cd /home/user/RPM/BUILD
+ /bin/chmod -Rf u+rwX -- /tmp/.private/user/broken-symlink-requires-buildroot
+ :
+ /bin/rm -rf -- /tmp/.private/user/broken-symlink-requires-buildroot
+ mkdir -p /tmp/.private/user/broken-symlink-requires-buildroot/usr/bin/
+ cat
+ chmod 0755 /tmp/.private/user/broken-symlink-requires-buildroot/usr/bin/te
+ /usr/lib/rpm/brp-alt
Cleaning files in /tmp/.private/user/broken-symlink-requires-buildroot (auto)
Verifying and fixing files in /tmp/.private/user/broken-symlink-requires-buildroot (binconfig,pkgconfig,libtool,desktop)
Compressing files in /tmp/.private/user/broken-symlink-requires-buildroot (auto)
Verifying ELF objects in /tmp/.private/user/broken-symlink-requires-buildroot (arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal)
Hardlinking identical .pyc and .opt-?.pyc files
Hardlinking identical .pyc and .pyo files
Обрабатываются файлы: broken-symlink-requires-1.1-alt1
Поиск Provides (используя /usr/lib/rpm/find-provides)
Executing: /bin/sh -e /tmp/.private/user/rpm-tmp.gKhqng
find-provides: running scripts (alternatives,debuginfo,fpc,lib,pam,perl,pkgconfig,python,python3,shell)
Поиск Requires (используя /usr/lib/rpm/find-requires)
Executing: /bin/sh -e /tmp/.private/user/rpm-tmp.urGzX5
find-requires: running scripts (cpp,debuginfo,files,fpc,lib,pam,perl,pkgconfig,pkgconfiglib,python,python3,rpmlib,shebang,shell,static,symlinks)
find-requires: FINDPACKAGE-COMMANDS: ip
Requires: /bin/ip, /bin/sh
Записан: /home/user/RPM/RPMS/noarch/broken-symlink-requires-1.1-alt1.noarch.rpm
user@pay2-alt-p8-portable broken-symlink-requires $ su -c "apt-get install /home/user/RPM/RPMS/noarch/broken-symlink-requires-1.1-alt1.noarch.rpm"
Password: 
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Выбрано broken-symlink-requires для '/home/user/RPM/RPMS/noarch/broken-symlink-requires-1.1-alt1.noarch.rpm'
Некоторые пакеты установить невозможно. Это может означать, что Вы
потребовали невозможного, либо пользуетесь нестабильным репозиторием.
Часть необходимых пакетов либо ещё не создана, либо была удалена
из каталога 'Входящие'.

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

Следующие пакеты имеют неудовлетворенные зависимости:
  broken-symlink-requires: Требует: /bin/ip но пакет не может быть установлен
E: Извините, `битые' пакеты
Comment 5 Vitaly Lipatov 2018-07-20 11:47:04 MSK
Вы только не в ту багу пишете.