blob: 262ca08d26c4968f71db401bcb5b2f7ce0b03eeb [file] [log] [blame]
Kristian Høgsbergbe957cc2009-12-03 17:49:31 -05001The release criteria for libdrm is essentially "if you need a release,
2make one". There is no designated release engineer or maintainer.
3Anybody is free to make a release if there's a certain feature or bug
4fix they need in a released version of libdrm.
5
6When new ioctl definitions are merged into drm-next, we will add
7support to libdrm, at which point we typically create a new release.
8However, this is up to whoever is driving the feature in question.
9
10Follow these steps to release a new version of libdrm:
11
Eric Anholtf19cd3a2016-07-20 12:24:00 -070012 1) Bump the version number in configure.ac. We seem to have settled
Kristian Høgsbergbe957cc2009-12-03 17:49:31 -050013 for 2.4.x as the versioning scheme for libdrm, so just bump the
14 micro version.
15
Eric Anholtf19cd3a2016-07-20 12:24:00 -070016 2) Run autoconf and then re-run ./configure so the build system
Kristian Høgsbergbe957cc2009-12-03 17:49:31 -050017 picks up the new version number.
18
Eric Anholtf19cd3a2016-07-20 12:24:00 -070019 3) Verify that the code passes "make distcheck". Running "make
Damien Lespiau8f245b72015-03-19 16:24:49 +000020 distcheck" should result in no warnings or errors and end with a
21 message of the form:
Kristian Høgsbergbe957cc2009-12-03 17:49:31 -050022
23 =============================================
24 libdrm-X.Y.Z archives ready for distribution:
25 libdrm-X.Y.Z.tar.gz
26 libdrm-X.Y.Z.tar.bz2
27 =============================================
28
29 Make sure that the version number reported by distcheck and in
30 the tarball names matches the number you bumped to in configure.ac.
31
Eric Anholtf19cd3a2016-07-20 12:24:00 -070032 4) Push the updated master branch with the bumped version number:
Kristian Høgsbergbe957cc2009-12-03 17:49:31 -050033
Eric Anholtf19cd3a2016-07-20 12:24:00 -070034 git push origin master
Kristian Høgsbergbe957cc2009-12-03 17:49:31 -050035
36 assuming the remote for the upstream libdrm repo is called origin.
37
Eric Anholtf19cd3a2016-07-20 12:24:00 -070038 5) Use the release.sh script from the xorg/util/modular repo to
Kristian Høgsbergbe957cc2009-12-03 17:49:31 -050039 upload the tarballs to the freedesktop.org download area and
Damien Lespiaue2acca42015-03-19 16:29:52 +000040 create an announce email template. The script takes one argument:
Damien Lespiau8f245b72015-03-19 16:24:49 +000041 the path to the libdrm checkout. So, if a checkout of modular is
42 at the same level than the libdrm repo:
Kristian Høgsbergbe957cc2009-12-03 17:49:31 -050043
Damien Lespiau8f245b72015-03-19 16:24:49 +000044 ./modular/release.sh libdrm
Kristian Høgsbergbe957cc2009-12-03 17:49:31 -050045
46 This copies the two tarballs to freedesktop.org and creates
47 libdrm-2.4.16.announce which has a detailed summary of the
48 changes, links to the tarballs, MD5 and SHA1 sums and pre-filled
49 out email headers. Fill out the blank between the email headers
50 and the list of changes with a brief message of what changed or
51 what prompted this release. Send out the email and you're done!