Skip to content

Commit 2ee3989

Browse files
committed
Add a page for how to update a package
1 parent 248b6c5 commit 2ee3989

File tree

2 files changed

+47
-0
lines changed

2 files changed

+47
-0
lines changed

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ nav:
112112
# infrastructure, mirrors etc and everything else.
113113
- Packaging:
114114
- dev/new-package.md
115+
- dev/update-package.md
115116
- dev/package-guidelines.md
116117
- dev/package-licensing.md
117118
- dev/pkgbuild.md

web/dev/update-package.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Updating an existing Package
2+
3+
In case you are looking for packages which need to be updated have a look at our
4+
[Outdated Packages](https://packages.msys2.org/outofdate) page. To get a list of
5+
packages which are outdated and have potential security issues have a look at
6+
the Repology pages for
7+
[msys2_mingw](https://repology.org/projects/?inrepo=msys2_mingw&outdated=on&vulnerable=on)
8+
and
9+
[msys2_msys2](https://repology.org/projects/?inrepo=msys2_msys2&outdated=on&vulnerable=on).
10+
11+
## Updating a Package
12+
13+
* Fork the [packages repository](https://github.com/msys2/MINGW-packages) if you
14+
haven't already and create a new branch for your update
15+
* Look at the upstream changelog for potential update related information like
16+
new dependencies, changes to build options, changes to the build system, etc.
17+
* Update pkgver in the PKGBUILD and reset pkgrel back to 1
18+
* Run `updpkgsums` in the PKGBUILD directory for updating the checksums of the
19+
source files
20+
* Run `makepkg-mingw --cleanbuild --syncdeps --force --install --noconfirm` to
21+
build and install the new version
22+
* Test the new version, if possible
23+
* Commit and push your changes and open a pull request. Try to include some
24+
brief information of your changes like why you added/removed patches, why you
25+
added/removed new dependencies, why you changed the build options etc.
26+
27+
If your lucky then this is all that's needed, but in some cases the new version
28+
might need some additional work:
29+
30+
* In case there are patches that no longer apply they have to be refreshed
31+
* In case some patches are no longer needed in the new version they have to be
32+
removed
33+
* In case the release is signed by a new signing key the key has to be added to
34+
the `validpgpkeys` array
35+
* In case of major changes, like a build system switch, consider comparing the
36+
old build result and the new build result for differences to avoid any
37+
regressions. [meld](https://packages.msys2.org/base/mingw-w64-meld3) can be a
38+
helpful tool for this.
39+
* In case there are incompatible changes that might break reverse-dependencies
40+
(DLL name changes, ABI breaks, etc.) bump the pkgrel of all reverse
41+
dependencies and include them in your PR.
42+
43+
After you have submitted your pull request, our CI system will try to build the
44+
package for all environments and do so some simple checks on it. After the
45+
update is reviewed and merged you can follow the build process on our [Pending
46+
Updates](https://packages.msys2.org/queue) status page.

0 commit comments

Comments
 (0)