Сейчас rpm для целевой системы собирается, в нём транслируются зависимости, но в результирующий deb зависимости не попадают. В alien отключен сейчас автопоиск зависимостей (потому при запуске в host-системе он не работает) Большая проблема в том, что большая часть зависимостей оставлена на автопоиск, соответственно в rpm-пакете их не будет. Решением выглядит изымание зависимостей из бинарной сборки для Сизифа, с последующей их трансляцией в нотацию целевой системы и добавлением в deb-пакет с помощью alien. Таким образом, нужно: - получать список установочных зависимостей из бинарного пакета - уметь передавать в alien этот список, чтобы он его добавлял в формируемый пакет
в скрипт alien добавил опцию --depends=<file> , из файла читается список зависимостей вида имя_пакета (>= версия) , построчно; затем в результирующий deb записываются эти зависимости. Этот метод работает, при установке проверяется установлены ли требуемые по зависимостям пакеты
Патч находится здесь: /srv/goga/Projects/alien/0001-Option-for-adding-the-dependency-list-from-file.patch Видимо, нужно собрать пакет с патчем в ALT и по возможности отправить в upstream.
Created attachment 2468 [details] Упомянутый alien.pl.rej К версии 8.86 патч не прикладывается. Patch #1 (0001-Option-for-adding-the-dependency-list-from-file.patch): + /usr/bin/patch -p2 patching file alien.pl Hunk #4 FAILED at 380. Hunk #5 succeeded at 397 with fuzz 2. Hunk #6 FAILED at 502. 2 out of 6 hunks FAILED -- saving rejects to file alien.pl.rej
(В ответ на comment #3) > К версии 8.86 патч не прикладывается. > Patch #1 (0001-Option-for-adding-the-dependency-list-from-file.patch): Обновил версию до 8.86. Внес изменения руками. Собираемость проверил. Отправляю на сборку в ALT
task #67990 for sisyphus DONE
Как бы нам теперь связаться с апстримом и передать им патчик?
(В ответ на comment #6) > Как бы нам теперь связаться с апстримом и передать им патчик? Можно не я? У меня с языками тяжело... Читать могу, писать - совсем плохо...
Ubuntu 12.04 64bit проблема с установкой зависимостей: # dpkg -i * Selecting previously unselected package wine-etersoft:i386. (Чтение базы данных ... на данный момент установлено 142058 файлов и каталогов.) Распаковывается пакет wine-etersoft:i386 (из файла wine-etersoft_2.0.2-eter3ubuntu_i386.deb)... Selecting previously unselected package wine-etersoft-sql:i386. Распаковывается пакет wine-etersoft-sql:i386 (из файла wine-etersoft-sql_2.0.2-eter1ubuntu_i386.deb)... dpkg: зависимости пакетов не позволяют настроить пакет wine-etersoft:i386: wine-etersoft:i386 зависит от curl. wine-etersoft:i386 зависит от diffutils. wine-etersoft:i386 зависит от eject. wine-etersoft:i386 зависит от grep. wine-etersoft:i386 зависит от gzip. wine-etersoft:i386 зависит от less. wine-etersoft:i386 зависит от perl-base. wine-etersoft:i386 зависит от psmisc. wine-etersoft:i386 зависит от sed. wine-etersoft:i386 зависит от unzip. wine-etersoft:i386 зависит от x11-xserver-utils. dpkg: не удалось обработать параметр wine-etersoft:i386 (--install): проблемы зависимостей -- оставляем не настроенным dpkg: зависимости пакетов не позволяют настроить пакет wine-etersoft-sql:i386: wine-etersoft-sql:i386 зависит от diffutils. wine-etersoft-sql:i386 зависит от gettext. wine-etersoft-sql:i386 зависит от grep. wine-etersoft-sql:i386 зависит от login. wine-etersoft-sql:i386 зависит от sed. wine-etersoft-sql:i386 зависит от wine-etersoft, однако: Пакет wine-etersoft:i386 пока не настроен. dpkg: не удалось обработать параметр wine-etersoft-sql:i386 (--install): проблемы зависимостей -- оставляем не настроенным Обрабатываются триггеры для ureadahead ... Обрабатываются триггеры для man-db ... Обрабатываются триггеры для desktop-file-utils ... Обрабатываются триггеры для bamfdaemon ... Rebuilding /usr/share/applications/bamf.index... Обрабатываются триггеры для gnome-menus ... При обработке следующих пакетов произошли ошибки: wine-etersoft:i386 wine-etersoft-sql:i386 При попытке разрешить автоматически зависимости: # apt-get install -f Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово Исправление зависимостей… не удалось. Пакеты, имеющие неудовлетворённые зависимости: wine-etersoft:i386 : Зависит: curl:i386 но он не установлен Зависит: diffutils:i386 но он не установлен Зависит: eject:i386 но он не установлен Зависит: grep:i386 но он не установлен Зависит: gzip:i386 но он не установлен Зависит: less:i386 но он не установлен Зависит: perl-base:i386 но он не установлен Зависит: psmisc:i386 но он не установлен Зависит: sed:i386 но он не установлен Зависит: ttf-liberation:i386 но он не может быть установлен Зависит: unzip:i386 но он не установлен Зависит: x11-xserver-utils:i386 но он не установлен wine-etersoft-sql:i386 : Зависит: diffutils:i386 но он не установлен Зависит: gettext:i386 но он не установлен Зависит: grep:i386 но он не установлен Зависит: login:i386 но он не установлен Зависит: sed:i386 но он не установлен E: Ошибка, pkgProblemResolver::Resolve сгенерировал повреждённые пакеты. Это может быть вызвано отложенными (held) пакетами. E: Невозможно скорректировать зависимости Проверял в нашем vbox.
(В ответ на comment #8) > Ubuntu 12.04 64bit > проблема с установкой зависимостей: > # dpkg -i * Перед этим хорошо бы показать ls -1... Дабы таким идиотам, как я, не нужно было напрягать остатки мозга и угадывать, что попадает под *... > wine-etersoft:i386 : Зависит: curl:i386 но он не установлен ... Виталий, если мне не изменяет мой склероз, то в силу ущербности реализайии multilib в целевом дистрибутиве мы пытаемся устанавливать в Ubuntu 12.04 64bit пакеты, собранные для i386... И зависимости там на *:i386 получаются. Следовательно, попытка обмануть систему не удалась.
Причесал патч и отправил в upstream (автору). http://git.etersoft.ru/people/lav/public/?p=alien.git;a=commit;h=2a912f7281bc37cc552181b71ffff2d74dabb0f7
Ответ: The usual answer to this problem is that alien -s can be used to produce a directory tree that can be further modified as desired, and built with dpkg-buildpackage. Всё ясно, будем делать отдельную обёртку, alien не будем менять.