Bug 31577 - 1.2.0-alt1 добавляет несуществующий репозитарий "x86_64-i586 task"
Summary: 1.2.0-alt1 добавляет несуществующий репозитарий "x86_64-i586 task"
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: apt-repo (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Andrey Cherepanov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks: 29690
  Show dependency tree
 
Reported: 2015-12-01 18:27 MSK by Ivan Zakharyaschev
Modified: 2016-05-09 20:46 MSK (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan Zakharyaschev 2015-12-01 18:27:32 MSK
У меня такая же проблема с добавлением несуществующего x86_64-i586 для task-репозиториев для Sisyphus, например, http://git.altlinux.org/tasks/153832 .

Это вплоть до apt-repo-1.2.3-alt1.

В отличие от работы с системным APT, это сильно мешает при использовании hasher при запуске:

apt-repo --hsh-apt-config=/home/imz/.hasher/apt.conf test 153832

В apt-repo-1.2.2-alt1, чтобы это обойти, добавил возможность запустить с NO_TASK_AREPO_HACK=yes.

В apt-repo-1.2.3-alt1 добавил подсказку на эту тему. И облом, если на этапе update произошли проблемы.

+++ This bug was initially created as a clone of Bug #29690 +++

# apt-repo add 111476
# apt-repo
rpm http://git.altlinux.org/repo/111476/ x86_64 task
rpm http://git.altlinux.org/repo/111476/ x86_64-i586 task
<...>

Хотя, возможно, что правильнее сделать так, чтобы репозитарий x86_64-i586 и для t6/p6 создавался (задание 111476 для t6 правда).

И, наверное, паровозом, для p5/5.1 это же проверить...
Comment 1 Repository Robot 2016-04-26 19:44:22 MSK
apt-repo-1.3.0-alt1 -> sisyphus:

* Mon Apr 25 2016 Andrey Cherepanov <cas@altlinux> 1.3.0-alt1
- Add p8 branch (ALT #32006)
- Add support for altlinuxclub sources
- Add arepo repo for task only if it exists (ALT #31577)
- Use new format of source (ALT #31974)
- Optional package name(s) support in apt-repo test
- Remove duplicate package names in task list
- Do not use strict extension for compessed man page
Comment 2 Ivan Zakharyaschev 2016-05-09 18:30:11 MSK
Попробовал, но эта проверка не даёт желаемого результата -- там пустой файл:

[root@ovicaa ~]# rpm -q apt-repo
apt-repo-1.3.3-alt1
[root@ovicaa ~]# apt-repo
rpm [updates] http://ftp.altlinux.org/pub/distributions/ALTLinux t7/branch/x86_64 classic
rpm [updates] http://ftp.altlinux.org/pub/distributions/ALTLinux t7/branch/noarch classic
rpm [updates] http://ftp.altlinux.org/pub/distributions/ALTLinux t7/branch/x86_64-i586 classic
[root@ovicaa ~]# apt-repo add 164430
[root@ovicaa ~]# apt-repo
rpm [updates] http://ftp.altlinux.org/pub/distributions/ALTLinux t7/branch/x86_64 classic
rpm [updates] http://ftp.altlinux.org/pub/distributions/ALTLinux t7/branch/noarch classic
rpm [updates] http://ftp.altlinux.org/pub/distributions/ALTLinux t7/branch/x86_64-i586 classic
rpm http://git.altlinux.org repo/164430/x86_64 task
rpm http://git.altlinux.org repo/164430/x86_64-i586 task
[root@ovicaa ~]# curl -s -o /dev/null -w '%{http_code}' http://git.altlinux.org/tasks/164430/plan/arepo-add-x86_64-i586
200[root@ovicaa ~curl http://git.altlinux.org/tasks/164430/plan/arepo-add-x86_64-i586; echo $?
0
[root@ovicaa ~]# apt-get update
Get:1 http://ftp.altlinux.org t7/branch/x86_64 release [896B]
Get:2 http://ftp.altlinux.org t7/branch/noarch release [757B]
Get:3 http://ftp.altlinux.org t7/branch/x86_64-i586 release [555B]
Get:4 http://git.altlinux.org repo/164430/x86_64 release [556B]
Ign http://git.altlinux.org repo/164430/x86_64-i586 release
Fetched 2764B in 0s (16,2kB/s)
Hit http://git.altlinux.org repo/164430/x86_64/task pkglist
Hit http://ftp.altlinux.org t7/branch/x86_64/classic pkglist
Hit http://git.altlinux.org repo/164430/x86_64/task release
Err http://git.altlinux.org repo/164430/x86_64-i586/task pkglist
  404 Not Found
Ign http://git.altlinux.org repo/164430/x86_64-i586/task release
Hit http://ftp.altlinux.org t7/branch/x86_64/classic release
Hit http://ftp.altlinux.org t7/branch/noarch/classic pkglist
Hit http://ftp.altlinux.org t7/branch/noarch/classic release
Hit http://ftp.altlinux.org t7/branch/x86_64-i586/classic pkglist
Hit http://ftp.altlinux.org t7/branch/x86_64-i586/classic release
Failed to fetch http://git.altlinux.org/repo/164430/x86_64-i586/base/pkglist.task  404 Not Found
Reading Package Lists... Done
Building Dependency Tree... Done
E: Some index files failed to download, they have been ignored, or old ones used instead.
[root@ovicaa ~]# 

А apt скачать не может, ошибка.

Действительно, пустой файл:

[imz@ovicaa ~]$ ssh vegro.alt
Last login: Mon May  9 17:01:12 2016 from 93.191.18.90
[imz@people ~]$ cd /tasks/164430/plan/
[imz@people plan]$ ls
add-bin  add-src  add-src+bin  add-srpm2arch  arepo-add-x86_64-i586  arepo-rm-x86_64-i586  bin.list.diff  change-arch  check_acl  del-src-N-I  next.bin  next.src  oldsrc2newsrpm  rip-src  rm-bin  rm-src  rm-src+bin  rm-srpm2arch  src.list.diff
[imz@people plan]$ cat arepo-*
[imz@people plan]$
Comment 3 Ivan Zakharyaschev 2016-05-09 19:01:40 MSK
Попробовал предложить исправление -- http://git.altlinux.org/people/imz/packages/?p=apt-repo.git . (Заодно свои старые хаки убрал для этого случая.)

Идея в том, чтобы проверить, пустой ли вывод curl.

Не проверял на task-ах, у которых arepo всё-таки есть.

Если попадётся такой task, на котором проверю, думаю, потом уже сразу собрать.
Comment 4 Ivan Zakharyaschev 2016-05-09 19:08:45 MSK
Вроде работает:

[root@ovicaa ~]# ~imz/TOOLS/ALT-pkgs_misc/apt-repo/apt-repo
rpm [updates] http://ftp.altlinux.org/pub/distributions/ALTLinux t7/branch/x86_64 classic
rpm [updates] http://ftp.altlinux.org/pub/distributions/ALTLinux t7/branch/noarch classic
rpm [updates] http://ftp.altlinux.org/pub/distributions/ALTLinux t7/branch/x86_64-i586 classic
[root@ovicaa ~]# ~imz/TOOLS/ALT-pkgs_misc/apt-repo/apt-repo add 164428
[root@ovicaa ~]# ~imz/TOOLS/ALT-pkgs_misc/apt-repo/apt-repo
rpm [updates] http://ftp.altlinux.org/pub/distributions/ALTLinux t7/branch/x86_64 classic
rpm [updates] http://ftp.altlinux.org/pub/distributions/ALTLinux t7/branch/noarch classic
rpm [updates] http://ftp.altlinux.org/pub/distributions/ALTLinux t7/branch/x86_64-i586 classic
rpm http://git.altlinux.org repo/164428/x86_64 task
rpm http://git.altlinux.org repo/164428/x86_64-i586 task
[root@ovicaa ~]# apt-get update
Get:1 http://git.altlinux.org repo/164428/x86_64 release [553B]
Get:2 http://ftp.altlinux.org t7/branch/x86_64 release [896B]
Get:3 http://git.altlinux.org repo/164428/x86_64-i586 release [545B]
Get:4 http://ftp.altlinux.org t7/branch/noarch release [757B]
Get:5 http://ftp.altlinux.org t7/branch/x86_64-i586 release [555B]
Fetched 3306B in 0s (11,4kB/s)
Get:1 http://git.altlinux.org repo/164428/x86_64/task pkglist [77,4kB]
Hit http://ftp.altlinux.org t7/branch/x86_64/classic pkglist    
Get:2 http://git.altlinux.org repo/164428/x86_64/task release [132B]
Get:3 http://git.altlinux.org repo/164428/x86_64-i586/task pkglist [10,7kB]
Hit http://ftp.altlinux.org t7/branch/x86_64/classic release
Hit http://ftp.altlinux.org t7/branch/noarch/classic pkglist
Hit http://ftp.altlinux.org t7/branch/noarch/classic release
Hit http://ftp.altlinux.org t7/branch/x86_64-i586/classic pkglist
Hit http://ftp.altlinux.org t7/branch/x86_64-i586/classic release
Get:4 http://git.altlinux.org repo/164428/x86_64-i586/task release [137B]
Fetched 88,4kB in 0s (301kB/s)
Reading Package Lists... Done
Building Dependency Tree... Done
[root@ovicaa ~]#
Comment 5 Repository Robot 2016-05-09 19:26:42 MSK
apt-repo-1.3.4-alt1 -> sisyphus:

* Mon May 09 2016 Ivan Zakharyaschev <imz@altlinux> 1.3.4-alt1
- task_has_arepo(): check whether plan/arepo-add-x86_64-i586 is not
  empty (ALT #31577).
- get rid of NO_TASK_AREPO_HACK environment variable (now, as
  task_has_arepo should work correctly).
Comment 6 Ivan Zakharyaschev 2016-05-09 20:02:09 MSK
О, не работает для некоторых task-ов:

$ curl -s -w '%{http_code}' http://git.altlinux.org/tasks/164432/plan/arepo-add-x86_64-i586
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<HTML><HEAD>
<TITLE>404 Not Found</TITLE>
</HEAD><BODY>
<H1>Not Found</H1>
The requested URL /tasks/164432/plan/arepo-add-x86_64-i586 was not found on this server.<P>
</BODY></HTML>
404

Понятно: noarch task-и там дают 404, а arch task-и без arepo дают там пустой файл. Надо было оба случая учесть. А я сменил правильную обработку первого случая на правильную обработку второго.
Comment 7 Repository Robot 2016-05-09 20:46:36 MSK
apt-repo-1.3.5-alt1 -> sisyphus:

* Mon May 09 2016 Ivan Zakharyaschev <imz@altlinux> 1.3.5-alt1
- handle both cases without arepo: none (noarch) or empty (ALT #31577).
- "apt-repo test [task] '' pkg1 ..." will install the packages without
  modifying APT repos. (With --hsh-apt-config, this feature is useful
  to do an install check for a package in a minimal system.)