<p>osmith has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/c/osmo-dev/+/25189">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">gen_makefile.py: add --docker-cmd argument<br><br>To be used by ttcn3.sh to run the actual build inside docker. ttcn3.sh<br>runs the programs built by osmo-dev inside docker with the exact<br>configs that we use on jenkins.osmocom.org, but so far it builds the<br>component outside of docker. But building inside docker is necessary to<br>avoid incompatibilities between the host system and the docker<br>containers (e.g. different glibc).<br><br>Change-Id: Ibd20f0e0e2a5105085066a9f04b5868c68691024<br>---<br>M gen_makefile.py<br>1 file changed, 9 insertions(+), 4 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/osmo-dev refs/changes/89/25189/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/gen_makefile.py b/gen_makefile.py</span><br><span>index fb81aac..508b862 100755</span><br><span>--- a/gen_makefile.py</span><br><span>+++ b/gen_makefile.py</span><br><span>@@ -107,6 +107,9 @@</span><br><span>   default=True, action='store_false',</span><br><span>   help='''do not 'make check', just 'make' to build.''')</span><br><span> </span><br><span style="color: hsl(120, 100%, 40%);">+parser.add_argument('--docker-cmd',</span><br><span style="color: hsl(120, 100%, 40%);">+    help='''prefix configure/make/make install calls with this command (used by ttcn3.sh)''')</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span> args = parser.parse_args()</span><br><span> </span><br><span> class listdict(dict):</span><br><span>@@ -191,19 +194,19 @@</span><br><span>        -chmod -R ug+w {build_proj}</span><br><span>  -rm -rf {build_proj}</span><br><span>         mkdir -p {build_proj}</span><br><span style="color: hsl(0, 100%, 40%);">-   cd {build_proj}; {build_to_src}/configure {configure_opts}</span><br><span style="color: hsl(120, 100%, 40%);">+    cd {build_proj}; {docker_cmd}{build_to_src}/configure {configure_opts}</span><br><span>       sync</span><br><span>         touch $@</span><br><span> </span><br><span> .make.{proj}.build: .make.{proj}.configure $({proj}_files)</span><br><span>   @echo -e "\n\n\n===== $@\n"</span><br><span style="color: hsl(0, 100%, 40%);">-   $(MAKE) -C {build_proj} -j {jobs} {check}</span><br><span style="color: hsl(120, 100%, 40%);">+     {docker_cmd}$(MAKE) -C {build_proj} -j {jobs} {check}</span><br><span>        sync</span><br><span>         touch $@</span><br><span> </span><br><span> .make.{proj}.install: .make.{proj}.build</span><br><span>     @echo -e "\n\n\n===== $@\n"</span><br><span style="color: hsl(0, 100%, 40%);">-   {sudo_make_install}$(MAKE) -C {build_proj} install</span><br><span style="color: hsl(120, 100%, 40%);">+    {docker_cmd}{sudo_make_install}$(MAKE) -C {build_proj} install</span><br><span>       {no_ldconfig}{sudo_ldconfig}ldconfig</span><br><span>         sync</span><br><span>         touch $@</span><br><span>@@ -238,6 +241,7 @@</span><br><span>     no_ldconfig='#' if no_ldconfig else '',</span><br><span>     sudo_ldconfig='' if ldconfig_without_sudo else 'sudo ',</span><br><span>     check='check' if make_check else '',</span><br><span style="color: hsl(120, 100%, 40%);">+    docker_cmd=f'{args.docker_cmd} ' if args.docker_cmd else '',</span><br><span>     )</span><br><span> </span><br><span> </span><br><span>@@ -286,7 +290,7 @@</span><br><span>            -o {makefile} \</span><br><span>              -s {src_dir} \</span><br><span>               -b {build_dir} \</span><br><span style="color: hsl(0, 100%, 40%);">-                -u "{url}"{push_url}{sudo_make_install}{no_ldconfig}{ldconfig_without_sudo}{make_check}</span><br><span style="color: hsl(120, 100%, 40%);">+             -u "{url}"{push_url}{sudo_make_install}{no_ldconfig}{ldconfig_without_sudo}{make_check}{docker_cmd}</span><br><span> </span><br><span> '''.format(</span><br><span>     script=os.path.relpath(sys.argv[0], make_dir),</span><br><span>@@ -302,6 +306,7 @@</span><br><span>     no_ldconfig=' \\\n\t\t-L' if args.no_ldconfig else '',</span><br><span>     ldconfig_without_sudo=' \\\n\t\t--ldconfig-without-sudo' if args.ldconfig_without_sudo else '',</span><br><span>     make_check='' if args.make_check else " \\\n\t\t--no-make-check",</span><br><span style="color: hsl(120, 100%, 40%);">+    docker_cmd=f' \\\n\t\t--docker-cmd "{args.docker_cmd}"' if args.docker_cmd else ''</span><br><span>     ))</span><br><span> </span><br><span>   # convenience target: clone all repositories first</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/c/osmo-dev/+/25189">change 25189</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/c/osmo-dev/+/25189"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: osmo-dev </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-Change-Id: Ibd20f0e0e2a5105085066a9f04b5868c68691024 </div>
<div style="display:none"> Gerrit-Change-Number: 25189 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: osmith <osmith@sysmocom.de> </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>