Apparent bug in either (1) Cygwin default Package-list or (2) Package "bzr" dependency-list

Allen Hewes allen@decisiv.com
Mon Jun 22 05:26:42 GMT 2020


> -----Original Message-----
> From: My Name <mname989@gmail.com>
> Sent: Monday, June 22, 2020 12:34 AM
> To: Allen Hewes <allen@decisiv.com>
> Subject: Re: Apparent bug in either (1) Cygwin default Package-list or
> (2) Package "bzr" dependency-list
>
> I'm intrigued, since you're the second person to recommend Breezy to
> me (the first being from the thread I cited previously). But I see
> it's not available via Cygwin Setup, and I got the idea that
> installing any software via pip for use in Cygwin is risky, because
> via pip, the software hasn't been ported for use in Cygwin, so there's
> no guarantee the software is compatible with Cygwin's quirks like, IIRC, symbolic links. Is there validity to my concern?
>

I think the person that suggested Breezy in your ticket was one of the authors of Bazaar.

Well, just because a Python package isn't available via Cygwin setup doesn't mean it's not compatible. There are many Python packages that aren't packaged by the platform/OS packager/vendor. It's this way for Linux also and Perl and Ruby.

Pip/PyPy/distuls/wheels are all methods of packaging and distributing Python packages to downstream end-users. I would say they predate Cygwin but Cygwin itself has very long teeth. It's been around for a very long time. If Cygwin folks weren't around or if none of them cared enough to create Python packages as Cygwin packages, Python packages would still exist and need a mechanism for deploy/install to end-users. This is what pip does for Python. There are also methods of keeping your pip installs from the platform/OS packaged ones.

There are circumstances which Python package authors don't consider Cygwin or their package is intended to target a specific OS/platform. I have found that this is the exception and not the rule. Generally, for my use cases (AWS), I use pip exclusively and don't want Cygwin's versions of Python packages. I prefer *not* to use them. I also use pipenv/virtualenv and friends. Keep in mind, this is what I do for myself and the folks I help.

So this isn't a black or white type of thing. Some of it is A Cygwin Thing (requires a POSIX layer), some of it is A Windows Thing (don't need a POSIX layer), some of if is end-user choice.

You can make a general assumption (uh-oh) that if the Python package requires or has a C (but could also be Python) based part to it, you may (or may not) have trouble with it via pip on Cygwin. Here again, "it just depends" and this isn't quantifiable. Generally, the Python packages that don't support Cygwin will include this in the error message during the pip install, this also is a "it just depends".

I think a lot of this depends on the effort to make the Python package run on the destination target, like Cygwin. Every platform/OS does things differently with linking, libraries, headers, object files, pathing.

For instance, I use mostly (not all) pure Python packages (88 right now) and I install and manage them all via pip/virtualenv and not Cygwin Setup.

> How backwards compatible is Breezy with Bazaar? Even if it would be
> good for me to switch to Breezy in the long run, I'm trying to finish
> some projects important to me, and now wouldn't be a good time for me
> to have to learn anything new about version control.
>

The link I proved suggested full backwards compatibility to Bazaar, but I don't use Bazaar or have ever used it. I (must) use git/GitHub Enterprise, I don't have a choice.

> I hadn't known 2020 was a special year for python2, but now I'm
> gathering that 2020 might mean something bad for python2.
>

Well, Python was supposed to be gone in Jan 2020 but they released 2.7.18[1]. 2.7.18 is supposed to be the last release again[1]. The Python project manages these types of thigs with PEPs. The one for Python 2.7 is PEP 0373[2].

> Thanks for giving me an alternative to consider. Last time I tried
> git, I wasn't a fan. Too complicated for a one-man, one-machine operation like mine.
>

Since you like Bazaar, I would take a serious look at Breezy when you have time.

/allen

[1] from https://www.python.org/downloads/release/python-2718/, "Python 2.7.18 is the last release of Python 2."
[2] https://www.python.org/dev/peps/pep-0373/


________________________________

Disclaimer Confidentiality Notice: This e-mail, and any attachments and/or documents linked to this email, are intended for the addressee and may contain information that is privileged, confidential, proprietary, or otherwise protected by law. Any dissemination, distribution, or copying is prohibited. This notice serves as a confidentiality marking for the purpose of any confidentiality or nondisclosure agreement. If you have received this communication in error, please contact the original sender.


More information about the Cygwin mailing list