Console Output
18:09:16 Started by upstream project "Mrel_trigger-jobs" build number 38006 18:09:16 originally caused by: 18:09:16 Started by user Marc Hanheide 18:09:16 Running as SYSTEM 18:09:16 Building remotely on build client 2 (slave buildslave indigo_devel_default buildagent) in workspace /home/jenkins-slave/workspace/Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source 18:09:16 [ssh-agent] Looking for ssh-agent implementation... 18:09:16 [ssh-agent] Exec ssh-agent (binary ssh-agent on a remote machine) 18:09:16 $ ssh-agent 18:09:17 SSH_AUTH_SOCK=/tmp/ssh-VFVOBmBgsec6/agent.19437 18:09:17 SSH_AGENT_PID=19439 18:09:17 [ssh-agent] Started. 18:09:17 Running ssh-add (command line suppressed) 18:09:17 Identity added: /home/jenkins-slave/workspace/Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source@tmp/private_key_596286648570742115.key (/home/jenkins-slave/workspace/Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source@tmp/private_key_596286648570742115.key) 18:09:17 [ssh-agent] Using credentials jenkins-slave18:09:17 [Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source] $ /bin/sh -xe /tmp/jenkins1496581373474686295.sh 18:09:17 + echo # BEGIN SECTION: docker version1. Check free disk spaceHide Details
18:09:17 # BEGIN SECTION: Check free disk space 18:09:17 Usable disk space = 80759828480 bytes 18:09:17 Free space threshold = 5368709120 bytes 18:09:17 # END SECTION18:09:17 + echo # BEGIN SECTION: docker info2. docker versionHide Details
18:09:17 # BEGIN SECTION: docker version 18:09:17 + docker version 18:09:17 Client: 18:09:17 Version: 17.05.0-ce 18:09:17 API version: 1.29 18:09:17 Go version: go1.7.5 18:09:17 Git commit: 89658be 18:09:17 Built: Thu May 4 22:06:06 2017 18:09:17 OS/Arch: linux/amd64 18:09:17 18:09:17 Server: 18:09:17 Version: 17.05.0-ce 18:09:17 API version: 1.29 (minimum version 1.12) 18:09:17 Go version: go1.7.5 18:09:17 Git commit: 89658be 18:09:17 Built: Thu May 4 22:06:06 2017 18:09:17 OS/Arch: linux/amd64 18:09:17 Experimental: false 18:09:17 + echo # END SECTION 18:09:17 # END SECTION18:09:17 [Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source] $ /bin/sh -xe /tmp/jenkins3132872575716311654.sh 18:09:17 + echo # BEGIN SECTION: Check docker status3. docker infoHide Details
18:09:17 # BEGIN SECTION: docker info 18:09:17 + docker info 18:09:17 Containers: 8 18:09:17 Running: 0 18:09:17 Paused: 0 18:09:17 Stopped: 8 18:09:17 Images: 127 18:09:17 Server Version: 17.05.0-ce 18:09:17 Storage Driver: aufs 18:09:17 Root Dir: /var/lib/docker/aufs 18:09:17 Backing Filesystem: extfs 18:09:17 Dirs: 1577 18:09:17 Dirperm1 Supported: false 18:09:17 Logging Driver: json-file 18:09:17 Cgroup Driver: cgroupfs 18:09:17 Plugins: 18:09:17 Volume: local 18:09:17 Network: bridge host macvlan null overlay 18:09:17 Swarm: inactive 18:09:17 Runtimes: runc 18:09:17 Default Runtime: runc 18:09:17 Init Binary: docker-init 18:09:17 containerd version: 9048e5e50717ea4497b757314bad98ea3763c145 18:09:17 runc version: 9c2d8d184e5da67c95d601382adf14862e4f2228 18:09:17 init version: 949e6fa 18:09:17 Security Options: 18:09:17 apparmor 18:09:17 Kernel Version: 3.13.0-29-generic 18:09:17 Operating System: Ubuntu 14.04 LTS 18:09:17 OSType: linux 18:09:17 Architecture: x86_64 18:09:17 CPUs: 2 18:09:17 Total Memory: 3.861GiB 18:09:17 Name: lcas-buildfarm-slave-1 18:09:17 ID: LZSS:PF7G:CREH:TEQW:FH57:3M6D:KCSS:ODQY:SPHA:ND7A:FHYG:PNDE 18:09:17 Docker Root Dir: /var/lib/docker 18:09:17 Debug Mode (client): false 18:09:17 Debug Mode (server): false 18:09:17 Registry: https://index.docker.io/v1/ 18:09:17 Experimental: false 18:09:17 Insecure Registries: 18:09:17 127.0.0.0/8 18:09:17 Live Restore Enabled: false 18:09:17 18:09:17 WARNING: No swap limit support 18:09:17 + echo # END SECTION 18:09:17 # END SECTION18:09:18 [Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source] $ /bin/sh -xe /tmp/jenkins6812026256474753257.sh 18:09:18 + echo # BEGIN SECTION: Embed wrapper scripts4. Check docker statusHide Details
18:09:17 # BEGIN SECTION: Check docker status 18:09:17 + echo Testing trivial docker invocation... 18:09:17 Testing trivial docker invocation... 18:09:17 + docker run --rm ubuntu:bionic true 18:09:18 + echo 'docker run' returned 0 18:09:18 'docker run' returned 0 18:09:18 docker seems operational, continuing 18:09:18 [Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source] $ /bin/sh -xe /tmp/jenkins2560093091941357109.sh 18:09:18 + echo # END SECTION 18:09:18 # END SECTION18:09:18 [Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source] $ /bin/sh -xe /tmp/jenkins1886314308973554133.sh 18:09:18 + echo # BEGIN SECTION: Clone ros_buildfarm5. Embed wrapper scriptsHide Details
18:09:18 # BEGIN SECTION: Embed wrapper scripts 18:09:18 + rm -fr wrapper_scripts 18:09:18 + mkdir wrapper_scripts 18:09:18 + 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()) 18:09:18 + echo # END SECTION 18:09:18 # END SECTION18:09:22 [Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source] $ /bin/sh -xe /tmp/jenkins8117018949803739802.sh 18:09:22 + echo # BEGIN SECTION: Write PGP repository keys6. Clone ros_buildfarmHide Details
18:09:18 # BEGIN SECTION: Clone ros_buildfarm 18:09:18 + rm -fr ros_buildfarm 18:09:18 + python3 -u wrapper_scripts/git.py clone --depth 1 -b pull_upstream https://github.com/lcas/ros_buildfarm.git ros_buildfarm 18:09:18 Invoking 'git clone --depth 1 -b pull_upstream https://github.com/lcas/ros_buildfarm.git ros_buildfarm' 18:09:18 Cloning into 'ros_buildfarm'... 18:09:21 + git -C ros_buildfarm --no-pager log -n 1 18:09:21 commit 5847ba20c70a194f12d32fd0ad5364bed338f8e2 18:09:21 Author: Marc Hanheide <marc@hanheide.net> 18:09:21 Date: Fri Jun 5 12:50:43 2020 +0100 18:09:21 18:09:21 added openssl 18:09:21 + rm -fr ros_buildfarm/.git 18:09:22 + rm -fr ros_buildfarm/doc 18:09:22 + echo # END SECTION 18:09:22 # END SECTION18:09:22 [Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source] $ /bin/sh -xe /tmp/jenkins156757024240503268.sh 18:09:22 + rm -fr /home/jenkins-slave/workspace/Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source/docker_sourcedeb 18:09:22 + mkdir -p /home/jenkins-slave/workspace/Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source/docker_sourcedeb 18:09:22 + sleep 1 18:09:22 + python3 -u /home/jenkins-slave/workspace/Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source/ros_buildfarm/scripts/subprocess_reaper.py 19592 --cid-file /home/jenkins-slave/workspace/Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source/docker_sourcedeb/docker.cid 18:09:23 + echo # BEGIN SECTION: Generate Dockerfile - sourcedeb task7. Write PGP repository keysHide Details
18:09:22 # BEGIN SECTION: Write PGP repository keys 18:09:22 + mkdir -p /home/jenkins-slave/workspace/Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source/keys 18:09:22 + rm -fr /home/jenkins-slave/workspace/Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source/keys/* 18:09:22 + echo -----BEGIN PGP PUBLIC KEY BLOCK----- 18:09:22 Version: GnuPG v1.4.11 (GNU/Linux) 18:09:22 18:09:22 mQENBFPzE4sBCAC9c8hzt+gqe6YqXAW9Yd10jx68M0q8IowAe182yVtIvYf5l+qn 18:09:22 MsXiDUz4l7c1TcRpdzZ1WwEQoNNjQKq51ip2Ln3Uhri/GsPBk+psIJPt5AeXYrSf 18:09:22 xcDs8k4FMWgJtYMlZLuNk1YPaS6Vf1+Ygbe0u+ssORWg3cWhgLWPDydXdlhinUgw 18:09:22 kPd9ZYi8aaAxi94DMuOnAjItfPbuX52NHmPR2cXuh3fZklhA6cCGRYkSVqijKhEv 18:09:22 /o8fTnjcTama8ml5jnaAhcZ/4UV3terLeXEQn3+WM+VbTsEr58zca5fOv8MjC+Uh 18:09:22 EBgDgnHb8/n7OgSUvv9efQgYXBRQ1mD//JaZABEBAAG0LE1hcmMgSGFuaGVpZGUg 18:09:22 KFJPU0J1aWxkKSA8bWFyY0BoYW5oZWlkZS5uZXQ+iQE4BBMBAgAiBQJT8xOLAhsD 18:09:22 BgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRDc10MYrtOYVB9cCACQwB9auPEX 18:09:22 yQdVwliJMLwVihKz0AU0UCG6qra2pdXx9l5kgkQCuDV5FQqMpk/MIJPn8Zj0l1MI 18:09:22 7Yn/EAqBhXjtO2BcTuUC/9epzt1p3C++vK7RSsBDXfKzZN22apIUT0njOkL9Vuoy 18:09:22 JjFetmLDaZVbmFU+4ZaX3CFtBL3ewlFiT7G6StKj40JI8QJOlDOziX2OUsqZaI2T 18:09:22 Yh681980od3f2OfV3LPVroz7xnyECDfBaPBPaDdb8XWSNVLhuyglb15eewK0hj++ 18:09:22 Cut3swWH02Y3yVhzFBnosqqjyzPLBQeDMOoHAPpJHRgprfIRDoUkWAXO5re3GIUQ 18:09:22 cvk0d1I1jh3luQENBFPzE4sBCACmSxiM1vpPI7BpgUNAhu0B8SWptULpiYOnDHfM 18:09:22 hU1u95Z5Lu/hy3sfm4BEKgLju7Y1I3jToWTwJJzgWZRr+iuuwj3fbfHCISYIK7f3 18:09:22 IWGL2iM2+kLIH6E9oqRgGbJmhiwbz6OokxG0W7atdqpBxOKqhaH0AH3qRicwnuPm 18:09:22 Z4/mNHYQ0vBffENewujn1bCAz4C1WB66/AXBYF8dpCP42qB5yK7FRNv4JubMmqhK 18:09:22 7fkD88uu7JVGRYU+temWuJHH4WDxiCmvK8nXacFaZT1NGdTL9/2EukKLguTtZumb 18:09:22 oRWgFqV6WFcEnh/V/Ma51D2+K9QbCWa8Bb6c/wKOd9Ii1aDZABEBAAGJAR8EGAEC 18:09:22 AAkFAlPzE4sCGwwACgkQ3NdDGK7TmFT2rwf+MzLFPn4Rkko38nctysbXm6qmk34U 18:09:22 NTtqirOlxg3mWeUCp7VQGU2Rg2msdo764SxCK12OhJqlXGMd2efCoQhYbMOqG6C0 18:09:22 ikBZPkd5BVFuTKsAUiuVoiQd8bDaZSpO2QdE0RdHE/yYfO66pceEKkGlcjkTRFFU 18:09:22 M7nTm7IQj4BBZclMLPr4fX520ZOVUepxAARMHW5A6EcHXvhXmblZOJM36fOv3T5N 18:09:22 l9L5tWdt/wybaRE4xuwVSs0n7MyMlWmkQxz8Z6OQscbKmuI4tcYSbvvB5tzjLBwZ 18:09:22 Chb0eEZA5ePvnGofu+3JH48FmCIPveD+4kI9GhtGkCL3Q2PiPiLcSnWQWQ== 18:09:22 =nFcN 18:09:22 -----END PGP PUBLIC KEY BLOCK----- 18:09:22 18:09:22 + echo -----BEGIN PGP PUBLIC KEY BLOCK----- 18:09:22 Version: SKS 1.1.6 18:09:22 Comment: Hostname: keyserver.ubuntu.com 18:09:22 18:09:22 mQINBFzvJpYBEADY8l1YvO7iYW5gUESyzsTGnMvVUmlV3XarBaJz9bGRmgPXh7jcVFrQhE0L 18:09:22 /HV7LOfoLI9H2GWYyHBqN5ERBlcA8XxG3ZvX7t9nAZPQT2Xxe3GT3trou5oCR+SyHN9xPnUw 18:09:22 DuqUSvJ2eqMYb9B/Hph3OmtjG30jSNq9kOF5bBTk1hOTGPH4K/AY0jzT6OpHfXU6ytlFsI47 18:09:22 ZKsnTUhipGsKucQ1CXlyirndZ3V3k70YaooZ55rGaIoAWlx2H0J7sAHmqS29N9jV9mo135d+ 18:09:22 d+TdLBXI0PXtiHzE9IPaX+ctdSUrPnp+TwR99lxglpIG6hLuvOMAaxiqFBB/Jf3XJ8OBakfS 18:09:22 6nHrWH2WqQxRbiITl0irkQozpwNEF2Bv0+Jvs1UFEdVGz5a8xexQHst/RmKrtHLct3iOCvBN 18:09:22 qoAQRbvWvBhPjO/pV5cYeUljZ5wpHyFkaEViClaVWqa6PIsyLqmyjsruPCWlURLsQoQxABcL 18:09:22 8bwxX7UThM6CtH6tGlYZ85RIzRifIm2oudzV5l+8oRgFr9yVcwyOFT6JCioqkwldW52P1pk/ 18:09:22 /SnuexC6LYqqDuHUs5NnokzzpfS6QaWfTY5P5tz4KHJfsjDIktly3mKVfY0fSPVVokdGpcUz 18:09:22 vz2hq1fqjxB6MlB/1vtk0bImfcsoxBmF7H+4E9ZN1sX/tSb0KQARAQABtCZPcGVuIFJvYm90 18:09:22 aWNzIDxpbmZvQG9zcmZvdW5kYXRpb24ub3JnPokCVAQTAQoAPhYhBMHPbjHmut6IaLFytPQu 18:09:22 1vurF8ZUBQJc7yaWAhsDBQkDwmcABQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEPQu1vur 18:09:22 F8ZUkhIP/RbZY1ErvCEUy8iLJm9aSpLQnDZl5xILOxyZlzpg+Ml5bb0EkQDr92foCgcvLeAN 18:09:22 KARNCaGLyNIWkuyDovPV0xZJrEy0kgBrDNb3++NmdI/+GA92pkedMXXioQvqdsxUagXAIB/s 18:09:22 NGByJEhs37F05AnFvZbjUhceq3xTlvAMcrBWrgB4NwBivZY6IgLvl/CRQpVYwANShIQdbvHv 18:09:22 ZSxRonWhNXr6v/Wcf8rsp7g2VqJ2N2AcWT84aa9BLQ3Oe/SgrNx4QEhA1y7rc3oaqPVu5ZXO 18:09:22 K+4O14JrpbEZ3Xs9YEjrcOuEDEpYktA8qqUDTdFyZrxb9S6BquUKrA6jZgT913kjJ4e7YAZo 18:09:22 bC4rH0w4u0PrqDgYOkXA9Mo7L601/7ZaDJob80UcK+Z12ZSw73IgBix6DiJVfXuWkk5PM2zs 18:09:22 Fn6UOQXUNlZlDAOj5NC01V0fJ8P0v6GO9YOSSQx0j5UtkUbRfp/4W7uCPFvwAatWEHJhlM3s 18:09:22 QNiMNStJFegr56xQu1a/cbJH7GdbseMhG/f0BaKQqXCI3ffB5y5AOLc9Hw7PYiTFQsuY1ePR 18:09:22 hE+J9mejgWRZxkjAH/FlAubqXkDgterCh+sLkzGf+my2IbsMCuc+3aeNMJ5Ej/vlXefCH/Mp 18:09:22 PWAHCqpQhe2DET/jRSaM53USAHNx8kw4MPUkxExgI7Sd 18:09:22 =4Ofr 18:09:22 -----END PGP PUBLIC KEY BLOCK----- 18:09:22 18:09:22 + echo # END SECTION 18:09:22 # END SECTION18:09:23 + echo # BEGIN SECTION: Build Dockerfile - generate sourcedeb8. Generate Dockerfile - sourcedeb taskHide Details
18:09:23 # BEGIN SECTION: Generate Dockerfile - sourcedeb task 18:09:23 + export TZ=GMT+00 18:09:23 + export PYTHONPATH=/home/jenkins-slave/workspace/Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source/ros_buildfarm: 18:09:23 + python3 -u /home/jenkins-slave/workspace/Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source/ros_buildfarm/scripts/release/run_sourcedeb_job.py --rosdistro-index-url https://raw.githubusercontent.com/LCAS/rosdistro/master/index.yaml melodic uol_turtlebot_common ubuntu bionic --distribution-repository-urls http://10.210.9.154/ubuntu/building http://packages.ros.org/ros/ubuntu --distribution-repository-key-files /home/jenkins-slave/workspace/Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source/keys/0.key /home/jenkins-slave/workspace/Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source/keys/1.key --source-dir /home/jenkins-slave/workspace/Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source/sourcedeb/source --dockerfile-dir /home/jenkins-slave/workspace/Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source/docker_sourcedeb 18:09:23 Using the following distribution repositories: 18:09:23 http://10.210.9.154/ubuntu/building (/home/jenkins-slave/workspace/Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source/keys/0.key) 18:09:23 http://packages.ros.org/ros/ubuntu (/home/jenkins-slave/workspace/Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source/keys/1.key) 18:09:23 Generating Dockerfile '/home/jenkins-slave/workspace/Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source/docker_sourcedeb/Dockerfile': 18:09:23 # generated from release/sourcedeb_task.Dockerfile.em 18:09:23 18:09:23 FROM ubuntu:bionic 18:09:23 18:09:23 VOLUME ["/var/cache/apt/archives"] 18:09:23 18:09:23 ENV DEBIAN_FRONTEND noninteractive 18:09:23 18:09:23 18:09:23 RUN for i in 1 2 3; do apt-get update && apt-get install -q -y locales && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done 18:09:23 RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen 18:09:23 RUN locale-gen en_US.UTF-8 18:09:23 ENV LANG en_US.UTF-8 18:09:23 ENV TZ GMT+00 18:09:23 18:09:23 RUN useradd -u 1002 -l -m buildfarm 18:09:23 18:09:23 RUN mkdir /tmp/keys 18:09:23 RUN for i in 1 2 3; do apt-get update && apt-get install -q -y gnupg && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done 18:09:23 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 18:09:23 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 18:09:23 RUN echo deb http://10.210.9.154/ubuntu/building bionic main | tee -a /etc/apt/sources.list.d/buildfarm.list 18:09:23 RUN echo deb http://packages.ros.org/ros/ubuntu bionic main | tee -a /etc/apt/sources.list.d/buildfarm.list 18:09:23 18:09:23 RUN mkdir /tmp/wrapper_scripts 18:09:23 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 18:09:23 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 18:09:23 18:09:23 # automatic invalidation once every day 18:09:23 RUN echo "2021-01-08 (+0000)" 18:09:23 18:09:23 RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done 18:09:23 18:09:23 RUN python3 -u /tmp/wrapper_scripts/apt.py update-install-clean -q -y dh-python 18:09:23 18:09:23 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 18:09:23 18:09:23 COPY .git-credentials /home/buildfarm/.git-credentials 18:09:23 RUN chmod 600 /home/buildfarm/.git-credentials 18:09:23 RUN chown buildfarm /home/buildfarm/.git-credentials 18:09:23 18:09:23 USER buildfarm 18:09:23 RUN git config --global credential.helper 'store' 18:09:23 RUN git config --global http.sslVerify false 18:09:23 18:09:23 ENTRYPOINT ["sh", "-c"] 18:09:23 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 melodic uol_turtlebot_common ubuntu bionic 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 bionic --source-dir /tmp/sourcedeb/source"] 18:09:23 + echo # END SECTION 18:09:23 # END SECTION18:09:25 + echo # BEGIN SECTION: Run Dockerfile - generate sourcedeb9. Build Dockerfile - generate sourcedebHide Details
18:09:23 # BEGIN SECTION: Build Dockerfile - generate sourcedeb 18:09:23 + cd /home/jenkins-slave/workspace/Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source/docker_sourcedeb 18:09:23 + cp -L **** /home/jenkins-slave/workspace/Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source/docker_sourcedeb/.git-credentials 18:09:23 + python3 -u /home/jenkins-slave/workspace/Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source/ros_buildfarm/scripts/misc/docker_pull_baseimage.py 18:09:23 Get base image name from Dockerfile 'Dockerfile': ubuntu:bionic 18:09:23 Check docker base image for updates: docker pull ubuntu:bionic 18:09:25 bionic: Pulling from library/ubuntu 18:09:25 Digest: sha256:fd25e706f3dea2a5ff705dbc3353cf37f08307798f3e360a13e9385840f73fb3 18:09:25 Status: Image is up to date for ubuntu:bionic 18:09:25 + docker build --force-rm -t sourcedeb.melodic_ubuntu_bionic_uol_turtlebot_common . 18:09:25 Sending build context to Docker daemon 18.94kB 18:09:25 Step 1/30 : FROM ubuntu:bionic 18:09:25 ---> 2c047404e52d 18:09:25 Step 2/30 : VOLUME /var/cache/apt/archives 18:09:25 ---> Using cache 18:09:25 ---> 71fc52904943 18:09:25 Step 3/30 : ENV DEBIAN_FRONTEND noninteractive 18:09:25 ---> Using cache 18:09:25 ---> 7ae886af2904 18:09:25 Step 4/30 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y locales && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done 18:09:25 ---> Using cache 18:09:25 ---> 32572ff694a5 18:09:25 Step 5/30 : RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen 18:09:25 ---> Using cache 18:09:25 ---> da5995ddc601 18:09:25 Step 6/30 : RUN locale-gen en_US.UTF-8 18:09:25 ---> Using cache 18:09:25 ---> 55a2b6557955 18:09:25 Step 7/30 : ENV LANG en_US.UTF-8 18:09:25 ---> Using cache 18:09:25 ---> 3776847efd05 18:09:25 Step 8/30 : ENV TZ GMT+00 18:09:25 ---> Using cache 18:09:25 ---> c8fa6ff566d1 18:09:25 Step 9/30 : RUN useradd -u 1002 -l -m buildfarm 18:09:25 ---> Using cache 18:09:25 ---> ddd2caf4a5c6 18:09:25 Step 10/30 : RUN mkdir /tmp/keys 18:09:25 ---> Using cache 18:09:25 ---> 1239198a3275 18:09:25 Step 11/30 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y gnupg && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done 18:09:25 ---> Using cache 18:09:25 ---> 146a0fb29e0d 18:09:25 Step 12/30 : 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 18:09:25 ---> Using cache 18:09:25 ---> a7d5ff4da5a4 18:09:25 Step 13/30 : 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 18:09:25 ---> Using cache 18:09:25 ---> 0e6b82490f74 18:09:25 Step 14/30 : RUN echo deb http://10.210.9.154/ubuntu/building bionic main | tee -a /etc/apt/sources.list.d/buildfarm.list 18:09:25 ---> Using cache 18:09:25 ---> 8f320d9da646 18:09:25 Step 15/30 : RUN echo deb http://packages.ros.org/ros/ubuntu bionic main | tee -a /etc/apt/sources.list.d/buildfarm.list 18:09:25 ---> Using cache 18:09:25 ---> 18902983b2ad 18:09:25 Step 16/30 : RUN mkdir /tmp/wrapper_scripts 18:09:25 ---> Using cache 18:09:25 ---> f51aedf1142e 18:09:25 Step 17/30 : 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 18:09:25 ---> Using cache 18:09:25 ---> 66a2ce1e0f9a 18:09:25 Step 18/30 : 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 18:09:25 ---> Using cache 18:09:25 ---> 74ffa9527e57 18:09:25 Step 19/30 : RUN echo "2021-01-08 (+0000)" 18:09:25 ---> Using cache 18:09:25 ---> cd7644def58f 18:09:25 Step 20/30 : RUN for i in 1 2 3; do apt-get update && apt-get install -q -y python3 && apt-get clean && break || if [ $i -lt 3 ]; then sleep 5; else false; fi; done 18:09:25 ---> Using cache 18:09:25 ---> ceda56b4c599 18:09:25 Step 21/30 : RUN python3 -u /tmp/wrapper_scripts/apt.py update-install-clean -q -y dh-python 18:09:25 ---> Using cache 18:09:25 ---> 96347b886a72 18:09:25 Step 22/30 : 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 18:09:25 ---> Using cache 18:09:25 ---> 4c01ec03ac38 18:09:25 Step 23/30 : COPY .git-credentials /home/buildfarm/.git-credentials 18:09:25 ---> Using cache 18:09:25 ---> b0a45f47f67b 18:09:25 Step 24/30 : RUN chmod 600 /home/buildfarm/.git-credentials 18:09:25 ---> Using cache 18:09:25 ---> f47c517a28dd 18:09:25 Step 25/30 : RUN chown buildfarm /home/buildfarm/.git-credentials 18:09:25 ---> Using cache 18:09:25 ---> 5179945a6b3f 18:09:25 Step 26/30 : USER buildfarm 18:09:25 ---> Using cache 18:09:25 ---> 534663afc54d 18:09:25 Step 27/30 : RUN git config --global credential.helper 'store' 18:09:25 ---> Using cache 18:09:25 ---> bd72d7fffc07 18:09:25 Step 28/30 : RUN git config --global http.sslVerify false 18:09:25 ---> Using cache 18:09:25 ---> e5bb35a56b92 18:09:25 Step 29/30 : ENTRYPOINT sh -c 18:09:25 ---> Using cache 18:09:25 ---> 5fd5612de7d3 18:09:25 Step 30/30 : 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 melodic uol_turtlebot_common ubuntu bionic 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 bionic --source-dir /tmp/sourcedeb/source 18:09:25 ---> Running in 41729f9ed196 18:09:25 ---> 0608b7e8eb2c 18:09:25 Removing intermediate container 41729f9ed196 18:09:25 Successfully built 0608b7e8eb2c 18:09:25 Successfully tagged sourcedeb.melodic_ubuntu_bionic_uol_turtlebot_common:latest 18:09:25 + echo # END SECTION 18:09:25 # END SECTION18:09:42 [Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source] $ /bin/sh -xe /tmp/jenkins2189373706627135559.sh 18:09:42 + [ false = false ] 18:09:42 + echo # BEGIN SECTION: Clean up to save disk space on agents10. Run Dockerfile - generate sourcedebHide Details
18:09:25 # BEGIN SECTION: Run Dockerfile - generate sourcedeb 18:09:25 + rm -fr /home/jenkins-slave/workspace/Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source/sourcedeb 18:09:25 + mkdir -p /home/jenkins-slave/workspace/Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source/sourcedeb/source 18:09:25 + docker run --rm --cidfile=/home/jenkins-slave/workspace/Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source/docker_sourcedeb/docker.cid -e=TRAVIS= --net=host -v /home/jenkins-slave/workspace/Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source/ros_buildfarm:/tmp/ros_buildfarm:ro -v /home/jenkins-slave/workspace/Msrc_uB__uol_turtlebot_common__ubuntu_bionic__source/sourcedeb:/tmp/sourcedeb sourcedeb.melodic_ubuntu_bionic_uol_turtlebot_common10.1. get sourcesHide Details
18:09:26 # BEGIN SUBSECTION: get sources 18:09:33 Invoking 'git clone --branch debian/ros-melodic-uol-turtlebot-common_3.0.1-1_bionic --depth 1 --no-single-branch https://github.com/strands-project-releases/lcas_teaching.git /tmp/sourcedeb/source' 18:09:33 Cloning into '/tmp/sourcedeb/source'... 18:09:37 Note: checking out 'c480b958c995a5495522bcf4740d7c5dc8766ebc'. 18:09:37 18:09:37 You are in 'detached HEAD' state. You can look around, make experimental 18:09:37 changes and commit them, and you can discard any commits you make in this 18:09:37 state without impacting any branches by performing another checkout. 18:09:37 18:09:37 If you want to create a new branch to retain commits you create, you may 18:09:37 do so (now or later) by using -b with the checkout command again. Example: 18:09:37 18:09:37 git checkout -b <new-branch-name> 18:09:37 18:09:37 No tarball found at 'http://10.210.9.154/ubuntu/building/pool/main/r/ros-melodic-uol-turtlebot-common/ros-melodic-uol-turtlebot-common_3.0.1.orig.tar.gz' 18:09:38 No tarball found at 'http://packages.ros.org/ros/ubuntu/pool/main/r/ros-melodic-uol-turtlebot-common/ros-melodic-uol-turtlebot-common_3.0.1.orig.tar.gz' 18:09:38 Package 'uol_turtlebot_common' version: 3.0.1-1bionic 18:09:38 Package maintainer emails: marc@hanheide.net 18:09:38 # END SUBSECTION18:09:42 + echo # END SECTION 18:09:42 # END SECTION10.2. build sourcedebHide Details
18:09:38 # BEGIN SUBSECTION: build sourcedeb 18:09:38 Invoking 'gbp buildpackage --git-ignore-new --git-ignore-branch -S -d -ui -us -uc --lintian-opts --suppress-tags newer-standards-version' in '/tmp/sourcedeb/source' 18:09:38 gbp:warning: Old style config section [git-buildpackage] found please rename to [buildpackage] 18:09:38 gbp:info: Creating ros-melodic-uol-turtlebot-common_3.0.1.orig.tar.gz from 'release/melodic/uol_turtlebot_common/3.0.1-1' 18:09:38 gbp:info: Performing the build 18:09:38 dpkg-buildpackage -rfakeroot -us -uc -ui -i -I -S -d 18:09:38 dpkg-buildpackage: info: source package ros-melodic-uol-turtlebot-common 18:09:38 dpkg-buildpackage: info: source version 3.0.1-1bionic 18:09:38 dpkg-buildpackage: info: source distribution bionic 18:09:38 dpkg-buildpackage: info: source changed by Marc Hanheide <marc@hanheide.net> 18:09:38 dpkg-source -i -I --before-build source 18:09:39 dpkg-source: info: using options from source/debian/source/options: --auto-commit 18:09:39 fakeroot debian/rules clean 18:09:39 dh clean -v --buildsystem=cmake 18:09:39 dh_testdir -O-v -O--buildsystem=cmake 18:09:39 dh_auto_clean -O-v -O--buildsystem=cmake 18:09:39 dh_clean -O-v -O--buildsystem=cmake 18:09:39 rm -f debian/debhelper-build-stamp 18:09:39 rm -rf debian/.debhelper/ 18:09:39 rm -f -- debian/ros-melodic-uol-turtlebot-common.substvars debian/files 18:09:39 rm -fr -- debian/ros-melodic-uol-turtlebot-common/ debian/tmp/ 18:09:39 find . \( \( \ 18:09:39 \( -path .\*/.git -o -path .\*/.svn -o -path .\*/.bzr -o -path .\*/.hg -o -path .\*/CVS -o -path .\*/.pc -o -path .\*/_darcs \) -prune -o -type f -a \ 18:09:39 \( -name '#*#' -o -name '.*~' -o -name '*~' -o -name DEADJOE \ 18:09:39 -o -name '*.orig' -o -name '*.rej' -o -name '*.bak' \ 18:09:39 -o -name '.*.orig' -o -name .*.rej -o -name '.SUMS' \ 18:09:39 -o -name TAGS -o \( -path '*/.deps/*' -a -name '*.P' \) \ 18:09:39 \) -exec rm -f {} + \) -o \ 18:09:39 \( -type d -a -name autom4te.cache -prune -exec rm -rf {} + \) \) 18:09:39 dpkg-source -i -I -b source 18:09:39 dpkg-source: info: using options from source/debian/source/options: --auto-commit 18:09:40 dpkg-source: info: using source format '3.0 (quilt)' 18:09:40 dpkg-source: info: building ros-melodic-uol-turtlebot-common using existing ./ros-melodic-uol-turtlebot-common_3.0.1.orig.tar.gz 18:09:40 dpkg-source: info: building ros-melodic-uol-turtlebot-common in ros-melodic-uol-turtlebot-common_3.0.1-1bionic.debian.tar.xz 18:09:40 dpkg-source: info: building ros-melodic-uol-turtlebot-common in ros-melodic-uol-turtlebot-common_3.0.1-1bionic.dsc 18:09:40 dpkg-genbuildinfo --build=source 18:09:40 dpkg-genbuildinfo: warning: debian/changelog(l11): found trailer where expected start of change data 18:09:40 LINE: -- Marc Hanheide <marc@hanheide.net> Sun, 15 Mar 2020 00:00:00 -0000 18:09:40 dpkg-genchanges --build=source >../ros-melodic-uol-turtlebot-common_3.0.1-1bionic_source.changes 18:09:40 dpkg-genchanges: warning: debian/changelog(l11): found trailer where expected start of change data 18:09:40 LINE: -- Marc Hanheide <marc@hanheide.net> Sun, 15 Mar 2020 00:00:00 -0000 18:09:40 dpkg-genchanges: info: including full source code in upload 18:09:40 dpkg-source -i -I --after-build source 18:09:40 dpkg-source: info: using options from source/debian/source/options: --auto-commit 18:09:40 dpkg-buildpackage: info: full upload (original source is included) 18:09:40 Now running lintian --suppress-tags newer-standards-version ros-melodic-uol-turtlebot-common_3.0.1-1bionic_source.changes ... 18:09:42 W: ros-melodic-uol-turtlebot-common source: no-debian-copyright 18:09:42 W: ros-melodic-uol-turtlebot-common source: ancient-standards-version 3.9.2 (released 2011-04-07) (current is 4.1.4) 18:09:42 Finished running lintian. 18:09:42 # END SUBSECTION18:09:42 SSH: Connecting from host [lcas-buildfarm-slave-1] 18:09:42 SSH: Connecting with configuration [repo] ... 18:09:43 SSH: Disconnecting configuration [repo] ... 18:09:43 SSH: Transferred 5 file(s) 18:09:43 Build step 'Send files or execute commands over SSH' changed build result to SUCCESS 18:09:43 Waiting for the completion of Mrel_import-package 18:10:26 Mrel_import-package #788 started. 18:10:34 Mrel_import-package #788 completed. Result was SUCCESS11. Clean up to save disk space on agentsHide Details
18:09:42 # BEGIN SECTION: Clean up to save disk space on agents 18:09:42 + rm -fr sourcedeb/source 18:09:42 + echo # END SECTION 18:09:42 # END SECTION18:10:34 $ ssh-agent -k 18:10:34 unset SSH_AUTH_SOCK; 18:10:34 unset SSH_AGENT_PID; 18:10:34 echo Agent pid 19439 killed; 18:10:34 [ssh-agent] Stopped. 18:10:34 [description-setter] Description set: 3.0.1-1bionic 18:10:34 Triggering a new build of Mbin_uB64__uol_turtlebot_common__ubuntu_bionic_amd64__binary 18:10:34 Finished: SUCCESS12. Check if triggered build failedHide Details
18:10:34 # BEGIN SECTION: Check if triggered build failed 18:10:34 Pattern not found in build log, continuing... 18:10:34 # END SECTION