From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Sat, 11 Apr 2020 14:04:25 +0300 From: Gleb Fotengauer-Malinovskiy To: ALT Linux Team development discussions Message-ID: <20200411110425.GG3341@glebfm.cloud.tilaa.com> References: <20200410231044.1436970-1-vseleznv@altlinux.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="wO3ULb5M+sQS9v8+" Content-Disposition: inline In-Reply-To: <20200410231044.1436970-1-vseleznv@altlinux.org> Cc: vseleznv@altlinux.org Subject: Re: [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: Sat, 11 Apr 2020 11:04:49 -0000 Archived-At: List-Archive: List-Post: --wO3ULb5M+sQS9v8+ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi, On Sat, Apr 11, 2020 at 02:10:42AM +0300, Vladimir D. Seleznev wrote: >=20 > Hi! >=20 > The first part of rebuilt packages optimization for girar. It introduces > pkg_identity() and simple optimization of the rebuilt sourcerpm. Why do we rebuild source rpm at all when we already have one? I mean, when we use hasher with --query-repackage this new rebuilt source rpm is no better then original one. I think we can always save the original source rpm when we rebuild a package or copy it from branch to branch (like we actually do for packages originally built from src.rpm-s). > pkg_identity() takes RPM package and returns a value called package ident= ity, > a hash of subset of RPM package header. That subset is the entire header > without some nonessential artifacts like buildhost, buildtime, header has= hsum, > etc. >=20 > 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. Did you consider adding all this identity logic on the rpm's side (as a standalone helper may be)? I personally don't like the whole idea of tracking rpm tags status on girar side. Also, this helper may be useful outside of girar. > 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-ar= ch > builds). Looks like a good plan. I think optimization of binary packages is more important then optimization which looks for archived packages. We may want to take binary packages from archive too anyway. --=20 glebfm --wO3ULb5M+sQS9v8+ Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIcBAEBAgAGBQJekaQ5AAoJEEyKfkRpkCv5bIsQALzT22fVZ6PuK/gWWMBqF0Cx wNlRJjKNRcx8eFsyi4aQCHSZtsHicBE/ht85F6VfnhL0Dj6jtAKjvP/mFI8zcXqo XzL9L7D653rniCdfDZLhDv/Wc9XOQ/dZiGvI2lckoKnMZvRQVIiU7ASVxNAzZqIS 54E7xjTbgiUNy6wmGETk1RW/2EJzaQuJRWB4rLHDV52FE8jGeMuD7PjR/VtaVNGX IEVHGj5Wee/USS1Ad6IYVvQWBOz4vB16pTyCvrrw3SOEIC66N7GdqoSKO2iSHf7W 2igK//kXjY1j2dYuig6LTY3jfHYShiYvYKUYWi3kYR10iHWkPxUviGsq6IYrLXhR EBuArs7SMCuxgXgFfv0EXC7sIyHB774UnqGeQuUBF8KilE3sfR2plu4X+xWyCGHO KO4CDwP/KchuE0b5tbFLHkAhSNNd0NyDyHa9799TeoK34K9kkfZtPzNTzx/0RWFI 9+AUDPUgk77WzxACiM4Le15EYl3ehcJK0AHZnttmb94ncZHkApNJ3kMyQJiE6dRM MWUBu0sb8S0KulXSuhBeg0fe9tt8Vrnaf626aFxkGSc1i65iXa1wOr6H6/szF847 UED6V+Ug4hNyk2KCfUub1I5qF+kHsAzWbNrrNVW4zUNG0cNTdzeqD5xfozDuRmf+ rU2fIOqOL9N4lnPB7dZM =LgR+ -----END PGP SIGNATURE----- --wO3ULb5M+sQS9v8+--