From nobody Sun Jul 26 12:29:02 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=reject dis=none) header.from=oss.qualcomm.com ARC-Seal: i=1; a=rsa-sha256; t=1781903571; cv=none; d=zohomail.com; s=zohoarc; b=QvN1XNY6z5y9RN4vY8Gzcqg5wxlkTSWZJvVvg52a5NULeya5MDWhEHN0ExOJxrbTdwoA07Enqamc96AxzVsVJZG6vNzX6cj8d1a0AxuNOcdXz+VnILnGbdqkRuEnJO1zuUCvpqPhWmbifuNpciBkQgIk5aaGDoAI3Vaj/jxJqSw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781903571; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=5euFBx+KVSvekG+T2gBFxSurqjkqdt6wEypF46KGW68=; b=LDieHYYYMxtU41EExxWDYYjb4o/IX7eJ1eJowriOSK1+cMK/451NtWzGZodOFkXXXP9JyLfpqQ9GuQPJbOlMylZHtBpJRu+TUCnT8gO5GRWI3abI7kdchobyTd81W6TQXXsJ/j205G1h7JUL4ZS/6RWFrdU1AGGHSa9l7RCCHB0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1781903571556800.9868132337983; Fri, 19 Jun 2026 14:12:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wagVk-0006Jh-4b; Fri, 19 Jun 2026 17:12:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wagVE-0006HM-HU for qemu-devel@nongnu.org; Fri, 19 Jun 2026 17:12:01 -0400 Received: from mx0b-0031df01.pphosted.com ([205.220.180.131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wagVB-0007VR-R4 for qemu-devel@nongnu.org; Fri, 19 Jun 2026 17:11:51 -0400 Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65JHUu4X1322474 for ; Fri, 19 Jun 2026 21:11:46 GMT Received: from mail-dy1-f199.google.com (mail-dy1-f199.google.com [74.125.82.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ew5hp9u3a-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 19 Jun 2026 21:11:45 +0000 (GMT) Received: by mail-dy1-f199.google.com with SMTP id 5a478bee46e88-30c1f6c5559so400587eec.0 for ; Fri, 19 Jun 2026 14:11:45 -0700 (PDT) Received: from hu-bcain-lv.qualcomm.com (Global_NAT1.qualcomm.com. [129.46.96.20]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-30c1ba91120sm1028528eec.13.2026.06.19.14.11.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 19 Jun 2026 14:11:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=5euFBx+KVSvekG+T2gBFxS urqjkqdt6wEypF46KGW68=; b=aWzSQDXwWfc6iujdyqI/tnj3TciVt9KFmjqHWW G9swwSlQXxE1yqX2yA8rQ0oMBoPztilqw/RZIHN/SX8XY3NlKnaG1bgGtMhkPi6j 37yhsdM9WqHc+vMb2peFaMcaSpb8eYRk+IkKcoqsml9cLbrpSl3J3r9DVKAhlymX EUC/jPwerm/tXDn8DcBtmsEMtzRb+kvOWy16Y7ARsp1enRpAaTfm/RO0cnebSBHl +zWX1EFIhrjdFOBxrmZxNM8cDqoZUgEsva0s6TgibSzimuY5ZEyKA25Dwrvc4FNF aOixhOqH5BaOHL62i/XO3PfK4SpCyMFnFOSgAp0mc/0wfUMA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1781903505; x=1782508305; darn=nongnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=5euFBx+KVSvekG+T2gBFxSurqjkqdt6wEypF46KGW68=; b=jJ5MEXh5XSHfMdC3tsJVFsppimcje1iyB04t92wT9RxaCh98oIestGKS5x+eDvFi/o yja6V9XY7T0pVOo3ioipNX6oyl6LTsM9smUvQHExi5fc5bYGZ/NrRZxE7XVJ5elyp696 p7OvxFq6oIZb3/SADtnt+uHQvK9qy7+oFVcoZJMQxWVSRrrGiAlXXME1ZLWfi/BM0Gco hRID5xGqh6HtIrBCLLshHDsc53gFKcQ3aWl/YEhMZei8AXkMYnhTM9yvl4474pAo++hj fepbaHrkXIQHxwFyNv3hisQ7/qSugImrgfm0o/hdGrsFBPtm0de2idPVi6LeTM9pZKJ2 FxRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781903505; x=1782508305; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=5euFBx+KVSvekG+T2gBFxSurqjkqdt6wEypF46KGW68=; b=E1Xc8cpnyAEI+rfLdwiGIlC5U5BzFKz+E7AqShhFIupGrQhbLTqmpoTijPkbeR3qfQ 1/wEzjXCOSukF9rqYshGiMbMgo9Y6K/bRMJ8ofqLM8gnMmaKbYLp3m+oAYB5C+bUBaOe DVCnpCnfqJpudiW78q8PnzuCN3aIdLJx+Mr3C+AseoxR0d0oPuj0xXq2i+LHBz2vQ8Jw CWThT5+iAQeQWrq+XuFbdJlXTkSOHB+HPW2H8Us4CdUxDyyv75i/6UqmyuJcbz8nU2Ea TRyw/Oid5ZvXOKQ2ipxQIMsMgb9fHizU+lsgnjsxhKVeYI4dQkjbDZB02Ut+HXlX9B4+ 04cA== X-Gm-Message-State: AOJu0YybeWa4cE0IpczKHqLxNjG2w3V8HeF98wuhUk62iq6Fss0CWJJR hlj3FNiWjcZshPLRx7QPjgpk+pr8EY8lMTdmoSku/7UU1LZkklpsyDHBVZ6ns+SaWxMuhl9S9Au o+OGqR82UCBt6b+OELLEhGbApxDamK5TpY3jGYMDEepp/ylGcpighkQGYqckdfBh5hw== X-Gm-Gg: AfdE7clibbCk6Ygtu1g/bQcfwwNRAvd+ITcUkgI80gPLeaudK3iHpIlWAd8kfDsqyrd 3yd3+HN6yw+Z2zrkvwu2514BFtBGEjyDArVQnO3ynIyFt2mWOT+LL1Cy25VDCpBJ2XUa8iKmhun HHj2EBVWs6RmIhnARj0E78wH8ikt8V5eJjVF8d8f7GEOFgHHDyEXc5Y+yWNP36aJgT0HUGZk2aj JcGntvivIPE2wNl3n5Hyl/hJDM4F5VMLN+mby9E165/76uxWVAy8n4IREVD2WAh6DWbAtHhX7ip M9bREiHRoUHr/hsNuVex1Ukpv6UWSyy1kIdaH/NTRVbUWFyz/dgYbVTrwFTTy8wlN126foX3aqx vIEAsgwm1E1tO66VA548mBK6xb4cIzd3jAO3qZ7gxkDH62N/psBfXl4pCMx4= X-Received: by 2002:a05:7300:5b89:b0:307:393a:8f1d with SMTP id 5a478bee46e88-30c07056474mr3192065eec.14.1781903504580; Fri, 19 Jun 2026 14:11:44 -0700 (PDT) X-Received: by 2002:a05:7300:5b89:b0:307:393a:8f1d with SMTP id 5a478bee46e88-30c07056474mr3192043eec.14.1781903504039; Fri, 19 Jun 2026 14:11:44 -0700 (PDT) From: Brian Cain To: qemu-devel@nongnu.org Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= , Pierrick Bouvier , Brian Cain , matheus.bernardino@oss.qualcomm.com Subject: [PATCH v2] tests/docker: tolerate chmod EPERM when unpacking hexagon toolchain Date: Fri, 19 Jun 2026 14:11:42 -0700 Message-Id: <20260619211142.4126199-1-brian.cain@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Proofpoint-GUID: hXHLEIuA2ueKPDpgqT4KT4x9bgJ033wU X-Authority-Analysis: v=2.4 cv=aOHAb79m c=1 sm=1 tr=0 ts=6a35b091 cx=c_pps a=cFYjgdjTJScbgFmBucgdfQ==:117 a=ouPCqIW2jiPt+lZRy3xVPw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=qC_FGOx9AAAA:8 a=EUspDBNiAAAA:8 a=t8GXQkb_Q_UzE3FaIXAA:9 a=QEXdDO2ut3YA:10 a=scEy_gLbYbu1JhEsrz4S:22 a=fsdK_YakeE02zTmptMdW:22 X-Proofpoint-ORIG-GUID: hXHLEIuA2ueKPDpgqT4KT4x9bgJ033wU X-Proofpoint-Spam-Info: AW1haW4tMjYwNjE5MDIwMyBTYWx0ZWRfX7mJ59xCotwhO 78caf92nldZNq4+3LzaW8AYc9CtyAlPAOPE6lsYzzuD81Km8xvMik2MXXzqUhXKb6xCP25R0f0H kW0tqr/shvWD7NJyDrChKgxl+fPyhDs= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjE5MDIwMyBTYWx0ZWRfX3NHOCn718FAd hfHtqVVQ4W9AP18mn0kJZxDtyHCW4+Bdgzdy0q6gkoYStdXwjc8v9c/T4FUxo5fujbEFdaUhTJA dP8xCIwtyiCcBJrZHvnMMr3avpYOmxaiXNxyNj1PtMasQ9E7YHdOa4rdzBdg197pkujnSp8njih ZAunx+ltcBDAIdtJX25UTdEmn+yZt4B+qs4aZKuTwSeTwhjsJxRXGtQxj6ovgLU+pk5ob3QLMLJ +UA4Y0J7bC6TgdDqsegwZVEABnDOtWXhb5uBs02wgeSRnBGeUD9rt9xD21a6pHrGT06zZD8S3ZW vH5GMtwqv8Z6Lc0G/pOLLBpNo6gksM38k8u8gnMeflRi3opgb/JDQFyddtYFPPUEI0ev3m3Lc54 F82/pzvho3iVKcjPzzXG53HJuMXGop+YonUMJeNg2mu1ybbHj/VrfZfemnHJHeX9Ye67oL+VsGQ wq0sh9h/gwnqKQCMjiA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-19_04,2026-06-18_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 bulkscore=0 spamscore=0 clxscore=1015 impostorscore=0 adultscore=0 lowpriorityscore=0 malwarescore=0 suspectscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606190203 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists1p.gnu.org; Received-SPF: pass client-ip=205.220.180.131; envelope-from=brian.cain@oss.qualcomm.com; helo=mx0b-0031df01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @qualcomm.com) X-ZM-MESSAGEID: 1781903572390158500 The debian-hexagon-cross image unpacks the codelinaro clang+llvm hexagon toolchain tarball into /opt. The archive contains symlinks (the .so/.a library aliases) and directories whose stored modes GNU tar restores via chmod()/lchmod(). Under docker, where the build runs as real root, those calls succeed. Under rootless podman the build runs in a user namespace on overlay storage, which rejects the chmod()/lchmod() calls with EPERM: tar: .../libclang_rt.builtins.a: Cannot change mode to rwxrwxrwx: \ Operation not permitted tar: .../x86_64-linux-gnu: Cannot change mode to rwxr-xr-x: \ Operation not permitted tar: Exiting with failure status due to previous errors tar then exits non-zero and aborts the build. The mode metadata on these symlinks and directories is irrelevant for our use, and neither --no-same-permissions nor extracting as a non-root user stops GNU tar 1.35 from attempting the lchmod on the symlinks. Download the tarball to a file and ignore tar's exit status during extraction with --no-same-owner and --no-same-permissions. Rather than trying to distinguish that known-benign failure from a genuinely broken download or extraction by pattern-matching tar's stderr text (fragile across tar versions and locales), verify the toolchain actually works by running hexagon-clang --version afterwards, and pass curl --fail so a failed download surfaces immediately instead of writing an error page into the tarball. Signed-off-by: Brian Cain --- tests/docker/dockerfiles/debian-hexagon-cross.docker | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/tests/docker/dockerfiles/debian-hexagon-cross.docker b/tests/d= ocker/dockerfiles/debian-hexagon-cross.docker index 23e8bb2fb26..fc1e3ef4e37 100644 --- a/tests/docker/dockerfiles/debian-hexagon-cross.docker +++ b/tests/docker/dockerfiles/debian-hexagon-cross.docker @@ -49,7 +49,16 @@ ENV TOOLCHAIN_BASENAME=3Dclang+llvm-${TOOLCHAIN_RELEASE}= -cross-hexagon-unknown-lin ENV TOOLCHAIN_URL=3Dhttps://artifacts.codelinaro.org/artifactory/codelinar= o-toolchain-for-hexagon/${TOOLCHAIN_RELEASE}_/${TOOLCHAIN_BASENAME}.tar.zst ENV CCACHE_WRAPPERSDIR=3D/usr/libexec/ccache-wrappers =20 -RUN curl -#SL "$TOOLCHAIN_URL" | tar --zstd -xC "$TOOLCHAIN_INSTALL" +# Rootless podman's overlay storage rejects the chmod()/lchmod() calls GNU +# tar makes while restoring the toolchain symlinks' and directories' stored +# modes, with EPERM (the mode metadata itself is harmless and unused here). +# Ignore tar's exit status, but verify the toolchain actually extracted and +# runs, so a genuinely broken download or extraction still fails the build. +RUN curl --fail -#SLo /tmp/toolchain.tar.zst "$TOOLCHAIN_URL" && \ + { tar --zstd --no-same-owner --no-same-permissions \ + -xf /tmp/toolchain.tar.zst -C "$TOOLCHAIN_INSTALL" || true; } &&= \ + rm -f /tmp/toolchain.tar.zst && \ + "$TOOLCHAIN_INSTALL/$TOOLCHAIN_BASENAME/x86_64-linux-gnu/bin/hexagon-c= lang" --version ENV PATH=3D$PATH:${TOOLCHAIN_INSTALL}/${TOOLCHAIN_BASENAME}/x86_64-linux-g= nu/bin ENV MAKE=3D/usr/bin/make # As a final step configure the user (if env is defined) --=20 2.34.1