From patchwork Wed May 12 10:20:24 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 1477503 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256 header.s=google header.b=FvRdj5Oi; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Fg9nj0Gdhz9sRR for ; Wed, 12 May 2021 20:22:01 +1000 (AEST) Received: from localhost ([::1]:38410 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lgm06-0003Ng-VP for incoming@patchwork.ozlabs.org; Wed, 12 May 2021 06:21:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60118) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lglzC-0003HH-O7 for qemu-devel@nongnu.org; Wed, 12 May 2021 06:21:02 -0400 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]:42752) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lglzA-0003Yg-K8 for qemu-devel@nongnu.org; Wed, 12 May 2021 06:21:02 -0400 Received: by mail-wm1-x32b.google.com with SMTP id 4-20020a05600c26c4b0290146e1feccd8so2757058wmv.1 for ; Wed, 12 May 2021 03:21:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=itDJZjFFgEhRSTkYYv8ljT67JkqTdrMRXTGjjJSCeDY=; b=FvRdj5OiLxfzxL5ZlmpkLUyY3w7NNegSF+WNrcflIt0m0cz2BKNfWQIYMFuGQGP1po CnICvdpnFpuRQwnGA1Po5iqSBCVEOVfPBGuZyG/82CnIC3Qf30+vccrJ5doutHH8meYJ rMIgYksvXJN1GTMCXW0zgdMwGnx3hyQ+Cwe7J/m1QRzN9qgCSMBAwFRBOMDPdtAqAYtS Sxk2Q4sxO7OrAhUd23suSetfrAfA7FJfeT9sCV33RhjB6n5K+3ELzHciyyhd+VZWHFt4 SIqj9PcTPlCFyeOL0vaW4sOGvyz7NGsTKu6y45IqUj8IvzTGx8tJ1zbFmWxM2LIAjKBp SWYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=itDJZjFFgEhRSTkYYv8ljT67JkqTdrMRXTGjjJSCeDY=; b=BlIF91gCIBjb36SVuAHCUVxZLhMNZkuuLftelatIbX62MEqoOwBdYD36G+1K4QVn62 AlHrHx7nZfFEzN7fCtUaH0RNrWl+gUr7/QS48+MN82WJzSFxEluYKXsvos6iutWZ6q4T 3Ez8zKTDdl0Km5MXl6OLDl3vEqi9ZtC9nY2+3vwUSlKVGSiFn6k50FwmYfnYbNsozHsL pzThZArEJeuZvyJZcVshOfKP3fXw3ZqgP152jMVI7VvVkZgIdNZOwHh5x+CZIJgPcRyT SP9+u6sDB7A6IS7NkRuYJ0V02qzeo+X8dtIl0zfEWELTzod7fOEXGv0zEGw9EtWjDyXc 54ew== X-Gm-Message-State: AOAM5305pG7YoML631kuzwE6pH4aLTRz9q9hk+9QcvAXLyco/FkUb2ua 2LfmVA8ngh3QzceR6mRK5C9kCQ== X-Google-Smtp-Source: ABdhPJy1U5wIcdtGyh9Z8bvUudQnJb9T5q0OEFc32uRj0AhYFrvDjwJG3GMhS/2T2fyHnESJeJXmog== X-Received: by 2002:a7b:cd98:: with SMTP id y24mr11014321wmj.4.1620814859211; Wed, 12 May 2021 03:20:59 -0700 (PDT) Received: from zen.linaroharston ([51.148.130.216]) by smtp.gmail.com with ESMTPSA id s7sm5659562wmh.35.2021.05.12.03.20.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 12 May 2021 03:20:56 -0700 (PDT) Received: from zen.lan (localhost [127.0.0.1]) by zen.linaroharston (Postfix) with ESMTP id 7D98A1FF90; Wed, 12 May 2021 11:20:51 +0100 (BST) From: =?utf-8?q?Alex_Benn=C3=A9e?= To: qemu-devel@nongnu.org Subject: [PATCH v3 04/31] tests/docker: allow "update" to add the current user Date: Wed, 12 May 2021 11:20:24 +0100 Message-Id: <20210512102051.12134-5-alex.bennee@linaro.org> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20210512102051.12134-1-alex.bennee@linaro.org> References: <20210512102051.12134-1-alex.bennee@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32b; envelope-from=alex.bennee@linaro.org; helo=mail-wm1-x32b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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_NONE=-0.0001, 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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: fam@euphon.net, Thomas Huth , berrange@redhat.com, f4bug@amsat.org, Wainer dos Santos Moschetta , Willian Rampazzo , stefanha@redhat.com, crosa@redhat.com, pbonzini@redhat.com, =?utf-8?q?Alex_Benn=C3=A9e?= , aurelien@aurel32.net Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" The current user functionality is used for cross compiling to avoid complications with permissions when building test programs. However for images that come from the registry we still need the ability to add the user after the fact. Reviewed-by: Willian Rampazzo Signed-off-by: Alex Bennée --- tests/docker/docker.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tests/docker/docker.py b/tests/docker/docker.py index 9b3425fec2..7a14058801 100755 --- a/tests/docker/docker.py +++ b/tests/docker/docker.py @@ -517,7 +517,7 @@ def run(self, args, argv): class UpdateCommand(SubCommand): - """ Update a docker image with new executables. Args: """ + """ Update a docker image. Args: """ name = "update" def args(self, parser): @@ -525,6 +525,9 @@ def args(self, parser): help="Image Tag") parser.add_argument("--executable", help="Executable to copy") + parser.add_argument("--add-current-user", "-u", dest="user", + action="store_true", + help="Add the current user to image's passwd") def run(self, args, argv): # Create a temporary tarball with our whole build context and @@ -564,6 +567,13 @@ def run(self, args, argv): df.write(u"ADD . /\n") + if args.user: + uid = os.getuid() + uname = getpwuid(uid).pw_name + df.write("\n") + df.write("RUN id %s 2>/dev/null || useradd -u %d -U %s" % + (uname, uid, uname)) + df_bytes = BytesIO(bytes(df.getvalue(), "UTF-8")) df_tar = TarInfo(name="Dockerfile")