X-Recipient: archive-cygwin@delorie.com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:content-type:mime-version:subject:from
	:in-reply-to:date:content-transfer-encoding:message-id
	:references:to; q=dns; s=default; b=qp/RWlj+h+dvj8ZIdKyVAV2knV6n
	2M0YFm+U6pclQJY8NQYlp9l0OnIIcO8NY2kKPv+j85vbirLj/ljzPFrMp/y8uhYH
	iJqm9K/SUFeN2A//3cWI4nwuymalwl9byp+z42KyNNjII5/+ITVVZvK6xOY04Nj6
	NCwrmabM1mDd/LE=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
	:list-unsubscribe:list-subscribe:list-archive:list-post
	:list-help:sender:content-type:mime-version:subject:from
	:in-reply-to:date:content-transfer-encoding:message-id
	:references:to; s=default; bh=EPafOhuwPzph+WkuE69Ol8PdYg8=; b=xp
	hoNScxqteZYxMMgsry+AR6HIEEyBqS2T2W86svcMN/N0NdxT+f9/mbZfZU+AL+tu
	R67DEtHMIIh+BfF+deD7/7n28UVzm62u3nw3ETAlTzWFgZH8UhYq+XvqHbn/Mqbu
	6Iba/VJBNDLJsOwKQkv/DIAG89+3573P5X08hdraQ=
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=0.5 required=5.0 tests=AWL,BAYES_20,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=boxes, wholly, Discussions, rack
X-HELO: etr-usa.com
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
Subject: Re: cmp missing from base
From: Warren Young <wyml@etr-usa.com>
In-Reply-To: <29250DCF-60A0-4113-9834-25EA744E8F41@etr-usa.com>
Date: Mon, 9 May 2016 12:29:48 -0600
Message-Id: <E962DB2A-209C-43FA-9620-CB7CC35245E1@etr-usa.com>
References: <572C697E.1090408@towo.net> <29250DCF-60A0-4113-9834-25EA744E8F41@etr-usa.com>
To: The Cygwin Mailing List <cygwin@cygwin.com>
X-IsSubscribed: yes
Content-Transfer-Encoding: 8bit
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id u49IUE9S009910

On May 6, 2016, at 7:41 PM, Warren Young <wyml@etr-usa.com> wrote:
> 
> On May 6, 2016, at 3:53 AM, Thomas Wolff <towo@towo.net> wrote:
>> 
>> after a recent fresh installation of cygwin, I was surprised that `cmp` was missing, which is part of the traditional Unix base commands.
>> I think the diffutils package should be part of the base installation.
> 
> I wonder if the rule should just be “POSIX”?

I’ve come up with a much better rule: mimic the Minimal package set for RHEL.[1]

Not only is this a nice nod toward the primary corporate sponsor for Cygwin, it turns out that the current Base set is already almost exactly the same thing after applying some fairly obvious exclusion rules:


1. We can exclude from consideration all of those packages that do something for RHEL that Cygwin leaves to Windows.  e.g. chrony, dmidecode, iptables, the Linux kernel, etc.

2. We can also exclude any user space program that is included in RHEL not for its own sake but instead primarily to satisfy a dependency for some other user space program that Cygwin doesn’t need.  Examples are curl, gpg, lua, make, and python.

3. We can also exclude all libraries.  Discussions of which libraries the Base packages should depend on are wholly separate from this one.  For example, RHEL’s coreutil depends on gmp, while Cygwin’s does not, but this does not tell us that Cygwin’s coreutils should be rebuilt to depend on gmp.

4. Perhaps controversially, I think we can also leave out anything where the use case set is far narrower on Cygwin due to the nature of the platform.  This is my justification for excluding openssh-server and postfix: you’re not likely to find a rack full of 1U Windows boxes running Cygwin in a datacenter, accessible only via SSH and sending important messages to the local mail spool.  Therefore, RHEL’s justification for including such packages in its Minimal set simply doesn’t apply to Cygwin.


After applying all of those rules, the only packages in RHEL 7 Minimal that aren’t in RHEL Base are diffutils and openssh-client, both of which I’d be happy to see in Cygwin Base.

I welcome anyone else to go through the RHEL/CentOS 7 Minimal package set[1] and see if they can provide a justification for one that currently isn’t in Cygwin Base which doesn’t run up against any of the exclusion rules above.

In terms of my original reply to this thread, adopting this rule removes one of the “standards” from the running, a good thing IMHO.



[1] https://gist.github.com/wyoung/42e7f6081e8d695f9656621be0f58eae
--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


