From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6935855593929310208 X-Received: by 2002:a17:90a:498d:: with SMTP id d13mr2094433pjh.47.1617172399835; Tue, 30 Mar 2021 23:33:19 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a17:90a:cb0b:: with SMTP id z11ls834886pjt.2.canary-gmail; Tue, 30 Mar 2021 23:33:19 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyYI2wE7TE7L9yMVcjN0oulih06QSIGUeRY9i5ZxuqOcUNZrQfEl3F+6+hmC49kOWETIRCS X-Received: by 2002:a17:903:31c6:b029:e5:d0a4:97cc with SMTP id v6-20020a17090331c6b02900e5d0a497ccmr1627944ple.52.1617172399075; Tue, 30 Mar 2021 23:33:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617172399; cv=none; d=google.com; s=arc-20160816; b=yZqe+cyI3VhL96OIl5L0yBG4Svoq1BGHF5wjd4FITA+4+c7Vbc8oMqwI/HnxhwHz/j 8gCkFkyaL+/pWQd+s5BWp8c/8W9jXetXhArd/yeftLSwEJB0XeIG4wqpUv/v4+q3C+A4 xuiosIphnQE2Ft2X4SxHueTY/qmW7XaA0o1wVZfcA4XMFQlGSCii1OwqxNlc0jCgDQn2 pR9oariWrppxGcQIo39nzp/QrFTnNltTjoXFv5/5vRW4CLnOjiImuoFFcCxh1kjAFAhd ZiNfBtpIyW0qcsHOMkbuvqKeqs+tgeSkDKRZmfmZsazqC08gEaXtaQa4X8J7Moyp/Dx8 rqcA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:ironport-sdr:ironport-sdr; bh=wt/a4noj1XECmcjduf/Ap33vmB9uz8awcEnSH3hUwsg=; b=s3gHdx/hzyrWAsyLQSLobhFCifpo2CxUKvEuVwQKxE9ZFpUDSMxKFW5DqhoDZBT0fi LQHB3XLTFErcy0TMetH5rh++ict8vR7IOqoZJ5GldBJg58+g33dWywT/B/Ss8dTvCfcb IIeRhmTnurPU0gp6+BFcO75OP/4BMR2lYu+k2puG31papkwfX8pefhisbyptXAA8XG7A sgE08Q27HX8SSC3TmPwzXbgObGYyk6mAMhBWJlNhtsFIObk6nKQ0DYxDe/AFrJq/PgXQ zbaYueyXED8vgARFqPaqMAdTXReXMFE074+zJ1EhfAjy93MbGc/aUT7BAocsMDTvjWtG ClOA== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of vijaikumar_kanagarajan@mentor.com designates 68.232.141.98 as permitted sender) smtp.mailfrom=Vijaikumar_Kanagarajan@mentor.com Return-Path: Received: from esa2.mentor.iphmx.com (esa2.mentor.iphmx.com. [68.232.141.98]) by gmr-mx.google.com with ESMTPS id n10si93853pgq.2.2021.03.30.23.33.18 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 30 Mar 2021 23:33:19 -0700 (PDT) Received-SPF: pass (google.com: domain of vijaikumar_kanagarajan@mentor.com designates 68.232.141.98 as permitted sender) client-ip=68.232.141.98; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of vijaikumar_kanagarajan@mentor.com designates 68.232.141.98 as permitted sender) smtp.mailfrom=Vijaikumar_Kanagarajan@mentor.com IronPort-SDR: l/H+l3ILnbkvAJHx3GOH+6tCsoTnCoLz+I6WC0DkyycDlB6Hskg8bvSk+9Xo50ju3r+CG+/jDt 8da4duR6B9j3hSPXalJAugGd0jCAqRHKaGXVIdJJ6XfMHnpPDvq/brPwXtaFvcEnBTDaCat6YF Ueb93E7Y+RNCa2uydRPlMQwaaSF0adnJqsWGm93JFeOOYk14zbLTisGb0PA5EhnCPyyaLFA091 zueS3nLbVWLon0frguDSfVlmzQWmsY1dYG95sYQvaThamzugg49X0YM8rBs+sEVW+Ngb4z0t+y EpM= X-IronPort-AV: E=Sophos;i="5.81,291,1610438400"; d="scan'208";a="59645875" Received: from orw-gwy-02-in.mentorg.com ([192.94.38.167]) by esa2.mentor.iphmx.com with ESMTP; 30 Mar 2021 22:33:18 -0800 IronPort-SDR: r/xnrUOgvv7yf/Sw1H1fXmBU1Etxg4f7JP8MkCVi4dQItNDPLRGVP9Pa57SsXXcq3ScViNDicH /MaXgncmdPBrci5D5FYlQmh/gnqA5fz519g9HnzKwgDcC22AaQ4GVXINGMLk38WmrIY7YSOD75 QLyLHmGKmHaBNpqFnhyXHBgKBJ5GYCxWuQKhsjPdXTU0OmN5eUlm5xuh6Befkvg4ohzijAccoq 0vgn7tpI9ikX54vLkpCJc7xa+wb/gTopSjXMcMUFxC8j/0+XaISMOcflTf0n+8dTcF5+m2UEbl w8g= From: Vijai Kumar K To: , , CC: Vijai Kumar K Subject: [PATCH v4 1/2] dpkg-base: Introduce do_apt_unpack Date: Wed, 31 Mar 2021 12:02:34 +0530 Message-ID: <20210331063235.6877-2-Vijaikumar_Kanagarajan@mentor.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210331063235.6877-1-Vijaikumar_Kanagarajan@mentor.com> References: <20210331063235.6877-1-Vijaikumar_Kanagarajan@mentor.com> MIME-Version: 1.0 Content-Type: text/plain Return-Path: Vijaikumar_Kanagarajan@mentor.com X-ClientProxiedBy: svr-orw-mbx-02.mgc.mentorg.com (147.34.90.202) To svr-orw-mbx-01.mgc.mentorg.com (147.34.90.201) X-TUID: ANgoLnte3B6A The Debian source package fetch and unpacking happens now inside the do_apt_fetch task. With the current do_apt_fetch implementation, it is not possible to use a custom source directory(${S}). apt-get source by default extracts the contents of the debian source into folder with name _. Add provision for specifying a custom source directory. Add a new task called do_apt_unpack and move unpacking logic there. Signed-off-by: Vijai Kumar K --- meta/classes/dpkg-base.bbclass | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/meta/classes/dpkg-base.bbclass b/meta/classes/dpkg-base.bbclass index 5c7bddc..9f17906 100644 --- a/meta/classes/dpkg-base.bbclass +++ b/meta/classes/dpkg-base.bbclass @@ -58,7 +58,6 @@ do_apt_fetch() { if [ -z "${@d.getVar("SRC_APT", True).strip()}" ]; then return 0 fi - rm -rf ${S} dpkg_do_mounts E="${@ isar_export_proxies(d)}" sudo -E chroot ${BUILDCHROOT_DIR} /usr/bin/apt-get update \ @@ -69,16 +68,38 @@ do_apt_fetch() { for uri in "${SRC_APT}"; do sudo -E chroot --userspec=$( id -u ):$( id -g ) ${BUILDCHROOT_DIR} \ sh -c 'mkdir -p /downloads/deb-src/"$1"/"$2" && cd /downloads/deb-src/"$1"/"$2" && apt-get -y --download-only --only-source source "$2"' my_script "${DISTRO}" "${uri}" - sudo -E chroot --userspec=$( id -u ):$( id -g ) ${BUILDCHROOT_DIR} \ - sh -c 'cp /downloads/deb-src/"$1"/"$2"/* ${PP} && cd ${PP} && apt-get -y --only-source source "$2"' my_script "${DISTRO}" "${uri}" done dpkg_undo_mounts } -addtask apt_fetch after do_unpack before do_patch +addtask apt_fetch after do_unpack before do_apt_unpack do_apt_fetch[lockfiles] += "${REPO_ISAR_DIR}/isar.lock" +do_apt_unpack() { + if [ -z "${@d.getVar("SRC_APT", True).strip()}" ]; then + return 0 + fi + rm -rf ${S} + dpkg_do_mounts + E="${@ isar_export_proxies(d)}" + + for uri in "${SRC_APT}"; do + sudo -E chroot --userspec=$( id -u ):$( id -g ) ${BUILDCHROOT_DIR} \ + sh -c ' \ + set -e + dscfile="$(apt-get -y -qq --print-uris --only-source source "${2}" | cut -d " " -f2 | grep -E "*.dsc")" + cd ${PP} + cp /downloads/deb-src/"${1}"/"${2}"/* ${PP} + dpkg-source -x "${dscfile}" "${PPS}"' \ + my_script "${DISTRO}" "${uri}" + done + + dpkg_undo_mounts +} + +addtask apt_unpack after do_apt_fetch before do_patch + addtask cleanall_apt before do_cleanall do_cleanall_apt[nostamp] = "1" do_cleanall_apt() { -- 2.17.1