Skip to content

Commit

Permalink
Rebase from 'debian/iron/pepper_meshes'
Browse files Browse the repository at this point in the history
  • Loading branch information
victorpaleologue committed Nov 22, 2023
1 parent 53936d9 commit 5a9285d
Show file tree
Hide file tree
Showing 23 changed files with 217 additions and 133 deletions.
15 changes: 15 additions & 0 deletions .github/workflows/foxy_focal.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: ros2-foxy-focal

on:
push

jobs:
ros2_foxy_focal_ci:
name: foxy (focal)
uses: ./.github/workflows/ros2.yml
with:
ROS_DISTRO: foxy
ROS_REPO: testing
OS_NAME: ubuntu
OS_CODE_NAME: focal
ALLOW_FAIL: false
15 changes: 15 additions & 0 deletions .github/workflows/galactic_focal.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: ros2-galactic-focal

on:
push

jobs:
ros2_galactic_focal_ci:
name: galactic (focal)
uses: ./.github/workflows/ros2.yml
with:
ROS_DISTRO: galactic
ROS_REPO: testing
OS_NAME: ubuntu
OS_CODE_NAME: focal
ALLOW_FAIL: false
15 changes: 15 additions & 0 deletions .github/workflows/humble_jammy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: ros2-humble-jammy

on:
push

jobs:
ros2_humble_jammy_ci:
name: humble (jammy)
uses: ./.github/workflows/ros2.yml
with:
ROS_DISTRO: humble
ROS_REPO: testing
OS_NAME: ubuntu
OS_CODE_NAME: jammy
ALLOW_FAIL: false
15 changes: 15 additions & 0 deletions .github/workflows/iron_jammy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: ros2-iron-jammy

on:
push

jobs:
ros2_iron_jammy_ci:
name: iron (jammy)
uses: ./.github/workflows/ros2.yml
with:
ROS_DISTRO: iron
ROS_REPO: testing
OS_NAME: ubuntu
OS_CODE_NAME: jammy
ALLOW_FAIL: false
41 changes: 41 additions & 0 deletions .github/workflows/ros2.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: ros2

on:
workflow_call:
inputs:
ROS_DISTRO:
required: true
type: string
ROS_REPO:
required: true
type: string
OS_NAME:
required: true
type: string
OS_CODE_NAME:
required: true
type: string
ALLOW_FAIL:
required: true
type: boolean

jobs:
ros2_ci:
name: ROS2
runs-on: ubuntu-latest
continue-on-error: ${{ inputs.ALLOW_FAIL }}
env:
CCACHE_DIR: "${{ github.workspace }}/.ccache"
steps:
- name: Check out the naoqi_driver2 repo
uses: actions/checkout@v2
- name: Fetch/store directory used by ccache
uses: actions/cache@v2
with:
path: ${{ env.CCACHE_DIR }}
key: ccache-${{ inputs.ROS_DISTRO }}-${{ inputs.ROS_REPO }}-${{github.run_id}}
restore-keys: |
ccache-${{ inputs.ROS_DISTRO }}-${{ inputs.ROS_REPO }}-
- name: Run industrial CI
uses: 'ros-industrial/industrial_ci@master'
env: ${{ inputs }}
11 changes: 11 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,17 @@
Changelog for package pepper_meshes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

3.0.0 (2023-11-22)
------------------
* Update status badges
* Add CI
* Interactive agreement by default
Explicit option in command line to agree to license.
Improved interaction and messages.
* Improved detection of the platform
* Update maintainers
* Contributors: Victor Paléologue

2.0.1 (2022-09-13)
------------------
* Merge branch 'fix_binaries' into main
Expand Down
102 changes: 26 additions & 76 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,101 +2,51 @@ cmake_minimum_required(VERSION 3.5)
project(pepper_meshes)

find_package(ament_cmake REQUIRED)
ament_package()

# When getting a new binay, the MD5 might change, and the folder hierarchy too
# read comments below to adapt

set(PACKAGE_SHARE_DIR ${CMAKE_INSTALL_PREFIX}/share/${PROJECT_NAME})
set(TMP_DIR ${PACKAGE_SHARE_DIR}/tmp)
set(TMP_DIR ${CMAKE_CURRENT_BINARY_DIR})
set(INSTALLER_PATH ${TMP_DIR}/installer.run)

