Bug 43874 - Некорректная работа команды apt-repo при добавлении адреса репозитория.
Summary: Некорректная работа команды apt-repo при добавлении адреса репозитория.
Status: REOPENED
Alias: None
Product: Branch p10
Classification: Unclassified
Component: apt-repo (show other bugs)
Version: не указана
Hardware: x86_64 Linux
: P5 normal
Assignee: qa-team@altlinux.org
QA Contact: qa-p10@altlinux.org
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-09-26 19:21 MSK by Savelev Pavel
Modified: 2022-09-27 09:48 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Savelev Pavel 2022-09-26 19:21:34 MSK
Версия пакета: apt-repo-1.4.0-alt1.noarch

Воспроизведение ошибки было проверено на alt-workstation-10-x86-64 и alt-server-10-x86-64

Шаги для воспроизведения:

1. Выполнить команду

# apt-repo add rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/x86_64 gostcrypto

2. Обновить базу данный пакетов в репозиториях:

# apt-get update

Появляется ошибка:

# apt-get update 
Получено: 1 http://ftp.altlinux.org distributions/ALTLinux/p10/branch/x86_64 release [4223B]
Получено: 2 http://ftp.altlinux.org p10/branch/x86_64 release [4223B]
Получено: 3 http://ftp.altlinux.org p10/branch/x86_64-i586 release [1665B]
Получено: 4 http://ftp.altlinux.org p10/branch/noarch release [2844B]
Ошибка http://ftp.altlinux.org p10/branch/x86_64 release
  could not open gpg signed file /var/lib/apt/lists/partial/ftp.altlinux.org_pub_distributions_ALTLinux_p10_branch_x86%5f64_base_release - open (2 No such file or directory)
Получено 8733B за 0s (44,5kB/s).
W: Release files for some repositories could not be retrieved or authenticated. Such repositories are being ignored.
E: Failed to fetch http://ftp.altlinux.org/pub/distributions/ALTLinux/p10/branch/x86_64/base/release  could not open gpg signed file /var/lib/apt/lists/partial/ftp.altlinux.org_pub_distributions_ALTLinux_p10_branch_x86%5f64_base_release - open (2 No such file or directory)
E: Some index files failed to download. They have been ignored, or old ones used instead.
E: Tried to dequeue a fetching object
E: Tried to dequeue a fetching object
E: Tried to dequeue a fetching object
E: Tried to dequeue a fetching object
....

При выполнении команды apt-repo add *** в файл /etc/apt/sources.list добавляется строка с ошибками синтаксиса:

rpm [p10] http://ftp.altlinux.org/pub distributions/ALTLinux/p10/branch/x86_64 gostcrypto

должно быть

rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/x86_64 gostcrypto

Однако, если добавить тот же репозиторий, но с Яндекса, то всё работает корректно.

# apt-repo add rpm [p10] http://mirror.yandex.ru/altlinux/ p10/branch/x86_64 gostcrypto

# apt-repo
rpm [p10] http://mirror.yandex.ru/altlinux/ p10/branch/x86_64 gostcrypto
Comment 1 Andrey Cherepanov 2022-09-27 07:28:26 MSK
Добавлять нужно одним параметром, заключенным в кавычки.
Comment 2 Антон Мидюков 2022-09-27 08:11:01 MSK
(Ответ для Andrey Cherepanov на комментарий #1)
> Добавлять нужно одним параметром, заключенным в кавычки.

Необходимость кавычек зависит от эмулятора терминала. В mate-terminal и так работает (проверил и удивился). Проблема описана другая.
Это похоже на проблему apt. Если присутствует две записи с указанием на разные компоненты, то такая ошибка и происходит.
В данном случае:
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/x86_64 gostcrypto
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/x86_64 classic

Правильно указывать компоненты одного репозитория в одной записи:
rpm [p10] http://ftp.altlinux.org/pub/distributions/ALTLinux/ p10/branch/x86_64 classic gostcrypto

Но интересно, что после таких манипуляций репозитории насовсем ломаются, пока не удалишь /var/lib/apt/lists/partial/*. Там эти файлы пустые почему-то. Собственно, проблема в этом и состоит, что пустые файлы ломают подключение источника насовсем. Предлагаю на apt в Сизифе всё же багу повесить. Пользователи могут такое сотворить запросто.
Comment 3 Anton Farygin 2022-09-27 09:48:56 MSK
на исправление apt надежды нет, было бы неплохо добавить проверку прямо в apt-repo