diff --git a/recipes-ros/catkin/catkin/0001-modify-logic-of-sourcing-env-hooks-to-provide-contex.patch b/recipes-ros/catkin/catkin/0001-modify-logic-of-sourcing-env-hooks-to-provide-contex.patch new file mode 100644 index 0000000000000000000000000000000000000000..eef3063c193c7a8032f77bcd5b4ce94b3fd6e0c2 --- /dev/null +++ b/recipes-ros/catkin/catkin/0001-modify-logic-of-sourcing-env-hooks-to-provide-contex.patch @@ -0,0 +1,515 @@ +From a0d699a08f10424adad38eee25673c9a66120ec4 Mon Sep 17 00:00:00 2001 +From: Dirk Thomas <dthomas@osrfoundation.org> +Date: Thu, 25 Jul 2013 14:54:43 -0700 +Subject: [PATCH 1/4] modify logic of sourcing env hooks to provide context of + workspace to each env hook (#490) + +--- + cmake/templates/_setup_util.py.in | 26 +++++++++++++++++++++----- + cmake/templates/setup.sh.in | 34 +++++++++++----------------------- + 2 files changed, 32 insertions(+), 28 deletions(-) + +diff --git a/cmake/templates/_setup_util.py.in b/cmake/templates/_setup_util.py.in +index 6957b10..e7e57ee 100755 +--- a/cmake/templates/_setup_util.py.in ++++ b/cmake/templates/_setup_util.py.in +@@ -200,7 +200,9 @@ def find_env_hooks(environ, cmake_prefix_path): + lines.append(comment('found environment hooks in workspaces')) + + generic_env_hooks = [] ++ generic_env_hooks_workspace = [] + specific_env_hooks = [] ++ specific_env_hooks_workspace = [] + generic_env_hooks_by_filename = {} + specific_env_hooks_by_filename = {} + generic_env_hook_ext = 'bat' if IS_WINDOWS else 'sh' +@@ -212,18 +214,32 @@ def find_env_hooks(environ, cmake_prefix_path): + if os.path.isdir(env_hook_dir): + for filename in sorted(os.listdir(env_hook_dir)): + if filename.endswith('.%s' % generic_env_hook_ext): +- generic_env_hooks.append(os.path.join(env_hook_dir, filename)) + # remove previous env hook with same name if present + if filename in generic_env_hooks_by_filename: +- generic_env_hooks.remove(generic_env_hooks_by_filename[filename]) ++ i = generic_env_hooks.index(generic_env_hooks_by_filename[filename]) ++ generic_env_hooks.pop(i) ++ generic_env_hooks_workspace.pop(i) ++ # append env hook ++ generic_env_hooks.append(os.path.join(env_hook_dir, filename)) ++ generic_env_hooks_workspace.append(workspace) + generic_env_hooks_by_filename[filename] = generic_env_hooks[-1] + elif specific_env_hook_ext is not None and filename.endswith('.%s' % specific_env_hook_ext): +- specific_env_hooks.append(os.path.join(env_hook_dir, filename)) + # remove previous env hook with same name if present + if filename in specific_env_hooks_by_filename: +- specific_env_hooks.remove(specific_env_hooks_by_filename[filename]) ++ i = specific_env_hooks.index(specific_env_hooks_by_filename[filename]) ++ specific_env_hooks.pop(i) ++ specific_env_hooks_workspace.pop(i) ++ # append env hook ++ specific_env_hooks.append(os.path.join(env_hook_dir, filename)) ++ specific_env_hooks_workspace.append(workspace) + specific_env_hooks_by_filename[filename] = specific_env_hooks[-1] +- lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS', os.pathsep.join(generic_env_hooks + specific_env_hooks))) ++ env_hooks = generic_env_hooks + specific_env_hooks ++ env_hooks_workspace = generic_env_hooks_workspace + specific_env_hooks_workspace ++ count = len(env_hooks) ++ lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_COUNT', count)) ++ for i in range(count): ++ lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d' % i, env_hooks[i])) ++ lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d_WORKSPACE' % i, env_hooks_workspace[i])) + return lines + + +diff --git a/cmake/templates/setup.sh.in b/cmake/templates/setup.sh.in +index c29adf5..fa28dfb 100644 +--- a/cmake/templates/setup.sh.in ++++ b/cmake/templates/setup.sh.in +@@ -47,30 +47,18 @@ CATKIN_SHELL=$CATKIN_SHELL "$_SETUP_UTIL" $@ > $_SETUP_TMP + . $_SETUP_TMP + rm -f $_SETUP_TMP + +-# save value of IFS, including if it was unset +-# the "+x" syntax helps differentiate unset from empty +-_IFS=$IFS +-if [ -z ${IFS+x} ]; then +- _IFS_WAS_UNSET=1 +-fi +- + # source all environment hooks +-IFS=":" +-for _envfile in $_CATKIN_ENVIRONMENT_HOOKS; do +- # restore value of IFS, including if it was unset +- IFS=$_IFS +- if [ $_IFS_WAS_UNSET ]; then +- unset IFS +- fi ++_i=0 ++while [ $_i -lt $_CATKIN_ENVIRONMENT_HOOKS_COUNT ]; do ++ eval _envfile=\$_CATKIN_ENVIRONMENT_HOOKS_$_i ++ unset _CATKIN_ENVIRONMENT_HOOKS_$_i ++ eval _envfile_workspace=\$_CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE ++ unset _CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE ++ # set workspace for environment hook ++ CATKIN_ENV_HOOK_WORKSPACE=$_envfile_workspace + . "$_envfile" ++ unset CATKIN_ENV_HOOK_WORKSPACE ++ _i=$((_i + 1)) + done + +-# restore value of IFS, including if it was unset +-IFS=$_IFS +-if [ $_IFS_WAS_UNSET ]; then +- unset IFS +- unset _IFS_WAS_UNSET +-fi +-unset _IFS +- +-unset _CATKIN_ENVIRONMENT_HOOKS ++unset _CATKIN_ENVIRONMENT_HOOKS_COUNT +-- +1.8.1.6 + + +From 644daf7443bf3f3ed3f178800478cb5724298a16 Mon Sep 17 00:00:00 2001 +From: Dirk Thomas <dthomas@osrfoundation.org> +Date: Thu, 25 Jul 2013 17:01:11 -0700 +Subject: [PATCH 2/4] update shell scripts to define or allow override + CATKIN_SETUP_DIR (#490) + +--- + cmake/templates/_setup_util.py.in | 15 ++++++++------- + cmake/templates/env.sh.in | 8 +++++--- + cmake/templates/setup.bash.in | 5 ++++- + cmake/templates/setup.sh.in | 5 ++++- + cmake/templates/setup.zsh.in | 3 ++- + 5 files changed, 23 insertions(+), 13 deletions(-) + +diff --git a/cmake/templates/_setup_util.py.in b/cmake/templates/_setup_util.py.in +index e7e57ee..0d3c86a 100755 +--- a/cmake/templates/_setup_util.py.in ++++ b/cmake/templates/_setup_util.py.in +@@ -41,13 +41,6 @@ import os + import platform + import sys + +-# environment at generation time +-CMAKE_PREFIX_PATH = '@CMAKE_PREFIX_PATH_AS_IS@'.split(';') +-setup_dir = '@SETUP_DIR@' +-if setup_dir and setup_dir not in CMAKE_PREFIX_PATH: +- CMAKE_PREFIX_PATH.insert(0, setup_dir) +-CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) +- + CATKIN_MARKER_FILE = '.catkin' + + system = platform.system() +@@ -256,6 +249,14 @@ if __name__ == '__main__': + print(e, file=sys.stderr) + exit(1) + ++ # environment at generation time ++ CMAKE_PREFIX_PATH = '@CMAKE_PREFIX_PATH_AS_IS@'.split(';') ++ # prepend current workspace if not already part of CPP ++ base_path = os.path.dirname(__file__) ++ if base_path not in CMAKE_PREFIX_PATH: ++ CMAKE_PREFIX_PATH.insert(0, base_path) ++ CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) ++ + environ = dict(os.environ) + lines = [] + if not args.extend: +diff --git a/cmake/templates/env.sh.in b/cmake/templates/env.sh.in +index 5d04650..ad259ea 100755 +--- a/cmake/templates/env.sh.in ++++ b/cmake/templates/env.sh.in +@@ -5,7 +5,9 @@ if [ $# -eq 0 ] ; then + /bin/echo "Usage: env.sh COMMANDS" + /bin/echo "Calling env.sh without arguments is not supported anymore. Instead spawn a subshell and source a setup file manually." + exit 1 +-else +- . "@SETUP_DIR@/@SETUP_FILENAME@.sh" +- exec "$@" + fi ++ ++# source @SETUP_FILENAME@.sh from same directory as this file ++CATKIN_SETUP_DIR=$(cd `dirname $0`;pwd) ++. "$CATKIN_SETUP_DIR/@SETUP_FILENAME@.sh" ++exec "$@" +diff --git a/cmake/templates/setup.bash.in b/cmake/templates/setup.bash.in +index 078fd13..97e9e70 100644 +--- a/cmake/templates/setup.bash.in ++++ b/cmake/templates/setup.bash.in +@@ -2,4 +2,7 @@ + # generated from catkin/cmake/templates/setup.bash.in + + CATKIN_SHELL=bash +-. "@SETUP_DIR@/setup.sh" ++ ++# source setup.sh from same directory as this file ++CATKIN_SETUP_DIR=$(cd `dirname ${BASH_SOURCE[0]}`;pwd) ++. "$CATKIN_SETUP_DIR/setup.sh" +diff --git a/cmake/templates/setup.sh.in b/cmake/templates/setup.sh.in +index fa28dfb..66b91ca 100644 +--- a/cmake/templates/setup.sh.in ++++ b/cmake/templates/setup.sh.in +@@ -6,7 +6,10 @@ + # Supported command line options: + # --extend: skips the undoing of changes from a previously sourced setup file + +-_SETUP_UTIL="@SETUP_DIR@/_setup_util.py" ++# since this file is sourced either use the provided CATKIN_SETUP_DIR ++# or fall back to the destination set at configure time ++: ${CATKIN_SETUP_DIR:=@SETUP_DIR@} ++_SETUP_UTIL="$CATKIN_SETUP_DIR/_setup_util.py" + + if [ ! -f "$_SETUP_UTIL" ]; then + echo "Missing Python script: $_SETUP_UTIL" +diff --git a/cmake/templates/setup.zsh.in b/cmake/templates/setup.zsh.in +index 220d1fb..5e681e4 100644 +--- a/cmake/templates/setup.zsh.in ++++ b/cmake/templates/setup.zsh.in +@@ -2,6 +2,7 @@ + # generated from catkin/cmake/templates/setup.zsh.in + + CATKIN_SHELL=zsh ++CATKIN_SETUP_DIR=$(cd `dirname $0`;pwd) + emulate sh # emulate POSIX +-. "@SETUP_DIR@/setup.sh" ++. "$CATKIN_SETUP_DIR/setup.sh" + emulate zsh # back to zsh mode +-- +1.8.1.6 + + +From 198c7b8afafc4e92ed912959e299935b301ac434 Mon Sep 17 00:00:00 2001 +From: Dirk Thomas <dthomas@osrfoundation.org> +Date: Thu, 25 Jul 2013 17:02:08 -0700 +Subject: [PATCH 3/4] update exported include dirs in generated cmake config + files to not contain absolute paths (#490) + +--- + cmake/catkin_package.cmake | 2 +- + cmake/templates/pkgConfig.cmake.in | 7 +++++-- + 2 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/cmake/catkin_package.cmake b/cmake/catkin_package.cmake +index 574bce9..a543864 100644 +--- a/cmake/catkin_package.cmake ++++ b/cmake/catkin_package.cmake +@@ -434,7 +434,7 @@ function(_catkin_package) + # absolute path to include dir under install prefix if any include dir is set + set(PROJECT_ABSOLUTE_INCLUDE_DIRS "") + if(NOT "${PROJECT_INCLUDE_DIRS}" STREQUAL "") +- set(PROJECT_ABSOLUTE_INCLUDE_DIRS ${PKG_INCLUDE_PREFIX}/include) ++ set(PROJECT_ABSOLUTE_INCLUDE_DIRS "${CATKIN_GLOBAL_INCLUDE_DESTINATION}") + endif() + if(PROJECT_DEPENDENCIES_INCLUDE_DIRS) + list(APPEND PROJECT_ABSOLUTE_INCLUDE_DIRS ${PROJECT_DEPENDENCIES_INCLUDE_DIRS}) +diff --git a/cmake/templates/pkgConfig.cmake.in b/cmake/templates/pkgConfig.cmake.in +index dce3158..334e5f2 100644 +--- a/cmake/templates/pkgConfig.cmake.in ++++ b/cmake/templates/pkgConfig.cmake.in +@@ -89,8 +89,11 @@ if(NOT "@PROJECT_ABSOLUTE_INCLUDE_DIRS@" STREQUAL "") + foreach(idir ${absolute_include_dirs}) + if(IS_ABSOLUTE ${idir} AND IS_DIRECTORY ${idir}) + set(include ${idir}) +- elseif(IS_DIRECTORY @PKG_INCLUDE_PREFIX@/${idir}) +- set(include @PKG_INCLUDE_PREFIX@/${idir}) ++ elseif("${idir}" STREQUAL "${CATKIN_GLOBAL_INCLUDE_DESTINATION}") ++ get_filename_component(include "${@PROJECT_NAME@_DIR}/../../../${CATKIN_GLOBAL_INCLUDE_DESTINATION}" ABSOLUTE) ++ if(NOT IS_DIRECTORY ${include}) ++ message(FATAL_ERROR "Project '@PROJECT_NAME@' specifies '${idir}' as an include dir, which is not found. It does not exist in '${include}'. Ask the maintainer '@PROJECT_MAINTAINER@' to fix it.") ++ endif() + else() + message(FATAL_ERROR "Project '@PROJECT_NAME@' specifies '${idir}' as an include dir, which is not found. It does neither exist as an absolute directory nor in '@PKG_INCLUDE_PREFIX@/${idir}'. Ask the maintainer '@PROJECT_MAINTAINER@' to fix it.") + endif() +-- +1.8.1.6 + + +From 8067802506d0b66926b665ee301ca6ce77ab3deb Mon Sep 17 00:00:00 2001 +From: Dirk Thomas <dthomas@osrfoundation.org> +Date: Thu, 25 Jul 2013 17:06:48 -0700 +Subject: [PATCH 4/4] update catkin_make_isolated to support installation with + DESTDIR (#490) + +--- + bin/catkin_make_isolated | 5 +++- + python/catkin/builder.py | 63 +++++++++++++++++++++++++++++++++--------------- + 2 files changed, 47 insertions(+), 21 deletions(-) + +diff --git a/bin/catkin_make_isolated b/bin/catkin_make_isolated +index 25ed5db..6ea7d4d 100755 +--- a/bin/catkin_make_isolated ++++ b/bin/catkin_make_isolated +@@ -107,6 +107,8 @@ def main(): + if not sys.stdout.isatty(): + opts.no_color = True + ++ destdir = os.environ['DESTDIR'] if 'DESTDIR' in os.environ else None ++ + build_workspace_isolated( + workspace=opts.workspace or '.', + sourcespace=opts.source, +@@ -122,7 +124,8 @@ def main(): + cmake_args=cmake_args, + make_args=opts.make_args, + catkin_make_args=opts.catkin_make_args, +- continue_from_pkg=opts.from_package is not None ++ continue_from_pkg=opts.from_package is not None, ++ destdir=destdir + ) + + if __name__ == '__main__': +diff --git a/python/catkin/builder.py b/python/catkin/builder.py +index b157d6e..932e720 100644 +--- a/python/catkin/builder.py ++++ b/python/catkin/builder.py +@@ -163,18 +163,23 @@ def print_command_banner(cmd, cwd, color): + print('####') + + +-def run_command_colorized(cmd, cwd, quiet=False): +- run_command(cmd, cwd, quiet=quiet, colorize=True) ++def run_command_colorized(cmd, cwd, quiet=False, add_env=None): ++ run_command(cmd, cwd, quiet=quiet, colorize=True, add_env=add_env) + + +-def run_command(cmd, cwd, quiet=False, colorize=False): ++def run_command(cmd, cwd, quiet=False, colorize=False, add_env=None): + capture = (quiet or colorize) + stdout_pipe = subprocess.PIPE if capture else None + stderr_pipe = subprocess.STDOUT if capture else None ++ env = None ++ if add_env: ++ env = copy.copy(os.environ) ++ env.update(add_env) + try: + proc = subprocess.Popen( + cmd, cwd=cwd, shell=False, +- stdout=stdout_pipe, stderr=stderr_pipe ++ stdout=stdout_pipe, stderr=stderr_pipe, ++ env=env + ) + except OSError as e: + raise OSError("Failed command '%s': %s" % (cmd, e)) +@@ -213,10 +218,11 @@ def _check_build_dir(name, workspace, buildspace): + return package_build_dir + + +-def isolation_print_command(cmd, path=None): ++def isolation_print_command(cmd, path=None, add_env=None): + cprint( + blue_arrow + " " + sanitize(cmd) + "@|" + +- (" @!@{kf}in@| '@!" + sanitize(path) + "@|'" if path else '') ++ (" @!@{kf}in@| '@!" + sanitize(path) + "@|'" if path else '') + ++ (" @!@{kf}with@| '@!" + ' '.join(['%s=%s' % (k, v) for k, v in add_env.items()]) + "@|'" if add_env else '') + ) + + +@@ -280,7 +286,8 @@ def extract_jobs_flags(mflags): + def build_catkin_package( + path, package, + workspace, buildspace, develspace, installspace, +- install, force_cmake, quiet, last_env, cmake_args, make_args ++ install, force_cmake, quiet, last_env, cmake_args, make_args, ++ destdir=None + ): + cprint( + "Processing @{cf}catkin@| package: '@!@{bf}" + +@@ -324,11 +331,12 @@ def build_catkin_package( + '-DCMAKE_INSTALL_PREFIX=' + installspace + ] + cmake_cmd.extend(cmake_args) +- isolation_print_command(' '.join(cmake_cmd), build_dir) ++ add_env = get_additional_environment(install, destdir, installspace) ++ isolation_print_command(' '.join(cmake_cmd), build_dir, add_env=add_env) + if last_env is not None: + cmake_cmd = [last_env] + cmake_cmd + try: +- run_command_colorized(cmake_cmd, build_dir, quiet) ++ run_command_colorized(cmake_cmd, build_dir, quiet, add_env=add_env) + except subprocess.CalledProcessError as e: + if os.path.exists(makefile): + # remove Makefile to force CMake invocation next time +@@ -338,11 +346,12 @@ def build_catkin_package( + print('Makefile exists, skipping explicit cmake invocation...') + # Check to see if cmake needs to be run via make + make_check_cmake_cmd = ['make', 'cmake_check_build_system'] +- isolation_print_command(' '.join(make_check_cmake_cmd), build_dir) ++ add_env = get_additional_environment(install, destdir, installspace) ++ isolation_print_command(' '.join(make_check_cmake_cmd), build_dir, add_env=add_env) + if last_env is not None: + make_check_cmake_cmd = [last_env] + make_check_cmake_cmd + run_command_colorized( +- make_check_cmake_cmd, build_dir, quiet ++ make_check_cmake_cmd, build_dir, quiet, add_env=add_env + ) + + # Run make +@@ -372,10 +381,18 @@ def has_make_target(path, target): + return target in targets + + ++def get_additional_environment(install, destdir, installspace): ++ add_env = {} ++ if install and destdir: ++ add_env['CATKIN_SETUP_DIR'] = os.path.join(destdir, installspace[1:]) ++ return add_env ++ ++ + def build_cmake_package( + path, package, + workspace, buildspace, develspace, installspace, +- install, force_cmake, quiet, last_env, cmake_args, make_args ++ install, force_cmake, quiet, last_env, cmake_args, make_args, ++ destdir=None + ): + # Notify the user that we are processing a plain cmake package + cprint( +@@ -496,19 +513,21 @@ def build_package( + path, package, + workspace, buildspace, develspace, installspace, + install, force_cmake, quiet, last_env, cmake_args, make_args, catkin_make_args, ++ destdir=None, + number=None, of=None + ): + if platform.system() in ['Linux', 'Darwin']: + status_msg = '{package_name} [{number} of {total}]'.format(package_name=package.name, number=number, total=of) + sys.stdout.write("\x1b]2;" + status_msg + "\x07") + cprint('@!@{gf}==>@| ', end='') +- new_last_env = get_new_env(package, develspace, installspace, install, last_env) ++ new_last_env = get_new_env(package, develspace, installspace, install, last_env, destdir) + build_type = _get_build_type(package) + if build_type == 'catkin': + build_catkin_package( + path, package, + workspace, buildspace, develspace, installspace, +- install, force_cmake, quiet, last_env, cmake_args, make_args + catkin_make_args ++ install, force_cmake, quiet, last_env, cmake_args, make_args + catkin_make_args, ++ destdir=destdir + ) + if not os.path.exists(new_last_env): + raise RuntimeError( +@@ -521,7 +540,8 @@ def build_package( + build_cmake_package( + path, package, + workspace, buildspace, develspace, installspace, +- install, force_cmake, quiet, last_env, cmake_args, make_args ++ install, force_cmake, quiet, last_env, cmake_args, make_args, ++ destdir=destdir + ) + else: + sys.exit('Can not build package with unknown build_type') +@@ -534,7 +554,7 @@ def build_package( + return new_last_env + + +-def get_new_env(package, develspace, installspace, install, last_env): ++def get_new_env(package, develspace, installspace, install, last_env, destdir=None): + new_env = None + build_type = _get_build_type(package) + if build_type in ['catkin', 'cmake']: +@@ -542,6 +562,8 @@ def get_new_env(package, develspace, installspace, install, last_env): + installspace if install else develspace, + 'env.sh' + ) ++ if destdir is not None: ++ new_env = os.path.join(destdir, new_env[1:]) + return new_env + + +@@ -572,7 +594,8 @@ def build_workspace_isolated( + cmake_args=None, + make_args=None, + catkin_make_args=None, +- continue_from_pkg=False ++ continue_from_pkg=False, ++ destdir=None + ): + ''' + Runs ``cmake``, ``make`` and optionally ``make install`` for all +@@ -603,6 +626,7 @@ def build_workspace_isolated( + packages, ``[str]`` + :param continue_from_pkg: indicates whether or not cmi should continue + when a package is reached, ``bool`` ++ :param destdir: define DESTDIR for cmake/invocation, ``string`` + ''' + if not colorize: + disable_ANSI_colors() +@@ -738,6 +762,7 @@ def build_workspace_isolated( + workspace, buildspace, pkg_develspace, installspace, + install, force_cmake or (install_toggled and is_cmake_package), + quiet, last_env, cmake_args, make_args, catkin_make_args, ++ destdir=destdir, + number=index + 1, of=len(ordered_packages) + ) + except subprocess.CalledProcessError as e: +@@ -758,7 +783,7 @@ def build_workspace_isolated( + sys.exit('Command failed, exiting.') + else: + cprint("Skipping package: '@!@{bf}" + package.name + "@|'") +- last_env = get_new_env(package, pkg_develspace, installspace, install, last_env) ++ last_env = get_new_env(package, pkg_develspace, installspace, install, last_env, destdir) + + # Provide a top level devel space environment setup script + if not os.path.exists(develspace): +@@ -793,7 +818,6 @@ def build_workspace_isolated( + 'CATKIN_GLOBAL_LIB_DESTINATION': 'lib', + 'CMAKE_PREFIX_PATH_AS_IS': ';'.join(os.environ['CMAKE_PREFIX_PATH'].split(os.pathsep)), + 'PYTHON_INSTALL_DIR': get_python_install_dir(), +- 'SETUP_DIR': '', + } + with open(generated_setup_util_py, 'w') as f: + f.write(configure_file(os.path.join(get_cmake_path(), 'templates', '_setup_util.py.in'), variables)) +@@ -802,7 +826,6 @@ def build_workspace_isolated( + sys.exit("Unable to process CMAKE_PREFIX_PATH from environment. Cannot generate environment files.") + + variables = { +- 'SETUP_DIR': develspace, + 'SETUP_FILENAME': 'setup' + } + with open(generated_env_sh, 'w') as f: +-- +1.8.1.6 + diff --git a/recipes-ros/catkin/catkin_0.5.71.bb b/recipes-ros/catkin/catkin_0.5.71.bb index 66c6a0bacb36b8e0d9bc340928e33bcb5f74c52c..9621ccf3efc63196b7548c53b2bedc2f13132d06 100644 --- a/recipes-ros/catkin/catkin_0.5.71.bb +++ b/recipes-ros/catkin/catkin_0.5.71.bb @@ -3,13 +3,15 @@ SECTION = "devel" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://package.xml;beginline=7;endline=7;md5=d566ef916e9dedc494f5f793a6690ba5" -DEPENDS = "cmake python-empy python-catkin-pkg python-empy-native python-catkin-pkg-native" +PR = "r1" +DEPENDS = "cmake python-empy python-catkin-pkg python-empy-native python-catkin-pkg-native" SRC_URI = "https://github.com/ros/${ROS_SPN}/archive/${PV}.tar.gz;downloadfilename=${ROS_SP}.tar.gz" SRC_URI[md5sum] = "1c30ac4fcc82ce2aedf610ea972ab4d2" SRC_URI[sha256sum] = "2494dbe3446fe94a55f57c74260e072f97d72944d89610fe4994dbc79cf1a561" +SRC_URI += "file://0001-modify-logic-of-sourcing-env-hooks-to-provide-contex.patch" SRC_URI += "file://0001-CATKIN_WORKSPACES-Don-t-require-.catkin-file.patch" inherit catkin