From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 118339 invoked by alias); 8 Dec 2016 19:30:39 -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 118319 invoked by uid 89); 8 Dec 2016 19:30:38 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.5 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 spammy=intervention, dist, vault, offered 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; Thu, 08 Dec 2016 19:30:28 +0000 Received: from compute6.internal (compute6.nyi.internal [10.202.2.46]) by mailout.nyi.internal (Postfix) with ESMTP id 0E2C22098E for ; Thu, 8 Dec 2016 14:30:26 -0500 (EST) Received: from frontend2 ([10.202.2.161]) by compute6.internal (MEProxy); Thu, 08 Dec 2016 14:30:26 -0500 X-ME-Sender: Received: from [192.168.1.102] (host86-179-112-226.range86-179.btcentralplus.com [86.179.112.226]) by mail.messagingengine.com (Postfix) with ESMTPA id B30902478D for ; Thu, 8 Dec 2016 14:30:25 -0500 (EST) From: Jon Turney Subject: Re: per-version hints proposal To: cygwin-apps@cygwin.com References: <8b4723b2-1bd5-3604-1deb-cfd0a1c7b9d9@dronecode.org.uk> Message-ID: <0ae655c4-a36e-9de8-a7d3-953d5cece84d@dronecode.org.uk> Date: Thu, 08 Dec 2016 19:30:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2016-12/txt/msg00005.txt.bz2 On 30/08/2016 13:24, Jon Turney wrote: > 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. [...] >> * '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. While not a great deal of use is made of test versions, this mechanism doesn't seem to be working well for that, and there have been several requests to improve it. There's no automation to generate override.hint, and writing it correctly requires too much knowledge about how calm is going to process it. (e.g. if the curr: version is N, we can upload a version N+1 as test: with an override.hint that says 'test: N+1', but if we then want to upload version N+2 as a replacement test, you need to know that you should write an override.hint that says 'curr: N test: N+2' otherwise calm will automatically promote N+1 to curr (and vault any N-1, which makes this a pain to revert)) The proposal to address this is: Add support to calm for a 'test:' line in PVR.hint, marking a version as a test version. If multiple versions are marked test, the highest version will be used as the test version in the generated setup.ini (and thus offered for installation using the 'exp' control in setup.) (Note to self: why isn't this control labelled 'test', which is an actual english word???) Versions marked as test cannot be used as curr: (so test versions are never automatically promoted to curr) override.hint will continue to work, and, if one exists it takes precedence over these rules. cygport will be updated to (details TBC) accept a --test flag which is significant to the cygport package stage, and adds this 'test:' line to all the generated PVR.hint files. To promote a package from test to curr, a script will be run on sourceware to remove the test: line from the existing PVR.hints in a given package subtree, for a given VR. Since this requires shell access on sourceware, if you don't have that, you can ask here or on #cygwin-developers. If all the people with shell access are unavailable, if you still have the cygport build directory, you can manually amend all the PVR.hints under PVR.arch/dist/ to remove the 'test:' line, and re-upload them. Finally, the package can be rebuilt with a bumped release number and without --test, although opinion is mixed as to if this is a good idea or not. I would like to provide an automatic mechanism to allow package maintainers to promote their own test packages, but there are a few stumbling blocks in the way of that, currently.