From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 75263 invoked by alias); 20 Jun 2016 15:28:20 -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 75148 invoked by uid 89); 20 Jun 2016 15:28:19 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 spammy=retired, cygwin-apps, 201602, setuphint X-HELO: out3-smtp.messagingengine.com Received: from out3-smtp.messagingengine.com (HELO out3-smtp.messagingengine.com) (66.111.4.27) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-GCM-SHA384 encrypted) ESMTPS; Mon, 20 Jun 2016 15:28:09 +0000 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id B319E2091B for ; Mon, 20 Jun 2016 11:28:07 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute4.internal (MEProxy); Mon, 20 Jun 2016 11:28:07 -0400 Received: from [192.168.1.102] (host86-141-128-72.range86-141.btcentralplus.com [86.141.128.72]) by mail.messagingengine.com (Postfix) with ESMTPA id E8309CCDB4 for ; Mon, 20 Jun 2016 11:28:06 -0400 (EDT) From: Jon Turney Subject: per-version hints proposal To: cygwin-apps@cygwin.com Message-ID: <8b4723b2-1bd5-3604-1deb-cfd0a1c7b9d9@dronecode.org.uk> Date: Mon, 20 Jun 2016 15:28:00 -0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2016-06/txt/msg00069.txt.bz2 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. 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. * '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?) cygport will be updated to create a pvr.hint rather than setup.hint 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. * 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