From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6572151760657317888 X-Received: by 2002:a2e:84c5:: with SMTP id q5-v6mr510946ljh.41.1530555600543; Mon, 02 Jul 2018 11:20:00 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a19:7502:: with SMTP id y2-v6ls2150366lfe.4.gmail; Mon, 02 Jul 2018 11:20:00 -0700 (PDT) X-Google-Smtp-Source: AAOMgpdqllzbZ/HeRHOr+pwi186+MU9XEMtXpbHSKTlj6TAC36D2b/rt4aa+Mfmb+YMcMWkF/E0F X-Received: by 2002:a19:1604:: with SMTP id m4-v6mr1416115lfi.22.1530555600077; Mon, 02 Jul 2018 11:20:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530555600; cv=none; d=google.com; s=arc-20160816; b=K7Q6KenoyS5SpLMtmq8J0yzBsCmQ4GcylP0EOVaOAboBnqOn+kzBATrjEo8CK1T9rQ R+cJQXKosoM75TKOcFk9tonTmL6+I2Kdgu05KOar7W1hu3pNfaFjJeavuvY2iYE9EdWE L880iwyWQZlyzQQFkNWkue58ZbVnnQMXmcOvAmcnLiIK4jS427cIGTGot6jbDE95kLk/ RJrlV1YoYrGHYIhLJbHZUscghJwcHAELcSpXHES0NNeqOZQI9R9s2asbwr2DyKGGRMco szlk1B5tvlFVdlXMLD37C6jJPgZ0XqOtIt1q4wB6nQ2WEqEkZCwuZ80gDGekhHjKG9XY i30g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=eTvcky0HDyjX5i/B+Osq9PHuEcogJx418VCe7xpHfgA=; b=Z6YJNDErO4LDcqtSoiMkI/U4A+6Ttvrtq2sIdiUHVmZcggCwlZIeBcEA3FmE43M8Jv Nmp1e2qTaRfsFj0faTNE+i0ae3lGLNrE5SvPPrP5kqXfdtJHXyS84CGxWzzfKPNqM7EA Jun2cott62EIVH5+kWI6gq0LSQ0NM8LS5VTEkY1Eb3WiVZ4EAcjw+hvs2o3V75saY4BX FaRVDO9XBFi6Sjn97BPDjBt/W0bn9Bz4w9SXAlGi7u2NifRxMSKiLk48XdWEG7GkeU+L 7SgCDbtjgjTnUOliDMTfEKyXrUxoI8o9vg5MCEmQGGvf1/n00IlXDjf6M8sqQUYcIXfb 4yqg== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.14 as permitted sender) smtp.mailfrom=henning.schild@siemens.com Return-Path: Received: from david.siemens.de (david.siemens.de. [192.35.17.14]) by gmr-mx.google.com with ESMTPS id p198-v6si180882lfp.0.2018.07.02.11.19.59 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 02 Jul 2018 11:20:00 -0700 (PDT) Received-SPF: pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.14 as permitted sender) client-ip=192.35.17.14; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of henning.schild@siemens.com designates 192.35.17.14 as permitted sender) smtp.mailfrom=henning.schild@siemens.com Received: from mail3.siemens.de (mail3.siemens.de [139.25.208.14]) by david.siemens.de (8.15.2/8.15.2) with ESMTPS id w62IJxXd000734 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 2 Jul 2018 20:19:59 +0200 Received: from md1pvb1c.ad001.siemens.net (md1pvb1c.ad001.siemens.net [139.25.68.40]) by mail3.siemens.de (8.15.2/8.15.2) with ESMTP id w62IJxO1028150; Mon, 2 Jul 2018 20:19:59 +0200 From: Henning Schild To: isar-users@googlegroups.com Cc: "Maxim Yu . Osipov" , Jan Kiszka , Henning Schild Subject: [PATCH] meta/image: allow customization of git command we use fo BUILD_ID Date: Mon, 2 Jul 2018 20:19:57 +0200 Message-Id: <20180702181957.12054-1-henning.schild@siemens.com> X-Mailer: git-send-email 2.16.4 In-Reply-To: <4cb847ca-f5ce-6765-602e-9d5263746a3f@ilbers.de> References: <4cb847ca-f5ce-6765-602e-9d5263746a3f@ilbers.de> X-TUID: GN/67MSwdOSX One of the previous patches introduced the feature to leave some build system information in the rootfs. The git command to derive that information was kept pretty repository agnostic. This patch makes the command Isar-specific and allows users to customize the command to their needs if they use a different tagging scheme in their repository. Signed-off-by: Henning Schild --- meta-isar/recipes-core/images/isar-image-base.bb | 1 + meta/classes/image.bbclass | 13 +++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/meta-isar/recipes-core/images/isar-image-base.bb b/meta-isar/recipes-core/images/isar-image-base.bb index c72bfdb..2ae1c01 100644 --- a/meta-isar/recipes-core/images/isar-image-base.bb +++ b/meta-isar/recipes-core/images/isar-image-base.bb @@ -25,6 +25,7 @@ IMAGE_TRANSIENT_PACKAGES += "isar-cfg-localepurge" WORKDIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/${PN}" ISAR_GIT_RELEASE_PATH ?= "${LAYERDIR_isar}" +ISAR_GIT_RELEASE_CMD ?= "git -C ${ISAR_GIT_RELEASE_PATH} describe --tags --dirty --match 'v[0-9].[0-9]*'" do_rootfs[root_cleandirs] = "${IMAGE_ROOTFS} \ ${IMAGE_ROOTFS}/isar-apt" diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 7935b69..d60c6bb 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -36,7 +36,8 @@ def get_rootfs_size(d): # we assume that one git commit can describe the whole image, so you should be # using submodules, kas, or something like that -# set ISAR_GIT_RELEASE_PATH to that one "most significant" layer +# set ISAR_GIT_RELEASE_PATH to that one "most significant" layer and adjust +# ISAR_GIT_RELEASE_ARGS according to your tagging # when not using git, override do_mark_rootfs def get_build_id(d): import subprocess @@ -45,11 +46,11 @@ def get_build_id(d): d.getVar("LAYERDIR_isar", True))): bb.warn('You are using external layers that will not be considered' + ' in the build_id. Considder setting ISAR_GIT_RELEASE_PATH.') - base = ["git", "-C", d.getVar("ISAR_GIT_RELEASE_PATH", True)] - if (0 == subprocess.call(base + ["rev-parse"])): - v = subprocess.check_output(base + - ["describe", "--long", "--dirty", - "--always"], universal_newlines=True) + if (0 == subprocess.call(["git", "-C", + d.getVar("ISAR_GIT_RELEASE_PATH", True), + "rev-parse"])): + cmd = d.getVar("ISAR_GIT_RELEASE_CMD", True) + v = subprocess.check_output(cmd, shell=True, universal_newlines=True) return v.rstrip() return "" -- 2.16.4