cybozu-go / aptutil

Go utilities for Debian APT repositories
MIT License
124 stars 29 forks source link

error: "update failed" ... found no Release/InRelease #25

Closed takumin closed 6 years ago

takumin commented 6 years ago

About

The following settings will fail.

Version

go-apt-mirror v1.3.2 linux/amd64

Config

# Directory to store mirrored files and other control files.
# The directory must be writable by go-apt-mirror.
dir = "/home/takumin/test"

# Maximum concurrent connections for an upstream server.
# Setting this 0 disables limit on the number of connections.
# Default: 10
max_conns = 10

# log specifies logging configurations.
# Details at https://godoc.org/github.com/cybozu-go/cmd#LogConfig
[log]
level = "info"
format = "plain"

# [mirror.xxx] defines a mirror configuration for a debian repository.
# "xxx" must match this regexp: ^[a-z0-9_-]+$
#
# url:           The repository base URL.
# suites:        List of suites to mirror.  see sources.list(5).
# sections:      List of sections to mirror.  see sources.list(5).
# mirror_source: true to mirror source archives.  Default is false.
# architectures: List of architectures to mirror.  "all" is always mirrored.
[mirror.jenkins]
url = "http://pkg.jenkins.io/debian-stable"
suites = ["binary/"]
[mirror.nvidia-cuda]
url = "http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64"
suites = ["/"]
[mirror.nvidia-digits]
url = "http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64"
suites = ["/"]

Result

2017-10-05T13:48:41.478084Z srv go-apt-mirror info: "update starts"
2017-10-05T13:48:41.478292Z srv go-apt-mirror info: "download Release/InRelease" repo="jenkins" suite="binary/"
2017-10-05T13:48:41.478396Z srv go-apt-mirror info: "download Release/InRelease" repo="nvidia-digits" suite="/"
2017-10-05T13:48:41.478509Z srv go-apt-mirror info: "download Release/InRelease" repo="nvidia-cuda" suite="/"
2017-10-05T13:48:41.945865Z srv go-apt-mirror info: "detected by-hash support" repo="nvidia-digits" suite="/"
2017-10-05T13:48:41.946167Z srv go-apt-mirror error: "update failed" error="nvidia-digits: found no Release/InRelease"
2017-10-05T13:48:41.946550Z srv go-apt-mirror error: "nvidia-digits: found no Release/InRelease"
morimoto-cybozu commented 6 years ago

Thank you for your report! This error is caused by suites = ["/"], which is erroneously interpreted as an absolute path. I have triaged this as a bug and will post a fix. You can employ workaround of using suites = ["./"], though this notation is not so common.

takumin commented 6 years ago

thank you for workaround! update succeeded! ;-) by the way, what is the next error?

[mirror.jenkins]
url = "http://pkg.jenkins.io/debian-stable"
suites = ["./binary/"]
2017-10-06T15:08:09.236697Z srv go-apt-mirror error: "update failed" error="jenkins: download: invalid checksum for binary/Packages"
2017-10-06T15:08:09.237460Z srv go-apt-mirror error: "jenkins: download: invalid checksum for binary/Packages"

do I need to register as a different issue?

ymmt2005 commented 6 years ago

Unfortunately, the repository has in fact bad Packages.

$ curl -s http://pkg.jenkins.io/debian-stable/binary/Release | grep -A 1 MD5Sum
MD5Sum:
 4d1cd24cc0ca69196037adf6a13b939e            59335 Packages

$ curl -s http://pkg.jenkins.io/debian-stable/binary/Packages | md5sum
f15e1afc1b448fc30d77b4d3a7773a84  -

I have seen another example of this at another location. Maybe the web server is misconfigured to return the contents of Packages.gz .

Please report the problem to people at jenkins.io.

takumin commented 6 years ago

oops! I'm sorry but I did not notice it... I will report this issue to jenkins.io. thanks a lot!

ymmt2005 commented 6 years ago

@takumin The bug is fixed at the master HEAD. Could you please try it out?

takumin commented 6 years ago

@ymmt2005 I confirmed that the problem was solved with the following setting.

@ymmt2005 @morimoto-cybozu Thank you for fixing!

Config

# Directory to store mirrored files and other control files.
# The directory must be writable by go-apt-mirror.
dir = "/home/takumi/go-apt-mirror"

# Maximum concurrent connections for an upstream server.
# Setting this 0 disables limit on the number of connections.
# Default: 10
max_conns = 10

# log specifies logging configurations.
# Details at https://godoc.org/github.com/cybozu-go/cmd#LogConfig
[log]
level = "info"
format = "plain"

# [mirror.xxx] defines a mirror configuration for a debian repository.
# "xxx" must match this regexp: ^[a-z0-9_-]+$
#
# url:           The repository base URL.
# suites:        List of suites to mirror.  see sources.list(5).
# sections:      List of sections to mirror.  see sources.list(5).
# mirror_source: true to mirror source archives.  Default is false.
# architectures: List of architectures to mirror.  "all" is always mirrored.
[mirror.nvidia-cuda]
url = "http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64"
suites = ["/"]
[mirror.nvidia-digits]
url = "http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1604/x86_64"

Result

2017-10-10T13:32:57.854049Z srv go-apt-mirror info: "download Release/InRelease" repo="nvidia-digits" suite="/"
2017-10-10T13:32:57.854124Z srv go-apt-mirror info: "download Release/InRelease" repo="nvidia-cuda" suite="/"
2017-10-10T13:32:58.364777Z srv go-apt-mirror info: "download other indices" indices=2 repo="nvidia-digits"
2017-10-10T13:32:58.378426Z srv go-apt-mirror info: "download other indices" indices=2 repo="nvidia-cuda"
2017-10-10T13:32:58.608488Z srv go-apt-mirror warning: "missing file" path="Packages" repo="nvidia-digits"
2017-10-10T13:32:58.608830Z srv go-apt-mirror info: "stats" downloaded=1 repo="nvidia-digits" reused=0 total=2
2017-10-10T13:32:58.613584Z srv go-apt-mirror info: "download items" items=35 repo="nvidia-digits"
2017-10-10T13:32:58.698757Z srv go-apt-mirror warning: "missing file" path="Packages" repo="nvidia-cuda"
2017-10-10T13:32:58.699739Z srv go-apt-mirror info: "stats" downloaded=1 repo="nvidia-cuda" reused=0 total=2
2017-10-10T13:32:58.717634Z srv go-apt-mirror info: "download items" items=328 repo="nvidia-cuda"