小编典典

msys、msys2 和 msysgit 是如何相互关联的?

all

我一直在四处寻找,但找不到关于这 3 个版本的 MSYS 发生了什么的完整描述。(完全有可能我只是不知道要寻找什么。)我知道 MSYS 是支持使用
MinGW 进行开发的 Linux 工具的最小端口,但我不清楚它们三者之间的关系或开发/维护它们的团队。

需要解决的具体问题:

  • 哪些正在积极开发中?(特别是,MSYS 是否已死而 MSYS2 是否处于活动状态?)
  • 维护它们的团体之间的关系是什么?(特别是 MSYS 团队是否创建了 MSYS2?)
  • msysgit 是只使用其中一个,还是他们有自己的 MSYS 分支?
  • 这些是否相互兼容?
  • 对于这些中的任何一个,特定版本的 Windows 是否存在任何兼容性问题?
  • 一个是否提供了优于另一个的主要功能?

阅读 195

收藏
2022-08-21

共1个答案

小编典典

免责声明:我是 MSYS2 开发人员

虽然 MSYS 没有死,但我会说它看起来也不是很健康。这是一个由 MinGW 团队在多年前作为 Cygwin 的一个分支 启动的项目,它从未跟上
Cygwin 的步伐。

msysgit 是 MSYS 稍旧版本的一个分支, 带有一些自定义补丁、旧版本的 Bash 和 Perl 以及 Git 的本机端口。

MSYS2 是由 mingw-builds 团队(他们是 MinGW-w64 工具链的官方打包者)的 Alexey Pavlov 发起的一个项目,它
Cygwin 的最新分支,
它密切跟踪最新的 Cygwin,以使其不会过时。Alexey 向前移植了旧的 MSYS 补丁并添加了一些他自己的补丁。

除了提供编译本地软件所需的 Unix 工具(MSYS 的既定目标),我们还从Arch
Linux移植了
Pacman包管理器。Pacman
不仅仅是管理二进制包(尽管它做得很好)。它有一个名为 makepkg 的软件构建基础架构,允许创建用于构建软件的配方(PKGBUILD
和补丁文件)。

恕我直言,Pacman 的采用显着改变了 Windows 上的开源开发。不再是每个人都使用自己定制的 shell
脚本以大杂烩、不兼容的方式构建软件,包现在可以依赖于其他包,PKGBUILD 文件和相关补丁可以用作构建新 PKGBUILD
的参考。它与(本机)Windows 所能获得的(尤其是 Arch Linux)一样接近 Linux 系统,并允许简单更新所有已安装的软件包。

我们至少以 Windows XP SP3 为目标,并支持 32 位和 64 位 Windows。我们会要求您永远不要将 MSYS2 与 msys 或
msysgit 混合使用。Pacman 用于管理整个系统,因此来自其他系统的文件会导致冲突。

我们还尝试将补丁上传到我们构建的项目中,并积极征求其他开源项目的贡献。我们希望其他人发现与我们一起工作很容易。

我们的主要网站位于SourceForge 上,它包含指向我们的
PKGBUILD 存储库的链接。我们还在GitHub 上提供了一个更加用户友好的安装程序站点。

如果您想了解更多信息,请随时加入我们的 IRC (oftc #msys2)。

2022-08-21