From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6458972999552860160 X-Received: by 10.25.225.218 with SMTP id l87mr239977lfk.25.1503993465013; Tue, 29 Aug 2017 00:57:45 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 10.28.238.13 with SMTP id m13ls172506wmh.27.gmail; Tue, 29 Aug 2017 00:57:44 -0700 (PDT) X-Google-Smtp-Source: ADKCNb4DrT91SdktzIpKRD9mji05+eTmAKzL1vlAm28er5jWFjRsJAH2jKIUWkDppdEVPP1TAPKi X-Received: by 10.28.74.89 with SMTP id x86mr226565wma.17.1503993464730; Tue, 29 Aug 2017 00:57:44 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1503993464; cv=none; d=google.com; s=arc-20160816; b=KxvEgUjCoixSjOiaNZqsuEEnNbpNfjOoAyjfo5nXmW0utT9U9o5mKZn9ZGBG87x8PA Wyu+uStkRIxxuEbyQVZCmwlxLtVoCR3OIlmPn+l1/NWwBB9rxc2yNcceRmUvL8TILoEm /NBTGuvzCsZ5vS8JfkCXQf7K5poVmMKyW/Z7p3zxoyYLrdxQMJv4JnZnGGM1ohSnUR3I iOs1Bg68JyOJGH8pgLJIBIajCENI1QcqOHfJEENfOeyA8ObT4hdB8LQnblusRyUdTICp x41h5MgfCoklOz7iiaA4GSPyxqveWeTxvOb7NwNUyFfatyodcH6oEP9V4BS1lJw8qo5B q5Vg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:arc-authentication-results; bh=akkdwSQB8CpledZo1PL1T55+gtJ6401w4mrTHK/RacE=; b=t9qm6OAnQz+YOMW8jOE0kljwg8bKB5wDChOXv8A/pDdj00bmyiWmUqD1vmTljbIdUF Y27Ppk4IF2F3yS5or/kUppASePDRZoe3x89jsnokxeNefZ64W1oVKtpVqceAS+lzbjYU 6dmnafQSYkbtgE2xafugOYtFF0761kxjCPEND2ETjXBvwCmOfjp4SxAFiteRN+RIoVC2 WFkBxnusX1rwEgEA+trtdODdRdcm9GvcrOebooMaB0UmFwLreuHI/pEU4BNA3ZgcruSn YaGA3AUQV5ocT73otCnest1THbCXy51i0nw5D8xuJxLfhsJvMSVSkRxq5xzgDhuLxQ3p GOaA== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=neutral (google.com: 192.35.17.28 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 goliath.siemens.de (goliath.siemens.de. [192.35.17.28]) by gmr-mx.google.com with ESMTPS id y189si179723wmc.4.2017.08.29.00.57.44 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 29 Aug 2017 00:57:44 -0700 (PDT) Received-SPF: neutral (google.com: 192.35.17.28 is neither permitted nor denied by best guess record for domain of henning.schild@siemens.com) client-ip=192.35.17.28; Authentication-Results: gmr-mx.google.com; spf=neutral (google.com: 192.35.17.28 is neither permitted nor denied by best guess record for domain of henning.schild@siemens.com) smtp.mailfrom=henning.schild@siemens.com Received: from mail2.siemens.de (mail2.siemens.de [139.25.208.11]) by goliath.siemens.de (8.15.2/8.15.2) with ESMTPS id v7T7viHh021396 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 29 Aug 2017 09:57:44 +0200 Received: from md1em3qc ([139.25.68.40]) by mail2.siemens.de (8.15.2/8.15.2) with ESMTP id v7T7vijs011495; Tue, 29 Aug 2017 09:57:44 +0200 Date: Tue, 29 Aug 2017 09:57:48 +0200 From: Henning Schild To: Alexander Smirnov Cc: Subject: Re: [PATCH 5/6] classes/dpkg: Properly update packages in the cache Message-ID: <20170829095748.395eb941@md1em3qc> In-Reply-To: <218c4e50-fd72-ba3f-fedb-110802137574@ilbers.de> References: <20170827151339.12806-1-asmirnov@ilbers.de> <20170827151339.12806-6-asmirnov@ilbers.de> <20170828173233.010d4b0b@md1em3qc> <218c4e50-fd72-ba3f-fedb-110802137574@ilbers.de> X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.31; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-TUID: iNKU20OTdBYj Am Tue, 29 Aug 2017 10:20:41 +0300 schrieb Alexander Smirnov : > > This is another fixup of 1/6, fold it in. > > > > It's a good question if we want to keep development history. Because > these patches reflect the real history of binary caching development. To me the answer is clear. If we find issues in a patch during review, the patch should be fixed before getting merged. If we do not follow that policy you might as well merge all patches without review. Henning > > > > Am Sun, 27 Aug 2017 18:13:38 +0300 > > schrieb Alexander Smirnov : > > > >> From: Frank Lenormand > >> > >> Before installing to cache, existing packages with the same name > >> and version have to be removed. > >> > >> Signed-off-by: Frank Lenormand > >> Signed-off-by: Alexander Smirnov > >> --- > >> meta/classes/dpkg.bbclass | 46 > >> +++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 43 > >> insertions(+), 3 deletions(-) > >> > >> diff --git a/meta/classes/dpkg.bbclass b/meta/classes/dpkg.bbclass > >> index 118ba2f..72ae79f 100644 > >> --- a/meta/classes/dpkg.bbclass > >> +++ b/meta/classes/dpkg.bbclass > >> @@ -84,12 +84,52 @@ do_install_to_cache() { > >> > "${DIR_CACHE}/conf/distributions" > >> fi > >> > >> + print_field_value() { > >> + awk "\$1 == \"${1}:\" { print \$2; }" > >> + } > >> + > >> + call_reprepro() { > >> + reprepro --waitforlock 3 -b "${DIR_CACHE}" --dbdir > >> "${DIR_DB}" \ > >> + -C main "$@" > >> + } > >> + > >> # Add binary and source packages to the deb cache > >> # If the cache doesn't exist yet, it will be created using > >> the # `distributions` file generated above. > >> - ls -1 "${BUILDROOT}"/*.deb "${BUILDROOT}"/*.dsc | while read > >> -r p; do > >> - reprepro --waitforlock 3 -b "${DIR_CACHE}" --dbdir > >> "${DIR_DB}" \ > >> - -C main "include${p##*.}" "${DEBDISTRONAME}" "${p}" > >> + ls -1 "${BUILDROOT}"/*.deb | while read -r p; do > >> + name_package=$(dpkg -f "${p}" | print_field_value > >> "Package") > >> + version_package=$(dpkg -f "${p}" | print_field_value > >> "Version") + > >> + # Remove all packages with the same version that were > >> added to the > >> + # repository in previous builds > >> + call_reprepro \ > >> + -A "${DISTRO_ARCH}" \ > >> + removefilter "${DEBDISTRONAME}" \ > >> + "Package (== ${name_package}), \ > >> + Version (== ${version_package})" > >> + call_reprepro \ > >> + -A "${DISTRO_ARCH}" \ > >> + "include${p##*.}" \ > >> + "${DEBDISTRONAME}" \ > >> + "${p}" > >> + done > >> + > >> + ls -1 "${BUILDROOT}"/*.dsc | while read -r p; do > >> + name_package=$(cat "${p}" | print_field_value "Source") > >> + version_package=$(cat "${p}" | print_field_value > >> "Version") + > >> + # Remove all source packages with the same version that > >> were added to > >> + # the repository in previous builds > >> + call_reprepro \ > >> + -A "source" \ > >> + removefilter "${DEBDISTRONAME}" \ > >> + "Package (== ${name_package}), \ > >> + Version (== ${version_package})" > >> + call_reprepro \ > >> + -A "source" \ > >> + "include${p##*.}" \ > >> + "${DEBDISTRONAME}" \ > >> + "${p}" > >> done > >> } > >> > >