2009-12-03 15:49:31 -07:00
|
|
|
The release criteria for libdrm is essentially "if you need a release,
|
|
|
|
make one". There is no designated release engineer or maintainer.
|
|
|
|
Anybody is free to make a release if there's a certain feature or bug
|
|
|
|
fix they need in a released version of libdrm.
|
|
|
|
|
|
|
|
When new ioctl definitions are merged into drm-next, we will add
|
|
|
|
support to libdrm, at which point we typically create a new release.
|
|
|
|
However, this is up to whoever is driving the feature in question.
|
|
|
|
|
|
|
|
Follow these steps to release a new version of libdrm:
|
|
|
|
|
|
|
|
1) Ensure that there are no local, uncommitted/unpushed
|
|
|
|
modifications. You're probably in a good state if both "git diff
|
|
|
|
HEAD" and "git log master..origin/master" give no output.
|
|
|
|
|
2015-03-19 10:27:31 -06:00
|
|
|
2) Bump the version number in configure.ac. We seem to have settled
|
2009-12-03 15:49:31 -07:00
|
|
|
for 2.4.x as the versioning scheme for libdrm, so just bump the
|
|
|
|
micro version.
|
|
|
|
|
2015-03-19 10:27:31 -06:00
|
|
|
3) Run autoconf and then re-run ./configure so the build system
|
2009-12-03 15:49:31 -07:00
|
|
|
picks up the new version number.
|
|
|
|
|
2015-03-19 10:27:31 -06:00
|
|
|
4) (optional step, release.sh will make distcheck for you, but it can be
|
2015-03-19 10:24:49 -06:00
|
|
|
heart warming to verify that make distcheck passes)
|
2009-12-03 15:49:31 -07:00
|
|
|
|
2015-03-19 10:24:49 -06:00
|
|
|
Verify that the code passes "make distcheck". Running "make
|
|
|
|
distcheck" should result in no warnings or errors and end with a
|
|
|
|
message of the form:
|
2009-12-03 15:49:31 -07:00
|
|
|
|
|
|
|
=============================================
|
|
|
|
libdrm-X.Y.Z archives ready for distribution:
|
|
|
|
libdrm-X.Y.Z.tar.gz
|
|
|
|
libdrm-X.Y.Z.tar.bz2
|
|
|
|
=============================================
|
|
|
|
|
|
|
|
Make sure that the version number reported by distcheck and in
|
|
|
|
the tarball names matches the number you bumped to in configure.ac.
|
|
|
|
|
2015-03-19 10:27:31 -06:00
|
|
|
5) Commit the configure.ac change and make an annotated tag for that
|
2009-12-03 15:49:31 -07:00
|
|
|
commit with the version number of the release as the name and a
|
|
|
|
message of "libdrm X.Y.Z". For example, for the 2.4.16 release
|
|
|
|
the command is:
|
|
|
|
|
|
|
|
git tag -a 2.4.16 -m "libdrm 2.4.16"
|
|
|
|
|
2015-03-19 10:27:31 -06:00
|
|
|
6) Push the commit and tag by saying
|
2009-12-03 15:49:31 -07:00
|
|
|
|
|
|
|
git push --tags origin master
|
|
|
|
|
|
|
|
assuming the remote for the upstream libdrm repo is called origin.
|
|
|
|
|
2015-03-19 10:27:31 -06:00
|
|
|
7) Use the release.sh script from the xorg/util/modular repo to
|
2009-12-03 15:49:31 -07:00
|
|
|
upload the tarballs to the freedesktop.org download area and
|
2015-03-19 10:29:52 -06:00
|
|
|
create an announce email template. The script takes one argument:
|
2015-03-19 10:24:49 -06:00
|
|
|
the path to the libdrm checkout. So, if a checkout of modular is
|
|
|
|
at the same level than the libdrm repo:
|
2009-12-03 15:49:31 -07:00
|
|
|
|
2015-03-19 10:24:49 -06:00
|
|
|
./modular/release.sh libdrm
|
2009-12-03 15:49:31 -07:00
|
|
|
|
|
|
|
This copies the two tarballs to freedesktop.org and creates
|
|
|
|
libdrm-2.4.16.announce which has a detailed summary of the
|
|
|
|
changes, links to the tarballs, MD5 and SHA1 sums and pre-filled
|
|
|
|
out email headers. Fill out the blank between the email headers
|
|
|
|
and the list of changes with a brief message of what changed or
|
|
|
|
what prompted this release. Send out the email and you're done!
|