1d722e3fbSopenharmony_ciThe release criteria for libdrm is essentially "if you need a release,
2d722e3fbSopenharmony_cimake one".  There is no designated release engineer or maintainer.
3d722e3fbSopenharmony_ciAnybody is free to make a release if there's a certain feature or bug
4d722e3fbSopenharmony_cifix they need in a released version of libdrm.
5d722e3fbSopenharmony_ci
6d722e3fbSopenharmony_ciWhen new ioctl definitions are merged into drm-next, we will add
7d722e3fbSopenharmony_cisupport to libdrm, at which point we typically create a new release.
8d722e3fbSopenharmony_ciHowever, this is up to whoever is driving the feature in question.
9d722e3fbSopenharmony_ci
10d722e3fbSopenharmony_ciFollow these steps to release a new version of libdrm:
11d722e3fbSopenharmony_ci
12d722e3fbSopenharmony_ci  1) Bump the version number in meson.build. We seem to have settled for
13d722e3fbSopenharmony_ci     2.4.x as the versioning scheme for libdrm, so just bump the micro
14d722e3fbSopenharmony_ci     version.
15d722e3fbSopenharmony_ci
16d722e3fbSopenharmony_ci  2) Run `ninja -C builddir/ dist` to generate the tarballs.
17d722e3fbSopenharmony_ci     Make sure that the version number of the tarball name in
18d722e3fbSopenharmony_ci     builddir/meson-dist/ matches the number you bumped to. Move that
19d722e3fbSopenharmony_ci     tarball to the libdrm repo root for the release script to pick up.
20d722e3fbSopenharmony_ci
21d722e3fbSopenharmony_ci  3) Push the updated main branch with the bumped version number:
22d722e3fbSopenharmony_ci
23d722e3fbSopenharmony_ci	git push origin main
24d722e3fbSopenharmony_ci
25d722e3fbSopenharmony_ci     assuming the remote for the upstream libdrm repo is called origin.
26d722e3fbSopenharmony_ci
27d722e3fbSopenharmony_ci  4) Use the release.sh script from the xorg/util/modular repo to
28d722e3fbSopenharmony_ci     upload the tarballs to the freedesktop.org download area and
29d722e3fbSopenharmony_ci     create an announce email template.  The script takes one argument:
30d722e3fbSopenharmony_ci     the path to the libdrm checkout. So, if a checkout of modular is
31d722e3fbSopenharmony_ci     at the same level than the libdrm repo:
32d722e3fbSopenharmony_ci
33d722e3fbSopenharmony_ci	./modular/release.sh libdrm
34d722e3fbSopenharmony_ci
35d722e3fbSopenharmony_ci     This copies the two tarballs to freedesktop.org and creates
36d722e3fbSopenharmony_ci     libdrm-2.4.16.announce which has a detailed summary of the
37d722e3fbSopenharmony_ci     changes, links to the tarballs, MD5 and SHA1 sums and pre-filled
38d722e3fbSopenharmony_ci     out email headers.  Fill out the blank between the email headers
39d722e3fbSopenharmony_ci     and the list of changes with a brief message of what changed or
40d722e3fbSopenharmony_ci     what prompted this release.  Send out the email and you're done!
41