This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: cmp missing from base

On May 6, 2016, at 7:41 PM, Warren Young <> wrote:
> On May 6, 2016, at 3:53 AM, Thomas Wolff <> 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.

Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]