aptly-dev / aptly

aptly - Debian repository management tool
https://www.aptly.info/
MIT License
2.56k stars 370 forks source link

Aptly cannot mirror Elastic logstashforwarder mirror #305

Closed jstangroome closed 1 month ago

jstangroome commented 8 years ago

Add Elastic's logstashforwarder repo to aptly and attempt update:

$ aptly mirror create logstashforwarder http://packages.elastic.co/logstashforwarder/debian stable main
$ aptly mirror update logstashforwarder
Downloading http://packages.elastic.co/logstashforwarder/debian/dists/stable/InRelease...
Downloading http://packages.elastic.co/logstashforwarder/debian/dists/stable/Release...
Downloading http://packages.elastic.co/logstashforwarder/debian/dists/stable/Release.gpg...
gpgv: Signature made Thu 05 Mar 2015 08:04:12 PM UTC using RSA key ID D88E42B4
gpgv: Good signature from "Elasticsearch (Elasticsearch Signing Key) <dev_ops@elasticsearch.org>"
Downloading & parsing package files...
Downloading http://packages.elastic.co/logstashforwarder/debian/dists/stable/main/binary-noarch/Packages.bz2...
Downloading http://packages.elastic.co/logstashforwarder/debian/dists/stable/main/binary-noarch/Packages.gz...
Downloading http://packages.elastic.co/logstashforwarder/debian/dists/stable/main/binary-noarch/Packages...
ERROR: unable to update: HTTP code 404 while fetching http://packages.elastic.co/logstashforwarder/debian/dists/stable/main/binary-noarch/Packages

This appears to be because the architectures in Elastic's Release file don't match the actual package architectures:

$ curl http://packages.elastic.co/logstashforwarder/debian/dists/stable/Release
Architectures: noarch
...
SHA1:
 da39a3ee5e6b4b0d3255bfef95601890afd80709                0 Release
 5f6fcbd97954082f65caf5fd11802a558e8c7dc8              690 main/binary-all/Packages
 be5ae50d21ecd76e0779bb934a601897b434520c              476 main/binary-all/Packages.gz
 5f6fcbd97954082f65caf5fd11802a558e8c7dc8              690 main/binary-amd64/Packages
 be5ae50d21ecd76e0779bb934a601897b434520c              476 main/binary-amd64/Packages.gz
 5f6fcbd97954082f65caf5fd11802a558e8c7dc8              690 main/binary-i386/Packages
 be5ae50d21ecd76e0779bb934a601897b434520c              476 main/binary-i386/Packages.gz
...

Would be good to be able force Aptly to override the Architectures: line in the Release file.

I will raise a similar issue with Elastic about this mismatch in their repository.

jstangroome commented 8 years ago

Issue for logstash-forwarded: https://github.com/elastic/logstash-forwarder/issues/531

smira commented 8 years ago

@jstangroome you can override list of architectures using -architectures flag. You can do that during aptly mirror create, or later using edit:

aptly mirror edit -architectures=i386,amd64 logstashforwarder
aptly mirror update logstashforwarder
jstangroome commented 8 years ago

@smira this does not work in aptly 0.9.5.

$ aptly mirror create -architectures=amd64 logstashforwarder http://packages.elastic.co/logstashforwarder/debian stable main
Downloading http://packages.elastic.co/logstashforwarder/debian/dists/stable/InRelease...
Downloading http://packages.elastic.co/logstashforwarder/debian/dists/stable/Release...
Downloading http://packages.elastic.co/logstashforwarder/debian/dists/stable/Release.gpg...
gpgv: Signature made Thu 05 Mar 2015 08:04:12 PM UTC using RSA key ID D88E42B4
gpgv: Good signature from "Elasticsearch (Elasticsearch Signing Key) <dev_ops@elasticsearch.org>"
ERROR: unable to fetch mirror: architecture amd64 not available in repo [logstashforwarder]: http://packages.elastic.co/logstashforwarder/debian/ stable

and also

$ aptly mirror create logstashforwarder http://packages.elastic.co/logstashforwarder/debian stable main
$ aptly mirror edit -architectures=amd64 logstashforwarder
Downloading http://packages.elastic.co/logstashforwarder/debian/dists/stable/Release...
ERROR: unable to edit: architecture amd64 not available in repo [logstashforwarder]: http://packages.elastic.co/logstashforwarder/debian/ stable
smira commented 8 years ago

oh... I've added -force-components some time ago to deal with wrong component list. Looks like we need -force-architectures as well to workaround broken repos...