Bug 40137

Summary: triple forward slashes are incorrectly treated
Product: Sisyphus Reporter: Pavel Nakonechnyi <zorg1331>
Component: apt-repoAssignee: Andrey Cherepanov <cas>
Status: ASSIGNED --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: andy, cas
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description Pavel Nakonechnyi 2021-06-01 20:55:02 MSK
Нельзя добавить локальный репозиторий используя apt-repo. Так как из трех слешей один стирается, а два для "файлового" пути некорректны.

См. следующее:

 # apt-repo rm all
 # apt-repo add 'rpm [alt] file:///mnt/data Sisyphus/x86_64 classic'
 # apt-repo add 'rpm [alt] copy:///mnt/data Sisyphus/x86_64 classic'
 # apt-repo add 'rpm [alt] http:///mnt/data Sisyphus/x86_64 classic'
 # apt-repo add 'rpm [alt] ftp:///mnt/data Sisyphus/x86_64 classic'
 # apt-repo add 'rpm [alt] rsync:///mnt/data Sisyphus/x86_64 classic'
 # apt-repo add 'rpm [alt] cdrom:///mnt/data Sisyphus/x86_64 classic'
 # apt-repo
 rpm [alt] file:// mnt/data/Sisyphus/x86_64 classic
 rpm [alt] copy:// mnt/data/Sisyphus/x86_64 classic
 rpm [alt] http:// mnt/data/Sisyphus/x86_64 classic
 rpm [alt] ftp:// mnt/data/Sisyphus/x86_64 classic
 rpm [alt] rsync:// mnt/data/Sisyphus/x86_64 classic
 rpm [alt] cdrom:// mnt/data/Sisyphus/x86_64 classic
 
 # apt-repo rm all
 # apt-repo add 'rpm [alt] file://mnt/data Sisyphus/x86_64 classic'
 # apt-get update
 Ошибка file://mnt Sisyphus/x86_64 release
   Invalid URI, local URIS must not start with //
 W: Release files for some repositories could not be retrieved or authenticated.  Such repositories are being ignored.
 E: Failed to fetch file://mnt/data/Sisyphus/x86_64/base/release  Invalid URI,  local URIS must not start with //
 E: Some index files failed to download. They have been ignored, or old ones used instead.
Comment 1 Andrew Vasilyev 2021-06-01 23:58:24 MSK
  Попробуйте

  apt-repo add 'rpm [alt] copy:/mnt/data Sisyphus/x86_64 classic'

  (т.е. в sources.list должно получиться

  rpm [alt] copy:/mnt/data Sisyphus/x86_64 classic

  ). С file: аналогично.
Comment 2 Pavel Nakonechnyi 2021-06-02 00:06:15 MSK
(Ответ для Andrew Vasilyev на комментарий #1)
>   Попробуйте
> 
>   apt-repo add 'rpm [alt] copy:/mnt/data Sisyphus/x86_64 classic'
> 
>   (т.е. в sources.list должно получиться
> 
>   rpm [alt] copy:/mnt/data Sisyphus/x86_64 classic
> 
>   ). С file: аналогично.

Нет, не получается как вы предполагаете. Парсинг таким же образом хромает:

 # apt-repo add 'rpm [alt] copy:/mnt/data Sisyphus/x86_64 classic'
 # apt-repo
 rpm [alt] copy: mnt/data/Sisyphus/x86_64 classic
Comment 3 Andrew Vasilyev 2021-06-02 00:16:36 MSK
  Сделал:

# apt-repo add 'rpm [alt] copy:/ALT Sisyphus/x86_64 classic'
# apt-repo add 'rpm [alt] file:/ALT Sisyphus/x86_64 classic'
# apt-repo
rpm [alt] file:/ALT Sisyphus/x86_64 classic
rpm [alt] copy:/ALT Sisyphus/x86_64 classic

apt-repo-1.3.15-alt1.noarch

  Т.е. с одним / путь добавляется, проблема с бОльшим числом слэшей :(