09:54:23 # BEGIN SECTION: Build Dockerfile - generate sourcedeb
09:54:23 + cd /home/jenkins-slave/workspace/Ksrc_uX__visual_odometry__ubuntu_xenial__source/docker_sourcedeb
09:54:23 + cp -L **** /home/jenkins-slave/workspace/Ksrc_uX__visual_odometry__ubuntu_xenial__source/docker_sourcedeb/.git-credentials
09:54:23 + python3 -u /home/jenkins-slave/workspace/Ksrc_uX__visual_odometry__ubuntu_xenial__source/ros_buildfarm/scripts/misc/docker_pull_baseimage.py
09:54:23 Get base image name from Dockerfile 'Dockerfile': ubuntu:xenial
09:54:23 Check docker base image for updates: docker pull ubuntu:xenial
09:54:24 xenial: Pulling from library/ubuntu
09:54:24 Digest: sha256:181800dada370557133a502977d0e3f7abda0c25b9bbb035f199f5eb6082a114
09:54:24 Status: Image is up to date for ubuntu:xenial
09:54:24 + docker build --force-rm -t sourcedeb.kinetic_ubuntu_xenial_visual_odometry .
09:54:25 Sending build context to Docker daemon 18.43kB
09:54:25 Step 1/28 : FROM ubuntu:xenial
09:54:25 ---> c6a43cd4801e
09:54:25 Step 2/28 : VOLUME ["/var/cache/apt/archives"]
09:54:25 ---> Using cache
09:54:25 ---> 13a820ef6784
09:54:25 Step 3/28 : ENV DEBIAN_FRONTEND noninteractive
09:54:25 ---> Using cache
09:54:25 ---> bd834609fdc4
09:54:25 Step 4/28 : 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
09:54:25 ---> Using cache
09:54:25 ---> 50eef5390f93
09:54:25 Step 5/28 : RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
09:54:25 ---> Using cache
09:54:25 ---> 09ec69166c5a
09:54:25 Step 6/28 : RUN locale-gen en_US.UTF-8
09:54:25 ---> Using cache
09:54:25 ---> 41cdb9741abe
09:54:25 Step 7/28 : ENV LANG en_US.UTF-8
09:54:25 ---> Using cache
09:54:25 ---> 20324c93267a
09:54:25 Step 8/28 : ENV TZ GMT+00
09:54:25 ---> Using cache
09:54:25 ---> 2b20cb04c831
09:54:25 Step 9/28 : RUN useradd -u 1002 -m buildfarm
09:54:25 ---> Using cache
09:54:25 ---> f656d7787958
09:54:25 Step 10/28 : RUN mkdir /tmp/keys
09:54:25 ---> Using cache
09:54:25 ---> 0eec01a50a31
09:54:25 Step 11/28 : 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
09:54:25 ---> Using cache
09:54:25 ---> 326f3e307252
09:54:25 Step 12/28 : RUN echo "-----BEGIN PGP PUBLIC KEY BLOCK-----\nVersion: SKS 1.1.6\nComment: Hostname: keyserver.ubuntu.com\n\nmQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jcVFrQhE0L\n/HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3trou5oCR+SyHN9xPnUw\nDuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4K/AY0jzT6OpHfXU6ytlFsI47\nZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rGaIoAWlx2H0J7sAHmqS29N9jV9mo135d+\nd+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+TwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS\n6nHrWH2WqQxRbiITl0irkQozpwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBN\nqoAQRbvWvBhPjO/pV5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL\n8bwxX7UThM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/\n/SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVVokdGpcUz\nvz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQABtCZPcGVuIFJvYm90\naWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQoAPhYhBMHPbjHmut6IaLFytPQu\n1vurF8ZUBQJc7yaWAhsDBQkDwmcABQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEPQu1vur\nF8ZUkhIP/RbZY1ErvCEUy8iLJm9aSpLQnDZl5xILOxyZlzpg+Ml5bb0EkQDr92foCgcvLeAN\nKARNCaGLyNIWkuyDovPV0xZJrEy0kgBrDNb3++NmdI/+GA92pkedMXXioQvqdsxUagXAIB/s\nNGByJEhs37F05AnFvZbjUhceq3xTlvAMcrBWrgB4NwBivZY6IgLvl/CRQpVYwANShIQdbvHv\nZSxRonWhNXr6v/Wcf8rsp7g2VqJ2N2AcWT84aa9BLQ3Oe/SgrNx4QEhA1y7rc3oaqPVu5ZXO\nK+4O14JrpbEZ3Xs9YEjrcOuEDEpYktA8qqUDTdFyZrxb9S6BquUKrA6jZgT913kjJ4e7YAZo\nbC4rH0w4u0PrqDgYOkXA9Mo7L601/7ZaDJob80UcK+Z12ZSw73IgBix6DiJVfXuWkk5PM2zs\nFn6UOQXUNlZlDAOj5NC01V0fJ8P0v6GO9YOSSQx0j5UtkUbRfp/4W7uCPFvwAatWEHJhlM3s\nQNiMNStJFegr56xQu1a/cbJH7GdbseMhG/f0BaKQqXCI3ffB5y5AOLc9Hw7PYiTFQsuY1ePR\nhE+J9mejgWRZxkjAH/FlAubqXkDgterCh+sLkzGf+my2IbsMCuc+3aeNMJ5Ej/vlXefCH/Mp\nPWAHCqpQhe2DET/jRSaM53USAHNx8kw4MPUkxExgI7Sd\n=4Ofr\n-----END PGP PUBLIC KEY BLOCK-----\n" > /tmp/keys/1.key && apt-key add /tmp/keys/1.key
09:54:25 ---> Using cache
09:54:25 ---> eae5304934d6
09:54:25 Step 13/28 : RUN echo deb
http://10.210.9.154/ubuntu/building xenial main | tee -a /etc/apt/sources.list.d/buildfarm.list
09:54:25 ---> Using cache
09:54:25 ---> 7b2017698257
09:54:25 Step 14/28 : RUN echo deb
http://packages.ros.org/ros/ubuntu xenial main | tee -a /etc/apt/sources.list.d/buildfarm.list
09:54:25 ---> Using cache
09:54:25 ---> 5fc69947a7ed
09:54:25 Step 15/28 : RUN mkdir /tmp/wrapper_scripts
09:54:25 ---> Using cache
09:54:25 ---> 73ea17b845dc
09:54:25 Step 16/28 : 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 'Failed to stat',\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 'has no installation candidate',\n 'corrupted package archive',\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('')\n print('Invocation failed due to the following known error '\n 'conditions: ' + ', '.join(known_error_conditions))\n print('')\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
09:54:25 ---> Using cache
09:54:25 ---> 8a8e1d21ce80
09:54:25 Step 17/28 : 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
09:54:25 ---> Using cache
09:54:25 ---> 83c0f7f61ad7
09:54:25 Step 18/28 : RUN echo "2019-12-19 (+0000)"
09:54:25 ---> Using cache
09:54:25 ---> 7388bce5205c
09:54:25 Step 19/28 : 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
09:54:25 ---> Using cache
09:54:25 ---> 199a42e0c652
09:54:25 Step 20/28 : 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
09:54:25 ---> Using cache
09:54:25 ---> a4195a8d3b8f
09:54:25 Step 21/28 : COPY .git-credentials /home/buildfarm/.git-credentials
09:54:25 ---> Using cache
09:54:25 ---> 83dd5740c8ab
09:54:25 Step 22/28 : RUN chmod 600 /home/buildfarm/.git-credentials
09:54:25 ---> Using cache
09:54:25 ---> b5f6408c05a5
09:54:25 Step 23/28 : RUN chown buildfarm /home/buildfarm/.git-credentials
09:54:25 ---> Using cache
09:54:25 ---> 934a68d45188
09:54:25 Step 24/28 : USER buildfarm
09:54:25 ---> Using cache
09:54:25 ---> d2fc165610de
09:54:25 Step 25/28 : RUN git config --global credential.helper 'store'
09:54:25 ---> Using cache
09:54:25 ---> 1668b9b7d51b
09:54:25 Step 26/28 : RUN git config --global http.sslVerify false
09:54:25 ---> Using cache
09:54:25 ---> 745fdabcb401
09:54:25 Step 27/28 : ENTRYPOINT ["sh", "-c"]
09:54:25 ---> Using cache
09:54:25 ---> b8433bdeb584
09:54:25 Step 28/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 visual_odometry 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"]
09:54:25 ---> Running in 81b06ab602b7
09:54:25 Removing intermediate container 81b06ab602b7
09:54:25 ---> e19c501b366b
09:54:25 Successfully built e19c501b366b
09:54:25 Successfully tagged sourcedeb.kinetic_ubuntu_xenial_visual_odometry:latest
09:54:25 + echo # END SECTION
09:54:25 # END SECTION