From patchwork Wed Nov 22 12:44:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Martin Jansa X-Patchwork-Id: 35081 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id A0493C61DB1 for ; Wed, 22 Nov 2023 12:45:28 +0000 (UTC) Received: from mail-ed1-f42.google.com (mail-ed1-f42.google.com [209.85.208.42]) by mx.groups.io with SMTP id smtpd.web10.18530.1700657124248094176 for ; Wed, 22 Nov 2023 04:45:24 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20230601 header.b=QVOaYC/1; spf=pass (domain: gmail.com, ip: 209.85.208.42, mailfrom: martin.jansa@gmail.com) Received: by mail-ed1-f42.google.com with SMTP id 4fb4d7f45d1cf-543456dbd7bso1550770a12.1 for ; Wed, 22 Nov 2023 04:45:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700657123; x=1701261923; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=C6jQL1xZDJTXbxEfkjkWHYaY7V9TpgHEo3OfX0pT8pg=; b=QVOaYC/1mogzboxIJmzTXlpf0ddG8JtzY0rVnaXR+bdmwSCikTQY9/7G6lXCJ7BMwo ZSTENPtoka1GH0/CgBGPPVlUAT2RcAbmrCWf0K4TsRp5vRCKvoan4c56/4YEKY9L2ZP+ S6vxPrf7FzXgznPRstTqgcgYLcF4fn9IuSQfUY3PXljwFh+9R35AzS/SsOk0pu64xsLo jgE8/2BSfz+vdRF9u0Sh89jMYCad2zRkN/OomYjfjBmASZI9A2O61YWFCGklPxKHrhgZ XuIn0xQomgfbFZr1SfH7S3FJq4Jkf1Pb/b45QR59QkmhqnzE20ULHhCoeLCJPRGTfCN8 PEYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700657123; x=1701261923; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=C6jQL1xZDJTXbxEfkjkWHYaY7V9TpgHEo3OfX0pT8pg=; b=ntttdLcFFfBYmCp4wzvQNkK7pHKP03ZLFwHL3lwzCfWg5iMh2yoYCZr4PpWtjFI4uU c+aI74Xh4f/NwQt5CGNcAhXuZr0xPW+63dlIkbFJx5SFYnUAFslibVwwTgP1zu6OCVpY mQdLSN0CEUNDgLmqDexhe5455NUwWm921nDiaeTRBF+IjDXnSeoqSVZBzt8efDUNH8iY 6nlUSSEiUYDC5TdOqNnF+iQXNlmcvXlUU+SSyP5oYPlg5G5qvVll4T0gk5GKnGDkoF5n ll2XGfJEXtblf2rFJ1K9RQ/LgBc/BOS6nJ1bQleppCzlZxcrGAwPM4mDU/66kUbhBhkc hfUQ== X-Gm-Message-State: AOJu0YwtlgF+ljgGo6suTs/vJlZYNQoE1rPYdtfmFiY0tWWXjLJfau1F 36ND8HiTh20eqZJm1WRjeLPKqmOBd2k= X-Google-Smtp-Source: AGHT+IH04Ql/5CUAPm5PLW2xFKkppgSI0LHTRoOf1KgDOaMWNOogwEgyeZqaTTT7ttfbeZzwI2LNUw== X-Received: by 2002:a17:906:7d6:b0:9a9:f0e6:904e with SMTP id m22-20020a17090607d600b009a9f0e6904emr2042297ejc.16.1700657122698; Wed, 22 Nov 2023 04:45:22 -0800 (PST) Received: from localhost (ip-109-238-218-228.aim-net.cz. [109.238.218.228]) by smtp.gmail.com with ESMTPSA id va26-20020a17090711da00b009fcbff55852sm4379933ejb.162.2023.11.22.04.45.22 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 22 Nov 2023 04:45:22 -0800 (PST) From: Martin Jansa To: openembedded-core@lists.openembedded.org Subject: [PATCH 19/21] image.bbclass: remove hardlinks as well Date: Wed, 22 Nov 2023 13:44:49 +0100 Message-ID: X-Mailer: git-send-email 2.43.0 In-Reply-To: References: MIME-Version: 1.0 List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 22 Nov 2023 12:45:28 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/191096 * it was removing only destination symlinks, but sometimes hardlink might be regenerated as well, e.g. in oeqa test wic.Wic.test_permissions which was failing with: NOTE: recipe core-image-minimal-1.0-r0: task do_image_wic: Started ERROR: core-image-minimal-1.0-r0 do_image_wic: Error executing a python function in exec_func_python() autogenerated: The stack trace of python calls that resulted in this exception/failure was: File: 'exec_func_python() autogenerated', lineno: 2, function: 0001: *** 0002:create_hardlinks(d) 0003: File: '/OE/build/poky/meta/classes-recipe/image.bbclass', lineno: 606, function: create_hardlinks 0602: if os.path.exists(src): 0603: bb.note("Creating hardlink: %s -> %s" % (dst, src)) 0604: if os.path.islink(dst): 0605: os.remove(dst) *** 0606: os.link(src, dst) 0607: else: 0608: bb.note("Skipping hardlink, source does not exist: %s -> %s" % (dst, src)) 0609:} 0610: Exception: FileExistsError: [Errno 17] File exists: 'tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/deploy-core-image-minimal-image-complete/core-image-minimal-qemux86-64.rootfs.wic' -> 'tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/deploy-core-image-minimal-image-complete/core-image-minimal-qemux86-64.rootfs--1.0-r0-20110405230000.wic' [YOCTO #12937] Signed-off-by: Martin Jansa --- meta/classes-recipe/image.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes-recipe/image.bbclass b/meta/classes-recipe/image.bbclass index e68b8034ea..081f1927fb 100644 --- a/meta/classes-recipe/image.bbclass +++ b/meta/classes-recipe/image.bbclass @@ -601,7 +601,7 @@ python create_hardlinks() { src = os.path.join(deploy_dir, img_name + "." + type) if os.path.exists(src): bb.note("Creating hardlink: %s -> %s" % (dst, src)) - if os.path.islink(dst): + if os.path.isfile(dst): os.remove(dst) os.link(src, dst) else: