Started by user Admin Building remotely on build client 1 (slave buildslave indigo_devel_default) in workspace /home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source [ssh-agent] Looking for ssh-agent implementation... [ssh-agent] Exec ssh-agent (binary ssh-agent on a remote machine) $ ssh-agent SSH_AUTH_SOCK=/tmp/ssh-ukd9U985mgTV/agent.16727 SSH_AGENT_PID=16729 [ssh-agent] Started. $ ssh-add /home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source@tmp/private_key_2794632503973586000.key Identity added: /home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source@tmp/private_key_2794632503973586000.key (/home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source@tmp/private_key_2794632503973586000.key) [ssh-agent] Using credentials jenkins-slave # BEGIN SECTION: Check free disk space Usable disk space = 55394656256 bytes Free space threshold = 5368709120 bytes # END SECTION [Ksrc_uX__steering_functions__ubuntu_xenial__source] $ /bin/sh -xe /tmp/hudson9075436368702047842.sh + echo # BEGIN SECTION: docker version # BEGIN SECTION: docker version + docker version Client: Version: 1.9.1 API version: 1.21 Go version: go1.4.2 Git commit: a34a1d5 Built: Fri Nov 20 13:12:04 UTC 2015 OS/Arch: linux/amd64 Server: Version: 1.9.1 API version: 1.21 Go version: go1.4.2 Git commit: a34a1d5 Built: Fri Nov 20 13:12:04 UTC 2015 OS/Arch: linux/amd64 + echo # END SECTION # END SECTION + echo # BEGIN SECTION: docker info # BEGIN SECTION: docker info + docker info Containers: 175 Images: 2028 Server Version: 1.9.1 Storage Driver: aufs Root Dir: /var/lib/docker/aufs Backing Filesystem: extfs Dirs: 2610 Dirperm1 Supported: false Execution Driver: native-0.2 Logging Driver: json-file Kernel Version: 3.13.0-29-generic Operating System: Ubuntu 14.04 LTS CPUs: 2 Total Memory: 3.861 GiB Name: lcas-buildfarm-slave-2 ID: LZSS:PF7G:CREH:TEQW:FH57:3M6D:KCSS:ODQY:SPHA:ND7A:FHYG:PNDE WARNING: No swap limit support + echo # END SECTION # END SECTION [Ksrc_uX__steering_functions__ubuntu_xenial__source] $ /bin/sh -xe /tmp/hudson3027927819998481967.sh + echo # BEGIN SECTION: Check docker status # BEGIN SECTION: Check docker status + echo Testing trivial docker invocation... Testing trivial docker invocation... + docker run --rm ubuntu:xenial true + echo 'docker run' returned 0 'docker run' returned 0 docker seems operational, continuing [Ksrc_uX__steering_functions__ubuntu_xenial__source] $ /bin/sh -xe /tmp/hudson6321529253101893734.sh + echo # END SECTION # END SECTION [Ksrc_uX__steering_functions__ubuntu_xenial__source] $ /bin/sh -xe /tmp/hudson7270531923512130489.sh + echo # BEGIN SECTION: Embed wrapper scripts # BEGIN SECTION: Embed wrapper scripts + rm -fr wrapper_scripts + mkdir wrapper_scripts + printf #!/usr/bin/env python3\n\n# Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the "License");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an "AS IS" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert "Command '%%s' not implemented" %% command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print("Reinvoke 'git %%s' (%%d/%%d) after sleeping %%s seconds" %%\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print("Invoking '%%s'" %% ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main()) + echo # END SECTION # END SECTION [Ksrc_uX__steering_functions__ubuntu_xenial__source] $ /bin/sh -xe /tmp/hudson284287210333772965.sh + echo # BEGIN SECTION: Clone ros_buildfarm # BEGIN SECTION: Clone ros_buildfarm + rm -fr ros_buildfarm + python3 -u wrapper_scripts/git.py clone --depth 1 -b master https://github.com/lcas/ros_buildfarm.git ros_buildfarm Invoking 'git clone --depth 1 -b master https://github.com/lcas/ros_buildfarm.git ros_buildfarm' Cloning into 'ros_buildfarm'... + git -C ros_buildfarm --no-pager log -n 1 commit ab95b278101e21e7fce81180384f7861667352b1 Author: Marc Hanheide Date: Thu Apr 19 18:30:41 2018 +0100 added gcc and build-essential + rm -fr ros_buildfarm/.git + rm -fr ros_buildfarm/doc + echo # END SECTION # END SECTION [Ksrc_uX__steering_functions__ubuntu_xenial__source] $ /bin/sh -xe /tmp/hudson2868445344340240885.sh + echo # BEGIN SECTION: Write PGP repository keys # BEGIN SECTION: Write PGP repository keys + mkdir -p /home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source/keys + rm -fr /home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source/keys/0.key /home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source/keys/1.key + echo -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1.4.11 (GNU/Linux) mQENBFPzE4sBCAC9c8hzt+gqe6YqXAW9Yd10jx68M0q8IowAe182yVtIvYf5l+qn MsXiDUz4l7c1TcRpdzZ1WwEQoNNjQKq51ip2Ln3Uhri/GsPBk+psIJPt5AeXYrSf xcDs8k4FMWgJtYMlZLuNk1YPaS6Vf1+Ygbe0u+ssORWg3cWhgLWPDydXdlhinUgw kPd9ZYi8aaAxi94DMuOnAjItfPbuX52NHmPR2cXuh3fZklhA6cCGRYkSVqijKhEv /o8fTnjcTama8ml5jnaAhcZ/4UV3terLeXEQn3+WM+VbTsEr58zca5fOv8MjC+Uh EBgDgnHb8/n7OgSUvv9efQgYXBRQ1mD//JaZABEBAAG0LE1hcmMgSGFuaGVpZGUg KFJPU0J1aWxkKSA8bWFyY0BoYW5oZWlkZS5uZXQ+iQE4BBMBAgAiBQJT8xOLAhsD BgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRDc10MYrtOYVB9cCACQwB9auPEX yQdVwliJMLwVihKz0AU0UCG6qra2pdXx9l5kgkQCuDV5FQqMpk/MIJPn8Zj0l1MI 7Yn/EAqBhXjtO2BcTuUC/9epzt1p3C++vK7RSsBDXfKzZN22apIUT0njOkL9Vuoy JjFetmLDaZVbmFU+4ZaX3CFtBL3ewlFiT7G6StKj40JI8QJOlDOziX2OUsqZaI2T Yh681980od3f2OfV3LPVroz7xnyECDfBaPBPaDdb8XWSNVLhuyglb15eewK0hj++ Cut3swWH02Y3yVhzFBnosqqjyzPLBQeDMOoHAPpJHRgprfIRDoUkWAXO5re3GIUQ cvk0d1I1jh3luQENBFPzE4sBCACmSxiM1vpPI7BpgUNAhu0B8SWptULpiYOnDHfM hU1u95Z5Lu/hy3sfm4BEKgLju7Y1I3jToWTwJJzgWZRr+iuuwj3fbfHCISYIK7f3 IWGL2iM2+kLIH6E9oqRgGbJmhiwbz6OokxG0W7atdqpBxOKqhaH0AH3qRicwnuPm Z4/mNHYQ0vBffENewujn1bCAz4C1WB66/AXBYF8dpCP42qB5yK7FRNv4JubMmqhK 7fkD88uu7JVGRYU+temWuJHH4WDxiCmvK8nXacFaZT1NGdTL9/2EukKLguTtZumb oRWgFqV6WFcEnh/V/Ma51D2+K9QbCWa8Bb6c/wKOd9Ii1aDZABEBAAGJAR8EGAEC AAkFAlPzE4sCGwwACgkQ3NdDGK7TmFT2rwf+MzLFPn4Rkko38nctysbXm6qmk34U NTtqirOlxg3mWeUCp7VQGU2Rg2msdo764SxCK12OhJqlXGMd2efCoQhYbMOqG6C0 ikBZPkd5BVFuTKsAUiuVoiQd8bDaZSpO2QdE0RdHE/yYfO66pceEKkGlcjkTRFFU M7nTm7IQj4BBZclMLPr4fX520ZOVUepxAARMHW5A6EcHXvhXmblZOJM36fOv3T5N l9L5tWdt/wybaRE4xuwVSs0n7MyMlWmkQxz8Z6OQscbKmuI4tcYSbvvB5tzjLBwZ Chb0eEZA5ePvnGofu+3JH48FmCIPveD+4kI9GhtGkCL3Q2PiPiLcSnWQWQ== =nFcN -----END PGP PUBLIC KEY BLOCK----- + echo -----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v1 mQGiBEsy5KkRBADJbDSISoamRM5AA20bfAeBuhhaI+VaiCVcxw90sq9AI5lIc42F WzM2acm8yplqWiehAqOLKd+iIrqNGZ+VavZEPTx7o06UZUMRoPBiTFaCwrQ5avKz lt7ij8PRMVWNrJ7A2lDYXfFQVV1o3Xo06qVnv0KLLUmiur0LBu4H/oTH3wCgt+/I D3LUKaMJsc77KwFBTjHB0EsD/26Z2Ud12f3urSNyN6VMWnP3rz6xsmtY4Qsmkbnr JuduxCQBZv6bX1Cr2ulXkv0fFOr+s5OyUv7zyCPbxiJFh3Br7fJGb0b5/M208KPe giITY9hMh/aUbKjXCPoOXPxSL6SWOWV8taR6903EFyLBN0qno/kXIBKnVqBZobgn jIEPA/0fTnxtZtE7EpirGQMF2caJfv7/LCgXmRs9xAhgbE0/caoa1tnc79uaHmLZ FtbGFoAO31YNYM/IUHtmabbGdvZ4oYUwDhjBevVvC7aI+XhuNGK5mU8qCLLSEUOl CUr6BJq/0iFmjwjmwk9idZEYhqSNy2OoYJbq45rbHfbdKLEVrbQeUk9TIEJ1aWxk ZXIgPHJvc2J1aWxkQHJvcy5vcmc+iGAEExECACAFAksy5KkCGwMGCwkIBwMCBBUC CAMEFgIDAQIeAQIXgAAKCRBVI7rusB+hFmk7AJ0XsLp05KA8l3YzAumZfjSN04MZ jQCfQHfp4aQUXdOCUtetVo0QZUX3IuO5Ag0ESzLkrhAIAOCuSC83VXYWf8gOMSzd xwpsH/uLV9Wze2LGnajsJLjEOhcsz2BHfxqNXhYaE9aQaodPCpbUAkPq8tLbpXy0 SWRCx0F5RcplXx5vIWbP6TlfPbRpK70w7IWd6vsNrjwEHjlhOLcNcj42sp5pgx4b dceK06k5Ml2hYovPnD9o2TYgjOqg5FHZ2g1J0103n/66bN/hZnpLaZJYQiPWCyq6 K0565i1k2Y7hgWB/OXqwaqCehqmLTvpyQGzE1UJvKLuYU+T+4hBnSPbT3KIi5fCz lIwvxijOMcfbkLhzYQXcU0Rd1VItcd5nmPL4z97jBxzuhkgxXpGR4WGKhvsA2Z9Y UtsAAwYH/3Bf44bTpD9bVADUdab3e7zm8iHfh9K/a83mIgDB7mHV6WuemQVTf/1d eu4mI5WtpbOCoucybGfjGIIAcSxwIx6VfC7HSp4J51bOpHhbdDffUEk6QVsZjwoF yn3W9W3ZVeTI+ch/Qoo5a98SnmdjN8eXI/qCuiXOHc6rXDXc2R0iox/1EAS8xGVd cYZe7IWBO2CjCknyhLrWxZHoy+i1GCZ9KvPF/Ef2dmLhCydT73ZlumsY8N5vm76Q ul1G7f8LNbnMgXQafRkPffrAXSVhGY3Z2IiBwFNgxcKTq479l7yedYRGeU1A+SYI YmRFWHXt3rTkMlQSpxCsB0fAYfrwEqqISQQYEQIACQUCSzLkrgIbDAAKCRBVI7ru sB+hFpryAJ9qNz3h3ijt9TkAV0CHufsPT6Cl4gCglfg7tJn2lsSF3HTpoDDO1Fgg x9o= =AGYp -----END PGP PUBLIC KEY BLOCK----- + echo # END SECTION # END SECTION [Ksrc_uX__steering_functions__ubuntu_xenial__source] $ /bin/sh -xe /tmp/hudson4409949167216304861.sh + rm -fr /home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source/docker_sourcedeb + mkdir -p /home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source/docker_sourcedeb + sleep 1 + python3 -u /home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source/ros_buildfarm/scripts/subprocess_reaper.py 16827 --cid-file /home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source/docker_sourcedeb/docker.cid + echo # BEGIN SECTION: Generate Dockerfile - sourcedeb task # BEGIN SECTION: Generate Dockerfile - sourcedeb task + export TZ=GMT+00 + export PYTHONPATH=/home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source/ros_buildfarm: + python3 -u /home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source/ros_buildfarm/scripts/release/run_sourcedeb_job.py --rosdistro-index-url https://raw.githubusercontent.com/LCAS/rosdistro/master/index.yaml kinetic steering_functions ubuntu xenial --distribution-repository-urls http://10.210.9.154/ubuntu/building http://packages.ros.org/ros/ubuntu --distribution-repository-key-files /home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source/keys/0.key /home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source/keys/1.key --source-dir /home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source/sourcedeb/source --dockerfile-dir /home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source/docker_sourcedeb Using the following distribution repositories: http://10.210.9.154/ubuntu/building (/home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source/keys/0.key) http://packages.ros.org/ros/ubuntu (/home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source/keys/1.key) Generating Dockerfile '/home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source/docker_sourcedeb/Dockerfile': # generated from release/sourcedeb_task.Dockerfile.em FROM ubuntu:xenial VOLUME ["/var/cache/apt/archives"] ENV DEBIAN_FRONTEND noninteractive RUN for i in 1 2 3; do apt-get update && apt-get install -q -y locales && apt-get clean && break || if [[ $i < 3 ]]; then sleep 5; else false; fi; done RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen RUN locale-gen en_US.UTF-8 ENV LANG en_US.UTF-8 ENV TZ GMT+00 RUN useradd -u 1002 -m buildfarm RUN mkdir /tmp/keys RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1.4.11 (GNU/Linux)\n\nmQENBFPzE4sBCAC9c8hzt+gqe6YqXAW9Yd10jx68M0q8IowAe182yVtIvYf5l+qn\nMsXiDUz4l7c1TcRpdzZ1WwEQoNNjQKq51ip2Ln3Uhri/GsPBk+psIJPt5AeXYrSf\nxcDs8k4FMWgJtYMlZLuNk1YPaS6Vf1+Ygbe0u+ssORWg3cWhgLWPDydXdlhinUgw\nkPd9ZYi8aaAxi94DMuOnAjItfPbuX52NHmPR2cXuh3fZklhA6cCGRYkSVqijKhEv\n/o8fTnjcTama8ml5jnaAhcZ/4UV3terLeXEQn3+WM+VbTsEr58zca5fOv8MjC+Uh\nEBgDgnHb8/n7OgSUvv9efQgYXBRQ1mD//JaZABEBAAG0LE1hcmMgSGFuaGVpZGUg\nKFJPU0J1aWxkKSA8bWFyY0BoYW5oZWlkZS5uZXQ+iQE4BBMBAgAiBQJT8xOLAhsD\nBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRDc10MYrtOYVB9cCACQwB9auPEX\nyQdVwliJMLwVihKz0AU0UCG6qra2pdXx9l5kgkQCuDV5FQqMpk/MIJPn8Zj0l1MI\n7Yn/EAqBhXjtO2BcTuUC/9epzt1p3C++vK7RSsBDXfKzZN22apIUT0njOkL9Vuoy\nJjFetmLDaZVbmFU+4ZaX3CFtBL3ewlFiT7G6StKj40JI8QJOlDOziX2OUsqZaI2T\nYh681980od3f2OfV3LPVroz7xnyECDfBaPBPaDdb8XWSNVLhuyglb15eewK0hj++\nCut3swWH02Y3yVhzFBnosqqjyzPLBQeDMOoHAPpJHRgprfIRDoUkWAXO5re3GIUQ\ncvk0d1I1jh3luQENBFPzE4sBCACmSxiM1vpPI7BpgUNAhu0B8SWptULpiYOnDHfM\nhU1u95Z5Lu/hy3sfm4BEKgLju7Y1I3jToWTwJJzgWZRr+iuuwj3fbfHCISYIK7f3\nIWGL2iM2+kLIH6E9oqRgGbJmhiwbz6OokxG0W7atdqpBxOKqhaH0AH3qRicwnuPm\nZ4/mNHYQ0vBffENewujn1bCAz4C1WB66/AXBYF8dpCP42qB5yK7FRNv4JubMmqhK\n7fkD88uu7JVGRYU+temWuJHH4WDxiCmvK8nXacFaZT1NGdTL9/2EukKLguTtZumb\noRWgFqV6WFcEnh/V/Ma51D2+K9QbCWa8Bb6c/wKOd9Ii1aDZABEBAAGJAR8EGAEC\nAAkFAlPzE4sCGwwACgkQ3NdDGK7TmFT2rwf+MzLFPn4Rkko38nctysbXm6qmk34U\nNTtqirOlxg3mWeUCp7VQGU2Rg2msdo764SxCK12OhJqlXGMd2efCoQhYbMOqG6C0\nikBZPkd5BVFuTKsAUiuVoiQd8bDaZSpO2QdE0RdHE/yYfO66pceEKkGlcjkTRFFU\nM7nTm7IQj4BBZclMLPr4fX520ZOVUepxAARMHW5A6EcHXvhXmblZOJM36fOv3T5N\nl9L5tWdt/wybaRE4xuwVSs0n7MyMlWmkQxz8Z6OQscbKmuI4tcYSbvvB5tzjLBwZ\nChb0eEZA5ePvnGofu+3JH48FmCIPveD+4kI9GhtGkCL3Q2PiPiLcSnWQWQ==\n=nFcN\n-----END PGP PUBLIC KEY BLOCK----- \n" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQGiBEsy5KkRBADJbDSISoamRM5AA20bfAeBuhhaI+VaiCVcxw90sq9AI5lIc42F\nWzM2acm8yplqWiehAqOLKd+iIrqNGZ+VavZEPTx7o06UZUMRoPBiTFaCwrQ5avKz\nlt7ij8PRMVWNrJ7A2lDYXfFQVV1o3Xo06qVnv0KLLUmiur0LBu4H/oTH3wCgt+/I\nD3LUKaMJsc77KwFBTjHB0EsD/26Z2Ud12f3urSNyN6VMWnP3rz6xsmtY4Qsmkbnr\nJuduxCQBZv6bX1Cr2ulXkv0fFOr+s5OyUv7zyCPbxiJFh3Br7fJGb0b5/M208KPe\ngiITY9hMh/aUbKjXCPoOXPxSL6SWOWV8taR6903EFyLBN0qno/kXIBKnVqBZobgn\njIEPA/0fTnxtZtE7EpirGQMF2caJfv7/LCgXmRs9xAhgbE0/caoa1tnc79uaHmLZ\nFtbGFoAO31YNYM/IUHtmabbGdvZ4oYUwDhjBevVvC7aI+XhuNGK5mU8qCLLSEUOl\nCUr6BJq/0iFmjwjmwk9idZEYhqSNy2OoYJbq45rbHfbdKLEVrbQeUk9TIEJ1aWxk\nZXIgPHJvc2J1aWxkQHJvcy5vcmc+iGAEExECACAFAksy5KkCGwMGCwkIBwMCBBUC\nCAMEFgIDAQIeAQIXgAAKCRBVI7rusB+hFmk7AJ0XsLp05KA8l3YzAumZfjSN04MZ\njQCfQHfp4aQUXdOCUtetVo0QZUX3IuO5Ag0ESzLkrhAIAOCuSC83VXYWf8gOMSzd\nxwpsH/uLV9Wze2LGnajsJLjEOhcsz2BHfxqNXhYaE9aQaodPCpbUAkPq8tLbpXy0\nSWRCx0F5RcplXx5vIWbP6TlfPbRpK70w7IWd6vsNrjwEHjlhOLcNcj42sp5pgx4b\ndceK06k5Ml2hYovPnD9o2TYgjOqg5FHZ2g1J0103n/66bN/hZnpLaZJYQiPWCyq6\nK0565i1k2Y7hgWB/OXqwaqCehqmLTvpyQGzE1UJvKLuYU+T+4hBnSPbT3KIi5fCz\nlIwvxijOMcfbkLhzYQXcU0Rd1VItcd5nmPL4z97jBxzuhkgxXpGR4WGKhvsA2Z9Y\nUtsAAwYH/3Bf44bTpD9bVADUdab3e7zm8iHfh9K/a83mIgDB7mHV6WuemQVTf/1d\neu4mI5WtpbOCoucybGfjGIIAcSxwIx6VfC7HSp4J51bOpHhbdDffUEk6QVsZjwoF\nyn3W9W3ZVeTI+ch/Qoo5a98SnmdjN8eXI/qCuiXOHc6rXDXc2R0iox/1EAS8xGVd\ncYZe7IWBO2CjCknyhLrWxZHoy+i1GCZ9KvPF/Ef2dmLhCydT73ZlumsY8N5vm76Q\nul1G7f8LNbnMgXQafRkPffrAXSVhGY3Z2IiBwFNgxcKTq479l7yedYRGeU1A+SYI\nYmRFWHXt3rTkMlQSpxCsB0fAYfrwEqqISQQYEQIACQUCSzLkrgIbDAAKCRBVI7ru\nsB+hFpryAJ9qNz3h3ijt9TkAV0CHufsPT6Cl4gCglfg7tJn2lsSF3HTpoDDO1Fgg\nx9o=\n=AGYp\n-----END PGP PUBLIC KEY BLOCK-----\n" > /tmp/keys/1.key && apt-key add /tmp/keys/1.key RUN echo deb http://10.210.9.154/ubuntu/building xenial main | tee -a /etc/apt/sources.list.d/buildfarm.list RUN echo deb http://packages.ros.org/ros/ubuntu xenial main | tee -a /etc/apt/sources.list.d/buildfarm.list RUN mkdir /tmp/wrapper_scripts RUN echo "#!/usr/bin/env python3\n\n# Copyright 2014-2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Failed to fetch',\n 'Hash Sum mismatch',\n 'Unable to locate package',\n 'is not what the server reported',\n ]\n\n command = argv[0]\n if command in ['update', 'source']:\n rc, _, _ = call_apt_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n elif command == 'update-install-clean':\n return call_apt_update_install_clean(\n argv[1:], known_error_strings, max_tries)\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_apt_update_install_clean(\n install_argv, known_error_strings, max_tries):\n tries = 0\n command = 'update'\n while tries < max_tries:\n if command == 'update':\n rc, _, tries = call_apt_repeatedly(\n [command], known_error_strings, max_tries - tries,\n offset=tries)\n if rc != 0:\n # abort if update was unsuccessful even after retries\n break\n # move on to the install command if update was successful\n command = 'install'\n\n if command == 'install':\n # any call is considered a try\n tries += 1\n known_error_strings_redo_update = [\n 'Size mismatch',\n 'maybe run apt update',\n 'The following packages cannot be authenticated!',\n 'Unable to locate package',\n ]\n rc, known_error_conditions = \\\\\n call_apt(\n [command] + install_argv,\n known_error_strings + known_error_strings_redo_update)\n if not known_error_conditions:\n if rc != 0:\n # abort if install was unsuccessful\n break\n # move on to the clean command if install was successful\n command = 'clean'\n continue\n\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n # check if update needs to be rerun\n if (\n set(known_error_conditions) &\n set(known_error_strings_redo_update)\n ):\n command = 'update'\n print(\"'apt install' failed and likely requires \" +\n \"'apt update' to run again\")\n # retry with update command\n continue\n\n print('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\n if tries < max_tries:\n sleep_time = 5\n print(\"Reinvoke 'apt install' after sleeping %s seconds\" %\n sleep_time)\n sleep(sleep_time)\n # retry install command\n\n if command == 'clean':\n rc, _ = call_apt([command], [])\n break\n\n return rc\n\n\ndef call_apt_repeatedly(argv, known_error_strings, max_tries, offset=0):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * (i + offset)\n print(\"Reinvoke 'apt %s' (%d/%d) after sleeping %s seconds\" %\n (command, i + offset, max_tries + offset, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_apt(argv, known_error_strings)\n if not known_error_conditions:\n # break the loop and return the reported rc\n break\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i + offset\n\n\ndef call_apt(argv, known_error_strings):\n known_error_conditions = []\n\n # some of the used options are not supported in older distros\n # e.g. Ubuntu Wily, Debian Jessie\n cmd = ['apt-get'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n lines = []\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n lines.append(line)\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n if rc and not known_error_conditions:\n print('Invocation failed without any known error condition, '\n 'printing all lines to debug known error detection:')\n for index, line in enumerate(lines):\n print(' ', index + 1, \"'%s'\" % line.rstrip('\\\\n\\\\r'))\n print('None of the following known errors were detected:')\n for index, known_error_string in enumerate(known_error_strings):\n print(' ', index + 1, \"'%s'\" % known_error_string)\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/apt.py RUN echo "#!/usr/bin/env python3\n\n# Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print(\"Reinvoke 'git %s' (%d/%d) after sleeping %s seconds\" %\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/git.py # automatic invalidation once every day RUN echo "2018-04-27 (+0000)" RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [[ $i < 3 ]]; then sleep 5; else false; fi; done RUN python3 -u /tmp/wrapper_scripts/apt.py update-install-clean -q -y debhelper dpkg dpkg-dev git git-buildpackage python3-catkin-pkg-modules python3-rosdistro-modules python3-yaml COPY .git-credentials /home/buildfarm/.git-credentials RUN chmod 600 /home/buildfarm/.git-credentials RUN chown buildfarm /home/buildfarm/.git-credentials USER buildfarm RUN git config --global credential.helper 'store' RUN git config --global http.sslVerify false ENTRYPOINT ["sh", "-c"] CMD ["PYTHONPATH=/tmp/ros_buildfarm:$PYTHONPATH python3 -u /tmp/ros_buildfarm/scripts/release/get_sources.py --rosdistro-index-url https://raw.githubusercontent.com/LCAS/rosdistro/master/index.yaml kinetic steering_functions ubuntu xenial http://10.210.9.154/ubuntu/building http://packages.ros.org/ros/ubuntu --source-dir /tmp/sourcedeb/source && PYTHONPATH=/tmp/ros_buildfarm:$PYTHONPATH python3 -u /tmp/ros_buildfarm/scripts/release/build_sourcedeb.py ubuntu xenial --source-dir /tmp/sourcedeb/source"] + echo # END SECTION # END SECTION + echo # BEGIN SECTION: Build Dockerfile - generate sourcedeb # BEGIN SECTION: Build Dockerfile - generate sourcedeb + cd /home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source/docker_sourcedeb + cp -L **** /home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source/docker_sourcedeb/.git-credentials + python3 -u /home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source/ros_buildfarm/scripts/misc/docker_pull_baseimage.py Get base image name from Dockerfile 'Dockerfile': ubuntu:xenial Check docker base image for updates: docker pull ubuntu:xenial xenial: Pulling from library/ubuntu Digest: sha256:49887e99ee73786fcfa8ef921cfe24c5dcf66ecf75678f9f6d54c3940c2c995b Status: Image is up to date for ubuntu:xenial + docker build --force-rm -t sourcedeb.kinetic_ubuntu_xenial_steering_functions . Sending build context to Docker daemon 18.43 kB Sending build context to Docker daemon 18.43 kB Step 1 : FROM ubuntu:xenial ---> 6c6079a98c0d Step 2 : VOLUME /var/cache/apt/archives ---> Using cache ---> 29375a6cb748 Step 3 : ENV DEBIAN_FRONTEND noninteractive ---> Using cache ---> ba9d87c10630 Step 4 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y locales && apt-get clean && break || if [[ $i < 3 ]]; then sleep 5; else false; fi; done ---> Using cache ---> 23ce3a8086ec Step 5 : RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen ---> Using cache ---> 668c9b51f9da Step 6 : RUN locale-gen en_US.UTF-8 ---> Using cache ---> 009bd0654957 Step 7 : ENV LANG en_US.UTF-8 ---> Using cache ---> f7acade873bd Step 8 : ENV TZ GMT+00 ---> Using cache ---> e9cdc1c53b8f Step 9 : RUN useradd -u 1002 -m buildfarm ---> Using cache ---> 1bf51e87544d Step 10 : RUN mkdir /tmp/keys ---> Using cache ---> 4a9ab9894696 Step 11 : RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1.4.11 (GNU/Linux)\n\nmQENBFPzE4sBCAC9c8hzt+gqe6YqXAW9Yd10jx68M0q8IowAe182yVtIvYf5l+qn\nMsXiDUz4l7c1TcRpdzZ1WwEQoNNjQKq51ip2Ln3Uhri/GsPBk+psIJPt5AeXYrSf\nxcDs8k4FMWgJtYMlZLuNk1YPaS6Vf1+Ygbe0u+ssORWg3cWhgLWPDydXdlhinUgw\nkPd9ZYi8aaAxi94DMuOnAjItfPbuX52NHmPR2cXuh3fZklhA6cCGRYkSVqijKhEv\n/o8fTnjcTama8ml5jnaAhcZ/4UV3terLeXEQn3+WM+VbTsEr58zca5fOv8MjC+Uh\nEBgDgnHb8/n7OgSUvv9efQgYXBRQ1mD//JaZABEBAAG0LE1hcmMgSGFuaGVpZGUg\nKFJPU0J1aWxkKSA8bWFyY0BoYW5oZWlkZS5uZXQ+iQE4BBMBAgAiBQJT8xOLAhsD\nBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRDc10MYrtOYVB9cCACQwB9auPEX\nyQdVwliJMLwVihKz0AU0UCG6qra2pdXx9l5kgkQCuDV5FQqMpk/MIJPn8Zj0l1MI\n7Yn/EAqBhXjtO2BcTuUC/9epzt1p3C++vK7RSsBDXfKzZN22apIUT0njOkL9Vuoy\nJjFetmLDaZVbmFU+4ZaX3CFtBL3ewlFiT7G6StKj40JI8QJOlDOziX2OUsqZaI2T\nYh681980od3f2OfV3LPVroz7xnyECDfBaPBPaDdb8XWSNVLhuyglb15eewK0hj++\nCut3swWH02Y3yVhzFBnosqqjyzPLBQeDMOoHAPpJHRgprfIRDoUkWAXO5re3GIUQ\ncvk0d1I1jh3luQENBFPzE4sBCACmSxiM1vpPI7BpgUNAhu0B8SWptULpiYOnDHfM\nhU1u95Z5Lu/hy3sfm4BEKgLju7Y1I3jToWTwJJzgWZRr+iuuwj3fbfHCISYIK7f3\nIWGL2iM2+kLIH6E9oqRgGbJmhiwbz6OokxG0W7atdqpBxOKqhaH0AH3qRicwnuPm\nZ4/mNHYQ0vBffENewujn1bCAz4C1WB66/AXBYF8dpCP42qB5yK7FRNv4JubMmqhK\n7fkD88uu7JVGRYU+temWuJHH4WDxiCmvK8nXacFaZT1NGdTL9/2EukKLguTtZumb\noRWgFqV6WFcEnh/V/Ma51D2+K9QbCWa8Bb6c/wKOd9Ii1aDZABEBAAGJAR8EGAEC\nAAkFAlPzE4sCGwwACgkQ3NdDGK7TmFT2rwf+MzLFPn4Rkko38nctysbXm6qmk34U\nNTtqirOlxg3mWeUCp7VQGU2Rg2msdo764SxCK12OhJqlXGMd2efCoQhYbMOqG6C0\nikBZPkd5BVFuTKsAUiuVoiQd8bDaZSpO2QdE0RdHE/yYfO66pceEKkGlcjkTRFFU\nM7nTm7IQj4BBZclMLPr4fX520ZOVUepxAARMHW5A6EcHXvhXmblZOJM36fOv3T5N\nl9L5tWdt/wybaRE4xuwVSs0n7MyMlWmkQxz8Z6OQscbKmuI4tcYSbvvB5tzjLBwZ\nChb0eEZA5ePvnGofu+3JH48FmCIPveD+4kI9GhtGkCL3Q2PiPiLcSnWQWQ==\n=nFcN\n-----END PGP PUBLIC KEY BLOCK----- \n" > /tmp/keys/0.key && apt-key add /tmp/keys/0.key ---> Using cache ---> bbab94291d42 Step 12 : RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: GnuPG v1\n\nmQGiBEsy5KkRBADJbDSISoamRM5AA20bfAeBuhhaI+VaiCVcxw90sq9AI5lIc42F\nWzM2acm8yplqWiehAqOLKd+iIrqNGZ+VavZEPTx7o06UZUMRoPBiTFaCwrQ5avKz\nlt7ij8PRMVWNrJ7A2lDYXfFQVV1o3Xo06qVnv0KLLUmiur0LBu4H/oTH3wCgt+/I\nD3LUKaMJsc77KwFBTjHB0EsD/26Z2Ud12f3urSNyN6VMWnP3rz6xsmtY4Qsmkbnr\nJuduxCQBZv6bX1Cr2ulXkv0fFOr+s5OyUv7zyCPbxiJFh3Br7fJGb0b5/M208KPe\ngiITY9hMh/aUbKjXCPoOXPxSL6SWOWV8taR6903EFyLBN0qno/kXIBKnVqBZobgn\njIEPA/0fTnxtZtE7EpirGQMF2caJfv7/LCgXmRs9xAhgbE0/caoa1tnc79uaHmLZ\nFtbGFoAO31YNYM/IUHtmabbGdvZ4oYUwDhjBevVvC7aI+XhuNGK5mU8qCLLSEUOl\nCUr6BJq/0iFmjwjmwk9idZEYhqSNy2OoYJbq45rbHfbdKLEVrbQeUk9TIEJ1aWxk\nZXIgPHJvc2J1aWxkQHJvcy5vcmc+iGAEExECACAFAksy5KkCGwMGCwkIBwMCBBUC\nCAMEFgIDAQIeAQIXgAAKCRBVI7rusB+hFmk7AJ0XsLp05KA8l3YzAumZfjSN04MZ\njQCfQHfp4aQUXdOCUtetVo0QZUX3IuO5Ag0ESzLkrhAIAOCuSC83VXYWf8gOMSzd\nxwpsH/uLV9Wze2LGnajsJLjEOhcsz2BHfxqNXhYaE9aQaodPCpbUAkPq8tLbpXy0\nSWRCx0F5RcplXx5vIWbP6TlfPbRpK70w7IWd6vsNrjwEHjlhOLcNcj42sp5pgx4b\ndceK06k5Ml2hYovPnD9o2TYgjOqg5FHZ2g1J0103n/66bN/hZnpLaZJYQiPWCyq6\nK0565i1k2Y7hgWB/OXqwaqCehqmLTvpyQGzE1UJvKLuYU+T+4hBnSPbT3KIi5fCz\nlIwvxijOMcfbkLhzYQXcU0Rd1VItcd5nmPL4z97jBxzuhkgxXpGR4WGKhvsA2Z9Y\nUtsAAwYH/3Bf44bTpD9bVADUdab3e7zm8iHfh9K/a83mIgDB7mHV6WuemQVTf/1d\neu4mI5WtpbOCoucybGfjGIIAcSxwIx6VfC7HSp4J51bOpHhbdDffUEk6QVsZjwoF\nyn3W9W3ZVeTI+ch/Qoo5a98SnmdjN8eXI/qCuiXOHc6rXDXc2R0iox/1EAS8xGVd\ncYZe7IWBO2CjCknyhLrWxZHoy+i1GCZ9KvPF/Ef2dmLhCydT73ZlumsY8N5vm76Q\nul1G7f8LNbnMgXQafRkPffrAXSVhGY3Z2IiBwFNgxcKTq479l7yedYRGeU1A+SYI\nYmRFWHXt3rTkMlQSpxCsB0fAYfrwEqqISQQYEQIACQUCSzLkrgIbDAAKCRBVI7ru\nsB+hFpryAJ9qNz3h3ijt9TkAV0CHufsPT6Cl4gCglfg7tJn2lsSF3HTpoDDO1Fgg\nx9o=\n=AGYp\n-----END PGP PUBLIC KEY BLOCK-----\n" > /tmp/keys/1.key && apt-key add /tmp/keys/1.key ---> Using cache ---> 297b1f7db1e6 Step 13 : RUN echo deb http://10.210.9.154/ubuntu/building xenial main | tee -a /etc/apt/sources.list.d/buildfarm.list ---> Using cache ---> 9db9e7f4b68b Step 14 : RUN echo deb http://packages.ros.org/ros/ubuntu xenial main | tee -a /etc/apt/sources.list.d/buildfarm.list ---> Using cache ---> 2f7e88def6b3 Step 15 : RUN mkdir /tmp/wrapper_scripts ---> Using cache ---> 6b91304b9c0f Step 16 : RUN echo "#!/usr/bin/env python3\n\n# Copyright 2014-2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Failed to fetch',\n 'Hash Sum mismatch',\n 'Unable to locate package',\n 'is not what the server reported',\n ]\n\n command = argv[0]\n if command in ['update', 'source']:\n rc, _, _ = call_apt_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n elif command == 'update-install-clean':\n return call_apt_update_install_clean(\n argv[1:], known_error_strings, max_tries)\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_apt_update_install_clean(\n install_argv, known_error_strings, max_tries):\n tries = 0\n command = 'update'\n while tries < max_tries:\n if command == 'update':\n rc, _, tries = call_apt_repeatedly(\n [command], known_error_strings, max_tries - tries,\n offset=tries)\n if rc != 0:\n # abort if update was unsuccessful even after retries\n break\n # move on to the install command if update was successful\n command = 'install'\n\n if command == 'install':\n # any call is considered a try\n tries += 1\n known_error_strings_redo_update = [\n 'Size mismatch',\n 'maybe run apt update',\n 'The following packages cannot be authenticated!',\n 'Unable to locate package',\n ]\n rc, known_error_conditions = \\\\\n call_apt(\n [command] + install_argv,\n known_error_strings + known_error_strings_redo_update)\n if not known_error_conditions:\n if rc != 0:\n # abort if install was unsuccessful\n break\n # move on to the clean command if install was successful\n command = 'clean'\n continue\n\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n # check if update needs to be rerun\n if (\n set(known_error_conditions) &\n set(known_error_strings_redo_update)\n ):\n command = 'update'\n print(\"'apt install' failed and likely requires \" +\n \"'apt update' to run again\")\n # retry with update command\n continue\n\n print('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\n if tries < max_tries:\n sleep_time = 5\n print(\"Reinvoke 'apt install' after sleeping %s seconds\" %\n sleep_time)\n sleep(sleep_time)\n # retry install command\n\n if command == 'clean':\n rc, _ = call_apt([command], [])\n break\n\n return rc\n\n\ndef call_apt_repeatedly(argv, known_error_strings, max_tries, offset=0):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * (i + offset)\n print(\"Reinvoke 'apt %s' (%d/%d) after sleeping %s seconds\" %\n (command, i + offset, max_tries + offset, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_apt(argv, known_error_strings)\n if not known_error_conditions:\n # break the loop and return the reported rc\n break\n # known errors are always interpreted as a non-zero rc\n if rc == 0:\n rc = 1\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i + offset\n\n\ndef call_apt(argv, known_error_strings):\n known_error_conditions = []\n\n # some of the used options are not supported in older distros\n # e.g. Ubuntu Wily, Debian Jessie\n cmd = ['apt-get'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n lines = []\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n lines.append(line)\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n if rc and not known_error_conditions:\n print('Invocation failed without any known error condition, '\n 'printing all lines to debug known error detection:')\n for index, line in enumerate(lines):\n print(' ', index + 1, \"'%s'\" % line.rstrip('\\\\n\\\\r'))\n print('None of the following known errors were detected:')\n for index, known_error_string in enumerate(known_error_strings):\n print(' ', index + 1, \"'%s'\" % known_error_string)\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/apt.py ---> Using cache ---> 855910e9887c Step 17 : RUN echo "#!/usr/bin/env python3\n\n# Copyright 2016 Open Source Robotics Foundation, Inc.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n# http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport subprocess\nimport sys\nfrom time import sleep\n\n\ndef main(argv=sys.argv[1:]):\n max_tries = 10\n known_error_strings = [\n 'Connection timed out',\n ]\n\n command = argv[0]\n if command == 'clone':\n rc, _, _ = call_git_repeatedly(\n argv, known_error_strings, max_tries)\n return rc\n else:\n assert \"Command '%s' not implemented\" % command\n\n\ndef call_git_repeatedly(argv, known_error_strings, max_tries):\n command = argv[0]\n for i in range(1, max_tries + 1):\n if i > 1:\n sleep_time = 5 + 2 * i\n print(\"Reinvoke 'git %s' (%d/%d) after sleeping %s seconds\" %\n (command, i, max_tries, sleep_time))\n sleep(sleep_time)\n rc, known_error_conditions = call_git(argv, known_error_strings)\n if rc == 0 or not known_error_conditions:\n break\n print('')\n print('Invocation failed due to the following known error conditions: '\n ', '.join(known_error_conditions))\n print('')\n # retry in case of failure with known error condition\n return rc, known_error_conditions, i\n\n\ndef call_git(argv, known_error_strings):\n known_error_conditions = []\n\n cmd = ['git'] + argv\n print(\"Invoking '%s'\" % ' '.join(cmd))\n proc = subprocess.Popen(\n cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)\n while True:\n line = proc.stdout.readline()\n if not line:\n break\n line = line.decode()\n sys.stdout.write(line)\n for known_error_string in known_error_strings:\n if known_error_string in line:\n if known_error_string not in known_error_conditions:\n known_error_conditions.append(known_error_string)\n proc.wait()\n rc = proc.returncode\n return rc, known_error_conditions\n\n\nif __name__ == '__main__':\n sys.exit(main())" > /tmp/wrapper_scripts/git.py ---> Using cache ---> 26b19d4a69ac Step 18 : RUN echo "2018-04-27 (+0000)" ---> Using cache ---> 62f96314e2a8 Step 19 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [[ $i < 3 ]]; then sleep 5; else false; fi; done ---> Using cache ---> 4bfc83f21d54 Step 20 : RUN python3 -u /tmp/wrapper_scripts/apt.py update-install-clean -q -y debhelper dpkg dpkg-dev git git-buildpackage python3-catkin-pkg-modules python3-rosdistro-modules python3-yaml ---> Using cache ---> 0182d7a2381e Step 21 : COPY .git-credentials /home/buildfarm/.git-credentials ---> Using cache ---> e4c775477d09 Step 22 : RUN chmod 600 /home/buildfarm/.git-credentials ---> Using cache ---> a319cde657b4 Step 23 : RUN chown buildfarm /home/buildfarm/.git-credentials ---> Using cache ---> 6090a8b34a82 Step 24 : USER buildfarm ---> Using cache ---> 279168baf275 Step 25 : RUN git config --global credential.helper 'store' ---> Using cache ---> de59feb7f1af Step 26 : RUN git config --global http.sslVerify false ---> Using cache ---> 9e13aa10959c Step 27 : ENTRYPOINT sh -c ---> Using cache ---> 9bc9e0a725cb Step 28 : CMD PYTHONPATH=/tmp/ros_buildfarm:$PYTHONPATH python3 -u /tmp/ros_buildfarm/scripts/release/get_sources.py --rosdistro-index-url https://raw.githubusercontent.com/LCAS/rosdistro/master/index.yaml kinetic steering_functions ubuntu xenial http://10.210.9.154/ubuntu/building http://packages.ros.org/ros/ubuntu --source-dir /tmp/sourcedeb/source && PYTHONPATH=/tmp/ros_buildfarm:$PYTHONPATH python3 -u /tmp/ros_buildfarm/scripts/release/build_sourcedeb.py ubuntu xenial --source-dir /tmp/sourcedeb/source ---> Running in 96c52c158c33 ---> 93962b5426b7 Removing intermediate container 96c52c158c33 Successfully built 93962b5426b7 + echo # END SECTION # END SECTION + echo # BEGIN SECTION: Run Dockerfile - generate sourcedeb # BEGIN SECTION: Run Dockerfile - generate sourcedeb + rm -fr /home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source/sourcedeb + mkdir -p /home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source/sourcedeb/source + docker run --rm --cidfile=/home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source/docker_sourcedeb/docker.cid -e=TRAVIS= --net=host -v /home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source/ros_buildfarm:/tmp/ros_buildfarm:ro -v /home/jenkins-slave/workspace/Ksrc_uX__steering_functions__ubuntu_xenial__source/sourcedeb:/tmp/sourcedeb sourcedeb.kinetic_ubuntu_xenial_steering_functions # BEGIN SUBSECTION: get sources Invoking 'git clone --branch debian/ros-kinetic-steering-functions_1.0.4-0_xenial --depth 1 --no-single-branch https://github.com/lcas-releases/steering_functions.git /tmp/sourcedeb/source' Cloning into '/tmp/sourcedeb/source'... Note: checking out '94c2df03ce6eb5d6ce4dc7a6e0d3aa4071302108'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b No tarball found at 'http://10.210.9.154/ubuntu/building/pool/main/r/ros-kinetic-steering-functions/ros-kinetic-steering-functions_1.0.4.orig.tar.gz' No tarball found at 'http://packages.ros.org/ros/ubuntu/pool/main/r/ros-kinetic-steering-functions/ros-kinetic-steering-functions_1.0.4.orig.tar.gz' Package 'steering_functions' version: 1.0.4-0xenial Package maintainer emails: marc@hanheide.net # END SUBSECTION # BEGIN SUBSECTION: build sourcedeb Invoking 'gbp buildpackage --git-ignore-new --git-ignore-branch -S -us -uc --lintian-opts --suppress-tags newer-standards-version' in '/tmp/sourcedeb/source' gbp:warning: Old style config section [git-buildpackage] found please rename to [buildpackage] gbp:info: ros-kinetic-steering-functions_1.0.4.orig.tar.gz does not exist, creating from 'release/kinetic/steering_functions/1.0.4-0' dpkg-buildpackage -rfakeroot -d -us -uc -i -I -S dpkg-buildpackage: source package ros-kinetic-steering-functions dpkg-buildpackage: source version 1.0.4-0xenial dpkg-buildpackage: source distribution xenial dpkg-buildpackage: source changed by Marc Hanheide dpkg-source -i -I --before-build source dpkg-source: info: using options from source/debian/source/options: --auto-commit fakeroot debian/rules clean dh clean -v --buildsystem=cmake dh_testdir -O-v -O--buildsystem=cmake dh_auto_clean -O-v -O--buildsystem=cmake dh_clean -O-v -O--buildsystem=cmake rm -f debian/debhelper-build-stamp rm -f debian/ros-kinetic-steering-functions.substvars rm -f debian/ros-kinetic-steering-functions.*.debhelper rm -rf debian/ros-kinetic-steering-functions/ rm -rf debian/.debhelper/ rm -f debian/*.debhelper.log rm -f debian/files find . \( \( \ \( -path .\*/.git -o -path .\*/.svn -o -path .\*/.bzr -o -path .\*/.hg -o -path .\*/CVS \) -prune -o -type f -a \ \( -name '#*#' -o -name '.*~' -o -name '*~' -o -name DEADJOE \ -o -name '*.orig' -o -name '*.rej' -o -name '*.bak' \ -o -name '.*.orig' -o -name .*.rej -o -name '.SUMS' \ -o -name TAGS -o \( -path '*/.deps/*' -a -name '*.P' \) \ \) -exec rm -f {} + \) -o \ \( -type d -a -name autom4te.cache -prune -exec rm -rf {} + \) \) rm -f *-stamp dpkg-source -i -I -b source dpkg-source: info: using options from source/debian/source/options: --auto-commit dpkg-source: info: using source format '3.0 (quilt)' dpkg-source: info: building ros-kinetic-steering-functions using existing ./ros-kinetic-steering-functions_1.0.4.orig.tar.gz dpkg-source: info: building ros-kinetic-steering-functions in ros-kinetic-steering-functions_1.0.4-0xenial.debian.tar.xz dpkg-source: info: building ros-kinetic-steering-functions in ros-kinetic-steering-functions_1.0.4-0xenial.dsc dpkg-genchanges -S >../ros-kinetic-steering-functions_1.0.4-0xenial_source.changes dpkg-genchanges: warning: debian/changelog(l13): found trailer where expected start of change data LINE: -- Marc Hanheide Fri, 27 Apr 2018 00:00:00 -0000 dpkg-genchanges: including full source code in upload dpkg-source -i -I --after-build source dpkg-source: info: using options from source/debian/source/options: --auto-commit dpkg-buildpackage: full upload (original source is included) Now running lintian... W: ros-kinetic-steering-functions source: pear-package-without-pkg-php-tools-builddep W: ros-kinetic-steering-functions source: no-debian-copyright W: ros-kinetic-steering-functions source: ancient-standards-version 3.9.2 (current is 3.9.7) Finished running lintian. # END SUBSECTION + echo # END SECTION # END SECTION [Ksrc_uX__steering_functions__ubuntu_xenial__source] $ /bin/sh -xe /tmp/hudson4694532435889845301.sh + [ false = false ] + echo # BEGIN SECTION: Clean up to save disk space on slaves # BEGIN SECTION: Clean up to save disk space on slaves + rm -fr sourcedeb/source + echo # END SECTION # END SECTION SSH: Connecting from host [lcas-buildfarm-slave-2] SSH: Connecting with configuration [repo] ... SSH: Disconnecting configuration [repo] ... SSH: Transferred 4 file(s) Build step 'Send files or execute commands over SSH' changed build result to SUCCESS Waiting for the completion of Krel_import-package Krel_import-package #1955 completed. Result was SUCCESS # BEGIN SECTION: Check if triggered build failed Pattern not found in build log, continuing... # END SECTION $ ssh-agent -k unset SSH_AUTH_SOCK; unset SSH_AGENT_PID; echo Agent pid 16729 killed; [ssh-agent] Stopped. [description-setter] Description set: 1.0.4-0xenial Warning: you have no plugins providing access control for builds, so falling back to legacy behavior of permitting any downstream builds to be triggered Triggering a new build of Kbin_uX64__steering_functions__ubuntu_xenial_amd64__binary Finished: SUCCESS