Skip to content
Christoph Reiter edited this page May 3, 2024 · 21 revisions

This repo is the source of the following MSYS2 package: https://github.com/msys2/MSYS2-packages/tree/master/msys2-runtime

While we haven't put much work into it recently, our long term goal is to reduce the diff to cygwin and use cygwin as is (with some default config tweaks) in MSYS2.

Forking strategy:

  • cygwin/master auto-syncs with cygwin upstream
  • For every cygwin release we have a branch named msys2-X.Y.Z which starts at the upstream release cygwin-X.Y.Z with our patches on top + some backports if needed

Branches:

  • The current default branch is the one used for creating the pacman package and the main development happens there. Available in MSYS2 as msys2-runtime.
  • msys2-3.4.10 is the last branch supporting Windows 7, Windows 8, Server 2008 R2 and Server 2012 (see details). This branch is semi-supported. Available in MSYS2 as msys2-runtime-3.4.
  • msys2-3_3_6-release is the last branch supporting Windows Vista, Windows Server 2008 and 32 bit (see details). This branch is semi-supported, for users that still require 32bit support. Available in MSYS2 as msys2-runtime-3.3.

New changes to an existing release

  • Commit to the current default branch
  • Follow the instructions in the msys2-runtime packages to update the PKGBUILD etc.

Rebase on top of a new cygwin release

  • Checkout out the upstream release tag git checkout cygwin-X.Y.Z
  • Create a new branch git checkout -b msys2-X.Y.Z and push it
  • Create a new branch git checkout -b tentative/msys2-X.Y.Z
  • Cherry pick the patches from the old release branch over git cherry-pick cygwin-A.B.C..msys2-A.B.C
  • Try to clean up the history, merge patches etc to make the history clean and linear (makes future updates easier)
  • Create a new PR for merging tentative/msys2-X.Y.Z into msys2-X.Y.Z
  • Include a range-diff in the PR description: git range-diff cygwin-A.B.C..msys2-A.B.C msys2-X.Y.Z..tentative/msys2-X.Y.Z
  • Merge the PR
  • Make the new branch msys2-X.Y.Z the default branch
  • Follow the instructions in the msys2-runtime packages to update the PKGBUILD etc.
Clone this wiki locally