# Try to figure out the architecture
string(FIND ${CMAKE_INSTALL_PREFIX} "i686" IS_32)
message(STATUS "Architecture is apparently 32 (-1 for no): ${IS_32}")
if(${IS_32} STREQUAL "-1")
# Trust CMAKE_SYSTEM_PROCESSOR which does not work on the farm
if (${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "x86_64")
set(IS_32 FALSE)
if(${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "$i.86$")
message(STATUS "Downloading 32 bit installer")
set(INSTALLER_URL "https://github.com/ros-naoqi/pepper_meshes_installer/raw/master/peppermeshes-0.2.0-linux-installer.run")
set(INSTALLER_MD5 9e78f24b52838e704210881f92c0983d)
elseif(${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "x86_64")
message(STATUS "Downloading 64 bit installer")
set(INSTALLER_URL "https://github.com/ros-naoqi/pepper_meshes_installer/raw/master/peppermeshes-0.2.0-linux-x64-installer.run")
set(INSTALLER_MD5 9e78f24b52838e704210881f92c0983d)
else()
set(IS_32 TRUE)
endif()
message(FATAL_ERROR "Mesh installer is not compatible with your host architecture '${CMAKE_HOST_SYSTEM_PROCESSOR}'")
endif()

if (NOT ${IS_32})
message(STATUS "Downloading 64 bit installer")
file(DOWNLOAD
"https://github.com/ros-naoqi/pepper_meshes_installer/raw/master/peppermeshes-0.2.0-linux-x64-installer.run"
${INSTALLER_PATH} SHOW_PROGRESS
INACTIVITY_TIMEOUT 60
EXPECTED_MD5 9e78f24b52838e704210881f92c0983d
)
else()
message(STATUS "Downloading 32 bit installer")
file(DOWNLOAD
"https://github.com/ros-naoqi/pepper_meshes_installer/raw/master/peppermeshes-0.2.0-linux-installer.run"
${INSTALLER_PATH} SHOW_PROGRESS
file(DOWNLOAD ${INSTALLER_URL} ${INSTALLER_PATH}
SHOW_PROGRESS
INACTIVITY_TIMEOUT 60
EXPECTED_MD5 f48a610633d2db48bc84db16f4847b70
EXPECTED_MD5 ${INSTALLER_MD5}
)
endif()

# specify the interesting folder in the archive. You might want to change
# that for a new binary where the structure is different
set(TMP_MESH_PATH ${TMP_DIR}/meshes)

# final path in devel/install space
set(FINAL_MESH_PATH share/${PROJECT_NAME}/)

# make the file executable to install
file(COPY ${INSTALLER_TMP_PATH}
FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
DESTINATION ${TMP_DIR}
)
# Where to install the meshes and textures
# relative to the share folder of the package.
set(INSTALL_DESTINATION_IN_SHARE ${PROJECT_NAME})

# add a target for devel space
add_custom_target(${PROJECT_NAME}_meshes
COMMAND ${INSTALLER_PATH} --mode text --prefix ${TMP_DIR}
COMMAND cp -fr ${TMP_MESH_PATH} ${PACKAGE_SHARE_DIR}
COMMAND rm -fr ${TMP_DIR}/rollback*
)

# uncompress the meshes during install
install(CODE
"
# uncompress the archive
message(STATUS \"using ${INSTALLER_PATH} to decompress to ${TMP_DIR}\")
execute_process(COMMAND ${INSTALLER_PATH} --mode unattended --prefix ${TMP_DIR}
OUTPUT_VARIABLE OUT
ERROR_VARIABLE ERROR
RESULT_VARIABLE RESULT
)
message(STATUS \"intall out: \${OUT}\")
message(STATUS \"install error: \${ERROR}\")
message(STATUS \"install result: \${RESULT}\")
execute_process(COMMAND ls
WORKING_DIRECTORY ${TMP_DIR}
OUTPUT_VARIABLE OUT_LS
ERROR_VARIABLE ERROR_LS
RESULT_VARIABLE RESULT_LS
)
message(STATUS \"ls out: \${OUT_LS}\")
message(STATUS \"ls error: \${ERROR_LS}\")
message(STATUS \"ls result: \${RESULT_LS}\")
execute_process(COMMAND file ${TMP_DIR}/installer.run
OUTPUT_VARIABLE OUT_FILE
ERROR_VARIABLE ERROR_FILE_CMD
RESULT_VARIABLE RESULT_FILE
)
message(STATUS \"file out: \${OUT_FILE}\")
message(STATUS \"file error: \${ERROR_FILE_CMD}\")
message(STATUS \"file result: \${RESULT_FILE}\")
"
# install the meshes in the build directory when building
message(STATUS "Will unpack meshes from the installer: \n${INSTALLER_PATH} --prefix ${TMP_DIR} ${INSTALL_MODE_FLAG}")
add_custom_target(install_meshes ALL
COMMAND chmod +x ${INSTALLER_PATH}
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/install_with_auto_mode.sh ${INSTALLER_PATH} --prefix ${TMP_DIR}
BYPRODUCTS ${TMP_MESH_PATH}
TERMINAL
)

# install the archive
install(DIRECTORY ${TMP_MESH_PATH}
DESTINATION ${FINAL_MESH_PATH}/
DESTINATION share/${PROJECT_NAME}
)

ament_package()
9 changes: 4 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@ of the meshes as this could result in heavy cloning.

## Status

ROS Distro | Binary Status | Source status |
|-------------------|-------------------|-------------------|
Humble | |
Galactic | [![Build Status](https://build.ros2.org/job/Gbin_uF64__pepper_meshes__ubuntu_focal_amd64__binary/badge/icon)](https://build.ros2.org/job/Gbin_uF64__pepper_meshes__ubuntu_focal_amd64__binary/) | [![Build Status](https://build.ros2.org/job/Gsrc_uF__pepper_meshes__ubuntu_focal__source/badge/icon)](https://build.ros2.org/job/Gsrc_uF__pepper_meshes__ubuntu_focal__source/)
Foxy | [![Build Status](https://build.ros2.org/job/Fbin_uF64__pepper_meshes__ubuntu_focal_amd64__binary/badge/icon)](https://build.ros2.org/job/Fbin_uF64__pepper_meshes__ubuntu_focal_amd64__binary/) | [![Build Status](https://build.ros2.org/job/Fsrc_uF__pepper_meshes__ubuntu_focal__source/badge/icon)](https://build.ros2.org/job/Fsrc_uF__pepper_meshes__ubuntu_focal__source/)
ROS Distro | Binary Status | Source status | GitHub Status |
|-------------------|-------------------|-------------------|--------------------|
Humble | [![ros2-humble-jammy-bin-status-badge](https://build.ros2.org/job/Hbin_uJ64__pepper_meshes__ubuntu_jammy_amd64__binary/badge/icon)](https://build.ros2.org/job/Hbin_uJ64__pepper_meshes__ubuntu_jammy_amd64__binary) | [![ros2-humble-jammy-src-status-badge](https://build.ros2.org/job/Hsrc_uJ__pepper_meshes__ubuntu_jammy__source/badge/icon)](https://build.ros2.org/job/Hsrc_uJ__pepper_meshes__ubuntu_jammy__source) | [![ros2-humble-jammy](https://github.com/ros-naoqi/pepper_meshes2/actions/workflows/humble_jammy.yml/badge.svg?branch=main)](https://github.com/ros-naoqi/pepper_meshes2/actions/workflows/humble_jammy.yml)
Iron | [![ros2-iron-jammy-bin-status-badge](https://build.ros2.org/job/Ibin_uJ64__pepper_meshes__ubuntu_jammy_amd64__binary/badge/icon)](https://build.ros2.org/job/Ibin_uJ64__pepper_meshes__ubuntu_jammy_amd64__binary) | [![ros2-iron-jammy-src-status-badge](https://build.ros2.org/job/Isrc_uJ__pepper_meshes__ubuntu_jammy__source/badge/icon)](https://build.ros2.org/job/Isrc_uJ__pepper_meshes__ubuntu_jammy__source) | [![ros2-iron-jammy](https://github.com/ros-naoqi/pepper_meshes2/actions/workflows/iron_jammy.yml/badge.svg?branch=main)](https://github.com/ros-naoqi/pepper_meshes2/actions/workflows/iron_jammy.yml)
18 changes: 0 additions & 18 deletions debian/changelog

This file was deleted.

7 changes: 7 additions & 0 deletions debian/changelog.em
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
@[for change_version, change_date, changelog, main_name, main_email in changelogs]@(Package) (@(change_version)@(DebianInc)@(Distribution)) @(Distribution); urgency=high

@(changelog)

-- @(main_name) <@(main_email)> @(change_date)

@[end for]
1 change: 0 additions & 1 deletion debian/compat

This file was deleted.

1 change: 1 addition & 0 deletions debian/compat.em
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
@(debhelper_version)
12 changes: 0 additions & 12 deletions debian/control

This file was deleted.

14 changes: 14 additions & 0 deletions debian/control.em
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Source: @(Package)
Section: misc
Priority: optional
Maintainer: @(Maintainer)
Build-Depends: debhelper (>= @(debhelper_version).0.0), @(', '.join(BuildDepends))
Homepage: @(Homepage)
Standards-Version: 3.9.2

Package: @(Package)
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, @(', '.join(Depends))
@[if Conflicts]Conflicts: @(', '.join(Conflicts))@\n@[end if]@
@[if Replaces]Replaces: @(', '.join(Replaces))@\n@[end if]@
Description: @(Description)
10 changes: 7 additions & 3 deletions debian/copyright → debian/copyright.em
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
Format: Bloom subset of https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: pepper_meshes
Upstream-Name: @(Name)
@[if BugTracker]Upstream-Contact: @(BugTracker)@\n@[end if]@
@[if Source]Source: @(Source)@\n@[end if]@
@[for License, Text in Licenses]@

Files: See file headers in repository for details
Copyright: See package copyright in source code for details
License: Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License
See repository for full license text
License: @(License)
@(Text)
@[end for]@
3 changes: 0 additions & 3 deletions debian/gbp.conf

This file was deleted.

3 changes: 3 additions & 0 deletions debian/gbp.conf.em
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[git-buildpackage]
upstream-tag=@(release_tag)
upstream-tree=tag
Loading

0 comments on commit 5a9285d

Please sign in to comment.