aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaarten Lankhorst <maarten.lankhorst@ubuntu.com>2014-01-24 13:41:57 +0100
committerNicolas Dechesne <nicolas.dechesne@linaro.org>2014-05-12 19:09:16 +0000
commit511f0d98adc4668c9dc5d06b42b809c193952dae (patch)
treef11f20ce5385efd27fd3de39746616394ef396b3
parentebff00d64fbda1b575c378ea1e62d711135cfc73 (diff)
Imported Debian patch 2.4.52-1debian/2.4.52-1
-rw-r--r--RELEASING66
-rw-r--r--autogen.sh6
-rw-r--r--debian/README.source55
-rw-r--r--debian/changelog712
-rw-r--r--debian/compat1
-rw-r--r--debian/control204
-rw-r--r--debian/copyright316
-rw-r--r--debian/libdrm-dev.install6
-rw-r--r--debian/libdrm-intel1.install1
-rw-r--r--debian/libdrm-intel1.symbols75
-rw-r--r--debian/libdrm-nouveau2.install1
-rw-r--r--debian/libdrm-nouveau2.lintian-overrides1
-rw-r--r--debian/libdrm-nouveau2.symbols45
-rw-r--r--debian/libdrm-omap1.install1
-rw-r--r--debian/libdrm-omap1.symbols19
-rw-r--r--debian/libdrm-radeon1.install1
-rw-r--r--debian/libdrm-radeon1.lintian-overrides1
-rw-r--r--debian/libdrm-radeon1.symbols64
-rw-r--r--debian/libdrm2-udeb.install1
-rw-r--r--debian/libdrm2.NEWS8
-rw-r--r--debian/libdrm2.install1
-rw-r--r--debian/libdrm2.symbols150
-rw-r--r--debian/patches/01_default_perms.diff13
-rw-r--r--debian/patches/02_kbsd_modeset.diff57
-rw-r--r--debian/patches/series2
-rwxr-xr-xdebian/rules98
-rw-r--r--debian/watch3
-rw-r--r--tests/auth.c137
-rw-r--r--tests/lock.c263
29 files changed, 2308 insertions, 0 deletions
diff --git a/RELEASING b/RELEASING
new file mode 100644
index 0000000..3f07146
--- /dev/null
+++ b/RELEASING
@@ -0,0 +1,66 @@
+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.
+
+ 3) Bump the version number in configure.ac. We seem to have settled
+ for 2.4.x as the versioning scheme for libdrm, so just bump the
+ micro version.
+
+ 4) Run autoconf and then re-run ./configure so the build system
+ picks up the new version number.
+
+ 5) Verify that the code passes "make distcheck". libdrm is tricky
+ to distcheck since the test suite will need to become drm master.
+ This means that you need to run it outside X, that is, in text
+ mode (KMS or no KMS doesn't matter).
+
+ Running "make distcheck" should result in no warnings or errors
+ and end with a message of the form:
+
+ =============================================
+ 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.
+
+ 6) Commit the configure.ac change and make an annotated tag for that
+ 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"
+
+ 7) Push the commit and tag by saying
+
+ git push --tags origin master
+
+ assuming the remote for the upstream libdrm repo is called origin.
+
+ 6) Use the release.sh script from the xorg/util/modular repo to
+ upload the tarballs to the freedesktop.org download area and
+ create an annouce email template. The script takes three
+ arguments: a "section", the previous tag and the new tag we just
+ created. For 2.4.16 again, the command is:
+
+ ../modular/release.sh libdrm 2.4.15 2.4.16
+
+ 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!
diff --git a/autogen.sh b/autogen.sh
new file mode 100644
index 0000000..3f190ba
--- /dev/null
+++ b/autogen.sh
@@ -0,0 +1,6 @@
+#! /bin/sh
+
+test -n "$srcdir" || srcdir=`dirname "$0"`
+test -n "$srcdir" || srcdir=.
+autoreconf --force --install --verbose "$srcdir"
+test -n "$NOCONFIGURE" || "$srcdir/configure" --enable-maintainer-mode "$@"
diff --git a/debian/README.source b/debian/README.source
new file mode 100644
index 0000000..f9bb7c6
--- /dev/null
+++ b/debian/README.source
@@ -0,0 +1,55 @@
+------------------------------------------------------
+Quick Guide To Patching This Package For The Impatient
+------------------------------------------------------
+
+1. Make sure you have quilt installed
+2. Unpack the package as usual with "dpkg-source -x"
+3. Run the "patch" target in debian/rules
+4. Create a new patch with "quilt new" (see quilt(1))
+5. Edit all the files you want to include in the patch with "quilt edit"
+ (see quilt(1)).
+6. Write the patch with "quilt refresh" (see quilt(1))
+7. Run the "clean" target in debian/rules
+
+Alternatively, instead of using quilt directly, you can drop the patch in to
+debian/patches and add the name of the patch to debian/patches/series.
+
+While building from git, dpkg-source can complain about symlinks vs.
+normal files mismatches. To work around this issue, before uploading,
+and without committing:
+
+ find -type l | while read dest; do src=$(readlink -f $dest); rm $dest; cp $src $dest; done
+
+------------------------------------
+Guide To The X Strike Force Packages
+------------------------------------
+
+The X Strike Force team maintains X packages in git repositories on
+git.debian.org in the pkg-xorg subdirectory. Most upstream packages
+are actually maintained in git repositories as well, so they often
+just need to be pulled into git.debian.org in a "upstream-*" branch.
+Otherwise, the upstream sources are manually installed in the Debian
+git repository.
+
+The .orig.tar.gz upstream source file could be generated using this
+"upstream-*" branch in the Debian git repository but it is actually
+copied from upstream tarballs directly.
+
+Due to X.org being highly modular, packaging all X.org applications
+as their own independent packages would have created too many Debian
+packages. For this reason, some X.org applications have been grouped
+into larger packages: xutils, xutils-dev, x11-apps, x11-session-utils,
+x11-utils, x11-xfs-utils, x11-xkb-utils, x11-xserver-utils.
+Most packages, including the X.org server itself and all libraries
+and drivers are, however maintained independently.
+
+The Debian packaging is added by creating the "debian-*" git branch
+which contains the aforementioned "upstream-*" branch plus the debian/
+repository files.
+When a patch has to be applied to the Debian package, two solutions
+are involved:
+* If the patch is available in one of the upstream branches, it
+ may be git'cherry-picked into the Debian repository. In this
+ case, it appears directly in the .diff.gz.
+* Otherwise, the patch is added to debian/patches/ which is managed
+ with quilt as documented in /usr/share/doc/quilt/README.source.
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..952fe3d
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,712 @@
+libdrm (2.4.52-1) unstable; urgency=medium
+
+ [ Julien Cristau ]
+ * Remove Cyril Brulebois from Uploaders.
+
+ [ Maarten Lankhorst ]
+ * New upstream release.
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Fri, 24 Jan 2014 13:41:57 +0100
+
+libdrm (2.4.51-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Julien Cristau <jcristau@debian.org> Mon, 20 Jan 2014 13:45:50 +0100
+
+libdrm (2.4.50-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Thu, 19 Dec 2013 10:49:57 +0100
+
+libdrm (2.4.49-2) unstable; urgency=low
+
+ * Cherry-pick a commit from upstream to fix a radeonsi regression.
+ - c8a437f4c76: radeon: Update unaligned offset for 2D->1D tiling
+ transition on SI
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Tue, 26 Nov 2013 15:25:45 +0100
+
+libdrm (2.4.49-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Mon, 25 Nov 2013 11:36:32 +0100
+
+libdrm (2.4.46-4) unstable; urgency=low
+
+ [ Colin Watson ]
+ * Declare libdrm-dev Multi-Arch: same.
+
+ [ Maarten Lankhorst ]
+ * Cherry-pick upstream patch to fix relocations for all cards <nv50.
+ * Do not require valgrind on armel.
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Thu, 07 Nov 2013 14:11:38 +0100
+
+libdrm (2.4.46-3) unstable; urgency=low
+
+ * Make drmCheckModesettingSupported work on FreeBSD. Thanks, Christoph
+ Egger!
+ * Stop building libkms.
+
+ -- Julien Cristau <jcristau@debian.org> Thu, 19 Sep 2013 21:24:52 +0200
+
+libdrm (2.4.46-2) unstable; urgency=low
+
+ * Build libdrm-radeon1 on kfreebsd (closes: #684593).
+
+ -- Julien Cristau <jcristau@debian.org> Wed, 21 Aug 2013 21:05:44 +0200
+
+libdrm (2.4.46-1) unstable; urgency=low
+
+ [ Sven Joachim ]
+ * New upstream release.
+ * Bump libdrm2's and libdrm-intel1's symbols and shlibs.
+ * Build libdrm-intel1 on x32 (Closes: #712515).
+ * Disable silent rules.
+
+ -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Mon, 05 Aug 2013 13:44:46 +0200
+
+libdrm (2.4.45-3) unstable; urgency=low
+
+ * Team upload.
+
+ * debian/patches/03_build_against_librt.diff:
+ + Removed, no longer needed with our current glibc version.
+ Thanks to Julien Cristau for pointing it out.
+ * Upload to unstable.
+
+ -- Emilio Pozuelo Monfort <pochu@debian.org> Thu, 06 Jun 2013 23:13:12 +0200
+
+libdrm (2.4.45-2) experimental; urgency=low
+
+ [ Sven Joachim ]
+ * Only build-depend on valgrind on architectures where
+ valgrind is actually available.
+
+ -- Julien Cristau <jcristau@debian.org> Thu, 30 May 2013 10:03:37 +0200
+
+libdrm (2.4.45-1) experimental; urgency=low
+
+ * Team upload.
+
+ [ Julien Cristau ]
+ * Bump libdrm2 shlibs to 2.4.38.
+
+ [ Maarten Lankhorst ]
+ * New upstream release.
+ * Build-depend on xsltproc and docbook-xsl.
+ * Add valgrind to build-depends.
+
+ [ Timo Aaltonen ]
+ * control: Bump policy to 3.9.4, no changes.
+
+ [ Emilio Pozuelo Monfort ]
+ * Upload to experimental.
+
+ -- Emilio Pozuelo Monfort <pochu@debian.org> Thu, 16 May 2013 00:09:59 +0200
+
+libdrm (2.4.40-1) experimental; urgency=low
+
+ [ Maarten Lankhorst ]
+ * New upstream release.
+ - Nouveau ABI change, replace libdrm-nouveau1a with libdrm-nouveau2.
+
+ [ Timo Aaltonen ]
+ * Bump libdrm-intel1's and libdrm-nouveau2's shlibs due to new symbols.
+ * Hardcode the version for libdrm-omap1's shlibs.
+
+ [ Christopher James Halse Rogers ]
+ * Add libdrm2-udeb; Xserver 1.13 wants libdrm for hotplug config, so
+ will be needed for the 1.13 xserver-xorg-core-udeb.
+
+ [ Sven Joachim ]
+ * Bump libdrm-radeon1's symbols and shlibs.
+ * Mark some internal libdrm-nouveau2 symbols as private.
+ * Drop patch 02_build_libkms_against_in_tree_drm.diff, applied upstream.
+
+ -- Julien Cristau <jcristau@debian.org> Sat, 17 Nov 2012 18:50:33 +0100
+
+libdrm (2.4.33-3) unstable; urgency=low
+
+ * Add missing dependency on libdrm-omap1 to libdrm-dev (thanks, Robert
+ Hooker!). Make some arm matching a bit simpler.
+
+ -- Julien Cristau <jcristau@debian.org> Thu, 21 Jun 2012 23:22:22 +0200
+
+libdrm (2.4.33-2) unstable; urgency=low
+
+ [ Sebastian Reichel ]
+ * Build libdrm_omap (closes: #667572).
+
+ -- Julien Cristau <jcristau@debian.org> Thu, 21 Jun 2012 22:39:22 +0200
+
+libdrm (2.4.33-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Cyril Brulebois <kibi@debian.org> Mon, 02 Apr 2012 01:28:22 +0000
+
+libdrm (2.4.32-1) unstable; urgency=low
+
+ [ Robert Hooker ]
+ * New upstream release (2.4.31).
+ * Bump libdrm2 and libdrm-radeon1 symbols and shlibs to account for
+ recent changes.
+
+ [ Cyril Brulebois ]
+ * New upstream release (2.4.32).
+ * Bump libdrm-intel1's symbols and shlibs accordingly.
+
+ -- Cyril Brulebois <kibi@debian.org> Mon, 19 Mar 2012 19:56:12 +0000
+
+libdrm (2.4.30-1) unstable; urgency=low
+
+ * New upstream release.
+ * Bump libdrm2's and libdrm-intel1's symbols and shlibs accordingly.
+ * Document the symlink dance when building from git in README.source.
+
+ -- Cyril Brulebois <kibi@debian.org> Fri, 06 Jan 2012 20:04:37 +0100
+
+libdrm (2.4.29-1) unstable; urgency=low
+
+ * New upstream release:
+ - assert()s are now gone (Closes: #651316).
+ * Update libdrm-intel1's symbols and shlibs accordingly.
+
+ -- Cyril Brulebois <kibi@debian.org> Tue, 13 Dec 2011 13:16:22 +0100
+
+libdrm (2.4.28-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Cyril Brulebois <kibi@debian.org> Tue, 06 Dec 2011 15:17:50 +0100
+
+libdrm (2.4.27-1) unstable; urgency=low
+
+ * New upstream release:
+ - Push the new Intel API for use by mesa.
+ - Usual bug fixes.
+ * Update libdrm-intel1's symbols and shlibs accordingly.
+
+ -- Cyril Brulebois <kibi@debian.org> Tue, 01 Nov 2011 19:30:54 +0100
+
+libdrm (2.4.26-1) unstable; urgency=low
+
+ * New upstream release:
+ - Fix two important intel bugs.
+ * Add libpciaccess-dev build-dep.
+ * Update libdrm-intel1.symbols and shlibs for new aperture-related symbol.
+
+ -- Cyril Brulebois <kibi@debian.org> Fri, 24 Jun 2011 17:07:04 +0200
+
+libdrm (2.4.25-3) unstable; urgency=low
+
+ * Team upload.
+
+ [ Steve Langasek ]
+ * Build for multiarch.
+
+ [ Julien Cristau ]
+ * Add lintian overrides for symbols-declares-dependency-on-other-package (we
+ use that for private symbols).
+ * Bump Standards-Version to 3.9.2.
+
+ -- Julien Cristau <jcristau@debian.org> Thu, 09 Jun 2011 20:05:53 +0200
+
+libdrm (2.4.25-2) unstable; urgency=low
+
+ * Upload to unstable.
+
+ -- Cyril Brulebois <kibi@debian.org> Mon, 16 May 2011 19:14:49 +0200
+
+libdrm (2.4.25-1) experimental; urgency=low
+
+ * New upstream release.
+ * Update libdrm2.symbols and shlibs.
+ * Update libkms1.symbols, marking dumb_create@Base as private.
+ * Switch to dh:
+ - Bump compat/build-dep to 8.
+ - Use dh-autoreconf.
+ - Tidy old build-deps.
+ - Testsuite now automatically gets run.
+ * Accordingly, add a build-dep to fix FTBFS during make check:
+ - 03_build_against_librt.diff
+ * Add libudev-dev build-dep on Linux so that detection works.
+ * Since the testsuite just got enabled, let's not bail out if it fails.
+ * Remove xsfbs as it's no longer needed.
+ * Bump Standards-Version (no changes needed).
+
+ -- Cyril Brulebois <kibi@debian.org> Tue, 19 Apr 2011 02:57:29 +0200
+
+libdrm (2.4.24-2) unstable; urgency=low
+
+ * Upload to unstable.
+
+ -- Cyril Brulebois <kibi@debian.org> Sun, 10 Apr 2011 22:57:02 +0200
+
+libdrm (2.4.24-1) experimental; urgency=low
+
+ [ Christopher James Halse Rogers ]
+ * New upstream release.
+ * Add new internal radeon symbols to libkms1.symbols
+
+ [ Cyril Brulebois ]
+ * Just as a reminder, not adding a lintian override for the following
+ warning, since patches were sent upstream to stop exporting private
+ symbols: symbols-declares-dependency-on-other-package
+
+ -- Cyril Brulebois <kibi@debian.org> Sat, 05 Mar 2011 20:27:23 +0100
+
+libdrm (2.4.23-3) unstable; urgency=low
+
+ * Cherry-pick from upstream:
+ - intel: Fallback to old exec if no mrb_exec is available
+ - intel: Set the public handle after opening by name
+ - intel: Remember named bo
+ * The first of those fixes should fix some failures to submit batch
+ buffer (Closes: #612766).
+ * Bump dependency to 2.4.23-3 for the drm_intel_bo_mrb_exec symbol in
+ libdrm-intel1's symbols file. While the former version is alright
+ from a shared object point of view, runtime doesn't seem to agree
+ (Closes: #609299).
+ * Bump the libdrm-intel1 shlibs version for consistency.
+
+ -- Cyril Brulebois <kibi@debian.org> Wed, 16 Feb 2011 11:44:44 +0100
+
+libdrm (2.4.23-2) unstable; urgency=low
+
+ * Upload to unstable.
+ * Update Uploaders list. Thanks, David & Brice!
+
+ -- Cyril Brulebois <kibi@debian.org> Sat, 05 Feb 2011 11:26:44 +0100
+
+libdrm (2.4.23-1) experimental; urgency=low
+
+ [ Sven Joachim ]
+ * New upstream release.
+ * Rename the libdrm-nouveau1 package to libdrm-nouveau1a, since upstream
+ broke the ABI without changing the soname.
+ - Make libdrm-nouveau1a{,-dbg} conflict with libdrm-nouveau1{,-dbg} and
+ remove the Breaks against xserver-xorg-video-nouveau.
+ - Adjust the lintian override.
+ - Bump libdrm-nouveau shlibs and symbols versions to 2.4.23.
+ * Use dh_prep instead of the deprecated dh_clean -k in debian/rules.
+
+ -- Julien Cristau <jcristau@debian.org> Thu, 23 Dec 2010 17:56:54 +0100
+
+libdrm (2.4.22-2) experimental; urgency=low
+
+ * Cherry-pick some commits from upstream to make the intel video driver
+ 2.13.901 buildable:
+ - 057fab33: intel: Prepare for BLT ring split
+ - 36245771: intel: enable relaxed fence allocation for i915
+ - 49447a9b: intel: initialize bufmgr.bo_mrb_exec unconditionally
+
+ -- Cyril Brulebois <kibi@debian.org> Sun, 07 Nov 2010 22:51:12 +0100
+
+libdrm (2.4.22-1) experimental; urgency=low
+
+ [ Sven Joachim ]
+ * New upstream release.
+
+ -- Cyril Brulebois <kibi@debian.org> Sat, 02 Oct 2010 00:41:05 +0200
+
+libdrm (2.4.21-2) experimental; urgency=low
+
+ [ Sven Joachim ]
+ * Bump libdrm-nouveau shlibs and symbols versions to 2.4.21-1 to ensure
+ that packages built against this version are not used with squeeze's
+ libdrm-nouveau1.
+ * Add a lintian override for the symbols-file-contains-debian-revision
+ warning. Bump debhelper compatibility level to 6 for dh_lintian.
+
+ -- Julien Cristau <jcristau@debian.org> Wed, 25 Aug 2010 23:14:40 +0200
+
+libdrm (2.4.21-1) experimental; urgency=low
+
+ [ Christopher James Halse Rogers ]
+ * debian/rules:
+ - Add libkms to build
+ - Build vmwgfx experimental API. The drm module is available in the 2.6.34
+ kernel so we might as well build the userspace bits.
+ * debian/control:
+ - Add libkms1, libkms1-dbg packages on linux
+ * debian/patches/02_build_libkms_against_in_tree_drm:
+ - Link libkms against libdrm as it uses symbols from libdrm.
+
+ [ Robert Hooker ]
+ * New upstream release.
+ * Refresh 02_build_libkms_against_in_tree_drm.
+ * Update libdrm-intel1.symbols, libdrm-radeon1.symbols and shlibs.
+
+ [ Julien Cristau ]
+ * Update the copyright file to hopefully include all licenses variations and
+ copyright statements from the source tree.
+ * Mark new libdrm_radeon symbols private. They shouldn't actually be
+ exported.
+ * Same with libkms. Also don't set a minimum version to 2.4.20, since we
+ didn't ship it before anyway.
+
+ -- Julien Cristau <jcristau@debian.org> Thu, 10 Jun 2010 23:24:54 +0200
+
+libdrm (2.4.20-3) experimental; urgency=low
+
+ [ Sven Joachim ]
+ * Update libdrm-nouveau1 to the ABI of Linux 2.6.34.
+ - Drop 03_revert_abi_change.diff.
+ - Bump libdrm-nouveau shlibs and symbols versions to 2.4.20-3~
+ to ensure that packages built against this version are not used
+ with an older libdrm-nouveau1 version.
+ - Add versioned Breaks against xserver-xorg-video-nouveau to force
+ an upgrade of that package and prevent X segfaults.
+ * Include full SONAME in libdrm-nouveau1.install.
+ * Update xsfbs to 81fc271788605b52e85c2d11635a0371fb44605e0.
+
+ -- Julien Cristau <jcristau@debian.org> Wed, 26 May 2010 10:33:22 +0200
+
+libdrm (2.4.20-2) experimental; urgency=low
+
+ * Upload again, faking a new upstream version, since a screw-up on
+ ftpmaster side trashed all files from experimental.
+
+ -- Cyril Brulebois <kibi@debian.org> Wed, 28 Apr 2010 01:54:44 +0200
+
+libdrm (2.4.20-1) experimental; urgency=low
+
+ * New upstream release.
+ + Cherry-pick upstream fixes 107ccd92 and 332739e3.
+ * Update libdrm-intel1.symbols, libdrm-radeon1.symbols and shlibs.
+ * Disable libkms for now.
+
+ -- Brice Goglin <bgoglin@debian.org> Fri, 16 Apr 2010 07:14:41 +0200
+
+libdrm (2.4.18-5) unstable; urgency=low
+
+ * Upload to unstable.
+
+ -- Cyril Brulebois <kibi@debian.org> Wed, 14 Apr 2010 13:02:34 +0200
+
+libdrm (2.4.18-4) experimental; urgency=low
+
+ * Steal 03_revert_abi_change.diff from Ubuntu to revert the nouveau ABI
+ change. Current Debian kernels support only the old ABI.
+ Thanks Sven Joachim!
+ * Build a libdrm-nouveau1 package on Linux architectures (Closes: #568162).
+ Patch adapted from the Ubuntu package. Thanks Sven Joachim!
+
+ -- Brice Goglin <bgoglin@debian.org> Wed, 24 Mar 2010 22:27:00 +0100
+
+libdrm (2.4.18-3) unstable; urgency=low
+
+ * Include full SONAME in libdrm*.install to prevent accidental breakage.
+ * Add back the drm headers in libdrm-dev.
+
+ -- Julien Cristau <jcristau@debian.org> Tue, 16 Mar 2010 12:28:50 +0100
+
+libdrm (2.4.18-2) unstable; urgency=low
+
+ * Fix FTBFS on non-Linux architectures (Closes: #570851): Replace
+ --{enable,disable}-radeon-experimental-api configure flag with
+ --{enable,disable}-radeon since it got renamed.
+ * Add ${misc:Depends} where it was missing, and fold all Depends.
+ * Bump Standards-Version from 3.8.3 to 3.8.4 (no changes needed).
+ * Add myself to Uploaders.
+
+ -- Cyril Brulebois <kibi@debian.org> Mon, 22 Feb 2010 15:31:47 +0100
+
+libdrm (2.4.18-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Brice Goglin <bgoglin@debian.org> Thu, 18 Feb 2010 08:06:14 +0100
+
+libdrm (2.4.17-1) unstable; urgency=low
+
+ [ Julien Cristau ]
+ * New upstream release, closes: #560434, #567831.
+ * Update patch 01_default_perms.diff to account for upstream move of libdrm
+ to toplevel.
+ * Update libdrm2.symbols and shlibs.
+ * Update libdrm-intel1.symbols and shlibs.
+ * Bump debhelper build-dep, we use dh_strip --remaining-packages (closes:
+ #558443). Thanks, Sergio Gelato!
+ * Enable libdrm_radeon, interface to kernel graphics memory management on
+ radeon (closes: #558786).
+ * Rename the build directory to not include DEB_BUILD_GNU_TYPE for no
+ good reason. Thanks, Colin Watson!
+ * Remove myself from Uploaders
+
+ [ Brice Goglin ]
+ * Bump linux-libc-dev dependency to 2.6.32, thanks Piotr Engelking,
+ closes: #561224.
+ * Add libdrm-radeon1 symbols and update shlibs.
+ * Update debian/copyright.
+
+ [ Timo Aaltonen ]
+ * Update libdrm2.symbols and shlibs.
+
+ -- Brice Goglin <bgoglin@debian.org> Sun, 31 Jan 2010 20:12:38 +0100
+
+libdrm (2.4.15-1) unstable; urgency=low
+
+ * New upstream release.
+ + update libdrm-intel1 symbols and shlibs
+ * Only build libdrm-intel on x86 (linux and kfreebsd).
+
+ -- Julien Cristau <jcristau@debian.org> Mon, 23 Nov 2009 17:00:57 +0100
+
+libdrm (2.4.14-1) unstable; urgency=low
+
+ * Parse space-separated DEB_BUILD_OPTIONS, and handle parallel=N.
+ * New upstream release.
+ * Bump Standards-Version to 3.8.3.
+
+ -- Julien Cristau <jcristau@debian.org> Thu, 24 Sep 2009 21:53:09 +0200
+
+libdrm (2.4.13-1) unstable; urgency=low
+
+ [ Christopher James Halse Rogers ]
+ * debian/control:
+ + Remove scary 'built from DRM snapshot' warning from long description of
+ libdrm-intel1{,-dbg}
+
+ [ Julien Cristau ]
+ * New upstream release.
+ * Update libdrm-intel1.symbols.
+
+ -- Julien Cristau <jcristau@debian.org> Sat, 05 Sep 2009 13:15:36 +0200
+
+libdrm (2.4.12-1) unstable; urgency=low
+
+ * New upstream release.
+
+ -- Brice Goglin <bgoglin@debian.org> Tue, 21 Jul 2009 15:29:03 +0200
+
+libdrm (2.4.11-1) unstable; urgency=low
+
+ * New upstream release.
+ * Also pull in additional fix for libdrm-intel: Only do BO caching up to
+ 64MB objects.
+ * Update libdrm-intel1.symbols and bump shlibs.
+ * Add README.source from xsfbs. Bump Standards-Version to 3.8.1.
+ * Remove Thierry Reding from Uploaders, he doesn't seem to be around anymore
+ :(
+
+ -- Julien Cristau <jcristau@debian.org> Mon, 08 Jun 2009 16:22:04 +0200
+
+libdrm (2.4.9-2) unstable; urgency=low
+
+ * Ship all drm headers on kfreebsd, again.
+ * Move -dbg packages to new debug section.
+
+ -- Julien Cristau <jcristau@debian.org> Sun, 03 May 2009 18:55:42 +0200
+
+libdrm (2.4.9-1) unstable; urgency=low
+
+ [ Brice Goglin ]
+ * New upstream release.
+ + Remove buggy symlinks for the upstream tarball.
+ * Add myself to Uploaders.
+
+ [ Julien Cristau ]
+ * Make the linux-libc-dev dependency linux-only (closes: #521253). Thanks,
+ Petr Salinger!
+
+ -- Brice Goglin <bgoglin@debian.org> Sat, 11 Apr 2009 23:12:49 +0200
+
+libdrm (2.4.5-2) unstable; urgency=low
+
+ * Add drm_mode.h to the list of headers we don't ship.
+
+ -- Julien Cristau <jcristau@debian.org> Wed, 25 Mar 2009 10:56:53 +0100
+
+libdrm (2.4.5-1) unstable; urgency=low
+
+ * New upstream release. (closes: #505740)
+
+ [ Timo Aaltonen ]
+ * debian/rules:
+ -Run autoreconf at build time, build-depend on automake and libtool.
+ (closes: #482727)
+ -Add a debian/libdrm2.symbols file and '-c4' parameter to dh_makeshlibs
+ to fail if new symbols are added. Don't use Debian versions for now.
+
+ [ Julien Cristau ]
+ * Add a new package for the intel-specific bits (libdrm-intel1)
+ * Build-depend on pkg-config and libpthread-stubs0-dev (closes: #502078).
+ Thanks, Frank Lichtenheld!
+ * Don't mention *.la in libdrm-dev.install.
+ * Make libdrm-dev depend on libdrm-intel1 on x86.
+ * On Linux, let udev create the device files.
+ * Let linux-libc-dev provide some drm headers, drop them from libdrm-dev.
+ Add dependency on linux-libc-dev >= 2.6.28.
+ * Set libdrm2 shlibs to 2.4.3, libdrm-intel1 shlibs to 2.4.5. Update
+ symbols files.
+
+ -- Julien Cristau <jcristau@debian.org> Tue, 24 Mar 2009 22:20:50 +0100
+
+libdrm (2.3.1-2) unstable; urgency=high
+
+ * Remove from the source package a bunch of files that are only used by the
+ kernel drm component. This gets rid of the mga, r128 and radeon
+ microcode, and thus closes: #502675. Thanks, Ben Hutchings!
+
+ -- Julien Cristau <jcristau@debian.org> Sun, 19 Oct 2008 14:26:37 +0200
+
+libdrm (2.3.1-1) unstable; urgency=low
+
+ [ Brice Goglin ]
+ * Update upstream URL in debian/copyright.
+ * Bump Standards-Version to 3.7.3 (no changes).
+ * Drop the XS- prefix from Vcs-Git and Vcs-Browser fields in debian/control.
+ * Install the upstream ChangeLog.
+
+ [ Julien Cristau ]
+ * New upstream release (needed for mesa 7.1 and newer xserver).
+ * Note: this release removes the memory manager (TTM) interface used by the
+ i915tex dri driver.
+ * debian/rules: don't call configure with --host if we're not
+ cross-building, and fix some rules dependencies.
+
+ [ Timo Aaltonen ]
+ * Bump the shlibs to 2.3.1.
+
+ -- Julien Cristau <jcristau@debian.org> Sun, 13 Jul 2008 19:07:49 +0200
+
+libdrm (2.3.0-4) unstable; urgency=low
+
+ [ David Nusinow ]
+ * Add NEWS.Debian explaining the change in the last upload to interested
+ administrators.
+
+ [ Julien Cristau ]
+ * Upload to unstable.
+
+ -- Julien Cristau <jcristau@debian.org> Fri, 20 Apr 2007 05:06:34 +0200
+
+libdrm (2.3.0-3) experimental; urgency=low
+
+ * Add myself to uploaders
+ * Patch libdrm to default to device permission 666 so we don't have to do it
+ in xorg.conf. The only way libdrm can do anything is through the server
+ anyway. This can still be overridden by a user's xorg.conf. This change
+ also requires adding quilt to the build-depends
+
+ -- David Nusinow <dnusinow@debian.org> Sun, 15 Apr 2007 13:08:50 -0400
+
+libdrm (2.3.0-2) unstable; urgency=low
+
+ * Update my email address in debian/control.
+ * Add XS-Vcs-Git and XS-Vcs-Browser in debian/control.
+ * Upload to unstable.
+
+ -- Julien Cristau <jcristau@debian.org> Thu, 12 Apr 2007 19:06:57 +0200
+
+libdrm (2.3.0-1) experimental; urgency=low
+
+ [ Thierry Reding ]
+ * New upstream release.
+ * Set the Debian X Strike Force as maintainer.
+ * Add myself to uploaders.
+ * Add a debugging symbol package for libdrm2.
+
+ [ Julien Cristau ]
+ * Bump shlibs to libdrm2 >= 2.3.0.
+ * Add myself to uploaders.
+ * Add build-dep on dpkg-dev >= 1.13.19 to make sure that the binary:Version
+ substvar is available.
+ * libdrm2-dbg depends on libdrm2 (= ${binary:Version}).
+ * Don't install libdrm.la, and use dh_install --list-missing.
+
+ -- Julien Cristau <julien.cristau@ens-lyon.org> Thu, 4 Jan 2007 18:56:08 +0100
+
+libdrm (2.2.0-0.1) experimental; urgency=low
+
+ * Non-maintainer upload.
+ * New upstream release.
+ * Bump Standards-Version to 3.7.2, no changes required.
+ * Bump debhelper compatibility to 5 and adjust build-dependency.
+ * Don't try to install pkgconfig files from usr/share/pkgconfig because
+ there is nothing in that directory.
+
+ -- Thierry Reding <thierry@gilfi.de> Sat, 18 Nov 2006 19:50:26 +0100
+
+libdrm (2.0.2-0.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * New upstream release (closes: #377166).
+ - Includes a fix for FTBFS on GNU/kFreeBSD (closes: #332994).
+ * Manually force static build.
+
+ -- Andres Salomon <dilinger@debian.org> Sat, 23 Sep 2006 06:32:23 +0000
+
+libdrm (2.0.1-1) unstable; urgency=high
+
+ * New upstream release
+ - Fixes a pathological hash table smash discovered by the Coverity scanner
+ - updates the installed header files for various new #defines
+
+ -- David Nusinow <dnusinow@debian.org> Tue, 4 Apr 2006 23:46:05 -0400
+
+libdrm (2.0-1) experimental; urgency=low
+
+ * First upload to Debian
+
+ -- David Nusinow <dnusinow@debian.org> Thu, 5 Jan 2006 22:45:27 -0500
+
+libdrm (2.0-0ubuntu1) dapper; urgency=low
+
+ * New upstream release.
+ * Change binary package from libdrm1 to libdrm2, following soversion bump.
+
+ -- Daniel Stone <daniel.stone@ubuntu.com> Mon, 12 Dec 2005 13:05:22 +1100
+
+libdrm (1.0.5-0ubuntu1) dapper; urgency=low
+
+ * New upstream version.
+
+ -- Daniel Stone <daniel.stone@ubuntu.com> Wed, 2 Nov 2005 01:56:07 +1100
+
+libdrm (1.0.3-3) unstable; urgency=low
+
+ * Yay for understandable bug reports! *gmprf*
+ * debian/control:libdrm1 =~ s/development/runtime/ (closes: bug#325515)
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Fri, 16 Sep 2005 09:46:05 -0600
+
+libdrm (1.0.3-2) unstable; urgency=low
+
+ * libdrm.pc.in: add -ldrm to Libs
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Thu, 08 Sep 2005 20:49:01 -0600
+
+libdrm (1.0.3-1) unstable; urgency=low
+
+ * New upstream
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Sun, 28 Aug 2005 11:12:07 -0600
+
+libdrm (1.0.2-3) unstable; urgency=low
+
+ * debian/control: it's "Direct Rendering Infraestructure". I was rather
+ sure it stand for interface... thanks Michel. (closes: bug#324514)
+ * debian/control: forgot to actually write this in the file. Build-Depends
+ on libx11-dev. Thanks Kurt (closes: bug#324560)
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Sun, 28 Aug 2005 11:01:41 -0600
+
+libdrm (1.0.2-2) unstable; urgency=low
+
+ * Forgot to fix the other broken bit :-P
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Fri, 19 Aug 2005 22:01:32 -0600
+
+libdrm (1.0.2-1) unstable; urgency=low
+
+ * Initial release. Closes: #324074
+
+ -- Marcelo E. Magallon <mmagallo@debian.org> Fri, 19 Aug 2005 21:11:18 -0600
+
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..0bd1bae
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,204 @@
+Source: libdrm
+Priority: optional
+Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
+Build-Depends:
+ debhelper (>= 9),
+ dh-autoreconf,
+ quilt,
+ xsltproc,
+ docbook-xsl,
+ libx11-dev,
+ pkg-config,
+ libpthread-stubs0-dev,
+ libudev-dev [linux-any],
+ libpciaccess-dev,
+ valgrind [amd64 armhf i386 mips mipsel powerpc s390x],
+ libbsd-dev [kfreebsd-any],
+Standards-Version: 3.9.4
+Section: libs
+Vcs-Git: git://git.debian.org/git/pkg-xorg/lib/libdrm
+Vcs-Browser: http://git.debian.org/?p=pkg-xorg/lib/libdrm.git
+
+Package: libdrm-dev
+Section: libdevel
+Architecture: any
+Depends:
+ libdrm2 (= ${binary:Version}),
+ libdrm-intel1 (= ${binary:Version}) [amd64 i386 kfreebsd-amd64 kfreebsd-i386 x32],
+ libdrm-radeon1 (= ${binary:Version}),
+ libdrm-nouveau2 (= ${binary:Version}) [linux-any],
+ libdrm-omap1 (= ${binary:Version}) [any-arm],
+ ${misc:Depends},
+Multi-Arch: same
+Replaces:
+ linux-libc-dev (<< 2.6.32-10)
+Description: Userspace interface to kernel DRM services -- development files
+ This library implements the userspace interface to the kernel DRM
+ services. DRM stands for "Direct Rendering Manager", which is the
+ kernelspace portion of the "Direct Rendering Infrastructure" (DRI).
+ The DRI is currently used on Linux to provide hardware-accelerated
+ OpenGL drivers.
+ .
+ This package provides the development environment for libdrm.
+
+Package: libdrm2
+Section: libs
+Architecture: any
+Depends:
+ ${shlibs:Depends},
+ ${misc:Depends},
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Description: Userspace interface to kernel DRM services -- runtime
+ This library implements the userspace interface to the kernel DRM
+ services. DRM stands for "Direct Rendering Manager", which is the
+ kernelspace portion of the "Direct Rendering Infrastructure" (DRI).
+ The DRI is currently used on Linux to provide hardware-accelerated
+ OpenGL drivers.
+ .
+ This package provides the runtime environment for libdrm.
+
+Package: libdrm2-udeb
+Package-Type: udeb
+Section: debian-installer
+Architecture: any
+Depends:
+ ${shlibs:Depends},
+ ${misc:Depends},
+Description: Userspace interface to kernel DRM services -- runtime
+ This is a udeb, or a microdeb, for the debian-installer.
+
+Package: libdrm2-dbg
+Section: debug
+Priority: extra
+Architecture: any
+Depends:
+ libdrm2 (= ${binary:Version}),
+ ${misc:Depends},
+Multi-Arch: same
+Description: Userspace interface to kernel DRM services -- debugging symbols
+ This library implements the userspace interface to the kernel DRM
+ services. DRM stands for "Direct Rendering Manager", which is the
+ kernelspace portion of the "Direct Rendering Infrastructure" (DRI).
+ The DRI is currently used on Linux to provide hardware-accelerated
+ OpenGL drivers.
+ .
+ This package provides debugging symbols for the libdrm2 package.
+
+Package: libdrm-intel1
+Section: libs
+Architecture: amd64 i386 kfreebsd-amd64 kfreebsd-i386 x32
+Depends:
+ ${shlibs:Depends},
+ ${misc:Depends},
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
+Description: Userspace interface to intel-specific kernel DRM services -- runtime
+ This library implements the userspace interface to the intel-specific kernel
+ DRM services. DRM stands for "Direct Rendering Manager", which is the
+ kernelspace portion of the "Direct Rendering Infrastructure" (DRI). The DRI is
+ currently used on Linux to provide hardware-accelerated OpenGL drivers.
+
+Package: libdrm-intel1-dbg
+Section: debug
+Priority: extra
+Architecture: amd64 i386 kfreebsd-amd64 kfreebsd-i386 x32
+Depends:
+ libdrm-intel1 (= ${binary:Version}),
+ ${misc:Depends},
+Multi-Arch: same
+Description: Userspace interface to intel-specific kernel DRM services -- debugging symbols
+ This library implements the userspace interface to the kernel DRM services.
+ DRM stands for "Direct Rendering Manager", which is the kernelspace portion
+ of the "Direct Rendering Infrastructure" (DRI). The DRI is currently used on
+ Linux to provide hardware-accelerated OpenGL drivers.
+ .
+ This package provides the debugging symbols for the libdrm-intel1 package.
+
+Package: libdrm-nouveau2
+Section: libs
+Architecture: linux-any
+Depends: ${shlibs:Depends},
+ ${misc:Depends},
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
+Description: Userspace interface to nouveau-specific kernel DRM services -- runtime
+ This library implements the userspace interface to the nouveau-specific kernel
+ DRM services. DRM stands for "Direct Rendering Manager", which is the
+ kernelspace portion of the "Direct Rendering Infrastructure" (DRI). The DRI is
+ currently used on Linux to provide hardware-accelerated OpenGL drivers.
+
+Package: libdrm-nouveau2-dbg
+Section: debug
+Priority: extra
+Architecture: linux-any
+Depends: libdrm-nouveau2 (= ${binary:Version}),
+ ${misc:Depends},
+Multi-Arch: same
+Description: Userspace interface to nouveau-specific kernel DRM -- debugging symbols
+ This library implements the userspace interface to the kernel DRM services.
+ DRM stands for "Direct Rendering Manager", which is the kernelspace portion
+ of the "Direct Rendering Infrastructure" (DRI). The DRI is currently used on
+ Linux to provide hardware-accelerated OpenGL drivers.
+ .
+ This package provides the debugging symbols for the libdrm-nouveau2 package.
+
+Package: libdrm-radeon1
+Section: libs
+Architecture: any
+Depends:
+ ${shlibs:Depends},
+ ${misc:Depends},
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
+Description: Userspace interface to radeon-specific kernel DRM services -- runtime
+ This library implements the userspace interface to the radeon-specific kernel
+ DRM services. DRM stands for "Direct Rendering Manager", which is the
+ kernelspace portion of the "Direct Rendering Infrastructure" (DRI). The DRI is
+ currently used on Linux to provide hardware-accelerated OpenGL drivers.
+
+Package: libdrm-radeon1-dbg
+Section: debug
+Priority: extra
+Architecture: any
+Depends:
+ libdrm-radeon1 (= ${binary:Version}),
+ ${misc:Depends},
+Multi-Arch: same
+Description: Userspace interface to radeon-specific kernel DRM services -- debugging symbols
+ This library implements the userspace interface to the kernel DRM services.
+ DRM stands for "Direct Rendering Manager", which is the kernelspace portion
+ of the "Direct Rendering Infrastructure" (DRI). The DRI is currently used on
+ Linux to provide hardware-accelerated OpenGL drivers.
+ .
+ This package provides the debugging symbols for the libdrm-radeon1 package.
+
+Package: libdrm-omap1
+Section: libs
+Architecture: any-arm
+Depends:
+ ${shlibs:Depends},
+ ${misc:Depends},
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
+Description: Userspace interface to omap-specific kernel DRM services -- runtime
+ This library implements the userspace interface to the omap-specific kernel
+ DRM services. DRM stands for "Direct Rendering Manager", which is the
+ kernelspace portion of the "Direct Rendering Infrastructure" (DRI). The DRI is
+ currently used on Linux to provide hardware-accelerated OpenGL drivers.
+
+Package: libdrm-omap1-dbg
+Section: debug
+Priority: extra
+Architecture: any-arm
+Depends:
+ libdrm-omap1 (= ${binary:Version}),
+ ${misc:Depends},
+Multi-Arch: same
+Description: Userspace interface to omap-specific kernel DRM services -- debugging symbols
+ This library implements the userspace interface to the kernel DRM services.
+ DRM stands for "Direct Rendering Manager", which is the kernelspace portion
+ of the "Direct Rendering Infrastructure" (DRI). The DRI is currently used on
+ Linux to provide hardware-accelerated OpenGL drivers.
+ .
+ This package provides the debugging symbols for the libdrm-omap1 package.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..3715aaa
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,316 @@
+This package was downloaded from
+http://dri.freedesktop.org/libdrm/
+
+It was debianized by Marcelo E. Magallon <mmagallo@debian.org> on
+Fri, 19 Aug 2005 21:11:18 -0600.
+
+
+ Copyright 2005 Adam Jackson.
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation on the rights to use, copy, modify, merge,
+ publish, distribute, sub license, and/or sell copies of the Software,
+ and to permit persons to whom the Software is furnished to do so,
+ subject to the following conditions:
+
+ The above copyright notice and this permission notice (including the
+ next paragraph) shall be included in all copies or substantial
+ portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NON-INFRINGEMENT. IN NO EVENT SHALL ADAM JACKSON BE LIABLE FOR ANY
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+ Copyright 2000 Precision Insight, Inc., Cedar Park, Texas.
+ Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
+ Copyright 2002 Tungsten Graphics, Inc., Cedar Park, Texas.
+ All Rights Reserved.
+
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright notice and this permission notice (including the
+ next paragraph) shall be included in all copies or substantial
+ portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL PRECISION INSIGHT AND/OR ITS
+ SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
+
+
+ Copyright (c) 2007-2008 Dave Airlie <airlied@linux.ie>
+ Copyright (c) 2007-2008 Jakob Bornecrantz <wallbraker@gmail.com>
+ Copyright (c) 2008 Red Hat Inc.
+ Copyright (c) 2007-2008 Tungsten Graphics, Inc., Cedar Park, TX., USA
+ Copyright (c) 2007-2009 Intel Corporation
+
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the "Software"),
+ to deal in the Software without restriction, including without limitation
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ and/or sell copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ IN THE SOFTWARE.
+
+
+ Copyright 2002-2006 Tungsten Graphics, Inc., Cedar Park, Texas.
+ All Rights Reserved.
+
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the "Software"),
+ to deal in the Software without restriction, including without limitation
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ and/or sell copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice (including the next
+ paragraph) shall be included in all copies or substantial portions of the
+ Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ OTHER DEALINGS IN THE SOFTWARE.
+
+
+ Copyright 2000 Gareth Hughes
+ Copyright 2002 Frank C. Earl
+ Copyright 2002-2003 Leif Delgass
+ All Rights Reserved.
+
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the "Software"),
+ to deal in the Software without restriction, including without limitation
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ and/or sell copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice (including the next
+ paragraph) shall be included in all copies or substantial portions of the
+ Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ THE COPYRIGHT OWNER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+ Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
+ Copyright 2005 Stephane Marchesin.
+ All rights reserved.
+
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the "Software"),
+ to deal in the Software without restriction, including without limitation
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ and/or sell copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice (including the next
+ paragraph) shall be included in all copies or substantial portions of the
+ Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ OTHER DEALINGS IN THE SOFTWARE.
+
+
+ Copyright 2004 Felix Kuehling
+ All Rights Reserved.
+
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the "Software"),
+ to deal in the Software without restriction, including without limitation
+ the rights to use, copy, modify, merge, publish, distribute, sub license,
+ and/or sell copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice (including the
+ next paragraph) shall be included in all copies or substantial portions
+ of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NON-INFRINGEMENT. IN NO EVENT SHALL FELIX KUEHLING BE LIABLE FOR
+ ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
+ CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+ Copyright 2005 Eric Anholt
+ Copyright © 2007-2008 Intel Corporation
+ Copyright © 2008 Jérôme Glisse
+ All Rights Reserved.
+
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the "Software"),
+ to deal in the Software without restriction, including without limitation
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ and/or sell copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice (including the next
+ paragraph) shall be included in all copies or substantial portions of the
+ Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ SOFTWARE.
+
+
+ Copyright 1998-2003 VIA Technologies, Inc. All Rights Reserved.
+ Copyright 2001-2003 S3 Graphics, Inc. All Rights Reserved.
+
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the "Software"),
+ to deal in the Software without restriction, including without limitation
+ the rights to use, copy, modify, merge, publish, distribute, sub license,
+ and/or sell copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice (including the
+ next paragraph) shall be included in all copies or substantial portions
+ of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+ VIA, S3 GRAPHICS, AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
+ ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
+
+
+ Copyright © 2009 VMware, Inc., Palo Alto, CA., USA
+ Copyright © 2007-2009 Red Hat Inc.
+ Copyright © 2007 Intel Corporation
+ Copyright 2006 Tungsten Graphics, Inc., Bismarck, ND., USA
+ Copyright © 2008 Dave Airlie
+ Copyright © 2008 Jérôme Glisse
+ Copyright © 2008 Nicolai Haehnle
+ All Rights Reserved.
+
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sub license, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+
+ The above copyright notice and this permission notice (including the
+ next paragraph) shall be included in all copies or substantial portions
+ of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+ THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+ USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+ Copyright (C) 1999 Wittawat Yamwong
+
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the "Software"),
+ to deal in the Software without restriction, including without limitation
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ and/or sell copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included
+ in all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ WITTAWAT YAMWONG, OR ANY OTHER CONTRIBUTORS BE LIABLE FOR ANY CLAIM,?
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR?
+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE?
+ OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+ Copyright (c) 2007 Nouveau Project
+
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the "Software"),
+ to deal in the Software without restriction, including without limitation
+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ and/or sell copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
+ OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ SOFTWARE.
+
+
+ Copyright 2010 Jerome Glisse <glisse@freedesktop.org>
+
+ Permission is hereby granted, free of charge, to any person obtaining a
+ copy of this software and associated documentation files (the "Software"),
+ to deal in the Software without restriction, including without limitation
+ on the rights to use, copy, modify, merge, publish, distribute, sub
+ license, and/or sell copies of the Software, and to permit persons to whom
+ the Software is furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice (including the next
+ paragraph) shall be included in all copies or substantial portions of the
+ Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
+ THE AUTHOR(S) AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
+ DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+ USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/debian/libdrm-dev.install b/debian/libdrm-dev.install
new file mode 100644
index 0000000..50b9af9
--- /dev/null
+++ b/debian/libdrm-dev.install
@@ -0,0 +1,6 @@
+usr/include/*
+usr/lib/*/lib*.a
+usr/lib/*/lib*.so
+usr/lib/*/pkgconfig/*
+usr/share/man/man3/*
+usr/share/man/man7/*
diff --git a/debian/libdrm-intel1.install b/debian/libdrm-intel1.install
new file mode 100644
index 0000000..2386169
--- /dev/null
+++ b/debian/libdrm-intel1.install
@@ -0,0 +1 @@
+usr/lib/*/libdrm_intel.so.1*
diff --git a/debian/libdrm-intel1.symbols b/debian/libdrm-intel1.symbols
new file mode 100644
index 0000000..d5c48aa
--- /dev/null
+++ b/debian/libdrm-intel1.symbols
@@ -0,0 +1,75 @@
+libdrm_intel.so.1 libdrm-intel1 #MINVER#
+ drm_intel_bo_alloc@Base 2.4.1
+ drm_intel_bo_alloc_for_render@Base 2.4.5
+ drm_intel_bo_alloc_tiled@Base 2.4.15
+ drm_intel_bo_busy@Base 2.4.13
+ drm_intel_bo_disable_reuse@Base 2.4.10
+ drm_intel_bo_emit_reloc@Base 2.4.1
+ drm_intel_bo_emit_reloc_fence@Base 2.4.20
+ drm_intel_bo_exec@Base 2.4.1
+ drm_intel_bo_fake_alloc_static@Base 2.4.1
+ drm_intel_bo_fake_disable_backing_store@Base 2.4.1
+ drm_intel_bo_flink@Base 2.4.1
+ drm_intel_bo_gem_create_from_name@Base 2.4.1
+ drm_intel_bo_gem_create_from_prime@Base 2.4.38
+ drm_intel_bo_gem_export_to_prime@Base 2.4.38
+ drm_intel_bo_get_subdata@Base 2.4.1
+ drm_intel_bo_get_tiling@Base 2.4.1
+ drm_intel_bo_is_reusable@Base 2.4.21
+ drm_intel_bo_madvise@Base 2.4.16
+ drm_intel_bo_map@Base 2.4.1
+ drm_intel_bo_mrb_exec@Base 2.4.23-3~
+ drm_intel_bo_pin@Base 2.4.1
+ drm_intel_bo_reference@Base 2.4.1
+ drm_intel_bo_references@Base 2.4.15
+ drm_intel_bo_set_tiling@Base 2.4.1
+ drm_intel_bo_subdata@Base 2.4.1
+ drm_intel_bo_unmap@Base 2.4.1
+ drm_intel_bo_unpin@Base 2.4.1
+ drm_intel_bo_unreference@Base 2.4.1
+ drm_intel_bo_wait_rendering@Base 2.4.1
+ drm_intel_bufmgr_check_aperture_space@Base 2.4.1
+ drm_intel_bufmgr_destroy@Base 2.4.1
+ drm_intel_bufmgr_fake_contended_lock_take@Base 2.4.1
+ drm_intel_bufmgr_fake_evict_all@Base 2.4.1
+ drm_intel_bufmgr_fake_init@Base 2.4.1
+ drm_intel_bufmgr_fake_set_exec_callback@Base 2.4.1
+ drm_intel_bufmgr_fake_set_fence_callback@Base 2.4.1
+ drm_intel_bufmgr_fake_set_last_dispatch@Base 2.4.1
+ drm_intel_bufmgr_gem_enable_fenced_relocs@Base 2.4.20
+ drm_intel_bufmgr_gem_enable_reuse@Base 2.4.1
+ drm_intel_bufmgr_gem_get_devid@Base 2.4.32
+ drm_intel_bufmgr_gem_init@Base 2.4.1
+ drm_intel_bufmgr_gem_set_aub_dump@Base 2.4.32
+ drm_intel_bufmgr_gem_set_aub_filename@Base 2.4.46
+ drm_intel_bufmgr_gem_set_aub_annotations@Base 2.4.34
+ drm_intel_bufmgr_gem_set_vma_cache_size@Base 2.4.29
+ drm_intel_bufmgr_set_debug@Base 2.4.1
+ drm_intel_decode@Base 2.4.30
+ drm_intel_decode_context_alloc@Base 2.4.30
+ drm_intel_decode_context_free@Base 2.4.30
+ drm_intel_decode_set_batch_pointer@Base 2.4.30
+ drm_intel_decode_set_dump_past_end@Base 2.4.30
+ drm_intel_decode_set_head_tail@Base 2.4.30
+ drm_intel_decode_set_output_file@Base 2.4.30
+ drm_intel_gem_bo_aub_dump_bmp@Base 2.4.32
+ drm_intel_gem_bo_clear_relocs@Base 2.4.27
+ drm_intel_gem_bo_context_exec@Base 2.4.36
+ drm_intel_gem_bo_get_reloc_count@Base 2.4.27
+ drm_intel_gem_bo_map_gtt@Base 2.4.3
+ drm_intel_gem_bo_map_unsynchronized@Base 2.4.32
+ drm_intel_gem_bo_start_gtt_access@Base 2.4.3
+ drm_intel_gem_bo_unmap_gtt@Base 2.4.9
+ drm_intel_gem_bo_wait@Base 2.4.36
+ drm_intel_gem_context_create@Base 2.4.37
+ drm_intel_gem_context_destroy@Base 2.4.37
+ drm_intel_get_aperture_sizes@Base 2.4.26
+ drm_intel_get_pipe_from_crtc_id@Base 2.4.11
+ drm_intel_get_reset_stats@Base 2.4.48
+ drm_intel_reg_read@Base 2.4.38
+ drm_mmAllocMem@Base 2.4.1
+ drm_mmDestroy@Base 2.4.1
+ drm_mmDumpMemInfo@Base 2.4.1
+ drm_mmFindBlock@Base 2.4.1
+ drm_mmFreeMem@Base 2.4.1
+ drm_mmInit@Base 2.4.1
diff --git a/debian/libdrm-nouveau2.install b/debian/libdrm-nouveau2.install
new file mode 100644
index 0000000..a573e71
--- /dev/null
+++ b/debian/libdrm-nouveau2.install
@@ -0,0 +1 @@
+usr/lib/*/libdrm_nouveau.so.2*
diff --git a/debian/libdrm-nouveau2.lintian-overrides b/debian/libdrm-nouveau2.lintian-overrides
new file mode 100644
index 0000000..730972c
--- /dev/null
+++ b/debian/libdrm-nouveau2.lintian-overrides
@@ -0,0 +1 @@
+libdrm-nouveau2: symbols-declares-dependency-on-other-package libdrm-nouveau-private
diff --git a/debian/libdrm-nouveau2.symbols b/debian/libdrm-nouveau2.symbols
new file mode 100644
index 0000000..278ee55
--- /dev/null
+++ b/debian/libdrm-nouveau2.symbols
@@ -0,0 +1,45 @@
+libdrm_nouveau.so.2 libdrm-nouveau2 #MINVER#
+| libdrm-nouveau-private
+ abi16_bo_info@Base 0 1
+ abi16_bo_init@Base 0 1
+ abi16_chan_nv04@Base 0 1
+ abi16_chan_nvc0@Base 0 1
+ abi16_chan_nve0@Base 0 1
+ abi16_engobj@Base 0 1
+ abi16_ntfy@Base 0 1
+ nouveau_bo_map@Base 2.4.34
+ nouveau_bo_name_get@Base 2.4.34
+ nouveau_bo_name_ref@Base 2.4.34
+ nouveau_bo_new@Base 2.4.34
+ nouveau_bo_prime_handle_ref@Base 2.4.38
+ nouveau_bo_ref@Base 2.4.34
+ nouveau_bo_set_prime@Base 2.4.38
+ nouveau_bo_wait@Base 2.4.34
+ nouveau_bo_wrap@Base 2.4.34
+ nouveau_bufctx_del@Base 2.4.34
+ nouveau_bufctx_mthd@Base 2.4.34
+ nouveau_bufctx_new@Base 2.4.34
+ nouveau_bufctx_refn@Base 2.4.34
+ nouveau_bufctx_reset@Base 2.4.34
+ nouveau_client_del@Base 2.4.34
+ nouveau_client_new@Base 2.4.34
+ nouveau_debug@Base 2.4.34
+ nouveau_device_del@Base 2.4.34
+ nouveau_device_open@Base 2.4.34
+ nouveau_device_open_existing@Base 0 1
+ nouveau_device_wrap@Base 2.4.34
+ nouveau_getparam@Base 2.4.34
+ nouveau_object_del@Base 2.4.34
+ nouveau_object_find@Base 2.4.34
+ nouveau_object_new@Base 2.4.34
+ nouveau_pushbuf_bufctx@Base 2.4.34
+ nouveau_pushbuf_data@Base 2.4.34
+ nouveau_pushbuf_del@Base 2.4.34
+ nouveau_pushbuf_kick@Base 2.4.34
+ nouveau_pushbuf_new@Base 2.4.34
+ nouveau_pushbuf_refd@Base 2.4.34
+ nouveau_pushbuf_refn@Base 2.4.34
+ nouveau_pushbuf_reloc@Base 2.4.34
+ nouveau_pushbuf_space@Base 2.4.34
+ nouveau_pushbuf_validate@Base 2.4.34
+ nouveau_setparam@Base 2.4.34
diff --git a/debian/libdrm-omap1.install b/debian/libdrm-omap1.install
new file mode 100644
index 0000000..b775d44
--- /dev/null
+++ b/debian/libdrm-omap1.install
@@ -0,0 +1 @@
+usr/lib/*/libdrm_omap.so.1*
diff --git a/debian/libdrm-omap1.symbols b/debian/libdrm-omap1.symbols
new file mode 100644
index 0000000..0c12475
--- /dev/null
+++ b/debian/libdrm-omap1.symbols
@@ -0,0 +1,19 @@
+libdrm_omap.so.1 libdrm-omap1 #MINVER#
+ omap_bo_cpu_fini@Base 2.4.33
+ omap_bo_cpu_prep@Base 2.4.33
+ omap_bo_del@Base 2.4.33
+ omap_bo_dmabuf@Base 2.4.34
+ omap_bo_from_dmabuf@Base 2.4.38
+ omap_bo_from_name@Base 2.4.33
+ omap_bo_get_name@Base 2.4.33
+ omap_bo_handle@Base 2.4.33
+ omap_bo_map@Base 2.4.33
+ omap_bo_new@Base 2.4.33
+ omap_bo_new_tiled@Base 2.4.33
+ omap_bo_ref@Base 2.4.38
+ omap_bo_size@Base 2.4.33
+ omap_device_del@Base 2.4.33
+ omap_device_new@Base 2.4.33
+ omap_device_ref@Base 2.4.38
+ omap_get_param@Base 2.4.33
+ omap_set_param@Base 2.4.33
diff --git a/debian/libdrm-radeon1.install b/debian/libdrm-radeon1.install
new file mode 100644
index 0000000..158f559
--- /dev/null
+++ b/debian/libdrm-radeon1.install
@@ -0,0 +1 @@
+usr/lib/*/libdrm_radeon.so.1*
diff --git a/debian/libdrm-radeon1.lintian-overrides b/debian/libdrm-radeon1.lintian-overrides
new file mode 100644
index 0000000..0e452e0
--- /dev/null
+++ b/debian/libdrm-radeon1.lintian-overrides
@@ -0,0 +1 @@
+libdrm-radeon1: symbols-declares-dependency-on-other-package libdrm-radeon-private
diff --git a/debian/libdrm-radeon1.symbols b/debian/libdrm-radeon1.symbols
new file mode 100644
index 0000000..e9578a6
--- /dev/null
+++ b/debian/libdrm-radeon1.symbols
@@ -0,0 +1,64 @@
+libdrm_radeon.so.1 libdrm-radeon1 #MINVER#
+| libdrm-radeon-private
+ bof_array@Base 0 1
+ bof_array_append@Base 0 1
+ bof_array_get@Base 0 1
+ bof_array_size@Base 0 1
+ bof_blob@Base 0 1
+ bof_blob_size@Base 0 1
+ bof_blob_value@Base 0 1
+ bof_decref@Base 0 1
+ bof_dump_file@Base 0 1
+ bof_incref@Base 0 1
+ bof_int32@Base 0 1
+ bof_int32_value@Base 0 1
+ bof_load_file@Base 0 1
+ bof_object@Base 0 1
+ bof_object_get@Base 0 1
+ bof_object_set@Base 0 1
+ bof_print@Base 0 1
+ bof_string@Base 0 1
+ radeon_bo_debug@Base 2.4.17
+ radeon_bo_get_handle@Base 2.4.17
+ radeon_bo_get_src_domain@Base 2.4.17
+ radeon_bo_get_tiling@Base 2.4.17
+ radeon_bo_is_busy@Base 2.4.17
+ radeon_bo_is_referenced_by_cs@Base 2.4.17
+ radeon_bo_is_static@Base 2.4.17
+ radeon_bo_manager_gem_ctor@Base 2.4.17
+ radeon_bo_manager_gem_dtor@Base 2.4.17
+ radeon_bo_map@Base 2.4.17
+ radeon_bo_open@Base 2.4.17
+ radeon_bo_ref@Base 2.4.17
+ radeon_bo_set_tiling@Base 2.4.17
+ radeon_bo_unmap@Base 2.4.17
+ radeon_bo_unref@Base 2.4.17
+ radeon_bo_wait@Base 2.4.17
+ radeon_cs_begin@Base 2.4.17
+ radeon_cs_create@Base 2.4.17
+ radeon_cs_destroy@Base 2.4.17
+ radeon_cs_emit@Base 2.4.17
+ radeon_cs_end@Base 2.4.17
+ radeon_cs_erase@Base 2.4.17
+ radeon_cs_get_id@Base 2.4.20
+ radeon_cs_manager_gem_ctor@Base 2.4.17
+ radeon_cs_manager_gem_dtor@Base 2.4.17
+ radeon_cs_need_flush@Base 2.4.17
+ radeon_cs_print@Base 2.4.17
+ radeon_cs_set_limit@Base 2.4.17
+ radeon_cs_space_add_persistent_bo@Base 2.4.17
+ radeon_cs_space_check@Base 2.4.17
+ radeon_cs_space_check_with_bo@Base 2.4.17
+ radeon_cs_space_reset_bos@Base 2.4.17
+ radeon_cs_space_set_flush@Base 2.4.17
+ radeon_cs_write_reloc@Base 2.4.17
+ radeon_gem_bo_open_prime@Base 2.4.39
+ radeon_gem_get_kernel_name@Base 2.4.17
+ radeon_gem_get_reloc_in_cs@Base 2.4.20
+ radeon_gem_name_bo@Base 2.4.17
+ radeon_gem_prime_share_bo@Base 2.4.39
+ radeon_gem_set_domain@Base 2.4.17
+ radeon_surface_best@Base 2.4.31
+ radeon_surface_init@Base 2.4.31
+ radeon_surface_manager_free@Base 2.4.31
+ radeon_surface_manager_new@Base 2.4.31
diff --git a/debian/libdrm2-udeb.install b/debian/libdrm2-udeb.install
new file mode 100644
index 0000000..6e2fd9b
--- /dev/null
+++ b/debian/libdrm2-udeb.install
@@ -0,0 +1 @@
+usr/lib/*/libdrm.so.2*
diff --git a/debian/libdrm2.NEWS b/debian/libdrm2.NEWS
new file mode 100644
index 0000000..f99652b
--- /dev/null
+++ b/debian/libdrm2.NEWS
@@ -0,0 +1,8 @@
+libdrm (2.3.0-4) experimental; urgency=low
+
+ * We are now shipping libdrm with the default permissions set to 666,
+ rather than the upstream default of 660. If you have untrusted users,
+ you should configure the X server to explicitly use a mode of 660 in
+ the xorg.conf.
+
+ -- David Nusinow <dnusinow@debian.org> Wed, 18 Apr 2007 22:44:21 -0400
diff --git a/debian/libdrm2.install b/debian/libdrm2.install
new file mode 100644
index 0000000..6e2fd9b
--- /dev/null
+++ b/debian/libdrm2.install
@@ -0,0 +1 @@
+usr/lib/*/libdrm.so.2*
diff --git a/debian/libdrm2.symbols b/debian/libdrm2.symbols
new file mode 100644
index 0000000..5c63454
--- /dev/null
+++ b/debian/libdrm2.symbols
@@ -0,0 +1,150 @@
+libdrm.so.2 libdrm2 #MINVER#
+ drmAddBufs@Base 2.3.1
+ drmAddContextPrivateMapping@Base 2.3.1
+ drmAddContextTag@Base 2.3.1
+ drmAddMap@Base 2.3.1
+ drmAgpAcquire@Base 2.3.1
+ drmAgpAlloc@Base 2.3.1
+ drmAgpBase@Base 2.3.1
+ drmAgpBind@Base 2.3.1
+ drmAgpDeviceId@Base 2.3.1
+ drmAgpEnable@Base 2.3.1
+ drmAgpFree@Base 2.3.1
+ drmAgpGetMode@Base 2.3.1
+ drmAgpMemoryAvail@Base 2.3.1
+ drmAgpMemoryUsed@Base 2.3.1
+ drmAgpRelease@Base 2.3.1
+ drmAgpSize@Base 2.3.1
+ drmAgpUnbind@Base 2.3.1
+ drmAgpVendorId@Base 2.3.1
+ drmAgpVersionMajor@Base 2.3.1
+ drmAgpVersionMinor@Base 2.3.1
+ drmAllocCpy@Base 2.4.3
+ drmAuthMagic@Base 2.3.1
+ drmAvailable@Base 2.3.1
+ drmCheckModesettingSupported@Base 2.4.3
+ drmClose@Base 2.3.1
+ drmCloseOnce@Base 2.3.1
+ drmCommandNone@Base 2.3.1
+ drmCommandRead@Base 2.3.1
+ drmCommandWrite@Base 2.3.1
+ drmCommandWriteRead@Base 2.3.1
+ drmCreateContext@Base 2.3.1
+ drmCreateDrawable@Base 2.3.1
+ drmCtlInstHandler@Base 2.3.1
+ drmCtlUninstHandler@Base 2.3.1
+ drmDMA@Base 2.3.1
+ drmDelContextTag@Base 2.3.1
+ drmDestroyContext@Base 2.3.1
+ drmDestroyDrawable@Base 2.3.1
+ drmDropMaster@Base 2.4.3
+ drmError@Base 2.3.1
+ drmFinish@Base 2.3.1
+ drmFree@Base 2.3.1
+ drmFreeBufs@Base 2.3.1
+ drmFreeBusid@Base 2.3.1
+ drmFreeReservedContextList@Base 2.3.1
+ drmFreeVersion@Base 2.3.1
+ drmGetBufInfo@Base 2.3.1
+ drmGetBusid@Base 2.3.1
+ drmGetCap@Base 2.4.25
+ drmGetClient@Base 2.3.1
+ drmGetContextFlags@Base 2.3.1
+ drmGetContextPrivateMapping@Base 2.3.1
+ drmGetContextTag@Base 2.3.1
+ drmGetDeviceNameFromFd@Base 2.4.16
+ drmGetEntry@Base 2.3.1
+ drmGetHashTable@Base 2.3.1
+ drmGetInterruptFromBusID@Base 2.3.1
+ drmGetLibVersion@Base 2.3.1
+ drmGetLock@Base 2.3.1
+ drmGetMagic@Base 2.3.1
+ drmGetMap@Base 2.3.1
+ drmGetReservedContextList@Base 2.3.1
+ drmGetStats@Base 2.3.1
+ drmGetVersion@Base 2.3.1
+ drmHandleEvent@Base 2.4.16
+ drmHashCreate@Base 2.3.1
+ drmHashDelete@Base 2.3.1
+ drmHashDestroy@Base 2.3.1
+ drmHashFirst@Base 2.3.1
+ drmHashInsert@Base 2.3.1
+ drmHashLookup@Base 2.3.1
+ drmHashNext@Base 2.3.1
+ drmIoctl@Base 2.4.3
+ drmMalloc@Base 2.3.1
+ drmMap@Base 2.3.1
+ drmMapBufs@Base 2.3.1
+ drmMarkBufs@Base 2.3.1
+ drmModeAddFB2@Base 2.4.30
+ drmModeAddFB@Base 2.4.3
+ drmModeAttachMode@Base 2.4.3
+ drmModeConnectorSetProperty@Base 2.4.3
+ drmModeCrtcGetGamma@Base 2.4.3
+ drmModeCrtcSetGamma@Base 2.4.3
+ drmModeDetachMode@Base 2.4.3
+ drmModeDirtyFB@Base 2.4.17
+ drmModeFreeConnector@Base 2.4.3
+ drmModeFreeCrtc@Base 2.4.3
+ drmModeFreeEncoder@Base 2.4.3
+ drmModeFreeFB@Base 2.4.3
+ drmModeFreeModeInfo@Base 2.4.3
+ drmModeFreeObjectProperties@Base 2.4.36
+ drmModeFreePlane@Base 2.4.30
+ drmModeFreePlaneResources@Base 2.4.31
+ drmModeFreeProperty@Base 2.4.3
+ drmModeFreePropertyBlob@Base 2.4.3
+ drmModeFreeResources@Base 2.4.3
+ drmModeGetConnector@Base 2.4.3
+ drmModeGetCrtc@Base 2.4.3
+ drmModeGetEncoder@Base 2.4.3
+ drmModeGetFB@Base 2.4.3
+ drmModeGetPlane@Base 2.4.30
+ drmModeGetPlaneResources@Base 2.4.30
+ drmModeGetProperty@Base 2.4.3
+ drmModeGetPropertyBlob@Base 2.4.3
+ drmModeGetResources@Base 2.4.3
+ drmModeMoveCursor@Base 2.4.3
+ drmModeObjectGetProperties@Base 2.4.36
+ drmModeObjectSetProperty@Base 2.4.36
+ drmModePageFlip@Base 2.4.17
+ drmModeRmFB@Base 2.4.3
+ drmModeSetCrtc@Base 2.4.3
+ drmModeSetCursor2@Base 2.4.46
+ drmModeSetCursor@Base 2.4.3
+ drmModeSetPlane@Base 2.4.30
+ drmMsg@Base 2.4.1
+ drmOpen@Base 2.3.1
+ drmOpenControl@Base 2.4.3
+ drmOpenOnce@Base 2.3.1
+ drmPrimeFDToHandle@Base 2.4.38
+ drmPrimeHandleToFD@Base 2.4.38
+ drmRandom@Base 2.3.1
+ drmRandomCreate@Base 2.3.1
+ drmRandomDestroy@Base 2.3.1
+ drmRandomDouble@Base 2.3.1
+ drmRmMap@Base 2.3.1
+ drmSLCreate@Base 2.3.1
+ drmSLDelete@Base 2.3.1
+ drmSLDestroy@Base 2.3.1
+ drmSLDump@Base 2.3.1
+ drmSLFirst@Base 2.3.1
+ drmSLInsert@Base 2.3.1
+ drmSLLookup@Base 2.3.1
+ drmSLLookupNeighbors@Base 2.3.1
+ drmSLNext@Base 2.3.1
+ drmScatterGatherAlloc@Base 2.3.1
+ drmScatterGatherFree@Base 2.3.1
+ drmSetBusid@Base 2.3.1
+ drmSetClientCap@Base 2.4.47
+ drmSetContextFlags@Base 2.3.1
+ drmSetDebugMsgFunction@Base 2.3.1
+ drmSetInterfaceVersion@Base 2.3.1
+ drmSetMaster@Base 2.4.3
+ drmSetServerInfo@Base 2.3.1
+ drmSwitchToContext@Base 2.3.1
+ drmUnlock@Base 2.3.1
+ drmUnmap@Base 2.3.1
+ drmUnmapBufs@Base 2.3.1
+ drmUpdateDrawableInfo@Base 2.3.1
+ drmWaitVBlank@Base 2.3.1
diff --git a/debian/patches/01_default_perms.diff b/debian/patches/01_default_perms.diff
new file mode 100644
index 0000000..cdba93e
--- /dev/null
+++ b/debian/patches/01_default_perms.diff
@@ -0,0 +1,13 @@
+Index: libdrm/xf86drm.h
+===================================================================
+--- libdrm.orig/xf86drm.h
++++ libdrm/xf86drm.h
+@@ -70,7 +70,7 @@
+ /* Default /dev/dri directory permissions 0755 */
+ #define DRM_DEV_DIRMODE \
+ (S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH)
+-#define DRM_DEV_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP)
++#define DRM_DEV_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
+
+ #define DRM_DIR_NAME "/dev/dri"
+ #define DRM_DEV_NAME "%s/card%d"
diff --git a/debian/patches/02_kbsd_modeset.diff b/debian/patches/02_kbsd_modeset.diff
new file mode 100644
index 0000000..2602609
--- /dev/null
+++ b/debian/patches/02_kbsd_modeset.diff
@@ -0,0 +1,57 @@
+From: kostikbel <kib@freebsd.org>
+Date: Thu, 21 Feb 2013 20:02:00 +0000
+Subject: Make drmCheckModesettingSupported work on FreeBSD
+
+Patch from http://people.freebsd.org/~kib/drm/libdrm.2.patch
+
+Index: libdrm-bisect/xf86drmMode.c
+===================================================================
+--- libdrm-bisect.orig/xf86drmMode.c 2013-09-19 13:28:24.000000000 +0200
++++ libdrm-bisect/xf86drmMode.c 2013-09-19 13:32:43.085063015 +0200
+@@ -704,7 +704,7 @@
+ */
+ int drmCheckModesettingSupported(const char *busid)
+ {
+-#ifdef __linux__
++#if defined (__linux__)
+ char pci_dev_dir[1024];
+ int domain, bus, dev, func;
+ DIR *sysdir;
+@@ -754,6 +754,37 @@
+ closedir(sysdir);
+ if (found)
+ return 0;
++#elif defined (__FreeBSD__) || defined(__FreeBSD_kernel__)
++ char kbusid[1024], sbusid[1024];
++ char oid[128];
++ int domain, bus, dev, func;
++ int i, modesetting, ret;
++ size_t len;
++
++ ret = sscanf(busid, "pci:%04x:%02x:%02x.%d", &domain, &bus, &dev, &func);
++ if (ret != 4)
++ return -EINVAL;
++ snprintf(kbusid, sizeof(kbusid), "pci:%04x:%02x:%02x.%d", domain, bus, dev, func);
++
++ /* How many GPUs do we expect in the machine? */
++ for (i = 0; i < 16; i++) {
++ snprintf(oid, sizeof(oid), "hw.dri.%d.busid", i);
++ len = sizeof(sbusid);
++ ret = sysctlbyname(oid, sbusid, &len, NULL, 0);
++ if (ret == -1) {
++ if (errno == ENOENT)
++ continue;
++ return -EINVAL;
++ }
++ if (strcmp(sbusid, kbusid) != 0)
++ continue;
++ snprintf(oid, sizeof(oid), "hw.dri.%d.modesetting", i);
++ len = sizeof(modesetting);
++ ret = sysctlbyname(oid, &modesetting, &len, NULL, 0);
++ if (ret == -1 || len != sizeof(modesetting))
++ return -EINVAL;
++ return (modesetting ? 0 : -ENOSYS);
++ }
+ #endif
+ return -ENOSYS;
+
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..56baa63
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,2 @@
+01_default_perms.diff
+02_kbsd_modeset.diff
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..3041981
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,98 @@
+#!/usr/bin/make -f
+
+###
+### Configuration, decide what to build
+###
+
+# Some variables:
+DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
+DEB_HOST_ARCH_CPU ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)
+
+confflags = \
+ --enable-radeon \
+ --disable-libkms \
+ $()
+
+# Linux vs. the rest:
+ifeq (linux, $(DEB_HOST_ARCH_OS))
+ confflags += --enable-udev
+ confflags += --enable-vmwgfx
+ confflags += --enable-nouveau
+ NOUVEAU = yes
+else
+ confflags += --disable-udev
+ confflags += --disable-vmwgfx
+ confflags += --disable-nouveau
+ NOUVEAU = no
+ # kfreebsd mangles freebsd's sys/types.h
+ confflags += CFLAGS="$(shell pkg-config --cflags libbsd-overlay)"
+endif
+
+# Intel is only on x86:
+ifneq (,$(filter amd64 i386,$(DEB_HOST_ARCH_CPU)))
+ifneq (,$(filter linux kfreebsd,$(DEB_HOST_ARCH_OS)))
+ INTEL = yes
+endif
+endif
+ifeq ($(INTEL), yes)
+ confflags += --enable-intel
+else
+ confflags += --disable-intel
+endif
+
+# Omap is only on arm
+ifneq (,$(filter arm,$(DEB_HOST_ARCH_CPU)))
+ OMAP = yes
+endif
+ifeq ($(OMAP), yes)
+ confflags += --enable-omap-experimental-api
+else
+ confflags += --disable-omap-experimental-api
+endif
+
+###
+### Actual build
+###
+
+override_dh_auto_configure:
+ dh_auto_configure -- --disable-silent-rules --enable-static=yes $(confflags)
+
+override_dh_auto_test:
+ dh_auto_test || echo "Test suite failure, but keeping on anyway"
+
+override_dh_auto_install:
+ dh_auto_install --destdir=debian/tmp
+
+override_dh_install:
+ find debian/tmp -name '*.la' -delete
+ dh_install --fail-missing
+
+override_dh_strip:
+ dh_strip -plibdrm2 --dbg-package=libdrm2-dbg
+ifeq ($(INTEL), yes)
+ dh_strip -plibdrm-intel1 --dbg-package=libdrm-intel1-dbg
+endif
+ifeq ($(NOUVEAU), yes)
+ dh_strip -plibdrm-nouveau2 --dbg-package=libdrm-nouveau2-dbg
+endif
+ dh_strip -plibdrm-radeon1 --dbg-package=libdrm-radeon1-dbg
+ifeq ($(OMAP), yes)
+ dh_strip -plibdrm-omap1 --dbg-package=libdrm-omap1-dbg
+endif
+ dh_strip -s --remaining-packages
+
+override_dh_makeshlibs:
+ dh_makeshlibs -plibdrm2 -V'libdrm2 (>= 2.4.46)' --add-udeb=libdrm2-udeb -- -c4
+ifeq ($(INTEL), yes)
+ dh_makeshlibs -plibdrm-intel1 -V'libdrm-intel1 (>= 2.4.46)' -- -c4
+endif
+ifeq ($(NOUVEAU), yes)
+ dh_makeshlibs -plibdrm-nouveau2 -V'libdrm-nouveau2 (>= 2.4.38)' -- -c4
+endif
+ dh_makeshlibs -plibdrm-radeon1 -V'libdrm-radeon1 (>= 2.4.39)' -- -c4
+ifeq ($(OMAP), yes)
+ dh_makeshlibs -plibdrm-omap1 -V'libdrm-omap1 (>= 2.4.38)' -- -c4
+endif
+
+%:
+ dh $@ --with quilt,autoreconf --builddirectory=build/
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..b2a1765
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,3 @@
+#git=git://anongit.freedesktop.org/mesa/drm
+version=3
+http://dri.freedesktop.org/libdrm/libdrm-(.*)\.tar\.gz
diff --git a/tests/auth.c b/tests/auth.c
new file mode 100644
index 0000000..9b6fca9
--- /dev/null
+++ b/tests/auth.c
@@ -0,0 +1,137 @@
+/*
+ * Copyright © 2007 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ * Authors:
+ * Eric Anholt <eric@anholt.net>
+ *
+ */
+
+#include <limits.h>
+#include "drmtest.h"
+
+enum auth_event {
+ SERVER_READY,
+ CLIENT_MAGIC,
+ CLIENT_DONE,
+};
+
+int commfd[2];
+
+static void wait_event(int pipe, enum auth_event expected_event)
+{
+ int ret;
+ enum auth_event event;
+ unsigned char in;
+
+ ret = read(commfd[pipe], &in, 1);
+ if (ret == -1)
+ err(1, "read error");
+ event = in;
+
+ if (event != expected_event)
+ errx(1, "unexpected event: %d\n", event);
+}
+
+static void
+send_event(int pipe, enum auth_event send_event)
+{
+ int ret;
+ unsigned char event;
+
+ event = send_event;
+ ret = write(commfd[pipe], &event, 1);
+ if (ret == -1)
+ err(1, "failed to send event %d", event);
+}
+
+static void client()
+{
+ struct drm_auth auth;
+ int drmfd, ret;
+
+ /* XXX: Should make sure we open the same DRM as the master */
+ wait_event(0, SERVER_READY);
+
+ drmfd = drm_open_any();
+
+ /* Get a client magic number and pass it to the master for auth. */
+ auth.magic = 0; /* Quiet valgrind */
+ ret = ioctl(drmfd, DRM_IOCTL_GET_MAGIC, &auth);
+ if (ret == -1)
+ err(1, "Couldn't get client magic");
+ send_event(0, CLIENT_MAGIC);
+ ret = write(commfd[0], &auth.magic, sizeof(auth.magic));
+ if (ret == -1)
+ err(1, "Couldn't write auth data");
+
+ /* Signal that the client is completely done. */
+ send_event(0, CLIENT_DONE);
+}
+
+static void server()
+{
+ int drmfd, ret;
+ struct drm_auth auth;
+
+ drmfd = drm_open_any_master();
+
+ auth.magic = 0xd0d0d0d0;
+ ret = ioctl(drmfd, DRM_IOCTL_AUTH_MAGIC, &auth);
+ if (ret != -1 || errno != EINVAL)
+ errx(1, "Authenticating bad magic succeeded\n");
+
+ send_event(1, SERVER_READY);
+
+ wait_event(1, CLIENT_MAGIC);
+ ret = read(commfd[1], &auth.magic, sizeof(auth.magic));
+ if (ret == -1)
+ err(1, "Failure to read client magic");
+
+ ret = ioctl(drmfd, DRM_IOCTL_AUTH_MAGIC, &auth);
+ if (ret == -1)
+ err(1, "Failure to authenticate client magic\n");
+
+ wait_event(1, CLIENT_DONE);
+}
+
+/**
+ * Checks DRM authentication mechanisms.
+ */
+int main(int argc, char **argv)
+{
+ int ret;
+
+ ret = pipe(commfd);
+ if (ret == -1)
+ err(1, "Couldn't create pipe");
+
+ ret = fork();
+ if (ret == -1)
+ err(1, "failure to fork client");
+ if (ret == 0)
+ client();
+ else
+ server();
+
+ return 0;
+}
+
diff --git a/tests/lock.c b/tests/lock.c
new file mode 100644
index 0000000..86caa28
--- /dev/null
+++ b/tests/lock.c
@@ -0,0 +1,263 @@
+/*
+ * Copyright © 2007 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ *
+ * Authors:
+ * Eric Anholt <eric@anholt.net>
+ *
+ */
+
+/** @file lock.c
+ * Tests various potential failures of the DRM locking mechanisms
+ */
+
+#include <limits.h>
+#include "drmtest.h"
+
+enum auth_event {
+ SERVER_READY,
+ CLIENT_MAGIC,
+ SERVER_LOCKED,
+ CLIENT_LOCKED,
+};
+
+int commfd[2];
+unsigned int lock1 = 0x00001111;
+unsigned int lock2 = 0x00002222;
+
+/* return time in milliseconds */
+static unsigned int
+get_millis()
+{
+ struct timeval tv;
+
+ gettimeofday(&tv, NULL);
+ return tv.tv_sec * 1000 + tv.tv_usec / 1000;
+}
+
+static void
+wait_event(int pipe, enum auth_event expected_event)
+{
+ int ret;
+ enum auth_event event;
+ unsigned char in;
+
+ ret = read(commfd[pipe], &in, 1);
+ if (ret == -1)
+ err(1, "read error");
+ event = in;
+
+ if (event != expected_event)
+ errx(1, "unexpected event: %d\n", event);
+}
+
+static void
+send_event(int pipe, enum auth_event send_event)
+{
+ int ret;
+ unsigned char event;
+
+ event = send_event;
+ ret = write(commfd[pipe], &event, 1);
+ if (ret == -1)
+ err(1, "failed to send event %d", event);
+}
+
+static void
+client_auth(int drmfd)
+{
+ struct drm_auth auth;
+ int ret;
+
+ /* Get a client magic number and pass it to the master for auth. */
+ ret = ioctl(drmfd, DRM_IOCTL_GET_MAGIC, &auth);
+ if (ret == -1)
+ err(1, "Couldn't get client magic");
+ send_event(0, CLIENT_MAGIC);
+ ret = write(commfd[0], &auth.magic, sizeof(auth.magic));
+ if (ret == -1)
+ err(1, "Couldn't write auth data");
+}
+
+static void
+server_auth(int drmfd)
+{
+ struct drm_auth auth;
+ int ret;
+
+ send_event(1, SERVER_READY);
+ wait_event(1, CLIENT_MAGIC);
+ ret = read(commfd[1], &auth.magic, sizeof(auth.magic));
+ if (ret == -1)
+ err(1, "Failure to read client magic");
+
+ ret = ioctl(drmfd, DRM_IOCTL_AUTH_MAGIC, &auth);
+ if (ret == -1)
+ err(1, "Failure to authenticate client magic\n");
+}
+
+/** Tests that locking is successful in normal conditions */
+static void
+test_lock_unlock(int drmfd)
+{
+ int ret;
+
+ ret = drmGetLock(drmfd, lock1, 0);
+ if (ret != 0)
+ err(1, "Locking failed");
+ ret = drmUnlock(drmfd, lock1);
+ if (ret != 0)
+ err(1, "Unlocking failed");
+}
+
+/** Tests that unlocking the lock while it's not held works correctly */
+static void
+test_unlock_unlocked(int drmfd)
+{
+ int ret;
+
+ ret = drmUnlock(drmfd, lock1);
+ if (ret == 0)
+ err(1, "Unlocking unlocked lock succeeded");
+}
+
+/** Tests that unlocking a lock held by another context fails appropriately */
+static void
+test_unlock_unowned(int drmfd)
+{
+ int ret;
+
+ ret = drmGetLock(drmfd, lock1, 0);
+ assert(ret == 0);
+ ret = drmUnlock(drmfd, lock2);
+ if (ret == 0)
+ errx(1, "Unlocking other context's lock succeeded");
+ ret = drmUnlock(drmfd, lock1);
+ assert(ret == 0);
+}
+
+/**
+ * Tests that an open/close by the same process doesn't result in the lock
+ * being dropped.
+ */
+static void test_open_close_locked(drmfd)
+{
+ int ret, tempfd;
+
+ ret = drmGetLock(drmfd, lock1, 0);
+ assert(ret == 0);
+ /* XXX: Need to make sure that this is the same device as drmfd */
+ tempfd = drm_open_any();
+ close(tempfd);
+ ret = drmUnlock(drmfd, lock1);
+ if (ret != 0)
+ errx(1, "lock lost during open/close by same pid");
+}
+
+static void client()
+{
+ int drmfd, ret;
+ unsigned int time;
+
+ wait_event(0, SERVER_READY);
+
+ /* XXX: Should make sure we open the same DRM as the master */
+ drmfd = drm_open_any();
+
+ client_auth(drmfd);
+
+ /* Wait for the server to grab the lock, then grab it ourselves (to
+ * contest it). Hopefully we hit it within the window of when the
+ * server locks.
+ */
+ wait_event(0, SERVER_LOCKED);
+ ret = drmGetLock(drmfd, lock2, 0);
+ time = get_millis();
+ if (ret != 0)
+ err(1, "Failed to get lock on client\n");
+ drmUnlock(drmfd, lock2);
+
+ /* Tell the server that our locking completed, and when it did */
+ send_event(0, CLIENT_LOCKED);
+ ret = write(commfd[0], &time, sizeof(time));
+
+ close(drmfd);
+ exit(0);
+}
+
+static void server()
+{
+ int drmfd, tempfd, ret;
+ unsigned int client_time, unlock_time;
+
+ drmfd = drm_open_any_master();
+
+ test_lock_unlock(drmfd);
+ test_unlock_unlocked(drmfd);
+ test_unlock_unowned(drmfd);
+ test_open_close_locked(drmfd);
+
+ /* Perform the authentication sequence with the client. */
+ server_auth(drmfd);
+
+ /* Now, test that the client attempting to lock while the server
+ * holds the lock works correctly.
+ */
+ ret = drmGetLock(drmfd, lock1, 0);
+ assert(ret == 0);
+ send_event(1, SERVER_LOCKED);
+ /* Wait a while for the client to do its thing */
+ sleep(1);
+ ret = drmUnlock(drmfd, lock1);
+ assert(ret == 0);
+ unlock_time = get_millis();
+
+ wait_event(1, CLIENT_LOCKED);
+ ret = read(commfd[1], &client_time, sizeof(client_time));
+ if (ret == -1)
+ err(1, "Failure to read client magic");
+
+ if (client_time < unlock_time)
+ errx(1, "Client took lock before server released it");
+
+ close(drmfd);
+}
+
+int main(int argc, char **argv)
+{
+ int ret;
+
+
+ ret = pipe(commfd);
+ if (ret == -1)
+ err(1, "Couldn't create pipe");
+
+ ret = fork();
+ if (ret == -1)
+ err(1, "failure to fork client");
+ if (ret == 0)
+ client();
+ else
+ server();
+
+ return 0;
+}
+