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 025D113893A for ; Sat, 9 Feb 2013 12:39:07 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id D283921C0C0; Sat, 9 Feb 2013 12:39:03 +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 B9E0121C0BD for ; Sat, 9 Feb 2013 12:39:02 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp.gentoo.org (Postfix) with ESMTP id E04C533E03B for ; Sat, 9 Feb 2013 12:39:01 +0000 (UTC) X-Virus-Scanned: by amavisd-new using ClamAV at gentoo.org X-Spam-Flag: NO X-Spam-Score: -0.536 X-Spam-Level: X-Spam-Status: No, score=-0.536 tagged_above=-999 required=5.5 tests=[AWL=-0.533, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=no Received: from smtp.gentoo.org ([IPv6:::ffff:127.0.0.1]) by localhost (smtp.gentoo.org [IPv6:::ffff:127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BirKeCzfR3nQ for ; Sat, 9 Feb 2013 12:38:55 +0000 (UTC) Received: from plane.gmane.org (plane.gmane.org [80.91.229.3]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id A73B633DCE3 for ; Sat, 9 Feb 2013 12:38:55 +0000 (UTC) Received: from list by plane.gmane.org with local (Exim 4.69) (envelope-from ) id 1U49hz-0002p1-HA for gentoo-dev@gentoo.org; Sat, 09 Feb 2013 13:39:07 +0100 Received: from ppp118-209-230-206.lns20.mel6.internode.on.net ([118.209.230.206]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 09 Feb 2013 13:39:07 +0100 Received: from kensington by ppp118-209-230-206.lns20.mel6.internode.on.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sat, 09 Feb 2013 13:39:07 +0100 X-Injected-Via-Gmane: http://gmane.org/ To: gentoo-dev@lists.gentoo.org From: Michael Palimaka Subject: [gentoo-dev] Re: On the good usage of subslots Date: Sat, 09 Feb 2013 23:38:35 +1100 Message-ID: References: <20130209091503.1f75352d@gentoo.org> 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=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: ppp118-209-230-206.lns20.mel6.internode.on.net User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20130107 Thunderbird/17.0.2 In-Reply-To: <20130209091503.1f75352d@gentoo.org> X-Archives-Salt: 8a5a4e52-6faf-43db-b538-a3f7ffaeda68 X-Archives-Hash: 7f7957efeb746627e9961decfabafe2b Hi, On 9/02/2013 23:15, Alexis Ballier wrote: > 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 is wrong with maintainers just updating their dependencies in this fashion? Surely the onus in this case is on package maintainers setting sensible subslots (which is indeed what you appear to be saying below)? I even noticed some maintainers adding subslots dependencies on libraries that do not yet define subslots. This too seems reasonable, given that there would be no impact until the library defines a (sensible) subslot in the future. > > 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. > > Best regards, Michael