From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6685271301067636736 X-Received: by 2002:a05:6000:108e:: with SMTP id y14mr4835503wrw.278.1556536020637; Mon, 29 Apr 2019 04:07:00 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a1c:17:: with SMTP id 23ls377444wma.4.canary-gmail; Mon, 29 Apr 2019 04:07:00 -0700 (PDT) X-Google-Smtp-Source: APXvYqziOwp88b5wKge+UhKnSt67RMp8xVh0om+NzHrQ4bRgI8hWvLVFLA2qMagVykr/eT8HJ332 X-Received: by 2002:a1c:80c4:: with SMTP id b187mr7074948wmd.7.1556536020152; Mon, 29 Apr 2019 04:07:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556536020; cv=none; d=google.com; s=arc-20160816; b=q8XS3QFs0PObadpeU5DbLwhUS3ROtAxnZEDwXqO4fIknW6GSb7g+NUSO2L/YIQbX4U qS0p8zrKQoNI/2HXs9xKMEHoJQGIGFTPRmEuvCD1DP8EZIjTCdV0QQf3RH2im4WZQQBm chtj6t/X6sP4Aou8T8xge3UIIMKTGLXUBKO1bfK2rjOGS32eJOczFLpnTMYpX1rVhYRr T0be/a2WjJUun252mNW4JlM3PxD6qZkUr9VEu92rKdm11pef2pZb+0XKgRrPapUBNmgT QH+v/vE68zBmGtD6R2Vg4vlSdK0izdnlB6PuJlA5//6uTyFuRH4K/hAbC6X6y6hOpard N6GA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from; bh=c6vLbJgp/DyLWD5DxjUQZDunPwuYNYXE6Av59gYAcG8=; b=lqHcRjurTwkqB1v7I+czS8WFky8rBqSEFfG6ZkIzXSmxAPsYdae8Kt1tYUZOoMQFCC Pt/iQqJZb9x7Whm31jkTbrK5H/XdxwxsqqH5VlWPI+MYskHM+Djk9bkyDHUiKhh0UcEs 6xCemWAQPYkNGIVQCcLc3oPwJ8V5FjTADmjsTweCACx7KBd6RXH/PLf9sCtIfOASQmFN 8hM4RQaNmLAMduS89RySsrIycgsxizxs1NGooO0F+cKhu5CnyZN3tDimBKymPZnKlota Rdhd+E8pWYPIjUYRcsGiIL3Zyx+ay4GPR6UtZblmv7RLBqWL36IeOrRm/X4jCPsCbjHT QyOQ== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.39 as permitted sender) smtp.mailfrom=henning.schild@siemens.com Return-Path: Received: from lizzard.sbs.de (lizzard.sbs.de. [194.138.37.39]) by gmr-mx.google.com with ESMTPS id f85si301101wme.1.2019.04.29.04.07.00 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 29 Apr 2019 04:07:00 -0700 (PDT) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.39 as permitted sender) client-ip=194.138.37.39; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 194.138.37.39 as permitted sender) smtp.mailfrom=henning.schild@siemens.com Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by lizzard.sbs.de (8.15.2/8.15.2) with ESMTPS id x3TB6xHb023642 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 29 Apr 2019 13:06:59 +0200 Received: from md1za8fc.ad001.siemens.net ([139.25.68.211]) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id x3TB6xNG023410; Mon, 29 Apr 2019 13:06:59 +0200 From: Henning Schild To: isar-users Cc: Henning Schild Subject: [PATCH] dpkg: warn when S equals WORKDIR Date: Mon, 29 Apr 2019 13:06:58 +0200 Message-Id: <20190429110658.16212-1-henning.schild@siemens.com> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUID: jM9+MMH+nhJ1 From: Henning Schild This patch does not change any logic, it just introduces a warning. If S is not a directory inside WORKDIR do_deploy_deb and repo_clean will not actually find any "*.deb" because they remain inside buildchroot. Finding debs relative to BUILDROOT instead of S would require mounting and locking. Intead of doing all of that document the small limitation/assumption with a warning. Signed-off-by: Henning Schild --- meta/classes/dpkg-base.bbclass | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bbclass index 742b8ad..e31dd8d 100644 --- a/meta/classes/dpkg-base.bbclass +++ b/meta/classes/dpkg-base.bbclass @@ -45,9 +45,12 @@ do_apt_fetch[lockfiles] += "${REPO_ISAR_DIR}/isar.lock" do_apt_fetch[stamp-extra-info] = "${DISTRO}-${DISTRO_ARCH}" def get_package_srcdir(d): - s = d.getVar("S", True) - workdir = d.getVar("WORKDIR", True) - if s.startswith(workdir): + s = os.path.abspath(d.getVar("S", True)) + workdir = os.path.abspath(d.getVar("WORKDIR", True)) + if os.path.commonpath([s, workdir]) == workdir: + if s == workdir: + bb.warn('S is not a subdir of WORKDIR debian package operations' + + ' will not work for this recipe.') return s[len(workdir)+1:] bb.warn('S does not start with WORKDIR') return s -- 2.21.0