From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6738107638134865920 X-Received: by 2002:adf:e390:: with SMTP id e16mr4595398wrm.29.1568837938655; Wed, 18 Sep 2019 13:18:58 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:adf:eb44:: with SMTP id u4ls197587wrn.2.gmail; Wed, 18 Sep 2019 13:18:58 -0700 (PDT) X-Google-Smtp-Source: APXvYqyy0Y1yrAM+vW0Ng/4nqvOBLodsbNAgmGerKK15m5N2cEZwHgz93kcy04DqAgYiD+Zgd6U+ X-Received: by 2002:a5d:4f8c:: with SMTP id d12mr4511784wru.150.1568837938197; Wed, 18 Sep 2019 13:18:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1568837938; cv=none; d=google.com; s=arc-20160816; b=GMVQYs9b8cC7ed4N1JWrXk/f10OrHFU4N7B9zw/1sar4TyK19sTHESVuxxB8JvxSwf mhZMNr2DVdZcvWBZl00WTuPNXdPC8h5xVatDJgcQ6mzJqj2vM4RLl6hO2QAuBcsTZ6bj a8fW7jbUD8bhAccl+PqVu0mFcEqmFYS5rtzNdP8oT+iHbPFnw7lTcPr/Dcrm5N9k1Rrg Cb9oEjltXFYqnN1ZTPRIhzb0rLnuHZ8khW/8jA2eeVWYNyEc225uxGz6VD2nVNy7GftO 18vjDojfO0Ddjf4yPX/rSHrMo1qgk9FggAnMPnd4ZH4Z+wfLdpCwTZ5PqujcMWeqvJlL 9Wtw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:content-language:mime-version:user-agent :date:message-id:to:subject:from; bh=he0sWnWEBEuxf3zTRzgTAS4BYjdSHVeJGKm6ppXTFQ0=; b=BXVfoCqHuORcUQQq4bZY/3uoy6TZMAQ73wuQz2PFGGXMaFfL5Zx7mnygIoW2jHbJR/ ecCmnjsj5AgdurCSe1MSwg4cgTqNJF0j3LfNGUkMqpuiNf5yGLWQB4fUR04DE8tnsqo0 WDW8ggx6py8ZPCWDlki7FPVaktzi5gsYMc632kKSsMcKBDv2SsV12bHHSRd19nXGSaM7 tm/gN3F1IZsdTZ9OiroH5O62uj2XcFsYxAnCySwJ7I0QJsSISg0sdhLksxKjhAzDsQK6 QD7l2KjEoo7TVP/x2YKlARUqnWcSnD3YWnCeyLWRuo/z4oxyIFIWE5/90Kihf33Nj9yK hp4A== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from gecko.sbs.de (gecko.sbs.de. [194.138.37.40]) by gmr-mx.google.com with ESMTPS id n16si389853wrs.4.2019.09.18.13.18.58 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 18 Sep 2019 13:18:58 -0700 (PDT) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 194.138.37.40 as permitted sender) client-ip=194.138.37.40; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail2.sbs.de (mail2.sbs.de [192.129.41.66]) by gecko.sbs.de (8.15.2/8.15.2) with ESMTPS id x8IKIv4W011969 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Wed, 18 Sep 2019 22:18:57 +0200 Received: from [139.25.68.37] (md1q0hnc.ad001.siemens.net [139.25.68.37] (may be forged)) by mail2.sbs.de (8.15.2/8.15.2) with ESMTP id x8IKIvmL006813 for ; Wed, 18 Sep 2019 22:18:57 +0200 From: Jan Kiszka Subject: [PATCH] Add git-buildpackage support To: isar-users Message-ID: <1325f384-8bd8-96e9-589e-d19efcba716d@siemens.com> Date: Wed, 18 Sep 2019 22:18:56 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-TUID: YwVImUFoqj8c From: Jan Kiszka This allows to build packages from gbp-compatible repositories like found on salsa. This is particularly useful for building unreleased or older packages, and also patching them. The feature comes with a test case that builds cowsay from its salsa repo, adding this also to CI. Signed-off-by: Jan Kiszka --- Actually, CI is still running, but I'm optimistic... meta-isar/recipes-app/cowsay/cowsay_git.bb | 9 +++++++++ meta/classes/dpkg-gbp.bbclass | 24 ++++++++++++++++++++++++ meta/recipes-devtools/buildchroot/files/build.sh | 2 +- scripts/ci_build.sh | 2 ++ 4 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 meta-isar/recipes-app/cowsay/cowsay_git.bb create mode 100644 meta/classes/dpkg-gbp.bbclass diff --git a/meta-isar/recipes-app/cowsay/cowsay_git.bb b/meta-isar/recipes-app/cowsay/cowsay_git.bb new file mode 100644 index 0000000..7aca1b4 --- /dev/null +++ b/meta-isar/recipes-app/cowsay/cowsay_git.bb @@ -0,0 +1,9 @@ +# This software is a part of ISAR. +# Copyright (c) Siemens AG, 2019 +# +# SPDX-License-Identifier: MIT + +inherit dpkg-gbp + +SRC_URI = "git://salsa.debian.org/debian/cowsay.git;protocol=https" +SRCREV = "756f0c41fbf582093c0c1dff9ff77734716cb26f" diff --git a/meta/classes/dpkg-gbp.bbclass b/meta/classes/dpkg-gbp.bbclass new file mode 100644 index 0000000..8a8e0f4 --- /dev/null +++ b/meta/classes/dpkg-gbp.bbclass @@ -0,0 +1,24 @@ +# This software is a part of ISAR. +# Copyright (c) Siemens AG, 2019 +# +# SPDX-License-Identifier: MIT + +inherit dpkg + +S = "${WORKDIR}/git" + +GBP_DEPENDS ?= "git-buildpackage pristine-tar" +GBP_EXTRA_OPTIONS ?= "--git-pristine-tar" + +do_install_builddeps_append() { + dpkg_do_mounts + E="${@ bb.utils.export_proxies(d)}" + sudo -E chroot ${BUILDCHROOT_DIR} \ + apt-get install -y -o Debug::pkgProblemResolver=yes \ + --no-install-recommends ${GBP_DEPENDS} + dpkg_undo_mounts +} + +dpkg_runbuild_prepend() { + export GBP_PREFIX="gbp buildpackage --git-ignore-new ${GBP_EXTRA_OPTIONS} --git-builder=" +} diff --git a/meta/recipes-devtools/buildchroot/files/build.sh b/meta/recipes-devtools/buildchroot/files/build.sh index 1ba394c..101581d 100644 --- a/meta/recipes-devtools/buildchroot/files/build.sh +++ b/meta/recipes-devtools/buildchroot/files/build.sh @@ -14,4 +14,4 @@ for i in configure aclocal.m4 Makefile.am Makefile.in; do fi done -dpkg-buildpackage -a$target_arch -d --source-option=-I +${GBP_PREFIX}dpkg-buildpackage -a$target_arch -d --source-option=-I diff --git a/scripts/ci_build.sh b/scripts/ci_build.sh index a69cc51..d02326a 100755 --- a/scripts/ci_build.sh +++ b/scripts/ci_build.sh @@ -155,6 +155,8 @@ fi sed -i -e 's/#IMAGE_INSTALL += "isar-disable-apt-cache"/IMAGE_INSTALL += "isar-disable-apt-cache"/g' conf/local.conf +echo 'IMAGE_INSTALL += "cowsay"' >> conf/local.conf + # Start cross build for the defined set of configurations sed -i -e 's/ISAR_CROSS_COMPILE ?= "0"/ISAR_CROSS_COMPILE ?= "1"/g' conf/local.conf bitbake $BB_ARGS $CROSS_TARGETS_SET -- 2.16.4 -- Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate Competence Center Embedded Linux