From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6449326914083487744 X-Received: by 10.46.83.65 with SMTP id t1mr1687794ljd.44.1501600936687; Tue, 01 Aug 2017 08:22:16 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 10.25.198.87 with SMTP id w84ls244334lff.37.gmail; Tue, 01 Aug 2017 08:22:15 -0700 (PDT) X-Received: by 10.25.150.130 with SMTP id y124mr1930691lfd.36.1501600935967; Tue, 01 Aug 2017 08:22:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1501600935; cv=none; d=google.com; s=arc-20160816; b=DyM96nms3Ujz4NOxIejOJqAirnTH5r8xsvzCN+9I+axcE+WGniaVmPoGp+qeDHMEKL +JfTcd/TAFv7r5hi6V6ybN3Uo5QPcd4awLV6ixV/XZnegN2SPIz/8GlbVXUMaZ1+RS03 FgiriSKNt4FwJhTUC7vc3a8+8JC12nWgYMyRUwzhD5lGd1V0rQj4YnE8F2TYR9q9EaTs D6hUnGlPrDsg577KRZOsv4br6/fNBqJnzmlWnqPW7yulFJvT2gJmvL1N7wlBEuTgC2l+ 8fntZ4PuCucSUj6eLc22UowwsA1aCr+dcBteK2ijWC14FbWPbpXFZLmWRzZ5XBW1WGv1 a3bA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=1qOc/+G1S8IdX8RulJV1vsUP789ZoHxUqiX9v7ZPUTs=; b=mKU1OOuxA4F8/JhMgw26wGTqdw3rOc5s8wXRDM50UI40txzwAP5NgBdRrlBAS8/9vK VCamfiHvLQcB/lBD6IA8t0XlAECDzyl7GuWxrHeU72oyhEvyGto8OpPuJ+C4PYvEIkle elqHHbJ0Bn6i+b+KumviPD0zKkF2pdeQxac8NLdLGCm9Pm9OKkIngQmRamroPhKSt/3J StZRKgcOcX3v6p+qtkJqqRVM92upgKGO6lTpuQwSlN1D5S6YPRrUshd1WkNgJSnXfzIA s7dTrRlQdbzembrvTq7KjhNmkomafjWCNtoiQKr/gb7ZVnkQYEeL4mcR9wtg8ycm0OnP 7arw== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=neutral (google.com: 192.35.17.14 is neither permitted nor denied by best guess record for domain of henning.schild@siemens.com) 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 f3si446702wme.4.2017.08.01.08.22.15 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 01 Aug 2017 08:22:15 -0700 (PDT) Received-SPF: neutral (google.com: 192.35.17.14 is neither permitted nor denied by best guess record for domain of henning.schild@siemens.com) client-ip=192.35.17.14; Authentication-Results: gmr-mx.google.com; spf=neutral (google.com: 192.35.17.14 is neither permitted nor denied by best guess record for domain of henning.schild@siemens.com) 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 v71FMFsG024733 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 1 Aug 2017 17:22:15 +0200 Received: from md1em3qc.ww002.siemens.net ([139.25.68.40]) by mail3.siemens.de (8.15.2/8.15.2) with ESMTP id v71FMFE0017501; Tue, 1 Aug 2017 17:22:15 +0200 From: Henning Schild To: isar-users@googlegroups.com Cc: Henning Schild Subject: [PATCH 3/3] classes: image: remove populate and replace it with a custom repo Date: Tue, 1 Aug 2017 17:24:08 +0200 Message-Id: X-Mailer: git-send-email 2.13.0 In-Reply-To: References: In-Reply-To: References: X-TUID: M9v9WQC2/SEj Create a custom Debian repository and give that to multistrap. That way multistrap can take care of our dependencies and we do not force in packages with "dpdk -i" anymore. The only way stuff gets into the rootfs is debian packages installed by multistrap. Plus whatever the configscripts do. Signed-off-by: Henning Schild --- .../recipes-core/images/files/multistrap.conf.in | 10 +++++- meta/classes/ext4-img.bbclass | 2 +- meta/classes/image.bbclass | 37 ++++++++++------------ 3 files changed, 26 insertions(+), 23 deletions(-) diff --git a/meta-isar/recipes-core/images/files/multistrap.conf.in b/meta-isar/recipes-core/images/files/multistrap.conf.in index 2d08c36..fd24baa 100644 --- a/meta-isar/recipes-core/images/files/multistrap.conf.in +++ b/meta-isar/recipes-core/images/files/multistrap.conf.in @@ -4,7 +4,7 @@ [General] noauth=true unpack=true -bootstrap=##DISTRO## +bootstrap=##DISTRO## Isar aptsources=##DISTRO## configscript=##CONFIG_SCRIPT## setupscript=##SETUP_SCRIPT## @@ -16,3 +16,11 @@ suite=##DISTRO_SUITE## components=##DISTRO_COMPONENTS## packages=##IMAGE_PREINSTALL## omitdebsrc=true + +[Isar] +packages=##IMAGE_INSTALL## +source=##DEPLOY_DIR_DEB## +suite=./ +components= +omitdebsrc=true + diff --git a/meta/classes/ext4-img.bbclass b/meta/classes/ext4-img.bbclass index 61699b8..430032c 100644 --- a/meta/classes/ext4-img.bbclass +++ b/meta/classes/ext4-img.bbclass @@ -36,4 +36,4 @@ do_ext4_image() { fi } -addtask ext4_image before do_build after do_populate +addtask ext4_image before do_build after do_configure diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index ab3d1ff..d9bd879 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -9,6 +9,18 @@ IMAGE_INSTALL ?= "" WORKDIR = "${TMPDIR}/work/${PN}/${MACHINE}" S = "${WORKDIR}/rootfs" +do_repository() { + if [ -n "${IMAGE_INSTALL}" ]; then + cd ${DEPLOY_DIR_DEB} + sudo dpkg-scanpackages . > Packages + sudo gzip Packages + fi +} + +addtask repository before do_build +do_repository[deptask] = "do_build" +do_repository[stamp-extra-info] = "${MACHINE}" + do_multistrap_conf() { # Copy config file install -m 644 ${FILESDIR}/multistrap.conf.in ${WORKDIR}/multistrap.conf @@ -33,9 +45,11 @@ do_multistrap_conf() { ${WORKDIR}/multistrap.conf sed -i 's|##DIR_HOOKS##|./tmp/work/${PN}/${MACHINE}/hooks_multistrap|' \ ${WORKDIR}/multistrap.conf + sed -i 's|##DEPLOY_DIR_DEB##|copy:///${DEPLOY_DIR_DEB}|' ${WORKDIR}/multistrap.conf + sed -i 's|##IMAGE_INSTALL##|${IMAGE_INSTALL}|' ${WORKDIR}/multistrap.conf } -addtask multistrap_conf before do_build +addtask multistrap_conf after do_repository before do_build do_multistrap_conf[stamp-extra-info] = "${MACHINE}" do_multistrap_conf[dirs] = "${WORKDIR}/hooks_multistrap" @@ -44,7 +58,7 @@ do_multistrap() { # Create root filesystem sudo multistrap -a ${DISTRO_ARCH} -d "${S}" -f \ - "${WORKDIR}/multistrap.conf" || true + "${WORKDIR}/multistrap.conf" } addtask multistrap after do_multistrap_conf before do_build @@ -60,22 +74,3 @@ do_configure() { addtask configure after do_multistrap before do_build do_configure[stamp-extra-info] = "${MACHINE}" - -# Install Debian packages, that were built from sources -do_populate() { - if [ -n "${IMAGE_INSTALL}" ]; then - sudo mkdir -p ${S}/deb - - for p in ${IMAGE_INSTALL}; do - sudo cp ${DEPLOY_DIR_DEB}/${p}_*.deb ${S}/deb - done - - sudo chroot ${S} /usr/bin/dpkg -i -R /deb - - sudo rm -rf ${S}/deb - fi -} - -addtask populate after do_configure before do_build -do_populate[deptask] = "do_build" -do_populate[stamp-extra-info] = "${MACHINE}" -- 2.13.0