Kristian Høgsberg | be957cc | 2009-12-03 17:49:31 -0500 | [diff] [blame] | 1 | The release criteria for libdrm is essentially "if you need a release, |
| 2 | make one". There is no designated release engineer or maintainer. |
| 3 | Anybody is free to make a release if there's a certain feature or bug |
| 4 | fix they need in a released version of libdrm. |
| 5 | |
| 6 | When new ioctl definitions are merged into drm-next, we will add |
| 7 | support to libdrm, at which point we typically create a new release. |
| 8 | However, this is up to whoever is driving the feature in question. |
| 9 | |
| 10 | Follow these steps to release a new version of libdrm: |
| 11 | |
| 12 | 1) Ensure that there are no local, uncommitted/unpushed |
| 13 | modifications. You're probably in a good state if both "git diff |
| 14 | HEAD" and "git log master..origin/master" give no output. |
| 15 | |
Damien Lespiau | 992940c | 2015-03-19 16:27:31 +0000 | [diff] [blame] | 16 | 2) Bump the version number in configure.ac. We seem to have settled |
Kristian Høgsberg | be957cc | 2009-12-03 17:49:31 -0500 | [diff] [blame] | 17 | for 2.4.x as the versioning scheme for libdrm, so just bump the |
| 18 | micro version. |
| 19 | |
Damien Lespiau | 992940c | 2015-03-19 16:27:31 +0000 | [diff] [blame] | 20 | 3) Run autoconf and then re-run ./configure so the build system |
Kristian Høgsberg | be957cc | 2009-12-03 17:49:31 -0500 | [diff] [blame] | 21 | picks up the new version number. |
| 22 | |
Damien Lespiau | 992940c | 2015-03-19 16:27:31 +0000 | [diff] [blame] | 23 | 4) (optional step, release.sh will make distcheck for you, but it can be |
Damien Lespiau | 8f245b7 | 2015-03-19 16:24:49 +0000 | [diff] [blame] | 24 | heart warming to verify that make distcheck passes) |
Kristian Høgsberg | be957cc | 2009-12-03 17:49:31 -0500 | [diff] [blame] | 25 | |
Damien Lespiau | 8f245b7 | 2015-03-19 16:24:49 +0000 | [diff] [blame] | 26 | Verify that the code passes "make distcheck". Running "make |
| 27 | distcheck" should result in no warnings or errors and end with a |
| 28 | message of the form: |
Kristian Høgsberg | be957cc | 2009-12-03 17:49:31 -0500 | [diff] [blame] | 29 | |
| 30 | ============================================= |
| 31 | libdrm-X.Y.Z archives ready for distribution: |
| 32 | libdrm-X.Y.Z.tar.gz |
| 33 | libdrm-X.Y.Z.tar.bz2 |
| 34 | ============================================= |
| 35 | |
| 36 | Make sure that the version number reported by distcheck and in |
| 37 | the tarball names matches the number you bumped to in configure.ac. |
| 38 | |
Damien Lespiau | 992940c | 2015-03-19 16:27:31 +0000 | [diff] [blame] | 39 | 5) Commit the configure.ac change and make an annotated tag for that |
Kristian Høgsberg | be957cc | 2009-12-03 17:49:31 -0500 | [diff] [blame] | 40 | commit with the version number of the release as the name and a |
| 41 | message of "libdrm X.Y.Z". For example, for the 2.4.16 release |
| 42 | the command is: |
| 43 | |
| 44 | git tag -a 2.4.16 -m "libdrm 2.4.16" |
| 45 | |
Damien Lespiau | 992940c | 2015-03-19 16:27:31 +0000 | [diff] [blame] | 46 | 6) Push the commit and tag by saying |
Kristian Høgsberg | be957cc | 2009-12-03 17:49:31 -0500 | [diff] [blame] | 47 | |
| 48 | git push --tags origin master |
| 49 | |
| 50 | assuming the remote for the upstream libdrm repo is called origin. |
| 51 | |
Damien Lespiau | 992940c | 2015-03-19 16:27:31 +0000 | [diff] [blame] | 52 | 7) Use the release.sh script from the xorg/util/modular repo to |
Kristian Høgsberg | be957cc | 2009-12-03 17:49:31 -0500 | [diff] [blame] | 53 | upload the tarballs to the freedesktop.org download area and |
Damien Lespiau | e2acca4 | 2015-03-19 16:29:52 +0000 | [diff] [blame] | 54 | create an announce email template. The script takes one argument: |
Damien Lespiau | 8f245b7 | 2015-03-19 16:24:49 +0000 | [diff] [blame] | 55 | the path to the libdrm checkout. So, if a checkout of modular is |
| 56 | at the same level than the libdrm repo: |
Kristian Høgsberg | be957cc | 2009-12-03 17:49:31 -0500 | [diff] [blame] | 57 | |
Damien Lespiau | 8f245b7 | 2015-03-19 16:24:49 +0000 | [diff] [blame] | 58 | ./modular/release.sh libdrm |
Kristian Høgsberg | be957cc | 2009-12-03 17:49:31 -0500 | [diff] [blame] | 59 | |
| 60 | This copies the two tarballs to freedesktop.org and creates |
| 61 | libdrm-2.4.16.announce which has a detailed summary of the |
| 62 | changes, links to the tarballs, MD5 and SHA1 sums and pre-filled |
| 63 | out email headers. Fill out the blank between the email headers |
| 64 | and the list of changes with a brief message of what changed or |
| 65 | what prompted this release. Send out the email and you're done! |