From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.1 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=altlinux.org; s=dkim; h=Subject:Content-Transfer-Encoding:MIME-Version: Message-Id:Date:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=reEX1FFJ+XHQnKC0/Jmalu6wlR9dOeAbLGhlbmG9TEY=; b=Iqw0pdFm2nf+8gbB/YPUu6TkOd zUJuI8BpNPDkkqADd6lV7ed+2ov8spDbrlEpHavqpegm2j8UMruoZcGpJadNTmT8FV+PNZTC21oUV VQ5++7Neu7OGDgIVrfbDJoG4ODr15F0I59AO6PpB+Bm4gJKNJcG+oFP3rmdHzWgXbdmZug4PLrKjL d07okfb0/EX7zttMGP50IKV6vNskXCPq4Ehbnbouo7IPctPSy3Knd6Ts2OQquPJA8yRk9U91WtaJo 0xZPcTMWQpXf1fLQq+jLxUvRCWTr9qDgfT63ob60qVqf+IGylSr3HoGUwPgXzI6hExt3SJejMeVYd OldMgFJA==; From: "Vladimir D. Seleznev" To: devel@lists.altlinux.org Date: Sat, 11 Apr 2020 02:10:42 +0300 Message-Id: <20200410231044.1436970-1-vseleznv@altlinux.org> X-Mailer: git-send-email 2.25.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SA-Exim-Connect-IP: 46.39.229.193 X-SA-Exim-Mail-From: vseleznv@altlinux.org X-SA-Exim-Version: 4.2 X-SA-Exim-Scanned: Yes (on mail.cs.msu.ru) Cc: vseleznv@altlinux.org Subject: [devel] RFC: girar: optimize rebuild X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 10 Apr 2020 23:11:03 -0000 Archived-At: List-Archive: List-Post: Hi! The first part of rebuilt packages optimization for girar. It introduces pkg_identity() and simple optimization of the rebuilt sourcerpm. pkg_identity() takes RPM package and returns a value called package identity, a hash of subset of RPM package header. That subset is the entire header without some nonessential artifacts like buildhost, buildtime, header hashsum, etc. The two package builds of the same NEVR might have equal or different package identities. The equal identities mean that build results of these packages are equal too, that allows build optimization. The practical example of simple rebuilt sourcerpm optimization also introduced. The future work can be about optimization of "copied" to another branch sourcerpm with retrieved from archive sourcerpm, and binary packages optimization (this case has an issue when binary subpackages are mixed archs, i.e. arch and noarch, this probably could work only with single-arch builds). Please review and discuss. -- WBR, Vladimir D. Seleznev