From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 14362 invoked by alias); 30 Aug 2016 12:24:33 -0000 Mailing-List: contact cygwin-apps-help@cygwin.com; run by ezmlm Precedence: bulk Sender: cygwin-apps-owner@cygwin.com List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Mail-Followup-To: cygwin-apps@cygwin.com Received: (qmail 14348 invoked by uid 89); 30 Aug 2016 12:24:32 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.4 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 spammy=calm, retired, lays, trampled X-HELO: out4-smtp.messagingengine.com Received: from out4-smtp.messagingengine.com (HELO out4-smtp.messagingengine.com) (66.111.4.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 30 Aug 2016 12:24:22 +0000 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id 64F1C2042E for ; Tue, 30 Aug 2016 08:24:19 -0400 (EDT) Received: from frontend1 ([10.202.2.160]) by compute5.internal (MEProxy); Tue, 30 Aug 2016 08:24:19 -0400 Received: from [192.168.1.102] (host31-51-206-108.range31-51.btcentralplus.com [31.51.206.108]) by mail.messagingengine.com (Postfix) with ESMTPA id F3854F29D5 for ; Tue, 30 Aug 2016 08:24:18 -0400 (EDT) Subject: Re: per-version hints proposal To: cygwin-apps@cygwin.com References: <8b4723b2-1bd5-3604-1deb-cfd0a1c7b9d9@dronecode.org.uk> From: Jon Turney Message-ID: Date: Tue, 30 Aug 2016 12:24:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <8b4723b2-1bd5-3604-1deb-cfd0a1c7b9d9@dronecode.org.uk> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2016-08/txt/msg00103.txt.bz2 On 20/06/2016 16:28, Jon Turney wrote: > Currently, the setup.hint file is shared between all versions. > > This means that manual intervention (by the package maintainer, or on > sourceware) is needed when versions have different dependencies. > > To automate this problem out of existence, I suggest replacing the > setup.hint file in an upload with a package-version-release.hint file. I deployed an update to calm today which adds support for this proposal, with some minor adjustments noted below. Nobody can actually use this until a cygport with the corresponding changes is released, which still needs some testing, after which I will update the website documentation. > This will be basically identical to the existing setup.hint, with the > advantage that it can't be trampled on by a future version, with the > following changes: > > * 'skip' doesn't seem meaningful on a per-version basis. Since it seems > we can automatically detect packages which should have this applied > anyhow (see the discussion in [1]), I'd suggest ignoring this hint, to > be retired at some future date. skip is honoured, if present, but not required. > * 'curr', 'prev' and 'test' don't make sense on a per-version basis. So > I suggest a separate file for these version overrides (versions.hint?) This file is called override.hint. > cygport will be updated to create a pvr.hint rather than setup.hint I'll send a patch to update cygport separately. > calm will be changed so that: > > * The requires: line written in setup.ini will contain the union of the > requires: from each pvr.hint > > * The sdesc:, ldesc:, category: and message: lines in setup.ini will be > taken from the pvr.hint for the curr version > > * While it's already effectively mandatory that a package has a curr > version, this requirement will be documented and enforced. calm will issue a warning, not an error, when a package doesn't have a current version. For the purpose above, information from the highest version will be used in place of information from the curr version. per the discussion [1], it's possibly useful in mksetupini, so the warning can be suppressed there. [1] https://cygwin.com/ml/cygwin-apps/2016-07/msg00052.html > * The source: line in setup.ini for a package version will consider any > external-source: from the corresponding pvr.hint > > * Uploads with a setup.hint will continue to work as before, for a > transitional period. > > > No setup changes are required. > > > Immediately, this avoids the need for manual intervention when versions > have different dependencies, and going forward, this is lays some > groundwork for supporting per-version dependencies. > > > [1] https://cygwin.com/ml/cygwin-apps/2016-02/msg00017.html