├── ros-noetic-desktop.sh
├── ros-melodic-desktop.sh
├── ros-melodic-ros-base.sh
├── ros-noetic-ros-base.sh
├── .github
├── dependabot.yml
└── workflows
│ ├── add-git-tag.yml
│ ├── test-scripts.yml
│ ├── test-scripts-eol.yml
│ └── test-url.yml
├── .chglog
├── config.yml
└── CHANGELOG.tpl.md
├── LICENSE
├── ros-kinetic-ros-base.sh
├── ros-kinetic-desktop.sh
├── ros-noetic-ros-base-main.sh
├── ros-noetic-desktop-main.sh
├── ros-noetic-desktop-testing.sh
├── ros-noetic-ros-base-testing.sh
├── ros-melodic-ros-base-main.sh
├── ros-melodic-desktop-main.sh
├── ros-melodic-desktop-testing.sh
├── ros-melodic-ros-base-testing.sh
├── README.md
└── CHANGELOG.md
/ros-noetic-desktop.sh:
--------------------------------------------------------------------------------
1 | ros-noetic-desktop-main.sh
--------------------------------------------------------------------------------
/ros-melodic-desktop.sh:
--------------------------------------------------------------------------------
1 | ros-melodic-desktop-main.sh
--------------------------------------------------------------------------------
/ros-melodic-ros-base.sh:
--------------------------------------------------------------------------------
1 | ros-melodic-ros-base-main.sh
--------------------------------------------------------------------------------
/ros-noetic-ros-base.sh:
--------------------------------------------------------------------------------
1 | ros-noetic-ros-base-main.sh
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 | updates:
3 | # Maintain dependencies for GitHub Actions
4 | - package-ecosystem: "github-actions"
5 | directory: "/"
6 | schedule:
7 | interval: "daily"
8 |
--------------------------------------------------------------------------------
/.chglog/config.yml:
--------------------------------------------------------------------------------
1 | style: github
2 | template: CHANGELOG.tpl.md
3 | info:
4 | title: CHANGELOG
5 | repository_url: https://github.com/Tiryoh/ros_setup_scripts_ubuntu
6 | options:
7 | commits:
8 | filters:
9 | Type:
10 | - feat
11 | - fix
12 | - docs
13 | # - style
14 | - refactor
15 | - perf
16 | # - test
17 | # - chore
18 | commit_groups:
19 | title_maps:
20 | feat: Features
21 | fix: Bug Fixes
22 | docs: Documentation Updates
23 | refactor: Code Refactoring
24 | perf: Performance Improvements
25 | header:
26 | pattern: "^(\\w*)\\:\\s(.*)$"
27 | pattern_maps:
28 | - Type
29 | - Subject
30 | notes:
31 | keywords:
32 | - BREAKING CHANGE
33 |
--------------------------------------------------------------------------------
/.github/workflows/add-git-tag.yml:
--------------------------------------------------------------------------------
1 | name: Add git tag
2 | on:
3 | pull_request:
4 | types: [closed]
5 | jobs:
6 | release-candidate:
7 | runs-on: ubuntu-latest
8 | steps:
9 | - name: checkout
10 | uses: actions/checkout@v4
11 | - name: Add tag
12 | if: startsWith(github.event.pull_request.title, 'release') && github.event.pull_request.merged == true
13 | env:
14 | PR_TITLE: ${{ github.event.pull_request.title }}
15 | run: |
16 | echo $PR_TITLE | grep -e "release.*" || exit 1
17 | git remote set-url origin https://${GITHUB_ACTOR}:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git
18 | git tag $(echo $PR_TITLE | sed -E 's/.* (v[0-9\-\.]*)/\1/g')
19 | git tag -l
20 | git push origin --tags
--------------------------------------------------------------------------------
/.github/workflows/test-scripts.yml:
--------------------------------------------------------------------------------
1 | name: Test Scripts
2 | on:
3 | push:
4 | branches:
5 | - master
6 | paths:
7 | - ".github/workflows/test-scripts.yml"
8 | - "ros-noetic-**.sh"
9 | pull_request:
10 | branches:
11 | - master
12 | paths:
13 | - ".github/workflows/test-scripts.yml"
14 | - "ros-noetic-**.sh"
15 | schedule:
16 | - cron: "5 1 * * 6" # Weekly on Saturdays at 01:05(GMT)
17 |
18 | jobs:
19 | noetic:
20 | runs-on: ubuntu-20.04
21 | strategy:
22 | matrix:
23 | package: [desktop, ros-base]
24 | ros-repo: [main, testing]
25 | env:
26 | ROS_DISTRO: noetic
27 | steps:
28 | - uses: actions/checkout@v4
29 | - name: Test
30 | run: |
31 | ./ros-${ROS_DISTRO}-${{ matrix.package }}-${{ matrix.ros-repo }}.sh
32 |
--------------------------------------------------------------------------------
/.chglog/CHANGELOG.tpl.md:
--------------------------------------------------------------------------------
1 | {{ range .Versions }}
2 |
3 | ## {{ if .Tag.Previous }}[{{ .Tag.Name }}]({{ $.Info.RepositoryURL }}/compare/{{ .Tag.Previous.Name }}...{{ .Tag.Name }}){{ else }}{{ .Tag.Name }}{{ end }} ({{ datetime "2006-01-02" .Tag.Date }})
4 |
5 | {{ range .CommitGroups -}}
6 | ### {{ .Title }}
7 |
8 | {{ range .Commits -}}
9 | * {{ .Subject }}
10 | {{ end }}
11 | {{ end -}}
12 |
13 | {{- if .RevertCommits -}}
14 | ### Reverts
15 |
16 | {{ range .RevertCommits -}}
17 | * {{ .Revert.Header }}
18 | {{ end }}
19 | {{ end -}}
20 |
21 | {{- if .MergeCommits -}}
22 | ### Pull Requests
23 |
24 | {{ range .MergeCommits -}}
25 | * {{ .Header }}
26 | {{ end }}
27 | {{ end -}}
28 |
29 | {{- if .NoteGroups -}}
30 | {{ range .NoteGroups -}}
31 | ### {{ .Title }}
32 |
33 | {{ range .Notes }}
34 | {{ .Body }}
35 | {{ end }}
36 | {{ end -}}
37 | {{ end -}}
38 | {{ end -}}
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Daisuke Sato
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/ros-kinetic-ros-base.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -eu
3 |
4 | [[ "$(lsb_release -sc)" == "xenial" ]] || exit 1
5 | ROS_DISTRO=kinetic
6 |
7 | sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
8 |
9 | sudo apt install -y curl
10 | curl -k https://raw.githubusercontent.com/ros/rosdistro/master/ros.key | sudo apt-key add -
11 | sudo apt update || echo ""
12 |
13 | sudo apt install -y ros-${ROS_DISTRO}-ros-base
14 | python --version 2>&1 | grep -q "2.7" || exit 1
15 |
16 | ls /etc/ros/rosdep/sources.list.d/20-default.list > /dev/null 2>&1 && sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
17 | sudo rosdep init
18 | rosdep update
19 |
20 | sudo apt install -y python-rosinstall python-rosinstall-generator python-wstool build-essential python-catkin-tools python3-vcstool
21 |
22 | grep -F "source /opt/ros/${ROS_DISTRO}/setup.bash" ~/.bashrc ||
23 | echo "source /opt/ros/${ROS_DISTRO}/setup.bash" >> ~/.bashrc
24 |
25 | grep -F `catkin locate --shell-verbs` ~/.bashrc ||
26 | echo "source `catkin locate --shell-verbs`" >> ~/.bashrc
27 |
28 | grep -F "ROS_IP" ~/.bashrc ||
29 | echo "export ROS_IP=127.0.0.1" >> ~/.bashrc
30 |
31 | grep -F "ROS_MASTER_URI" ~/.bashrc ||
32 | echo "export ROS_MASTER_URI=http://\$ROS_IP:11311" >> ~/.bashrc
33 |
34 | echo ""
35 | echo "Success installing ROS ${ROS_DISTRO}"
36 | echo "Run 'source ~/.bashrc'"
37 | echo ""
38 | echo "If any error occurs, please refer to the following URL."
39 | echo "https://github.com/Tiryoh/ros_setup_scripts_ubuntu/"
40 | echo ""
41 |
--------------------------------------------------------------------------------
/ros-kinetic-desktop.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -eu
3 |
4 | [[ "$(lsb_release -sc)" == "xenial" ]] || exit 1
5 | ROS_DISTRO=kinetic
6 |
7 | sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
8 |
9 | sudo apt install -y curl
10 | curl -k https://raw.githubusercontent.com/ros/rosdistro/master/ros.key | sudo apt-key add -
11 | sudo apt update || echo ""
12 |
13 | sudo apt install -y ros-${ROS_DISTRO}-desktop-full
14 | python --version 2>&1 | grep -q "2.7" || exit 1
15 |
16 | ls /etc/ros/rosdep/sources.list.d/20-default.list > /dev/null 2>&1 && sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
17 | sudo rosdep init
18 | rosdep update
19 |
20 | sudo apt install -y python-rosinstall python-rosinstall-generator python-wstool build-essential python-catkin-tools python3-vcstool
21 |
22 | grep -F "source /opt/ros/${ROS_DISTRO}/setup.bash" ~/.bashrc ||
23 | echo "source /opt/ros/${ROS_DISTRO}/setup.bash" >> ~/.bashrc
24 |
25 | grep -F `catkin locate --shell-verbs` ~/.bashrc ||
26 | echo "source `catkin locate --shell-verbs`" >> ~/.bashrc
27 |
28 | grep -F "ROS_IP" ~/.bashrc ||
29 | echo "export ROS_IP=127.0.0.1" >> ~/.bashrc
30 |
31 | grep -F "ROS_MASTER_URI" ~/.bashrc ||
32 | echo "export ROS_MASTER_URI=http://\$ROS_IP:11311" >> ~/.bashrc
33 |
34 | echo ""
35 | echo "Success installing ROS ${ROS_DISTRO}"
36 | echo "Run 'source ~/.bashrc'"
37 | echo ""
38 | echo "If any error occurs, please refer to the following URL."
39 | echo "https://github.com/Tiryoh/ros_setup_scripts_ubuntu/"
40 | echo ""
41 |
--------------------------------------------------------------------------------
/ros-noetic-ros-base-main.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -eu
3 |
4 | [[ "$(lsb_release -sc)" == "focal" ]] || exit 1
5 | ROS_DISTRO=noetic
6 |
7 | sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
8 |
9 | sudo apt-get install -y curl
10 | curl -k https://raw.githubusercontent.com/ros/rosdistro/master/ros.key | sudo apt-key add -
11 | sudo apt-get update || echo ""
12 |
13 | sudo apt-get install -y ros-${ROS_DISTRO}-ros-base
14 | sudo apt-get install -y python3-rosdep
15 |
16 | ls /etc/ros/rosdep/sources.list.d/20-default.list > /dev/null 2>&1 && sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
17 | sudo rosdep init
18 | rosdep update
19 |
20 | sudo apt-get install -y python3-rosinstall python3-rosinstall-generator python3-wstool build-essential python3-vcstool
21 | sudo apt-get install -y python3-catkin-tools python3-osrf-pycommon
22 |
23 | grep -F "source /opt/ros/${ROS_DISTRO}/setup.bash" ~/.bashrc ||
24 | echo "source /opt/ros/${ROS_DISTRO}/setup.bash" >> ~/.bashrc
25 |
26 | grep -F `catkin locate --shell-verbs` ~/.bashrc ||
27 | echo "source `catkin locate --shell-verbs`" >> ~/.bashrc
28 |
29 | grep -F "ROS_IP" ~/.bashrc ||
30 | echo "export ROS_IP=127.0.0.1" >> ~/.bashrc
31 |
32 | grep -F "ROS_MASTER_URI" ~/.bashrc ||
33 | echo "export ROS_MASTER_URI=http://\$ROS_IP:11311" >> ~/.bashrc
34 |
35 | echo ""
36 | echo "Success installing ROS ${ROS_DISTRO}"
37 | echo "Run 'source ~/.bashrc'"
38 | echo ""
39 | echo "If any error occurs, please refer to the following URL."
40 | echo "https://github.com/Tiryoh/ros_setup_scripts_ubuntu/"
41 | echo ""
42 |
--------------------------------------------------------------------------------
/ros-noetic-desktop-main.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -eu
3 |
4 | [[ "$(lsb_release -sc)" == "focal" ]] || exit 1
5 | ROS_DISTRO=noetic
6 |
7 | sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
8 |
9 | sudo apt-get install -y curl
10 | curl -k https://raw.githubusercontent.com/ros/rosdistro/master/ros.key | sudo apt-key add -
11 | sudo apt-get update || echo ""
12 |
13 | sudo apt-get install -y ros-${ROS_DISTRO}-desktop-full
14 | sudo apt-get install -y python3-rosdep
15 |
16 | ls /etc/ros/rosdep/sources.list.d/20-default.list > /dev/null 2>&1 && sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
17 | sudo rosdep init
18 | rosdep update
19 |
20 | sudo apt-get install -y python3-rosinstall python3-rosinstall-generator python3-wstool build-essential python3-vcstool
21 | sudo apt-get install -y python3-catkin-tools python3-osrf-pycommon
22 |
23 | grep -F "source /opt/ros/${ROS_DISTRO}/setup.bash" ~/.bashrc ||
24 | echo "source /opt/ros/${ROS_DISTRO}/setup.bash" >> ~/.bashrc
25 |
26 | grep -F `catkin locate --shell-verbs` ~/.bashrc ||
27 | echo "source `catkin locate --shell-verbs`" >> ~/.bashrc
28 |
29 | grep -F "ROS_IP" ~/.bashrc ||
30 | echo "export ROS_IP=127.0.0.1" >> ~/.bashrc
31 |
32 | grep -F "ROS_MASTER_URI" ~/.bashrc ||
33 | echo "export ROS_MASTER_URI=http://\$ROS_IP:11311" >> ~/.bashrc
34 |
35 | echo ""
36 | echo "Success installing ROS ${ROS_DISTRO}"
37 | echo "Run 'source ~/.bashrc'"
38 | echo ""
39 | echo "If any error occurs, please refer to the following URL."
40 | echo "https://github.com/Tiryoh/ros_setup_scripts_ubuntu/"
41 | echo ""
42 |
--------------------------------------------------------------------------------
/ros-noetic-desktop-testing.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -eu
3 |
4 | [[ "$(lsb_release -sc)" == "focal" ]] || exit 1
5 | ROS_DISTRO=noetic
6 |
7 | sudo sh -c 'echo "deb http://packages.ros.org/ros-testing/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-testing.list'
8 |
9 | sudo apt-get install -y curl
10 | curl -k https://raw.githubusercontent.com/ros/rosdistro/master/ros.key | sudo apt-key add -
11 | sudo apt-get update || echo ""
12 |
13 | sudo apt-get install -y ros-${ROS_DISTRO}-desktop-full
14 | sudo apt-get install -y python3-rosdep
15 |
16 | ls /etc/ros/rosdep/sources.list.d/20-default.list > /dev/null 2>&1 && sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
17 | sudo rosdep init
18 | rosdep update
19 |
20 | sudo apt-get install -y python3-rosinstall python3-rosinstall-generator python3-wstool build-essential python3-vcstool
21 | sudo apt-get install -y python3-catkin-tools python3-osrf-pycommon
22 |
23 | grep -F "source /opt/ros/${ROS_DISTRO}/setup.bash" ~/.bashrc ||
24 | echo "source /opt/ros/${ROS_DISTRO}/setup.bash" >> ~/.bashrc
25 |
26 | grep -F `catkin locate --shell-verbs` ~/.bashrc ||
27 | echo "source `catkin locate --shell-verbs`" >> ~/.bashrc
28 |
29 | grep -F "ROS_IP" ~/.bashrc ||
30 | echo "export ROS_IP=127.0.0.1" >> ~/.bashrc
31 |
32 | grep -F "ROS_MASTER_URI" ~/.bashrc ||
33 | echo "export ROS_MASTER_URI=http://\$ROS_IP:11311" >> ~/.bashrc
34 |
35 | echo ""
36 | echo "Success installing ROS ${ROS_DISTRO}"
37 | echo "Run 'source ~/.bashrc'"
38 | echo ""
39 | echo "If any error occurs, please refer to the following URL."
40 | echo "https://github.com/Tiryoh/ros_setup_scripts_ubuntu/"
41 | echo ""
42 |
--------------------------------------------------------------------------------
/ros-noetic-ros-base-testing.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -eu
3 |
4 | [[ "$(lsb_release -sc)" == "focal" ]] || exit 1
5 | ROS_DISTRO=noetic
6 |
7 | sudo sh -c 'echo "deb http://packages.ros.org/ros-testing/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-testing.list'
8 |
9 | sudo apt-get install -y curl
10 | curl -k https://raw.githubusercontent.com/ros/rosdistro/master/ros.key | sudo apt-key add -
11 | sudo apt-get update || echo ""
12 |
13 | sudo apt-get install -y ros-${ROS_DISTRO}-ros-base
14 | sudo apt-get install -y python3-rosdep
15 |
16 | ls /etc/ros/rosdep/sources.list.d/20-default.list > /dev/null 2>&1 && sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
17 | sudo rosdep init
18 | rosdep update
19 |
20 | sudo apt-get install -y python3-rosinstall python3-rosinstall-generator python3-wstool build-essential python3-vcstool
21 | sudo apt-get install -y python3-catkin-tools python3-osrf-pycommon
22 |
23 | grep -F "source /opt/ros/${ROS_DISTRO}/setup.bash" ~/.bashrc ||
24 | echo "source /opt/ros/${ROS_DISTRO}/setup.bash" >> ~/.bashrc
25 |
26 | grep -F `catkin locate --shell-verbs` ~/.bashrc ||
27 | echo "source `catkin locate --shell-verbs`" >> ~/.bashrc
28 |
29 | grep -F "ROS_IP" ~/.bashrc ||
30 | echo "export ROS_IP=127.0.0.1" >> ~/.bashrc
31 |
32 | grep -F "ROS_MASTER_URI" ~/.bashrc ||
33 | echo "export ROS_MASTER_URI=http://\$ROS_IP:11311" >> ~/.bashrc
34 |
35 | echo ""
36 | echo "Success installing ROS ${ROS_DISTRO}"
37 | echo "Run 'source ~/.bashrc'"
38 | echo ""
39 | echo "If any error occurs, please refer to the following URL."
40 | echo "https://github.com/Tiryoh/ros_setup_scripts_ubuntu/"
41 | echo ""
42 |
--------------------------------------------------------------------------------
/ros-melodic-ros-base-main.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -eu
3 |
4 | [[ "$(lsb_release -sc)" == "bionic" ]] || exit 1
5 | ROS_DISTRO=melodic
6 |
7 | sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
8 |
9 | sudo apt install -y curl
10 | curl -k https://raw.githubusercontent.com/ros/rosdistro/master/ros.key | sudo apt-key add -
11 | sudo apt update || echo ""
12 |
13 | sudo apt install -y ros-${ROS_DISTRO}-ros-base python-rosdep
14 | python --version 2>&1 | grep -q "2.7" || exit 1
15 |
16 | ls /etc/ros/rosdep/sources.list.d/20-default.list > /dev/null 2>&1 && sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
17 | sudo rosdep init
18 | rosdep update --include-eol-distros # https://discourse.ros.org/t/rosdep-and-eol-distros/7640
19 |
20 | sudo apt install -y python-rosinstall python-rosinstall-generator python-wstool build-essential python-catkin-tools python3-vcstool
21 |
22 | grep -F "source /opt/ros/${ROS_DISTRO}/setup.bash" ~/.bashrc ||
23 | echo "source /opt/ros/${ROS_DISTRO}/setup.bash" >> ~/.bashrc
24 |
25 | grep -F `catkin locate --shell-verbs` ~/.bashrc ||
26 | echo "source `catkin locate --shell-verbs`" >> ~/.bashrc
27 |
28 | grep -F "ROS_IP" ~/.bashrc ||
29 | echo "export ROS_IP=127.0.0.1" >> ~/.bashrc
30 |
31 | grep -F "ROS_MASTER_URI" ~/.bashrc ||
32 | echo "export ROS_MASTER_URI=http://\$ROS_IP:11311" >> ~/.bashrc
33 |
34 | echo ""
35 | echo "Success installing ROS ${ROS_DISTRO}"
36 | echo "Run 'source ~/.bashrc'"
37 | echo ""
38 | echo "If any error occurs, please refer to the following URL."
39 | echo "https://github.com/Tiryoh/ros_setup_scripts_ubuntu/"
40 | echo ""
41 |
--------------------------------------------------------------------------------
/ros-melodic-desktop-main.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -eu
3 |
4 | [[ "$(lsb_release -sc)" == "bionic" ]] || exit 1
5 | ROS_DISTRO=melodic
6 |
7 | sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
8 |
9 | sudo apt install -y curl
10 | curl -k https://raw.githubusercontent.com/ros/rosdistro/master/ros.key | sudo apt-key add -
11 | sudo apt update || echo ""
12 |
13 | sudo apt install -y ros-${ROS_DISTRO}-desktop-full python-rosdep
14 | python --version 2>&1 | grep -q "2.7" || exit 1
15 |
16 | ls /etc/ros/rosdep/sources.list.d/20-default.list > /dev/null 2>&1 && sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
17 | sudo rosdep init
18 | rosdep update --include-eol-distros # https://discourse.ros.org/t/rosdep-and-eol-distros/7640
19 |
20 | sudo apt install -y python-rosinstall python-rosinstall-generator python-wstool build-essential python-catkin-tools python3-vcstool
21 |
22 | grep -F "source /opt/ros/${ROS_DISTRO}/setup.bash" ~/.bashrc ||
23 | echo "source /opt/ros/${ROS_DISTRO}/setup.bash" >> ~/.bashrc
24 |
25 | grep -F `catkin locate --shell-verbs` ~/.bashrc ||
26 | echo "source `catkin locate --shell-verbs`" >> ~/.bashrc
27 |
28 | grep -F "ROS_IP" ~/.bashrc ||
29 | echo "export ROS_IP=127.0.0.1" >> ~/.bashrc
30 |
31 | grep -F "ROS_MASTER_URI" ~/.bashrc ||
32 | echo "export ROS_MASTER_URI=http://\$ROS_IP:11311" >> ~/.bashrc
33 |
34 | echo ""
35 | echo "Success installing ROS ${ROS_DISTRO}"
36 | echo "Run 'source ~/.bashrc'"
37 | echo ""
38 | echo "If any error occurs, please refer to the following URL."
39 | echo "https://github.com/Tiryoh/ros_setup_scripts_ubuntu/"
40 | echo ""
41 |
--------------------------------------------------------------------------------
/ros-melodic-desktop-testing.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -eu
3 |
4 | [[ "$(lsb_release -sc)" == "bionic" ]] || exit 1
5 | ROS_DISTRO=melodic
6 |
7 | sudo sh -c 'echo "deb http://packages.ros.org/ros-testing/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-testing.list'
8 |
9 | sudo apt install -y curl
10 | curl -k https://raw.githubusercontent.com/ros/rosdistro/master/ros.key | sudo apt-key add -
11 | sudo apt update || echo ""
12 |
13 | sudo apt install -y ros-${ROS_DISTRO}-desktop-full python-rosdep
14 | python --version 2>&1 | grep -q "2.7" || exit 1
15 |
16 | ls /etc/ros/rosdep/sources.list.d/20-default.list > /dev/null 2>&1 && sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
17 | sudo rosdep init
18 | rosdep update --include-eol-distros # https://discourse.ros.org/t/rosdep-and-eol-distros/7640
19 |
20 | sudo apt install -y python-rosinstall python-rosinstall-generator python-wstool build-essential python-catkin-tools python3-vcstool
21 |
22 | grep -F "source /opt/ros/${ROS_DISTRO}/setup.bash" ~/.bashrc ||
23 | echo "source /opt/ros/${ROS_DISTRO}/setup.bash" >> ~/.bashrc
24 |
25 | grep -F `catkin locate --shell-verbs` ~/.bashrc ||
26 | echo "source `catkin locate --shell-verbs`" >> ~/.bashrc
27 |
28 | grep -F "ROS_IP" ~/.bashrc ||
29 | echo "export ROS_IP=127.0.0.1" >> ~/.bashrc
30 |
31 | grep -F "ROS_MASTER_URI" ~/.bashrc ||
32 | echo "export ROS_MASTER_URI=http://\$ROS_IP:11311" >> ~/.bashrc
33 |
34 | echo ""
35 | echo "Success installing ROS ${ROS_DISTRO}"
36 | echo "Run 'source ~/.bashrc'"
37 | echo ""
38 | echo "If any error occurs, please refer to the following URL."
39 | echo "https://github.com/Tiryoh/ros_setup_scripts_ubuntu/"
40 | echo ""
41 |
--------------------------------------------------------------------------------
/ros-melodic-ros-base-testing.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | set -eu
3 |
4 | [[ "$(lsb_release -sc)" == "bionic" ]] || exit 1
5 | ROS_DISTRO=melodic
6 |
7 | sudo sh -c 'echo "deb http://packages.ros.org/ros-testing/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-testing.list'
8 |
9 | sudo apt install -y curl
10 | curl -k https://raw.githubusercontent.com/ros/rosdistro/master/ros.key | sudo apt-key add -
11 | sudo apt update || echo ""
12 |
13 | sudo apt install -y ros-${ROS_DISTRO}-ros-base python-rosdep
14 | python --version 2>&1 | grep -q "2.7" || exit 1
15 |
16 | ls /etc/ros/rosdep/sources.list.d/20-default.list > /dev/null 2>&1 && sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
17 | sudo rosdep init
18 | rosdep update --include-eol-distros # https://discourse.ros.org/t/rosdep-and-eol-distros/7640
19 |
20 | sudo apt install -y python-rosinstall python-rosinstall-generator python-wstool build-essential python-catkin-tools python3-vcstool
21 |
22 | grep -F "source /opt/ros/${ROS_DISTRO}/setup.bash" ~/.bashrc ||
23 | echo "source /opt/ros/${ROS_DISTRO}/setup.bash" >> ~/.bashrc
24 |
25 | grep -F `catkin locate --shell-verbs` ~/.bashrc ||
26 | echo "source `catkin locate --shell-verbs`" >> ~/.bashrc
27 |
28 | grep -F "ROS_IP" ~/.bashrc ||
29 | echo "export ROS_IP=127.0.0.1" >> ~/.bashrc
30 |
31 | grep -F "ROS_MASTER_URI" ~/.bashrc ||
32 | echo "export ROS_MASTER_URI=http://\$ROS_IP:11311" >> ~/.bashrc
33 |
34 | echo ""
35 | echo "Success installing ROS ${ROS_DISTRO}"
36 | echo "Run 'source ~/.bashrc'"
37 | echo ""
38 | echo "If any error occurs, please refer to the following URL."
39 | echo "https://github.com/Tiryoh/ros_setup_scripts_ubuntu/"
40 | echo ""
41 |
--------------------------------------------------------------------------------
/.github/workflows/test-scripts-eol.yml:
--------------------------------------------------------------------------------
1 | name: Test Scripts (EOL)
2 | on:
3 | push:
4 | branches:
5 | - master
6 | paths:
7 | - ".github/workflows/test-scripts-eol.yml"
8 | - "ros-kinetic-**.sh"
9 | - "ros-melodic-**.sh"
10 | pull_request:
11 | branches:
12 | - master
13 | paths:
14 | - ".github/workflows/test-scripts-eol.yml"
15 | - "ros-kinetic-**.sh"
16 | - "ros-melodic-**.sh"
17 | schedule:
18 | - cron: "5 1 * * 6" # Weekly on Saturdays at 01:05(GMT)
19 |
20 | jobs:
21 | # kinetic:
22 | # runs-on: ubuntu-latest
23 | # container: ubuntu:xenial
24 | # strategy:
25 | # matrix:
26 | # package: [desktop, ros-base]
27 | # env:
28 | # ROS_DISTRO: kinetic
29 | # steps:
30 | # - uses: actions/checkout@v3
31 | # - name: Test
32 | # run: |
33 | # apt-get update
34 | # DEBIAN_FRONTEND=noninteractive apt-get install -yq wget curl git build-essential vim sudo lsb-release locales bash-completion tzdata
35 | # ./ros-${ROS_DISTRO}-${{ matrix.package }}.sh
36 |
37 | melodic:
38 | runs-on: ubuntu-latest
39 | container: ubuntu:bionic
40 | strategy:
41 | matrix:
42 | package: [desktop, ros-base]
43 | env:
44 | ROS_DISTRO: melodic
45 | steps:
46 | - name: Pre-install
47 | run: |
48 | apt-get update
49 | DEBIAN_FRONTEND=noninteractive apt-get install -yq wget curl git build-essential vim sudo lsb-release locales bash-completion tzdata libc6
50 | # Ubuntu 16/18 can't run Node 20, so stick to older actions: https://github.com/actions/checkout/issues/1590
51 | echo "GHA_USE_NODE_20=false" >> $GITHUB_ENV
52 | echo "ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true" >> $GITHUB_ENV
53 | - uses: actions/checkout@v3
54 | - name: Test
55 | run: |
56 | ./ros-${ROS_DISTRO}-${{ matrix.package }}-main.sh
57 |
--------------------------------------------------------------------------------
/.github/workflows/test-url.yml:
--------------------------------------------------------------------------------
1 | name: Test URL
2 | on:
3 | push:
4 | branches:
5 | - master
6 | paths:
7 | - ".github/workflows/test-url.yml"
8 | - "**.sh"
9 | pull_request:
10 | branches:
11 | - master
12 | paths:
13 | - ".github/workflows/test-url.yml"
14 | - "**desktop.sh"
15 | - "**ros-base.sh"
16 | schedule:
17 | - cron: "5 1 * * 6" # Weekly on Saturdays at 01:05(GMT)
18 |
19 | jobs:
20 | kinetic:
21 | strategy:
22 | matrix:
23 | package: [desktop, ros-base]
24 | runs-on: ubuntu-latest
25 | steps:
26 | - uses: actions/checkout@master
27 |
28 | - name: Verify shorten-URL
29 | env:
30 | PACKAGE_VERSION: ${{ matrix.package }}
31 | run: |
32 | curl -Ls -o run.sh -w %{url_effective} http://u.ty0.jp/ros-kinetic-$PACKAGE_VERSION | tee url.txt
33 | diff run.sh ros-kinetic-$PACKAGE_VERSION.sh
34 | diff -w url.txt <(echo https://raw.githubusercontent.com/Tiryoh/ros_setup_scripts_ubuntu/master/ros-kinetic-$PACKAGE_VERSION.sh)
35 | melodic:
36 | strategy:
37 | matrix:
38 | package: [desktop, ros-base]
39 | runs-on: ubuntu-latest
40 | steps:
41 | - uses: actions/checkout@master
42 |
43 | - name: Verify shorten-URL
44 | env:
45 | PACKAGE_VERSION: ${{ matrix.package }}
46 | run: |
47 | curl -Ls -o run.sh -w %{url_effective} http://u.ty0.jp/ros-melodic-$PACKAGE_VERSION | tee url.txt
48 | diff run.sh ros-melodic-$PACKAGE_VERSION-main.sh
49 | diff -w url.txt <(echo https://raw.githubusercontent.com/Tiryoh/ros_setup_scripts_ubuntu/master/ros-melodic-$PACKAGE_VERSION-main.sh)
50 | noetic:
51 | strategy:
52 | matrix:
53 | package: [desktop, ros-base]
54 | runs-on: ubuntu-latest
55 | steps:
56 | - uses: actions/checkout@master
57 |
58 | - name: Verify shorten-URL
59 | env:
60 | PACKAGE_VERSION: ${{ matrix.package }}
61 | run: |
62 | curl -Ls -o run.sh -w %{url_effective} http://u.ty0.jp/ros-noetic-$PACKAGE_VERSION | tee url.txt
63 | diff run.sh ros-noetic-$PACKAGE_VERSION-main.sh
64 | diff -w url.txt <(echo https://raw.githubusercontent.com/Tiryoh/ros_setup_scripts_ubuntu/master/ros-noetic-$PACKAGE_VERSION-main.sh)
65 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # ros_setup_scripts_ubuntu
2 |
3 | [](https://github.com/Tiryoh/ros_setup_scripts_ubuntu/actions?query=workflow%3A%22Test+Scripts%22+branch%3Amaster)
4 | [](https://github.com/Tiryoh/ros_setup_scripts_ubuntu/actions?query=workflow%3A%22Test+URL%22+branch%3Amaster)
5 |
6 | unofficial ROS setup scripts to use from shorten-url, https://u.ty0.jp
7 |
8 | ROS 2 Version: https://github.com/Tiryoh/ros2_setup_scripts_ubuntu
9 |
10 | ## Usage
11 |
12 | Access https://u.ty0.jp for details.
13 |
14 | * Noetic
15 | * To install `ros-noetic-ros-base`, run the following command after downloading this repository.
16 |
17 | ```sh
18 | ./ros-noetic-ros-base.sh
19 | ```
20 |
21 | * To install `ros-noetic-desktop-full`, run the following command after downloading this repository.
22 |
23 | ```sh
24 | ./ros-noetic-desktop.sh
25 | ```
26 |
27 | * Melodic (EOL)
28 | * To install `ros-melodic-ros-base`, run the following command after downloading this repository.
29 |
30 | ```sh
31 | ./ros-melodic-ros-base.sh
32 | ```
33 |
34 | * To install `ros-melodic-desktop-full`, run the following command after downloading this repository.
35 |
36 | ```sh
37 | ./ros-melodic-desktop.sh
38 | ```
39 |
40 | * Kinetic (EOL)
41 | * To install `ros-kinetic-ros-base`, run the following command after downloading this repository.
42 |
43 | ```sh
44 | ./ros-kinetic-ros-base.sh
45 | ```
46 |
47 | * To install `ros-kinetic-desktop-full`, run the following command after downloading this repository.
48 |
49 | ```sh
50 | ./ros-kinetic-desktop.sh
51 | ```
52 |
53 | ## License
54 |
55 | Copyright (c) 2020 Daisuke Sato
56 |
57 | This repository is released under the MIT License, see [LICENSE](https://github.com/Tiryoh/ros_setup_scripts_ubuntu/blob/master/LICENSE).
58 | Unless attributed otherwise, everything in this repository is under the MIT License.
59 |
60 | ### Acknowledgements
61 |
62 | * ryuichiueda/ros_setup_scripts_Ubuntu18.04_desktop
63 | * Copyright (c) 2016 Ryuichi UEDA
64 | * MIT License
65 | * https://github.com/ryuichiueda/ros_setup_scripts_Ubuntu18.04_desktop/blob/master/LICENSE
66 |
--------------------------------------------------------------------------------
/CHANGELOG.md:
--------------------------------------------------------------------------------
1 |
2 |
3 | ## [v0.4.1](https://github.com/Tiryoh/ros_setup_scripts_ubuntu/compare/v0.4.0...v0.4.1) (2021-12-03)
4 |
5 | ### Bug Fixes
6 |
7 | * Fix ros-noetic-*-main installer ([#19](https://github.com/Tiryoh/ros_setup_scripts_ubuntu/pull/19))
8 |
9 | ### Documentation Updates
10 |
11 | * Add link to ROS 2 setup scripts
12 |
13 |
14 | ## [v0.4.0](https://github.com/Tiryoh/ros_setup_scripts_ubuntu/compare/v0.3.0...v0.4.0) (2020-07-30)
15 |
16 | ### Documentation Updates
17 |
18 | * Add test status badge
19 |
20 | ### Features
21 |
22 | * Enable catkin-tools for ROS Noetic ([#12](https://github.com/Tiryoh/ros_setup_scripts_ubuntu/issues/12))
23 |
24 |
25 |
26 | ## [v0.3.0](https://github.com/Tiryoh/ros_setup_scripts_ubuntu/compare/v0.2.0...v0.3.0) (2020-05-24)
27 |
28 | ### Features
29 |
30 | * Add ROS Noetic (main) ([#7](https://github.com/Tiryoh/ros_setup_scripts_ubuntu/issues/7))
31 | * Add ROS Noetic (ros-testing) ([#6](https://github.com/Tiryoh/ros_setup_scripts_ubuntu/issues/6))
32 |
33 |
34 |
35 | ## [v0.2.0](https://github.com/Tiryoh/ros_setup_scripts_ubuntu/compare/v0.1.0...v0.2.0) (2020-05-23)
36 |
37 | ### Features
38 |
39 | * Add ROS Melodic (ros-testing) ([#5](https://github.com/Tiryoh/ros_setup_scripts_ubuntu/issues/5))
40 |
41 |
42 |
43 | ## [v0.1.0](https://github.com/Tiryoh/ros_setup_scripts_ubuntu/compare/v0.0.2...v0.1.0) (2020-05-12)
44 |
45 | ### Documentation Updates
46 |
47 | * Add example usage
48 |
49 | ### Features
50 |
51 | * Execute only with Python 2 ([#4](https://github.com/Tiryoh/ros_setup_scripts_ubuntu/issues/4))
52 | * Hide unnecessary output ([#3](https://github.com/Tiryoh/ros_setup_scripts_ubuntu/issues/3))
53 |
54 |
55 |
56 | ## [v0.0.2](https://github.com/Tiryoh/ros_setup_scripts_ubuntu/compare/v0.0.1...v0.0.2) (2020-02-15)
57 |
58 | ### Bug Fixes
59 |
60 | * Fix abnormal termination
61 |
62 | ### Documentation Updates
63 |
64 | * Update description
65 |
66 | ### Features
67 |
68 | * Add ros-kinetic-ros-base install script
69 | * Add ros-kinetic-desktop-full install script
70 | * Update the instruction message for user
71 | * Add an instruction message for user
72 |
73 |
74 |
75 | ## v0.0.1 (2020-01-16)
76 |
77 | ### Bug Fixes
78 |
79 | * Fix unbound variable error
80 |
81 | ### Documentation Updates
82 |
83 | * Update git-chglog settings
84 | * Add git-chglog settings
85 | * Update package name
86 | * Initial commit
87 |
88 | ### Features
89 |
90 | * Add ros-melodic-ros-base install script
91 | * Add ros-melodic-desktop install script
92 |
93 |
--------------------------------------------------------------------------------