blob: 7e03e3b9acb1cbfb261a1bbb65f79918a4b6e55f [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
Marek Olšáke87a8792018-02-17 20:25:02 +010012 1) Bump the version number in configure.ac and meson.build. We seem
13 to have settled for 2.4.x as the versioning scheme for libdrm, so
14 just bump the micro version.
Kristian Høgsbergbe957cc2009-12-03 17:49:31 -050015
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!