From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 0120F13893A for ; Sat, 9 Feb 2013 12:15:15 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id A40F321C003; Sat, 9 Feb 2013 12:15:11 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 957C3E051E for ; Sat, 9 Feb 2013 12:15:10 +0000 (UTC) Received: from localhost (pc-234-79-101-190.cm.vtr.net [190.101.79.234]) (using SSLv3 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: aballier) by smtp.gentoo.org (Postfix) with ESMTPSA id 1829733E2D6; Sat, 9 Feb 2013 12:15:08 +0000 (UTC) Date: Sat, 9 Feb 2013 09:15:03 -0300 From: Alexis Ballier To: gentoo-dev@lists.gentoo.org Cc: qa@gentoo.org Subject: [gentoo-dev] On the good usage of subslots Message-ID: <20130209091503.1f75352d@gentoo.org> Organization: Gentoo X-Mailer: Claws Mail 3.9.0 (GTK+ 2.24.14; x86_64-pc-linux-gnu) 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 Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Archives-Salt: 592850f2-ab62-46ef-a846-dbe8818dcfc2 X-Archives-Hash: 45ffef7870b07cd06a1d11bd8a33aa1b Dear fellow developers, I hope this will be trivial to most of you but after seeing bug #455900 and the vast majority of developers not even thinking twice before sedding their dep strings, I believe this needs some attention. What do subslots do: You set a subslot to a package and every time said package subslot changes (e.g. with an update), others packages depending on it with a := dep will be rebuilt. Nothing more, nothing less. Now, this solves a real problem: haskell, perl and ocaml packages need to be rebuilt after updating their respective compiler/interpreter and, in some cases, even after updating the libraries they use. Subslots would make haskell-updater, perl-cleaner and ocaml-rebuild not needed in the future. You can also use subslots to notify an ABI change in a shared library, in order to avoid having to use preserve-libs or run revdep-rebuild. However, this week I had to rebuild webkit-gtk three or four times and libreoffice twice... If you want to notify ABI changes, then you should set subslot to something representing the ABI, $PV as subslot is most certainly wrong in that case. Subslot is *not* a substitute to checking your library ABI, checking if its reverse dependencies work fine after the update, and notifying upstream if something went wrong so they can make a quick release fixing their mistake. Subslot is also *not* a substitute to soname and ensuring ABI compatibility (at least forward) between libraries with the same major. Using subslot only to be on the safe side and forcing a rebuild of all the dependent packages because it is too much work to check the ABI and work with upstream is, IMHO, a serious QA issue. Thank you for your attention, Alexis.