From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from re-prd-fep-048.btinternet.com (mailomta31-re.btinternet.com [213.120.69.124]) by sourceware.org (Postfix) with ESMTPS id 1CD003858020 for ; Wed, 6 Oct 2021 20:23:23 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 1CD003858020 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=dronecode.org.uk Authentication-Results: sourceware.org; spf=none smtp.mailfrom=dronecode.org.uk Received: from re-prd-rgout-001.btmx-prd.synchronoss.net ([10.2.54.4]) by re-prd-fep-048.btinternet.com with ESMTP id <20211006202321.OKOF1873.re-prd-fep-048.btinternet.com@re-prd-rgout-001.btmx-prd.synchronoss.net> for ; Wed, 6 Oct 2021 21:23:21 +0100 Authentication-Results: btinternet.com; auth=pass (PLAIN) smtp.auth=jonturney@btinternet.com; bimi=skipped X-SNCR-Rigid: 613A8CC303CFB5DC X-Originating-IP: [86.144.41.56] X-OWM-Source-IP: 86.144.41.56 (GB) X-OWM-Env-Sender: jonturney@btinternet.com X-VadeSecure-score: verdict=clean score=0/300, class=clean X-RazorGate-Vade: gggruggvucftvghtrhhoucdtuddrgedvtddrudeliedgudeghecutefuodetggdotefrodftvfcurfhrohhfihhlvgemuceutffkvffkuffjvffgnffgvefqofdpqfgfvfenuceurghilhhouhhtmecufedtudenucenucfjughrpefuvfhfhffkffgfgggjtgfgsehtkeertddtfeejnecuhfhrohhmpeflohhnucfvuhhrnhgvhicuoehjohhnrdhtuhhrnhgvhiesughrohhnvggtohguvgdrohhrghdruhhkqeenucggtffrrghtthgvrhhnpeeiudegteehfeeutddtjeefheehheeggeffffffvedugefggfeludelvedvgeeitdenucffohhmrghinhepghhithhhuhgsrdgtohhmnecukfhppeekiedrudeggedrgedurdehieenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhephhgvlhhopegludelvddrudeikedruddruddtfegnpdhinhgvthepkeeirddugeegrdeguddrheeipdhmrghilhhfrhhomhepjhhonhdrthhurhhnvgihsegurhhonhgvtghouggvrdhorhhgrdhukhdprhgtphhtthhopegthihgfihinhdqrghpphhssegthihgfihinhdrtghomh X-RazorGate-Vade-Verdict: clean 0 X-RazorGate-Vade-Classification: clean Received: from [192.168.1.103] (86.144.41.56) by re-prd-rgout-001.btmx-prd.synchronoss.net (5.8.716.04) (authenticated as jonturney@btinternet.com) id 613A8CC303CFB5DC for cygwin-apps@cygwin.com; Wed, 6 Oct 2021 21:23:20 +0100 Subject: Re: Question about 'provides' and emacs packaging To: "cygwin-apps@cygwin.com" References: <871r4zba8j.fsf@Rainer.invalid> <1e97fce0-593a-e8a6-cefe-fa6d8a1c4ed4@cornell.edu> <38baa42c-bf6a-52fc-3fd7-9a6bc09d1125@dronecode.org.uk> From: Jon Turney Message-ID: Date: Wed, 6 Oct 2021 21:22:45 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 MIME-Version: 1.0 In-Reply-To: <38baa42c-bf6a-52fc-3fd7-9a6bc09d1125@dronecode.org.uk> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-GB Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3570.6 required=5.0 tests=BAYES_00, FORGED_SPF_HELO, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, NICE_REPLY_A, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: cygwin-apps@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin package maintainer discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Oct 2021 20:23:25 -0000 On 06/10/2021 17:23, Jon Turney wrote: > On 06/10/2021 13:01, Ken Brown via Cygwin-apps wrote: >> >> This seems to work, with one caveat.  Suppose package P requires >> feature f, and packages Q, R, S,... provide f.  If the user selects P >> and one or more of Q, R, S,..., setup is happy.  But if the user >> simply selects P, then setup/libsolv will choose among Q, R, S,... the >> one whose name is alphabetically first.  In the emacs case, this would >> be emacs-lucid, which is a stupid default.  The default ought to be >> emacs-nox.  So I can make it work if I call that package emacs-basic >> instead of emacs-nox. > > Yeah, I think what's wanted here is for the solver to output a problem > with the choices, rather than picking one.  I'm not sure how to get it > to do that. > > (Ofc, then we need some UI for picking problem solutions, rather than > just always using the default) Thinking about this some more, that's probably not how it wants to work, since just installing emacs-common would then require user interaction to solve the problem, rather than just installing emacs-nox as well... > (and I'm not sure how we'd encode "emacs-basic" should be the default > provider of "emacs-bin" as the input into the solver; presumably there'd > by some scheme with weights attached to provide names to set the order > rather than alphabetic) So all that's left is to fix that. This is discussed somewhat in [1], and it seems that having emacs-common suggest: or weak-dep: on emacs-nox would cause that to be the preferred provide:r by the solver (in the absence of other provide:ing packages being selected or installed) So I guess we'd need to add something like that to setup.ini and feed that data into the solver as well. [1] https://github.com/openSUSE/libsolv/issues/66