From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 16846138334 for ; Mon, 9 Sep 2019 15:44:27 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 86864E0AAE; Mon, 9 Sep 2019 15:44:23 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 2CAD9E097A for ; Mon, 9 Sep 2019 15:44:22 +0000 (UTC) Received: from pomiot (c134-66.icpnet.pl [85.221.134.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: mgorny) by smtp.gentoo.org (Postfix) with ESMTPSA id 72ACF34AEF3; Mon, 9 Sep 2019 15:44:20 +0000 (UTC) Message-ID: Subject: Re: [gentoo-dev] [RFC] Allowing pkgcheck as a replacement for repoman From: =?UTF-8?Q?Micha=C5=82_G=C3=B3rny?= To: gentoo-dev@lists.gentoo.org Date: Mon, 09 Sep 2019 17:44:16 +0200 In-Reply-To: References: <5c96ec43b596a283da4e01cd241cfe412cbef589.camel@gentoo.org> Organization: Gentoo Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-tjTzz0JrhRFiekNLdXZ2" User-Agent: Evolution 3.32.4 Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply MIME-Version: 1.0 X-Archives-Salt: d221be6c-15e5-4c42-888a-9e3c4492200d X-Archives-Hash: 9921263cec66b6d69cad00c478cadde1 --=-tjTzz0JrhRFiekNLdXZ2 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, 2019-09-09 at 08:38 -0700, Alec Warner wrote: > On Sun, Sep 8, 2019 at 11:24 PM Micha=C5=82 G=C3=B3rny wrote: >=20 > > Hi, > >=20 > > This is something I'd like to pass to the Council for the next meeting. > >=20 > > TL;DR: I'd like to allow using pkgcheck instead of repoman because it's > > 5-26 times faster and more convenient to use. > >=20 > >=20 > > The current policy requires you to test your packages with repoman prio= r > > to committing. However, repoman is both pretty inconvenient, unreadabl= e > > and slow. For example, for the cleanup of old versions in 4 packages I > > have staged right now: > >=20 > > $ time sh -c '(for x in $(git diff --name-only origin | cut -d/ -f1-2 | > > uniq); do ( cd $x && repoman full -d ); done)' > >=20 > > RepoMan scours the neighborhood... > > RepoMan sez: "If everyone were like you, I'd be out of business!" > >=20 > > RepoMan scours the neighborhood... > > RepoMan sez: "If everyone were like you, I'd be out of business!" > >=20 > > RepoMan scours the neighborhood... > > repo.eapi-deprecated 1 > > media-libs/stops/stops-0.3.0-r1.ebuild: 5 > > RepoMan sez: "You're only giving me a partial QA payment? > > I'll take it this time, but I'm not happy." > >=20 > > RepoMan scours the neighborhood... > > RepoMan sez: "If everyone were like you, I'd be out of business!" > >=20 > > real 1m46,236s > > user 1m38,524s > > sys 0m7,818s > >=20 > >=20 > > For comparison, pkgcheck: > >=20 > > $ time pkgcheck scan --git-disable $(git diff origin --name-only | cut = -d/ > > -f1-2 | sort -u) > > media-libs/stops > > DeprecatedEAPI: version 0.3.0-r1: uses deprecated EAPI 5 > >=20 > > real 0m4,408s > > user 0m3,985s > > sys 0m0,559s > >=20 > >=20 > > Note that this is with warm profile cache. Without it: > >=20 > > $ time pkgcheck scan --profile-cache false --git-disable $(git diff ori= gin > > --name-only | cut -d/ -f1-2 | sort -u) > > media-libs/stops > > DeprecatedEAPI: version 0.3.0-r1: uses deprecated EAPI 5 > >=20 > > real 0m18,791s > > user 0m16,279s > > sys 0m0,611s > >=20 > >=20 > > PkgCheck implements most of the checks currently in repoman, > > and implements some more (e.g. for bad SRC_URI filenames). It finally > > had new releases recently, and I think it's matured enough for basic > > development work. > >=20 >=20 > Generally speaking if stuff passes CI I'm happy, and if it doesn't I'm > unhappy. That being said, do we think there any critical repoman checks > that pkgcore does not implement? Nope, critical definitely not. FWIK radhermit doesn't consider any of the missing repoman checks useful. > Is there a plan for continued maintenance? E.g. when EAPI-next comes out = I > suspect repoman will get it (via portage), but pkgcore struggled to pick = up > new EAPIs as quickly. You mentioned pkgcheck had some releases; do we > expect this to continue? Well, I expect so. radhermit is doing great work. As for EAPIs, usually partial support is sufficient for pkgcheck, and last time I didn't have a major problem doing the necessary work for CI. That said, I dare say pkgcheck has much lower entry barrier right now than repoman. Repoman was never convenient to work with, and the last refactoring made contributing even harder (more resembling working with Windows) than before. PkgCheck is very pythonic in comparison (even if you account for ferringb's weird past work, it usually doesn't affect you). --=20 Best regards, Micha=C5=82 G=C3=B3rny --=-tjTzz0JrhRFiekNLdXZ2 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iQGTBAABCgB9FiEEx2qEUJQJjSjMiybFY5ra4jKeJA4FAl12c1BfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEM3 NkE4NDUwOTQwOThEMjhDQzhCMjZDNTYzOUFEQUUyMzI5RTI0MEUACgkQY5ra4jKe JA77HQgAl2HYgYQL/XAqi68VRvtTWvCd/H1McNA+UEtcJ/n8eDI1IH7HDvl82+8r RqKF/tR3qBVeg98cw87B7Ji3aPg2Igv1aVaAzwlAgfvSPlOONVzg19q7HHtUSOGA aUt+J53YWzOmk1hW2Apk9KWkCWKCH8lPGldhd5QK+/A2jOWQg8QxwVZcbF+3wtdX fOeBakFCWbDxOZkVYWSwL28eQcM8X0l5Ncn+tn7oFlfKcBSWWv9XtkcpEH9NFzQb CqS71uMUu4NQRXN2wU8ABCHEsJ33qSH2FHtwS+7aFqkd2ysdZW2Y4jR8zp5RT1dE AqVRW/aUW6ZtVmCdiCyRvT+iY5A2dw== =dW2S -----END PGP SIGNATURE----- --=-tjTzz0JrhRFiekNLdXZ2--