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