colcon / colcon-bundle

A colcon extension to create portable application bundles
Apache License 2.0
38 stars 24 forks source link

Use ubuntu mirrors package for debian sources.list #175

Closed piraka9011 closed 4 years ago

piraka9011 commented 4 years ago

Use the mirror protocol so apt selects the best mirror to use for downloading packages. The default sources.list file used by colcon-bundle hardcoded the repo to the US mirror. apt will now select the best mirror based on network and location.

Using the US repo on an instance in Tokyo, colcon bundle took 14m 59.416s. Using the mirror protocol, bundling now takes 3m 47.402s

The mirror protocol does not work for Ubuntu Xenial (16.04) so we use the default archive repo instead of the explicit one from the US (which redirects to it's own mirror accordingly).

Signed-off-by: Anas Abou Allaban allabana@amazon.com

piraka9011 commented 4 years ago

Using the mirrors results in the following error:

Step 22/23 : RUN source /opt/ros/kinetic/setup.sh; colcon bundle --bundle-version 1 --bundle-base v1 --pip-requirements py27_requirements.txt --pip3-requirements py3_requirements.txt
[10.717s] ERROR:colcon.colcon_bundle.verb:Could not fetch from repositories: 
W:The repository 'mirror://mirrors.ubuntu.com/mirrors.txt xenial Release' does not have a Release file., 
W:Data from such a repository can't be authenticated and is therefore potentially dangerous to use., 
W:See apt-secure(8) manpage for repository creation and user configuration details., 
W:The repository 'mirror://mirrors.ubuntu.com/mirrors.txt xenial-updates Release' does not have a Release file., 
W:Data from such a repository can't be authenticated and is therefore potentially dangerous to use., 
W:See apt-secure(8) manpage for repository creation and user configuration details., 
W:The repository 'mirror://mirrors.ubuntu.com/mirrors.txt xenial-backports Release' does not have a Release file., 
W:Data from such a repository can't be authenticated and is therefore potentially dangerous to use., 
W:See apt-secure(8) manpage for repository creation and user configuration details., 
W:The repository 'mirror://mirrors.ubuntu.com/mirrors.txt xenial-security Release' does not have a Release file., 
W:Data from such a repository can't be authenticated and is therefore potentially dangerous to use., 
W:See apt-secure(8) manpage for repository creation and user configuration details., 
W:GPG error: http://packages.osrfoundation.org/gazebo/ubuntu-stable xenial InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 67170598AF249743, 
W:The repository 'http://packages.osrfoundation.org/gazebo/ubuntu-stable xenial InRelease' is not signed., 
W:Data from such a repository can't be authenticated and is therefore potentially dangerous to use., 
W:See apt-secure(8) manpage for repository creation and user configuration details., 
E:Failed to fetch mirror://mirrors.ubuntu.com/mirrors.txt/dists/xenial/main/binary-amd64/Packages  No mirror file '/opt/package/integration/test_workspace/v1/cache/installer_cache/apt/var/lib/apt/mirrors/mirrors.ubuntu.com_mirrors.txt' found  [Mirror: ], 
E:Failed to fetch mirror://mirrors.ubuntu.com/mirrors.txt/dists/xenial-updates/main/binary-amd64/Packages  No mirror file '/opt/package/integration/test_workspace/v1/cache/installer_cache/apt/var/lib/apt/mirrors/mirrors.ubuntu.com_mirrors.txt' found  [Mirror: ], 
E:Failed to fetch mirror://mirrors.ubuntu.com/mirrors.txt/dists/xenial-backports/main/binary-amd64/Packages  No mirror file '/opt/package/integration/test_workspace/v1/cache/installer_cache/apt/var/lib/apt/mirrors/mirrors.ubuntu.com_mirrors.txt' found  [Mirror: ], 
E:Failed to fetch mirror://mirrors.ubuntu.com/mirrors.txt/dists/xenial-security/main/binary-amd64/Packages  No mirror file '/opt/package/integration/test_workspace/v1/cache/installer_cache/apt/var/lib/apt/mirrors/mirrors.ubuntu.com_mirrors.txt' found  [Mirror: ], 
E:Some index files failed to download. They have been ignored, or old ones used instead.
[10.718s] ERROR:colcon:colcon bundle: Failed to fetch from repositories. Did you set your keys correctly?

I can't reproduce locally on Ubuntu 18.04.

I was able to reproduce this in an ubuntu:xenial Docker image. It looks like Xenial does not support the mirror protocol for apt.