colcon / colcon-clean

A colcon extension to clean package workspaces
http://colcon.readthedocs.io
Apache License 2.0
46 stars 4 forks source link

Edit readme with install instructions #36

Open tianyi-embo opened 1 year ago

tianyi-embo commented 1 year ago

Hello devs,

This is an awesome extension to the base colcon functionality. I understand there are two ways to install, with apt as apt install python3-colcon-clean and with pip install colcon-clean.

The apt method unfortunately does not work on Ubuntu 20.04, but fortunately the pip version works.

I was wondering if this could be reflected in the readme of this repo, as this information was not super-obvious. Thanks!

ruffsl commented 1 year ago

The apt method unfortunately does not work on Ubuntu 20.04

Could you detail more on this? Is it a runtime or an instillation issue in particular? Any logs or stdout/stderr to share? Fixing the root of this may be more useful than redirecting users to any one alternative instillation method.

tianyi-embo commented 1 year ago

I was unable to find it in apt. Perhaps there are some repositories I need to add first?

This is my command output. I was able to find colcon-core, though.

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.6 LTS
Release:        20.04
Codename:       focal
$ # sudo apt update
$ apt-cache show python3-colcon-clean
N: Unable to locate package python3-colcon-clean
E: No packages found
$ apt-cache show python3-colcon-core
Package: python3-colcon-core
Priority: optional
Section: python
Installed-Size: 425
Maintainer: Dirk Thomas <web@dirk-thomas.net>
# ... more output
ruffsl commented 1 year ago

Perhaps there are some repositories I need to add first?

I think you'd need to install the apt repo for ros first. Looks to be working in docker:

$ docker pull ros:humble
humble: Pulling from library/ros
Digest: sha256:e2e2715f164419cc3c1c2b90991ada2444eed7b3eee05ba0c30a481e31da947a
Status: Image is up to date for ros:humble
docker.io/library/ros:humble

$ docker run -it --rm ros:humble

root@e46e41ba222c:/# apt update
...
Get:11 http://packages.ros.org/ros2/ubuntu jammy InRelease [4682 B]                                            
Get:12 http://packages.ros.org/ros2/ubuntu jammy/main amd64 Packages [1314 kB]
...
Fetched 27.8 MB in 3s (9178 kB/s)                                                           
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
57 packages can be upgraded. Run 'apt list --upgradable' to see them.
W: http://packages.ros.org/ros2/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.

root@e46e41ba222c:/# apt install python3-colcon-clean
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
  python3-pathspec python3-scantree
The following NEW packages will be installed:
  python3-colcon-clean python3-pathspec python3-scantree
0 upgraded, 3 newly installed, 0 to remove and 57 not upgraded.
Need to get 51.5 kB of archives.
After this operation, 258 kB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:1 http://archive.ubuntu.com/ubuntu jammy/universe amd64 python3-pathspec all 0.9.0-1 [28.8 kB]
Get:2 http://archive.ubuntu.com/ubuntu jammy/universe amd64 python3-scantree all 0.0.1-2 [12.7 kB]
Get:3 http://packages.ros.org/ros2/ubuntu jammy/main amd64 python3-colcon-clean all 0.2.0-1 [9898 B]
Fetched 51.5 kB in 1s (79.6 kB/s)              
debconf: delaying package configuration, since apt-utils is not installed
Selecting previously unselected package python3-pathspec.
(Reading database ... 37622 files and directories currently installed.)
Preparing to unpack .../python3-pathspec_0.9.0-1_all.deb ...
Unpacking python3-pathspec (0.9.0-1) ...
Selecting previously unselected package python3-scantree.
Preparing to unpack .../python3-scantree_0.0.1-2_all.deb ...
Unpacking python3-scantree (0.0.1-2) ...
Selecting previously unselected package python3-colcon-clean.
Preparing to unpack .../python3-colcon-clean_0.2.0-1_all.deb ...
Unpacking python3-colcon-clean (0.2.0-1) ...
Setting up python3-pathspec (0.9.0-1) ...
Setting up python3-scantree (0.0.1-2) ...
Setting up python3-colcon-clean (0.2.0-1) ...

@cottsay , has colcon-core been up-streamed to Ubuntu now?
I'm guessing not all extensions have? @tianyi-embo , I'm not seeing anything here:

``` $ docker run -it --rm ubuntu:20.04 Unable to find image 'ubuntu:20.04' locally 20.04: Pulling from library/ubuntu edaedc954fb5: Pull complete Digest: sha256:33a5cc25d22c45900796a1aca487ad7a7cb09f09ea00b779e3b2026b4fc2faba Status: Downloaded newer image for ubuntu:20.04 root@d4940dc1c93c:/# apt update Get:1 http://archive.ubuntu.com/ubuntu focal InRelease [265 kB] Get:2 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB] Get:3 http://archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB] Get:4 http://archive.ubuntu.com/ubuntu focal-backports InRelease [108 kB] Get:5 http://archive.ubuntu.com/ubuntu focal/restricted amd64 Packages [33.4 kB] Get:6 http://archive.ubuntu.com/ubuntu focal/universe amd64 Packages [11.3 MB] Get:7 http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages [2942 kB] Get:8 http://archive.ubuntu.com/ubuntu focal/multiverse amd64 Packages [177 kB] Get:9 http://archive.ubuntu.com/ubuntu focal/main amd64 Packages [1275 kB] Get:10 http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [3430 kB] Get:11 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [1393 kB] Get:12 http://archive.ubuntu.com/ubuntu focal-updates/multiverse amd64 Packages [32.0 kB] Get:13 http://archive.ubuntu.com/ubuntu focal-updates/restricted amd64 Packages [2795 kB] Get:14 http://archive.ubuntu.com/ubuntu focal-backports/universe amd64 Packages [28.6 kB] Get:15 http://archive.ubuntu.com/ubuntu focal-backports/main amd64 Packages [55.2 kB] Get:16 http://security.ubuntu.com/ubuntu focal-security/restricted amd64 Packages [2648 kB] Get:17 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages [1089 kB] Get:18 http://security.ubuntu.com/ubuntu focal-security/multiverse amd64 Packages [29.3 kB] Fetched 27.9 MB in 2s (15.7 MB/s) Reading package lists... Done Building dependency tree Reading state information... Done All packages are up to date. root@d4940dc1c93c:/# apt install python3-colcon-core Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package python3-colcon-core root@d4940dc1c93c:/# apt install python3-colcon Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package python3-colcon root@d4940dc1c93c:/# apt search colcon Sorting... Done Full Text Search... Done ```
tianyi-embo commented 1 year ago

Yes, I think on Ubuntu 20.04, colcon-clean is not available in apt, while it is available in 22.04.

That's not a major issue since Humble is on 22.04 and other ROS 2 distros are EOL, and colcon is by-and-large a ROS 2 build tool.

I was wondering, because the project I am working on uses colcon on ROS 1, and therefore I am working in 20.04. Still, I was happy to see that there was a work-around for me to install it via pip.

cottsay commented 1 year ago

cottsay , has colcon-core been up-streamed to Ubuntu now?

Looks like kinetic and newer has at least some colcon packages: https://packages.ubuntu.com/search?keywords=colcon&searchon=names&suite=all&section=all

There are instructions for how to install debs without ROS repositories: https://colcon.readthedocs.io/en/released/user/installation.html#outside-the-ros-project

jkaob commented 6 months ago

I also came in here to see if somebody pointed that out. Dont think i ever saw a readme without any installation instructions, even if its a single installation command btw: package called python3-colcon-clean