Bug 38567 - В сборочнице noarch пакеты попадают только в те архитектуры task-репозитория, для которых они собраны
Summary: В сборочнице noarch пакеты попадают только в те архитектуры task-репозитория,...
Status: CLOSED FIXED
Alias: None
Product: Infrastructure
Classification: Infrastructure
Component: girar (show other bugs)
Version: unspecified
Hardware: x86_64 Linux
: P5 normal
Assignee: Dmitry V. Levin
QA Contact: Andrey Cherepanov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-06-01 16:35 MSK by Alexander Makeenkov
Modified: 2020-06-01 19:17 MSK (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Makeenkov 2020-06-01 16:35:15 MSK
На примере задания 252216 (http://git.altlinux.org/tasks/252216).

На системе x86_64 пытаюсь установить пакет pcsx2-i18n из задания, указанного выше, и получаю следующую ошибку:

# apt-repo add 252216 && apt-get update && apt-get install pcsx2-i18n
Получено: 1 http://git.altlinux.org repo/252216/x86_64 release [1181B]
Получено: 2 http://git.altlinux.org repo/252216/x86_64-i586 release [1164B]
Получено 2345B за 0s (142kB/s).
Найдено http://git.altlinux.org repo/252216/x86_64/task pkglist
Найдено http://git.altlinux.org repo/252216/x86_64/task release
Найдено http://git.altlinux.org repo/252216/x86_64-i586/task pkglist
Найдено http://git.altlinux.org repo/252216/x86_64-i586/task release
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Пакет pcsx2-i18n присутствует в базе данных, но не имеет доступной версии.
Как правило это означает, что хотя пакет упоминается в списке зависимостей,
он отсутствует в репозитории, был вытеснен, либо в sources.list нет адреса
репоE: Для пакета pcsx2-i18n не найдено подходящего кандидата для установки

Это происходит из-за того, что данный пакет собирается как noarch, но в сборочнице он лежит в i586 (http://git.altlinux.org/repo/252216/i586/RPMS.task).

Следовательно, корректно установить пакет из задания на систему x86_64 (на i586 такой проблемы нет), пока оно не попадёт в репозиторий, становится невозможным (если не скачивать rpm файл и не устанавливать вручную).

Возможно ли вынести noarch пакеты в сборочнице в отдельный репозиторий?
Comment 1 Dmitry V. Levin 2020-06-01 16:44:44 MSK
(In reply to Alexander Makeenkov from comment #0)
> На примере задания 252216 (http://git.altlinux.org/tasks/252216).
> 
> На системе x86_64 пытаюсь установить пакет pcsx2-i18n из задания, указанного
> выше

В этом пакете ExclusiveArch: %ix86,
пытаться ставить его на x86_64 не следует.
Comment 2 Anton Farygin 2020-06-01 17:08:02 MSK
Этот noarch пакет нужен для arepo-пакета, который собирается из этого же задания.
Comment 3 Anton Farygin 2020-06-01 17:13:45 MSK
больше того - apt-get install pcsx2 на x86_64 вытягивает i586-pcsx2.
Comment 4 Alexander Makeenkov 2020-06-01 17:15:53 MSK
Я не уточнил, что если устанавливать пакет pcsx2, который выберается, как i586-pcsx2.32bit, то он уже вытягивает за собой пакет pcsx2-i18n, каторый apt не может найти:

# apt-get install pcsx2
Чтение списков пакетов... Завершено
Построение дерева зависимостей... Завершено
Выбрано i586-pcsx2.32bit для 'pcsx2'
Некоторые пакеты установить невозможно. Это может означать, что Вы
потребовали невозможного, либо пользуетесь нестабильным репозиторием.
Часть необходимых пакетов либо ещё не создана, либо была удалена
из каталога 'Входящие'.

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

Следующие пакеты имеют неудовлетворенные зависимости:
  i586-pcsx2.32bit: Требует: pcsx2-i18n (= 1.6.0-alt5:p9+252216.200.2.1) но пакет не может быть установлен
E: Извините, `битые' пакеты
Comment 5 Денис Назаров 2020-06-01 17:37:56 MSK
Подпакет pcsx2-i18n специально вынесен в noacrh, что бы на x86_64 была локализация, т.к. при ковертировании i586 для x86_64 из конвертированного пакета выкидывается директория /usr/share/locale
Comment 6 Dmitry V. Levin 2020-06-01 17:54:58 MSK
Пакеты попадают только в те архитектуры task-репозитория, для которых они собраны, и noarch-пакеты не являются исключением.
Comment 7 Anton Farygin 2020-06-01 17:58:50 MSK
может быть, как вариант, стоит noarch из таска добавлять ещё и в i586-x86_64 репозиторий ?

Ситуация не очень стандартная - я первый раз вижу пакет, который собирается на i586 для использования на x86_64.
Comment 8 Dmitry V. Levin 2020-06-01 18:03:49 MSK
(In reply to Anton Farygin from comment #7)
> может быть, как вариант, стоит noarch из таска добавлять ещё и в i586-x86_64
> репозиторий ?

Я бы скорее предложил добавлять собранные noarch-пакеты в task-репозиторий для всех архитектур, а не только для тех, где они были собраны.
Comment 9 Anton Farygin 2020-06-01 18:04:58 MSK
да, согласен - так будет намного лучше.
Comment 10 Dmitry V. Levin 2020-06-01 19:17:16 MSK
Changed in 2214519a176c3187cc7fbb25f3d3ece487876651.

$ find tasks/252216/build/repo/ -name '*.noarch.rpm' -ls
 52822417      0 lrwxrwxrwx   4 112      59             55 Jun  1 15:53 tasks/252216/build/repo/i586/RPMS.task/pcsx2-i18n-1.6.0-alt5.noarch.rpm -> ../../../200/i586/rpms/pcsx2-i18n-1.6.0-alt5.noarch.rpm
 52822417      0 lrwxrwxrwx   4 112      59             55 Jun  1 15:53 tasks/252216/build/repo/x86_64/RPMS.task/pcsx2-i18n-1.6.0-alt5.noarch.rpm -> ../../../200/i586/rpms/pcsx2-i18n-1.6.0-alt5.noarch.rpm
 52822417      0 lrwxrwxrwx   4 112      59             55 Jun  1 15:53 tasks/252216/build/repo/aarch64/RPMS.task/pcsx2-i18n-1.6.0-alt5.noarch.rpm -> ../../../200/i586/rpms/pcsx2-i18n-1.6.0-alt5.noarch.rpm
 52822417      0 lrwxrwxrwx   4 112      59             55 Jun  1 15:53 tasks/252216/build/repo/ppc64le/RPMS.task/pcsx2-i18n-1.6.0-alt5.noarch.rpm -> ../../../200/i586/rpms/pcsx2-i18n-1.6.0-alt5.noarch.rpm