diff --git a/debian/HACKING.Debian b/debian/HACKING.Debian
new file mode 100644
index 0000000..5c44a17
--- /dev/null
+++ b/debian/HACKING.Debian
@@ -0,0 +1,100 @@
+Hacking GStreamer for Debian
+============================
+
+An addition to the README.Debian that has Debian package hacking notes.
+
+Everything should now be versioned.
+
+- To update dependencies edit debian/build-deps.in
+
+- To rebuild package files from .in files:
+
+  debian/rules maint
+
+- After a version update to check for missing files run:
+
+  debian/maint missing
+  debian/maint missing-libs
+  debian/maint missing-so
+
+- To update package files edit gstreamer-foo then rebuild package files.  This
+  will generate the gstreamerX.Y-foo file.  Also update debian/rules and
+  debian/control.in as needed.
+
+- The packaging tries to stay close of upstream choice. gstreamerX.Y-misc has
+  most of the files, extra packages are made for the sinks and by group of 
+  depends (gnome, x, ...)
+
+- Provide gstreamerX.Y-videosink and gstreamerX.Y-audiosink as needed.
+
+- All interfaces and generic libraries go in libgstreamer-plugins, libraries
+  with external dependencies have their own package such as libgstreamer-gconf.
+
+- Applications go in gstreamerX.Y-plugins-base-apps
+
+
+File listing
+------------
+
+build-deps:
+  - generated from "build-deps.in" abd "extra deps" in "rules
+    debian/build-deps:":
+    * "build-deps.in" lists build-depends for Debian main packages
+    * "extra deps" is a shell script outputting additional build-depends
+      if you are building additional plugins
+  - serves generation with "control.in" and "mk.control" of "control" in
+    "rules debian/control::"
+build-deps.in:
+  - lists build-depends for Debian main packages
+  - serves generation with "extra deps" of "build-deps" in "rules
+    debian/build-deps:"
+changelog: handled classically
+compat: handled classically
+control:
+  - generated for "rules maint"
+  - generated from "control.in" and "build-deps" in "rules debian/control::":
+    * "build-deps" lists build-depends to be inserted in "control
+      Build-Depends:"
+    * "control.in" serves of template for package descriptions of Debian main
+      packages and makes use of special stanzas enclosed in "@" such as
+      "@GST_ABI" which are replaced via sed in "rules debian/control::"
+    * "extra deps" is a shell script outputting additional binary packages
+      if you are building additional plugins
+control.in:
+  - serves generation of "control" in "rules debian/control::" via "mk.control"
+    called in "rules debian/control::"
+  - template for package descriptions of Debian main packages and makes use of
+    special stanzas enclosed in "@" such as "@GST_ABI" which are replaced via
+    sed in "rules debian/control::"
+copyright: handled classically
+extra:
+  - serves the generation of build-deps of additional packages not in Debian
+    main in "rules debian/build-deps:"
+  - serves the generation of additional binary packages if you are building
+    additional plugins in "rules debian/control::"
+gstreamer-$plugin.install:
+  - serves the generation of $gst_pkgname-$plugin.install (for example
+    gstreamer-alsa.install serves the generation of gstreamerX.Y-alsa.install) in
+    "rules pre-build::" via dynamic "@"-enclosed variables replacement
+  - some plugins are handled specially and some special variables are available
+gstreamer-plugins-base-apps.install: this isn't really a plugin, but the
+                                    gstreamerX.Y-plugins-base-apps package
+gstreamer-plugins-base-apps.manpages: man pages for the gstreamerX.Y-plugins-base-apps
+                                package
+HACKING.Debian: this file
+libgstreamer-plugins-base-dev.install libgstreamer-plugins-base.install: handled similarly has gstreamerX.Y-plugins-base-apps
+maint: makefile wrapping some targets of "rules" with some sh filtering
+mk.control:
+  - Perl script serving the generation of "control" which reads "build-deps"
+    and "control.in", and replaces the "BUILDDEPS" stanza with the build-deps
+patches: handled classically
+README.Debian: handled classically
+rules: handled classically, with special targets "maint:", and
+       "debian/build-deps:"
+watch: handled classically
+
+This file is the initial work of:
+David I. Lehn <dlehn@debian.org>  Tue, 13 Apr 2004 21:28:55 -0400
+and had some additions by:
+Loic Minier <lool@dooz.org>  Sun, 19 Jun 2005 19:04:58 +0200
+Sebastien Bacher <seb128@debian.org>  Wed, 14 Dec 2005 17:00:21 +0100
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644
index 0000000..d613e8a
--- /dev/null
+++ b/debian/README.Debian
@@ -0,0 +1,66 @@
+Gstreamer for Debian
+====================
+This package contains the GStreamer plugin distribution.
+
+More information can be found at http://gstreamer.net/
+
+As of GStreamer plugins version 0.8.0 all packages are versioned and
+parallel installable with other releases with other major.minor
+versions.  For example, 0.8.x series is versioned as 0.8 and parallel
+installable with both unversioned 0.6.x series and future 0.9.x and
+beyond.  The version part is represented as VER below.
+
+GStreamer plugins are split into a number of packages:
+
+plugins without external dependencies:
+
+   gstreamerVER-plugins-ugly     many independent plugins
+
+documentation:
+
+   gstreamerVER-plugins-ugly-doc		html documentation
+
+
+Notes
+=====
+
+ChangeLog
+---------
+
+The upstream ChangeLog is not included in all the plugin packages due to its
+large size.  Please see upstream sources if you are interested in detailed
+source changes.
+
+Unofficial plugin packages
+--------------------------
+
+Various plugins in the upstream source are not yet packaged or not officially
+supported.  This is most likely due to:
+
+  * upstream considers them too unstable
+  * libraries they depend on are not are yet in Debian or are poorly supported
+
+To build additional unofficial plugin packages:
+
+  * Get the source and Debian diff (for example, "apt-get source gst-plugins")
+  * Add new package name to the EXTRA_PLUGINS variable in debian/rules
+  * Add appropriate dependency and control info to debian/extra
+  * Add a .install file for the package
+  * Rebuild
+
+External tools support
+----------------------
+
+Your favorite codec isn't wrapped as a plugin?  External programs can be
+used to process streams.  Take a look at "pipefilter" element or try
+something like this (untested):
+
+  $ mkfifo fifo
+  $ gst-launch myaudiosrc ! filesink location=fifo &
+  $ cat fifo | my_encoder > output_file
+
+
+David I. Lehn <dlehn@debian.org>  Tue, 23 Mar 2004 04:38:37 -0500
+
+update:
+Sebastien Bacher <seb128@debian.org>  Wed, 14 Dec 2005 17:00:21 +0100
diff --git a/debian/build-deps b/debian/build-deps
new file mode 100644
index 0000000..b7f972b
--- /dev/null
+++ b/debian/build-deps
@@ -0,0 +1,31 @@
+autoconf (>= 2.69)
+automake (>= 1.14)
+autopoint (>= 0.17)
+autotools-dev
+cdbs (>= 0.4.93)
+debhelper (>= 9)
+dh-autoreconf
+dpkg-dev (>= 1.15.1)
+@GST_EXTRA_BUILD_DEPENDS@
+@GST_LIB_DEV_DEP@
+gstreamer@GST_ABI@-doc
+gstreamer@GST_ABI@-plugins-base (>= 1.8.0)
+gstreamer@GST_ABI@-plugins-base-doc
+gtk-doc-tools (>= 1.12)
+liba52-0.7.4-dev
+libcdio-dev (>= 0.76)
+libdvdread-dev (>= 0.9.0)
+libglib2.0-dev (>= 2.40)
+libgstreamer-plugins-base@GST_ABI@-dev (>= 1.8.0)
+libmad0-dev (>= 0.15)
+libmp3lame-dev
+libmpeg2-4-dev (>= 0.4.0)
+libmpg123-dev (>= 1.13)
+libopencore-amrnb-dev (>= 0.1.3)
+libopencore-amrwb-dev (>= 0.1.3)
+liborc-0.4-dev (>= 1:0.4.17)
+libsidplay1-dev
+libtool (>= 2.2.6)
+libtwolame-dev (>= 0.3.10)
+libx264-dev (>= 2:0.120)
+pkg-config (>= 0.11.0)
diff --git a/debian/build-deps.in b/debian/build-deps.in
new file mode 100644
index 0000000..fc0a29a
--- /dev/null
+++ b/debian/build-deps.in
@@ -0,0 +1,31 @@
+@GST_LIB_DEV_DEP@
+@GST_EXTRA_BUILD_DEPENDS@
+libgstreamer-plugins-base@GST_ABI@-dev (>= 1.8.0)
+autotools-dev
+dh-autoreconf
+automake (>= 1.14)
+autoconf (>= 2.69)
+libtool (>= 2.2.6)
+autopoint (>= 0.17)
+cdbs (>= 0.4.93)
+debhelper (>= 9)
+dpkg-dev (>= 1.15.1)
+pkg-config (>= 0.11.0)
+gtk-doc-tools (>= 1.12)
+libglib2.0-dev (>= 2.40)
+liborc-0.4-dev (>= 1:0.4.17)
+liba52-0.7.4-dev
+libmad0-dev (>= 0.15)
+libmpeg2-4-dev (>= 0.4.0)
+libsidplay1-dev
+libdvdread-dev (>= 0.9.0)
+gstreamer@GST_ABI@-plugins-base (>= 1.8.0)
+libcdio-dev (>= 0.76)
+libtwolame-dev (>= 0.3.10)
+libopencore-amrnb-dev (>= 0.1.3)
+libopencore-amrwb-dev (>= 0.1.3)
+gstreamer@GST_ABI@-doc
+gstreamer@GST_ABI@-plugins-base-doc
+libx264-dev (>= 2:0.120)
+libmp3lame-dev
+libmpg123-dev (>= 1.13)
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..f0c2533
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,2370 @@
+gst-plugins-ugly1.0 (1.8.0-1) unstable; urgency=medium
+
+  * New upstream stable release:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build-depend on GStreamer >= 1.8.0.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 24 Mar 2016 12:41:14 +0200
+
+gst-plugins-ugly1.0 (1.7.91-1) experimental; urgency=medium
+
+  * New upstream release candidate:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build-depend on GStreamer >= 1.7.91.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 15 Mar 2016 12:12:15 +0200
+
+gst-plugins-ugly1.0 (1.7.90-1) experimental; urgency=medium
+
+  * New upstream release candidate:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build-depend on GStreamer >= 1.7.90.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 01 Mar 2016 17:33:20 +0200
+
+gst-plugins-ugly1.0 (1.7.2-1) experimental; urgency=medium
+
+  * New upstream unstable release:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build-depend on GStreamer >= 1.7.2.
+      - Update build-depends on opencore-amrnb/wb to >= 0.1.3.
+      - Build-depend on libmpg123-dev >= 1.13
+    + debian/gstreamer-plugins-ugly.install,
+      debian/control.in:
+      - Add new mpg123 plugin and add Replaces/Breaks for
+        gstreamer1.0-plugins-bad << 1.7.2 where it came from.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 19 Feb 2016 11:43:42 +0200
+
+gst-plugins-ugly1.0 (1.7.1-1) experimental; urgency=medium
+
+  * New upstream unstable release:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build-depend on GLib >= 2.40 and GStreamer >= 1.7.1.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 24 Dec 2015 14:34:41 +0100
+
+gst-plugins-ugly1.0 (1.6.2-1) unstable; urgency=medium
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 14 Dec 2015 19:54:06 +0100
+
+gst-plugins-ugly1.0 (1.6.1-1) unstable; urgency=medium
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 30 Oct 2015 16:56:30 +0200
+
+gst-plugins-ugly1.0 (1.6.0-1) unstable; urgency=medium
+
+  * New upstream stable release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 25 Sep 2015 23:05:23 +0200
+
+gst-plugins-ugly1.0 (1.5.91-1) experimental; urgency=medium
+
+  * New upstream release candidate.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 18 Sep 2015 19:49:46 +0200
+
+gst-plugins-ugly1.0 (1.5.90-1) experimental; urgency=medium
+
+  * New upstream release candidate.
+
+ -- Iain Lane <laney@debian.org>  Wed, 19 Aug 2015 14:01:48 +0300
+
+gst-plugins-ugly1.0 (1.5.2-1) experimental; urgency=medium
+
+  [ Iain Lane ]
+  * debian/watch: Update to match current URL scheme
+
+  [ Sebastian Dröge ]
+  * New unstable upstream release.
+
+ -- Iain Lane <laney@debian.org>  Mon, 15 Jun 2015 09:36:32 +0100
+
+gst-plugins-ugly1.0 (1.5.1-1) experimental; urgency=medium
+
+  * New unstable upstream release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 07 Jun 2015 11:07:42 +0200
+
+gst-plugins-ugly1.0 (1.5.0.1+git20150513-1) experimental; urgency=medium
+
+  * New upstream GIT snapshot.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 13 May 2015 13:25:26 +0300
+
+gst-plugins-ugly1.0 (1.5.0.1+git20150316-1) experimental; urgency=medium
+
+  * New upstream GIT snapshot.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 17 Mar 2015 09:24:19 +0100
+
+gst-plugins-ugly1.0 (1.4.5-1) experimental; urgency=medium
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 18 Dec 2014 12:25:44 +0100
+
+gst-plugins-ugly1.0 (1.4.4-2) unstable; urgency=medium
+
+  * Upload to unstable.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 11 Nov 2014 13:40:29 +0100
+
+gst-plugins-ugly1.0 (1.4.4-1) experimental; urgency=medium
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 06 Nov 2014 13:02:56 +0100
+
+gst-plugins-ugly1.0 (1.4.3-1) unstable; urgency=medium
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 24 Sep 2014 12:15:48 +0300
+
+gst-plugins-ugly1.0 (1.4.2-1) unstable; urgency=medium
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 19 Sep 2014 14:41:27 +0300
+
+gst-plugins-ugly1.0 (1.4.1-1) unstable; urgency=medium
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 27 Aug 2014 14:49:07 +0300
+
+gst-plugins-ugly1.0 (1.4.0-1) unstable; urgency=medium
+
+  * New upstream stable release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 19 Jul 2014 17:44:56 +0200
+
+gst-plugins-ugly1.0 (1.3.91-1) experimental; urgency=medium
+
+  * New upstream release candidate:
+    + debian/rules,
+      debian/build-deps.in:
+      - Build-depend on GStreamer core and base >= 1.3.91.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 11 Jul 2014 11:41:22 +0200
+
+gst-plugins-ugly1.0 (1.3.90-1) experimental; urgency=medium
+
+  * New upstream release candidate:
+    + debian/rules,
+      debian/build-deps.in:
+      - Build-depend on GStreamer core and base >= 1.3.90.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 28 Jun 2014 12:16:48 +0200
+
+gst-plugins-ugly1.0 (1.3.3-1) experimental; urgency=medium
+
+  * New upstream development release:
+    + debian/rules,
+      debian/build-deps.in:
+      - Build-depend on GStreamer core and base >= 1.3.3.
+  * debian/rules:
+    + Run autopoint during autoreconf.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 22 Jun 2014 18:11:52 +0200
+
+gst-plugins-ugly1.0 (1.3.2-1) experimental; urgency=medium
+
+  * New upstream development release:
+    + debian/rules,
+      debian/build-deps.in:
+      - Build-depend on GStreamer core and base >= 1.3.2.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 21 May 2014 12:56:31 +0200
+
+gst-plugins-ugly1.0 (1.3.1-1) experimental; urgency=medium
+
+  * New upstream development release:
+    + debian/rules,
+      debian/build-deps.in:
+      - Build-depend on GStreamer core and base >= 1.3.1.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 03 May 2014 19:35:41 +0200
+
+gst-plugins-ugly1.0 (1.2.4-1) unstable; urgency=medium
+
+  * New upstream bugfix release:
+    + debian/patches/01_a52dec-configure.patch:
+      - Dropped, merged upstream.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 19 Apr 2014 15:48:49 +0200
+
+gst-plugins-ugly1.0 (1.2.3-2) unstable; urgency=medium
+
+  * debian/patches/01_a52dec-configure.patch:
+    + Fix configure check for a52dec after latest upload of a52dec.
+      Patch taken from multiple upstream commits (Closes: #739803).
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 23 Feb 2014 11:09:07 +0100
+
+gst-plugins-ugly1.0 (1.2.3-1) unstable; urgency=medium
+
+  [ Iain Lane ]
+  * Drop ltmain-as-needed and do the same with dh_autoreconf --as-needed.
+    Thanks, Logan Rosen. (Closes: #734560) 
+
+  [ Sebastian Dröge ]
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 09 Feb 2014 11:27:13 +0100
+
+gst-plugins-ugly1.0 (1.2.2-1) unstable; urgency=medium
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 27 Dec 2013 11:03:19 +0100
+
+gst-plugins-ugly1.0 (1.2.1-1) unstable; urgency=low
+
+  [ Fabian Greffrath ]
+  * Team upload.
+  * Update Vcs-Browser field in debian/control{,.in}.
+
+  [ Sebastian Dröge ]
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 09 Nov 2013 17:10:37 +0100
+
+gst-plugins-ugly1.0 (1.2.0-1) unstable; urgency=low
+
+  * New upstream stable release:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build depend on GStreamer and gst-plugins-base >= 1.2.0.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 24 Sep 2013 16:52:08 +0200
+
+gst-plugins-ugly1.0 (1.1.90-1) experimental; urgency=low
+
+  * New upstream release candidate:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build depend on GStreamer and gst-plugins-base >= 1.1.90.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 19 Sep 2013 12:50:32 +0200
+
+gst-plugins-ugly1.0 (1.1.4-1) experimental; urgency=low
+
+  * New upstream development snapshot:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build depend on GStreamer and gst-plugins-base >= 1.1.4.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 30 Aug 2013 12:56:41 +0200
+
+gst-plugins-ugly1.0 (1.1.3-1) experimental; urgency=low
+
+  * New upstream development snapshot:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build depend on GStreamer and gst-plugins-base >= 1.1.3.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 30 Jul 2013 08:53:05 +0200
+
+gst-plugins-ugly1.0 (1.1.2-1) experimental; urgency=low
+
+  * New upstream development snapshot:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build depend on GStreamer and gst-plugins-base >= 1.1.2.
+      - Build depend on orc >= 0.4.17.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 14 Jul 2013 12:08:01 +0200
+
+gst-plugins-ugly1.0 (1.0.8-1) unstable; urgency=low
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 13 Jul 2013 11:34:26 +0200
+
+gst-plugins-ugly1.0 (1.0.7-1) unstable; urgency=low
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 26 Apr 2013 14:09:39 +0200
+
+gst-plugins-ugly1.0 (1.0.6-1) unstable; urgency=low
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 22 Mar 2013 18:19:37 +0100
+
+gst-plugins-ugly1.0 (1.0.5-1) unstable; urgency=low
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 08 Jan 2013 13:51:24 +0100
+
+gst-plugins-ugly1.0 (1.0.4-1) unstable; urgency=low
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 19 Dec 2012 10:33:01 +0100
+
+gst-plugins-ugly1.0 (1.0.3-1) unstable; urgency=low
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 21 Nov 2012 14:56:18 +0100
+
+gst-plugins-ugly1.0 (1.0.2-1) unstable; urgency=low
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 25 Oct 2012 14:01:36 +0200
+
+gst-plugins-ugly1.0 (1.0.1-1) unstable; urgency=low
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 08 Oct 2012 10:56:38 +0200
+
+gst-plugins-ugly1.0 (1.0.0-1) unstable; urgency=low
+
+  * New upstream stable release:
+    + debian/rules,
+      debian/build-deps.in:
+      - Build-depend on GStreamer core/base >= 1.0.0.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 25 Sep 2012 00:25:51 +0200
+
+gst-plugins-ugly1.0 (0.11.99-1) experimental; urgency=low
+
+  * New upstream release:
+    + debian/rules,
+      debian/build-deps.in:
+      - Build-depend on GStreamer core/base >= 0.11.99.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 18 Sep 2012 10:12:34 +0200
+
+gst-plugins-ugly1.0 (0.11.94-1) experimental; urgency=low
+
+  * New upstream release:
+    + debian/rules,
+      debian/build-deps.in:
+      - Build-depend on GStreamer core/base >= 0.11.93.
+      - Build-depend on gtk-doc >= 1.12.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 14 Sep 2012 10:39:56 +0200
+
+gst-plugins-ugly1.0 (0.11.93-1) experimental; urgency=low
+
+  * New upstream release:
+    + debian/rules,
+      debian/build-deps.in:
+      - Depend on GStreamer core/base >= 0.11.93.
+    + debian/build-deps.in:
+      - Depend on libx264-dev >= 2:0.106.
+      - Depend on ORC >= 0.4.16.
+      - Depend on GLIB >= 2.23.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 09 Aug 2012 11:28:47 +0200
+
+gst-plugins-ugly1.0 (0.11.92-1) experimental; urgency=low
+
+  * New upstream release, "Hey You":
+    + debian/rules,
+      debian/build-deps.in:
+      - Depend on GStreamer core/base >= 0.11.92.
+    + debian/build-deps.in:
+      - Depend on libx264-dev >= 2:0.106.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 08 Jun 2012 13:30:02 +0200
+
+gst-plugins-ugly1.0 (0.11.91-1) experimental; urgency=low
+
+  * New upstream release, "I’ll grind his bones to make my bread!":
+    + debian/rules,
+      debian/build-deps.in:
+      - Depend on GStreamer core/base >= 0.11.91.
+  * debian/build-deps.in:
+    + Update debhelper, autoconf, automake and libtool dependencies.
+  * debian/control.in:
+    + Update Standards-Version.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 21 May 2012 15:16:03 +0200
+
+gst-plugins-ugly1.0 (0.11.90-1) experimental; urgency=low
+
+  [ Olivier Naudan ]
+  * Imported Upstream version 0.11.90
+  * Imported debian/ from gst-plugins-ugly 0.10.19-1
+  * Updated debian/ for GStreamer 1.0
+  * debian/*.install: removed the plugins that have disappeared upstream
+  * debian/*.install: added a new plugin, xingmux
+
+  [ Sebastian Dröge ]
+  * Build-depend on GLib >= 2.31.14.
+  * Update copyright.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 02 May 2012 20:29:44 +0200
+
+gst-plugins-ugly0.10 (0.10.19-1) unstable; urgency=low
+
+  * New upstream stable release, "Stronger":
+    + debian/rules,
+      debian/build-deps.in:
+      - Require GStreamer core/base >= 0.10.36.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 21 Feb 2012 10:51:40 +0100
+
+gst-plugins-ugly0.10 (0.10.18.3-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 06 Feb 2012 11:08:55 +0100
+
+gst-plugins-ugly0.10 (0.10.18.2-2) experimental; urgency=low
+
+  * debian/control.in:
+    + Build-depend on automake (>= 1.10), autoconf (>= 2.60) and
+      libtool (>= 2.0) to make dh-autoreconf actually work.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 14 Dec 2011 09:51:04 +0100
+
+gst-plugins-ugly0.10 (0.10.18.2-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build-depend on GStreamer core/base 0.10.35.2.
+      - Build-depend on GLib 2.24.
+      - Build-depend on ORC 0.4.11.
+      - Don't build-depend anymore on libid3tag.
+    + debian/patches/99_ltmain_as-needed.patch:
+      - Refreshed to apply cleanly again.
+  * debian/build-deps.in,
+    debian/compat,
+    debian/control.in,
+    debian/gstreamer-plugins-ugly.install,
+    debian/rules:
+    + Transition package to multi-arch (Closes: #647488).
+      Patch taken from the Ubuntu package.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 12 Dec 2011 09:42:37 +0100
+
+gst-plugins-ugly0.10 (0.10.18-3) unstable; urgency=low
+
+  * Add lame to the ugly plugin set as it's available in Debian now (Closes: #636065).
+
+ -- Fabian Greffrath <fabian+debian@greffrath.com>  Fri, 29 Jul 2011 13:33:09 +0200
+
+gst-plugins-ugly0.10 (0.10.18-2) unstable; urgency=low
+
+  * Add x264enc to the ugly plugin set as it's available in debian now
+
+ -- Sjoerd Simons <sjoerd@debian.org>  Tue, 26 Jul 2011 20:46:34 +0100
+
+gst-plugins-ugly0.10 (0.10.18-1) unstable; urgency=low
+
+  * New upstream release, "Extra Life".
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 10 May 2011 15:54:01 +0200
+
+gst-plugins-ugly0.10 (0.10.17.3-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 27 Apr 2011 16:09:41 +0200
+
+gst-plugins-ugly0.10 (0.10.17.2-1) experimental; urgency=low
+
+  [ Alessandro Decina ]
+  * debian/rules:
+    + Include dh-autoreconf cdbs rule
+  * debian/build-deps.in:
+    + Add dependency on dh-autoreconf
+
+  [ Sebastian Dröge ]
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 17 Apr 2011 11:34:16 +0200
+
+gst-plugins-ugly0.10 (0.10.17-2) unstable; urgency=low
+
+  * Upload to unstable.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 22 Mar 2011 15:25:53 +0100
+
+gst-plugins-ugly0.10 (0.10.17-1) experimental; urgency=low
+
+  * New upstream stable release, "Raised by Wolves".
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 22 Jan 2011 13:57:04 +0100
+
+gst-plugins-ugly0.10 (0.10.16.4-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 19 Jan 2011 21:19:02 +0100
+
+gst-plugins-ugly0.10 (0.10.16.3-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 13 Jan 2011 13:43:53 +0100
+
+gst-plugins-ugly0.10 (0.10.16.2-1) experimental; urgency=low
+
+  [ Emilio Pozuelo Monfort ]
+  * debian/build-deps.in,
+    debian/rules:
+    + Use dpkg-vendor instead of lsb_release.
+
+  [ Sebastian Dröge ]
+  * New upstream pre-release:
+    + debian/build-deps.in:
+      - Require ORC >= 0.4.6.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 10 Jan 2011 17:34:11 +0100
+
+gst-plugins-ugly0.10 (0.10.16-2) experimental; urgency=low
+
+  * debian/build-deps.in:
+    + Add epoch to the orc build dependency to get dependencies on
+      the correct version.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 17 Sep 2010 13:28:42 +0200
+
+gst-plugins-ugly0.10 (0.10.16-1) experimental; urgency=low
+
+  * New upstream release, "Because He Knows the Time is Short".
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 03 Sep 2010 12:36:41 +0200
+
+gst-plugins-ugly0.10 (0.10.15.6-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 30 Aug 2010 16:12:57 +0200
+
+gst-plugins-ugly0.10 (0.10.15.5-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 25 Aug 2010 22:12:59 +0200
+
+gst-plugins-ugly0.10 (0.10.15.4-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 21 Aug 2010 21:59:43 +0200
+
+gst-plugins-ugly0.10 (0.10.15.3-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 11 Aug 2010 21:20:10 +0200
+
+gst-plugins-ugly0.10 (0.10.15.2-1) experimental; urgency=low
+
+  [ Sebastian Dröge ]
+  * debian/patches/01_x264-i-weighted-pred.patch:
+    + Don't fail the build if x264 is accidentially installed but
+      an older version is used (Closes: #584094).
+      Patch from upstream bugzilla.
+
+  [ أحمد المحمودي (Ahmed El-Mahmoudy) ]
+  * Added patch rmdemux_pass_bitrate_on_caps.patch from upstream to fix
+    a problem with playing some media files with Sipro codec.
+
+  [ Sebastian Dröge ]
+  * New upstream pre-release:
+    + debian/patches/rmdemux_pass_bitrate_on_caps.patch,
+      debian/patches/01_x264-i-weighted-pred.patch:
+      - Dropped, merged upstream.
+    + debian/build-deps.in:
+      - Build depend on orc instead of liboil.
+      - Build depend on GLib >= 2.20.
+  * debian/rules,
+    debian/compat,
+    debian/control.in,
+    debian/source/format,
+    debian/patches/*:
+    + Update to debhelper compat level 7.
+    + Update to source format 3.0 (quilt). 
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 11 Aug 2010 09:19:36 +0200
+
+gst-plugins-ugly0.10 (0.10.15-1) unstable; urgency=low
+
+  * New upstream release, "Englishman in a Baseball Cap":
+    + debian/build-deps.in:
+      - Build depend on GLib >= 2.18 and liboil >= 0.3.14.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 31 May 2010 05:41:45 +0200
+
+gst-plugins-ugly0.10 (0.10.14.3-1) unstable; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 26 May 2010 15:36:52 +0200
+
+gst-plugins-ugly0.10 (0.10.14.2-2) unstable; urgency=low
+
+  * debian/control.in:
+    + Let the -dev package depend on the GStreamer core/base documentation
+      for cross references.
+  * Upload to unstable.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 20 May 2010 13:55:52 +0200
+
+gst-plugins-ugly0.10 (0.10.14.2-1) experimental; urgency=low
+
+  * New upstream pre-release.
+  * debian/build-deps.in:
+    + Build depend on GStreamer core/base documentation to get correct
+      cross references.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 15 May 2010 10:00:57 +0200
+
+gst-plugins-ugly0.10 (0.10.14-1) unstable; urgency=low
+
+  * New upstream stable release, "Run Rabbit".
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 08 Mar 2010 10:04:09 +0000
+
+gst-plugins-ugly0.10 (0.10.13.3-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 25 Feb 2010 08:29:15 +0100
+
+gst-plugins-ugly0.10 (0.10.13.2-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + Broken id3mux plugin is removed now (Closes: #383825).
+      A better version of it is in gst-plugins-bad >= 0.10.17.2.
+    + debian/build-deps.in,
+      debian/rules:
+      - Build depend on gstreamer and gst-plugins-base >= 0.10.26.
+  * debian/control.in:
+    + Fix typos in package descriptions (Closes: #557472, #557478).
+    + Remove David I. Lehn from Uploaders (Closes: #557282).
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 19 Feb 2010 13:58:43 +0100
+
+gst-plugins-ugly0.10 (0.10.13-2) unstable; urgency=low
+
+  * debian/extra, debian/gstreamer-amrnb.install, debian/README.Debian:
+    + Removed the gstreamer-amrnb extra package which got dropped upstream
+      in favor of opencore-amr.
+
+ -- Fabian Greffrath <fabian@debian-unofficial.org>  Thu, 22 Oct 2009 11:34:41 +0200
+
+gst-plugins-ugly0.10 (0.10.13-1) unstable; urgency=low
+
+  * New upstream release, "Appointed Point".
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 21 Oct 2009 19:45:55 +0200
+
+gst-plugins-ugly0.10 (0.10.12.3-1) experimental; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 16 Oct 2009 08:58:54 +0200
+
+gst-plugins-ugly0.10 (0.10.12.2-1) experimental; urgency=low
+
+  [ Fabian Greffrath ]
+  * debian/extra, debian/gstreamer-x264.install, debian/README.Debian:
+    + Introduced the gstreamer-x264 package which has been moved here from
+      gst-plugins-bad0.10.
+
+  [ Sebastian Dröge ]
+  * New upstream pre-release:
+    + debian/rules,
+      debian/build-deps.in:
+      - Update GStreamer and gst-plugins-base build dependencies.
+  * debian/build-deps.in,
+    debian/gstreamer-plugins-ugly.install:
+    + Enable the OpenCore AMR WB/NB plugins.
+  * debian/control.in:
+    + Update Standards-Version to 3.8.3.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 12 Oct 2009 17:12:15 +0200
+
+gst-plugins-ugly0.10 (0.10.12-1) unstable; urgency=low
+
+  * New upstream release, 'Moving Along The Highway'.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 18 Jun 2009 13:42:13 +0200
+
+gst-plugins-ugly0.10 (0.10.11.2-1) experimental; urgency=low
+
+  [ Fabian Greffrath ]
+  * debian/extra:
+    + Added XB-GStreamer-* fields for the extra packages.
+  * debian/rules:
+    + Run debian/extra with sh (it has no execute permissions).
+    + Append extra packages to debian/control (and do not override it).
+  * debian/build-deps, debian/control, debian/rules:
+    + Order, wrap and indent Build-Depends; this will improve interdiffs for
+      packages that provide the extra plugins.
+  * debian/TODO.Debian:
+    + Removed, I don't think any of these things are still relevant.
+  * debian/control, debian/control.in, debian/extra:
+    + Removed duplicate Section fields from gstreamer0.10-plugins-ugly and
+      the extra plugins.
+    + Changed Section to debug for gstreamer0.10-plugins-ugly-dbg.
+    + Added Depends on ${misc:Depends} to gstreamer0.10-plugins-ugly-dbg and
+      the extra plugins.
+    + Improved duplicate short description for gstreamer0.10-plugins-ugly-dbg.
+
+  [ Sebastian Dröge ]
+  * New upstream pre-release:
+    + debian/build-deps.in,
+      debian/rules:
+      - Update build dependencies.
+  * debian/control.in:
+    + Update Standards-Version to 3.8.1, no additional changes needed.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 06 Jun 2009 17:54:30 +0200
+
+gst-plugins-ugly0.10 (0.10.11-1) unstable; urgency=low
+
+  * debian/build-deps.in:
+    + Only depend on libdvdread-dev, libdvdread3-dev only existed in sarge
+      (Closes: #499585).
+  * New upstream release, 'Their swords and their knives'.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 21 Mar 2009 09:36:41 +0100
+
+gst-plugins-ugly0.10 (0.10.10.2-1) unstable; urgency=low
+
+  * debian/rules:
+    + Pass -Wno-error via C(XX)FLAGS.
+  * New upstream pre-release:
+    + debian/control.in,
+      debian/gstreamer-plugins-ugly.install,
+      debian/build-deps.in:
+      - Build and ship twolame plugin which was moved from gst-plugins-bad.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 10 Mar 2009 08:17:48 +0100
+
+gst-plugins-ugly0.10 (0.10.10-2) unstable; urgency=low
+
+  * Upload to unstable.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 15 Feb 2009 20:12:11 +0100
+
+gst-plugins-ugly0.10 (0.10.10-1) experimental; urgency=low
+
+  * New upstream release, 'Under the House'.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 20 Nov 2008 08:34:17 +0100
+
+gst-plugins-ugly0.10 (0.10.9.2-1) experimental; urgency=low
+
+  [ Loic Minier ]
+  * Let the -dbg package replace gstreamer0.10-plugins-good-dbg (<< 0.10.9.2);
+    thanks Emilio Pozuelo Monfort; see Launchpad #292870.
+
+  [ Sebastian Dröge ]
+  * New upstream pre-release:
+    + debian/patches/01_asfdemux-flow-returns.patch:
+      - Dropped, merged upstream.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 09 Nov 2008 16:19:21 +0100
+
+gst-plugins-ugly0.10 (0.10.9-1) experimental; urgency=low
+
+  * New upstream release, 'Back The Way It Was'.
+  * debian/patches/01_asfdemux-flow-returns.patch:
+    + Patch from upstream CVS to fix a regression on aggregating flow
+      returns of different src pads.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 28 Aug 2008 10:31:02 +0200
+
+gst-plugins-ugly0.10 (0.10.8.2-1) experimental; urgency=low
+
+  * New upstream pre-release:
+    + debian/build-deps.in,
+      debian/gstreamer-plugins-ugly.install,
+      debian/control.in:
+      - Add the cdio plugin, it moved from gst-plugins-good because libcdio
+        is GPL licensed.
+  * debian/control.in:
+    + Update Standards-Version to 3.8.0, no additional changes needed.
+    + Wrap Uploaders and Depends.
+  * debian/control.in,
+    debian/rules:
+    + Use new automatic codec installation infrastructure.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 15 Aug 2008 09:09:51 +0200
+
+gst-plugins-ugly0.10 (0.10.8-1) unstable; urgency=low
+
+  * New upstream stable release, "And yet".
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 22 May 2008 09:40:41 +0200
+
+gst-plugins-ugly0.10 (0.10.7.4-1) unstable; urgency=low
+
+  * New upstream pre-release:
+    + Fixes some bugs with the Real demuxer (Closes: #479996).
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 20 May 2008 09:42:17 +0200
+
+gst-plugins-ugly0.10 (0.10.7.3-1) unstable; urgency=low
+
+  * New upstream pre-release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 15 May 2008 09:53:02 +0200
+
+gst-plugins-ugly0.10 (0.10.7.2-1) unstable; urgency=low
+
+  * New upstream pre-release:
+    + debian/patches/01_xingmux-header-position.patch,
+      debian/patches/02_mp3parse-timestamps.patch,
+      debian/patches/03_mp3-tag-caching.patch,
+      debian/patches/75_build_docs_without_python_xml.patch:
+      - Dropped, merged upstream.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 10 May 2008 20:30:46 +0200
+
+gst-plugins-ugly0.10 (0.10.7-3) unstable; urgency=low
+
+  * debian/patches/03_mp3-tag-caching.patch:
+    + Don't take the stream lock when caching the events, this is a) not
+      necessary and b) will result in deadlocks in some cases.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 12 Mar 2008 17:07:31 +0100
+
+gst-plugins-ugly0.10 (0.10.7-2) unstable; urgency=low
+
+  * debian/extra:
+    + Update for new lame package names in Debian Multimedia and Debian
+      Unofficial. Thanks to Fabian Greffrath (Closes: #466863).
+      Also add amrnb package and be more consistent with MPEG in the
+      descriptions.
+  * debian/patches/75_build_docs_without_python_xml.patch,
+    debian/build-deps.in:
+    + Stop using pyxml for building the docs (Closes: #468626).
+  * debian/patches/01_xingmux-header-position.patch:
+    + Write the Xing header at the correct position for stereo files.
+      Patch from upstream CVS.
+  * debian/patches/02_mp3parse-timestamps.patch:
+    + Try harder to get correct timestamps with mp3parse.
+      Patch from upstream CVS.
+  * debian/patches/03_mp3-tag-caching.patch:
+    + Cache all events except EOS, this fixes missing tags when reenconding
+      MP3s. Patch from upstream CVS.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 11 Mar 2008 05:20:22 +0100
+
+gst-plugins-ugly0.10 (0.10.7-1) unstable; urgency=low
+
+  * New upstream release, "I Cheated Time".
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 21 Feb 2008 10:49:32 +0100
+
+gst-plugins-ugly0.10 (0.10.6.4-1) experimental; urgency=low
+
+  * New upstream pre-release.
+  * debian/patches/99_ltmain_as-needed.patch,
+    debian/rules:
+    + Add -Wl,-z,defs -Wl,-O1 -Wl,--as-needed to LDFLAGS to remove some
+      unnecessary dependencies on various packages.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 19 Feb 2008 06:55:26 +0100
+
+gst-plugins-ugly0.10 (0.10.6.3-1) experimental; urgency=low
+
+  * New upstream pre-release.
+  * debian/build-deps.in:
+    + Build depend on gstreamer0.10-plugins-base for the unit tests.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 14 Feb 2008 13:17:48 +0100
+
+gst-plugins-ugly0.10 (0.10.6.2-1) experimental; urgency=low
+
+  [ Sebastian Dröge ]
+  * debian/rules:
+    + Fix setting of the GST_REGISTRY environment variable.
+
+  [ Emilio Pozuelo Monfort ]
+  * debian/rules:
+    - Decide the package name and url depending on the distribution.
+  * debian/build-deps.in:
+    - Build-Depend on lsb-release.
+
+  [ Sebastian Dröge ]
+  * New upstream pre-release:
+    + Fixes FTBFS if built twice in a row (Closes: #424383).
+    + debian/rules,
+      debian/build-deps.in:
+      - Update liboil and gstreamer build dependencies.
+    + debian/patches/00-mpegaudioparse-cvs20071117.patch:
+      - Dropped, merged upstream.
+    + debian/control.in:
+      - Add Conflicts for gst-plugins-bad as the xingmux element moved
+        to the mpegaudioparse plugin and having the one from bad and ugly
+        installed at the same time will give errors.
+      - Update Standards-Version to 3.7.3, no additional changes needed.
+  * debian/rules:
+    + Run unit test suite but don't fail the build on failures.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sat, 09 Feb 2008 13:48:43 +0100
+
+gst-plugins-ugly0.10 (0.10.6-3) unstable; urgency=low
+
+  [ Sebastian Dröge ]
+  * debian/rules:
+      + Set GST_REGISTRY before the dh_gstscancodecs call to save the registry
+        somewhere on buildds without writable home and speed things up a
+        bit.
+  * debian/build-deps.in:
+      + Remove check from build dependencies. This is only an indirect build
+        dependency that is already satisfied by libgstreamer0.10-dev. configure
+        only checks for libgstcheck, not check.
+
+  [ Sjoerd Simons ]
+  * Added debian/patches/00-mpegaudioparse-cvs20071117.patch
+    - Updates mpegaudioparse to the CVS version of 17-11-2007
+    - No longer sends segments before the caps are fixed which seems to confuse
+      autopluggers and causes MP3 playback to fail with the latest gstreamer
+
+ -- Sjoerd Simons <sjoerd@debian.org>  Sat, 17 Nov 2007 20:58:36 +0100
+
+gst-plugins-ugly0.10 (0.10.6-2) unstable; urgency=low
+
+  * debian/build-deps.in,
+    debian/rules:
+    + Call dh_gstinstallcodecs to generate the codecs database.
+  * debian/gstreamer-plugins-ugly.install:
+    + Ship translations with the plugin package.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 31 Aug 2007 09:38:17 +0200
+
+gst-plugins-ugly0.10 (0.10.6-1) unstable; urgency=low
+
+  [ Sebastian Dröge ]
+  * New upstream release, "The Sacrifice":
+    + debian/rules,
+      debian/build-deps.in:
+      - Require gstreamer and gst-plugins-base (>= 0.10.13).
+    + debian/patches/30_gstasfdemux_length-guards.patch:
+      - Dropped, merged upstream.
+  * debian/control.in:
+    + Use ${binary:Version} instead of ${Source-Version} to make lintian happy.
+
+  [ Loic Minier ]
+  * Cleanup sed foo and add a rule to strip empty build-dep substistutions.
+  * Add a grep to the Perl build-deps generation to strip empty lines.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 19 Jun 2007 19:30:44 +0200
+
+gst-plugins-ugly0.10 (0.10.5-2) unstable; urgency=low
+
+  * Upload to unstable
+  * Merge experimental branch:
+    + New upstream release 0.10.5, "She Said":
+      - Fixes playing of avi files over the network (Closes: #370364)
+      - debian/rules:
+        . Require gstreamer >= 0.10.6
+      - debian/patches/01_ac3-handling-fix.patch,
+        debian/patches/02_mpeg2dec-ppc.patch:
+        . Dropped, merged upstream 
+  * debian/control.in:
+    + Update to use my debian.org address
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 11 Apr 2007 08:57:18 +0200
+
+gst-plugins-ugly0.10 (0.10.4-5) unstable; urgency=medium
+
+  * New patch, 30_gstasfdemux_length-guards, adds length guarding checks and
+    fixes a memory leak; backported from GNOME #336370.
+
+ -- Loic Minier <lool@dooz.org>  Mon, 26 Feb 2007 17:33:24 +0100
+
+gst-plugins-ugly0.10 (0.10.4-4) unstable; urgency=low
+
+  * Merge 0.10.4-3 from experimental.
+  * Upload to unstable.
+
+ -- Loic Minier <lool@dooz.org>  Mon, 13 Nov 2006 13:50:34 +0100
+
+gst-plugins-ugly0.10 (0.10.4-3) experimental; urgency=low
+
+  * Re-add -dbg package.
+  * Target at experimental.
+
+ -- Loic Minier <lool@dooz.org>  Tue, 17 Oct 2006 18:34:55 +0200
+
+gst-plugins-ugly0.10 (0.10.4-2sid2) unstable; urgency=low
+
+  * debian/patches/02_mpeg2dec-ppc.patch:
+    + Updated. Fix warnings when there are GstBaseTransform elements
+      downstream. Also take a timestamp fix from upstream CVS.
+
+ -- Sebastian Dröge <slomo@ubuntu.com>  Mon,  6 Nov 2006 18:17:14 +0100
+
+gst-plugins-ugly0.10 (0.10.4-2sid1) unstable; urgency=low
+
+  [ Sebastian Dröge ]
+  * debian/patches/patches/02_mpeg2dec-ppc.patch:
+    + 16byte-align the mpeg2dec outbuf buffer to prevent segfaults on PPC with
+      altivec optimizations (Closes: #365718)
+      http://bugzilla.gnome.org/show_bug.cgi?id=327350
+
+  [ Loic Minier ]
+  * Set version to 0.10.4-2sid1 as -3 was uploaded towards experimental.
+
+ -- Loic Minier <lool@dooz.org>  Thu,  2 Nov 2006 18:35:11 +0100
+
+gst-plugins-ugly0.10 (0.10.4-2) unstable; urgency=low
+
+  [ Sebastian Dröge ]
+  * debian/patches/01_ac3-handling-fix.patch:
+    + Fix volume handling when downmixing
+  * debian/rules,
+    debian/control.in:
+    + Add a -dbg package
+
+  [ Loic Minier ]
+  * Drop -dbg package for now, this version is for etch.
+
+ -- Loic Minier <lool@dooz.org>  Tue, 17 Oct 2006 18:31:37 +0200
+
+gst-plugins-ugly0.10 (0.10.4-1) unstable; urgency=low
+
+  [ Sebastian Dröge ]
+  * New upstream release, "Metal Molly"
+  * debian/compat,
+    debian/build-deps.in:
+    + Update to debhelper compat level 5
+
+  [ Loic Minier ]
+  * Don't build the doc on arm and m68k.  It's painfully long, and -- at least
+    on arm -- it sometimes segfaults; also see #383147.
+
+ -- Loic Minier <lool@dooz.org>  Wed, 23 Aug 2006 21:43:58 +0200
+
+gst-plugins-ugly0.10 (0.10.3-2) unstable; urgency=low
+
+  * Bump up Standards-Version to 3.7.2.
+    [debian/control, debian/control.in]
+  * Build-dep on libdvdread-dev (>= 0.9.0) | libdvdread3-dev (>= 0.9.0) since
+    sbuild fails building despite the added Provides, thanks Julien Danjou.
+    (Closes: #366169)
+
+ -- Loic Minier <lool@dooz.org>  Wed, 14 Jun 2006 22:24:06 +0200
+
+gst-plugins-ugly0.10 (0.10.3-1) unstable; urgency=low
+
+  [ Sebastian Dröge ]
+  * New upstream release, "Late Plane".
+  * Added myself to Uploaders
+
+  [ Loic Minier ]
+  * Fixed release name above. :)
+
+ -- Loic Minier <lool@dooz.org>  Mon,  3 Apr 2006 17:09:57 +0200
+
+gst-plugins-ugly0.10 (0.10.2-1) unstable; urgency=low
+
+  * New upstream release, "Season to Taste".
+
+ -- Loic Minier <lool@dooz.org>  Tue, 21 Feb 2006 17:02:44 +0100
+
+gst-plugins-ugly0.10 (0.10.1.3-1) unstable; urgency=low
+
+  * New upstream pre-release.
+
+ -- Loic Minier <lool@dooz.org>  Mon, 20 Feb 2006 20:09:41 +0100
+
+gst-plugins-ugly0.10 (0.10.1.2-1) unstable; urgency=low
+
+  * New upstream pre-release.
+    - Bump up libgstreamer-plugins-base0.10-dev build-dep to 0.10.3.
+      [debian/build-deps, debian/build-deps.in, debian/control]
+    - Add asfdemux plugin.
+      [debian/gstreamer-plugins-ugly.install]
+    - Add dvdread plugin and build-dep on libdvdread3-dev >= 0.9.0.
+      [debian/build-deps, debian/build-deps.in, debian/control,
+       debian/gstreamer-plugins-ugly.install]
+
+ -- Loic Minier <lool@dooz.org>  Sat, 18 Feb 2006 09:02:11 +0100
+
+gst-plugins-ugly0.10 (0.10.1-1) unstable; urgency=low
+
+  * New upstream release, "Peng".
+    - Bump libgstreamer-plugins-base0.10-dev to >= 0.10.1.
+      [debian/build-deps, debian/build-deps.in, debian/control]
+    - Bump libgstreamer0.10-dev to >= 0.10.1.
+      [debian/control, debian/rules]
+  * Drop useless gst_plugins_base_lib, gst_plugins_base_lib_dev,
+    gst_plugins_base_lib_dev_dep, and gst_plugins_ugly_version declarations.
+    [debian/rules]
+  * Use upstream descriptions in packages descriptions.
+    [debian/control, debian/control.in]
+
+ -- Loic Minier <lool@dooz.org>  Sat, 11 Feb 2006 17:31:08 +0100
+
+gst-plugins-ugly0.10 (0.10.0-1) unstable; urgency=low
+
+  [ Sebastian Dröge ]
+  * New package;
+    + Re-added the debian/extra hack from the gst-plugins0.8 package
+    + Adjusted package names, install files, etc
+
+  [ Loic Minier ]
+  * Upload to unstable.
+
+ -- Loic Minier <lool@dooz.org>  Sun,  1 Jan 2006 22:50:13 +0100
+
+gst-plugins-good0.10 (0.10.0-1) unstable; urgency=low
+
+  [ Sebastien Bacher ]
+  * New package:
+    - clean patches
+      [debian/patches/50_cdparanoia-fix-eos-detection-of-last-title.patch]
+    - updated Build-Depends [debian/build-deps.in]
+    - updated documentation [debian/README.Debian, debian/TODO.Debian]
+    - updated packages list [debian/control.in, debian/gstreamer-alsa.install,
+      debian/gstreamer-gnomevfs.install, debian/gstreamer-misc.install,
+      debian/gstreamer-plugins-base-apps.instal,
+      debian/gstreamer-plugins-base-apps.manpages,
+      debian/gstreamer-plugins-base-doc.install,
+      debian/gstreamer-x.install, debian/libgstreamer-plugins-base-dev.install,
+      debian/libgstreamer-plugins-base.install, debian/gstreamer-aa.install,
+      debian/gstreamer-auto.install, debian/gstreamer-caca.install,
+      debian/gstreamer-esd.install, debian/gstreamer-misc-good.install,
+      debian/gstreamer-oss.install, debian/gstreamer-plugins-good-doc.install,
+      debian/rules]
+    - updated upstream location [debian/watch]
+    - don't use type-handling it's not useful
+      [debian/build-deps.in, debian/control.in, debian/rules]
+
+  [ Loic Minier ]
+  * Merge aa, auto, caca, and oss packages and plugins in misc and let it
+    provide audio and videosinks;  use a couple of @GST_ABI@s where
+    appropriate.
+    [debian/control, debian/control.in,
+    debian/gstreamer-aa.install, debian/gstreamer-caca.install,
+    debian/gstreamer-misc-good.install, debian/gstreamer-oss.install,
+    debian/rules]
+  * Rename for good misc-good in good.
+    [debian/control debian/control.in
+     debian/gstreamer-misc-good.install debian/rules]
+  * Downgrade cdbs build-dep for Debian.
+    [debian/build-deps, debian/build-deps.in, debian/control]
+  * Rename gstreamer0.10-good in gstreamer0.10-plugins-good.
+    [debian/control, debian/control.in, debian/gstreamer-good.install,
+    debian/gstreamer-plugins-good.install, debian/rules]
+  * Add a build-dep on check.
+    [debian/build-deps, debian/build-deps.in, debian/control]
+  * Remove python-twisted build-dep.
+    [debian/build-deps, debian/build-deps.in, debian/control]
+
+ -- Loic Minier <lool@dooz.org>  Wed, 21 Dec 2005 17:37:46 +0100
+
+gst-plugins-base0.10 (0.10.0-1) unstable; urgency=low
+
+  [ Sebastien Bacher ]
+  * New package:
+    - build the documentation [debian/rules]
+    - no action needed to register the plugins with the new version
+      [debian/gstreamer-plugin-template.postinst,
+       debian/gstreamer-plugin-template.postrm,
+       debian/libgstreamer-plugins.postinst,
+       debian/libgstreamer-plugins.postrm, debian/rules]
+    - drop mechanism to build extra packages for other distributions around,
+      it's not useful for base [debian/extras, debian/rules]
+    - drop transitionnal workaround [debian/gstreamer-plugin-template.preinst]
+    - new gstreamer-plugin-base-doc package [debian/control.in, debian/rules]
+    - remove obsolete patches
+      [debian/patches/10_wavpack-high-quality-segfault.patch,
+      debian/patches/30_alsa-verify-accepted-period-size.patch,
+      debian/patches/31_alsa-advanced-probing.patch,
+      debian/patches/40_audioscale-timestamps-and-durations.patch,
+      debian/patches/50_ladspa-quiet.patch]
+    - updated the Build-Depends [debian/build-dep.in]
+    - updated the packages descriptions [debian/control.in]
+    - updated the packages names/list [debian/control.in,
+      debian/gstreamer-a52dec.install, debian/gstreamer-aa.install,
+      debian/gstreamer-artsd.install, debian/gstreamer-audiofile.install,
+      debian/gstreamer-avifile.install, debian/gstreamer-caca.install,
+      debian/gstreamer-cdio.install, debian/gstreamer-dvd.install,
+      debian/gstreamer-dv.install, debian/gstreamer-esd.install,
+      debian/gstreamer-festival.install, debian/gstreamer-flac.install,
+      debian/gstreamer-gsm.install, debian/gstreamer-gtk.install,
+      debian/gstreamer-hermes.install, debian/gstreamer-jpeg.install,
+      debian/gstreamer-lame.install, debian/gstreamer-mad.install,
+      debian/gstreamer-mikmod.install, debian/gstreamer-mms.install,
+      debian/gstreamer-mpeg2dec.install, debian/gstreamer-oss.install,
+      debian/gstreamer-sdl.install, debian/gstreamer-sid.install,
+      debian/gstreamer-speex.install, debian/gstreamer-swfdec.install,
+      debian/libgstreamer-gconf.install, debian/libgstreamer-gconf-dev.install,
+      debian/gstreamer-vorbis.install, debian/rules]
+    - updated the packages lists [debian/gstreamer-misc.install,
+      debian/libgstreamer-plugins-base-dev.install,
+      debian/libgstreamer-plugins-base.install]
+    - updated packages content
+      [debian/gstreamer-misc.install, debian/gstreamer-x.install]
+    - updated the version [debian/rules]
+    - updated watch file [debian/watch]
+
+  [ Loic Minier ]
+  * Minor cleanups.
+    [debian/rules]
+  * Add Sebastien Bacher to Uploaders.
+    [debian/control, debian/control.in]
+
+ -- Loic Minier <lool@dooz.org>  Sat, 17 Dec 2005 18:11:03 +0100
+
+gst-plugins0.8 (0.8.11-3) unstable; urgency=medium
+
+  * New CDIO plugin package.
+    . Add libcdio-dev build-dep for CDIO support.
+      [debian/build-deps.in, debian/build-deps, debian/control]
+    . Add package description and file listing.
+      [debian/gstreamer-cdio.install, debian/control.in, debian/control]
+    . List package in plugins build-list. [debian/rules]
+    . List package in gstreamer-plugins deps.
+      [debian/control.in, debian/control]
+  * New MMS plugin package. (Closes: #301246)
+    . Add libmms-dev build-dep for mms:// and mmsh:// support.
+      [debian/build-deps.in, debian/build-deps, debian/control]
+    . Add package description and file listing.
+      [debian/gstreamer-cdio.install, debian/control.in, debian/control]
+    . List package in plugins build-list. [debian/rules]
+    . List package in gstreamer-plugins deps.
+      [debian/control.in, debian/control]
+  * Fix the homepage of the mikmod page and stop linking to an adult web site.
+    [debian/control, debian/control.in]
+  * Remove "Section: libs" from binary packages.
+    [debian/control, debian/control.in]
+  * Exit with non-zero code when requesting an unknown plugin.
+    [debian/extra]
+  * Add sample code to permit other distros to build additional plugins.
+    [debian/rules]
+  * Minor cleanups.
+    [debian/rules]
+  * New Gtk / Gdk package to split out this dep-tree for KDE folks, from
+    Ubuntu, thanks Sebastien Bacher.
+    . Add package description and file listing, remove it from -misc.
+      [debian/control.in, debian/control, debian/gstreamer-gtk.install,
+      debian/gstreamer-misc.install]
+    . List package in plugins build-list. [debian/rules]
+    . List package in gstreamer-plugins deps.
+      [debian/control.in, debian/control]
+    . Only "Replace" with -misc in the first version doing the split
+      (0.8.11-0ubuntu3), no Conflict needed.
+  * Add wavpack support, build the wavpack plugin and ship it in -misc.
+    (Closes: #339598)
+    . Add a libwavpack-dev build-dep.
+      [debian/build-deps, debian/build-deps.in]
+    . Ship plugin in -misc.
+      [debian/gstreamer-misc.install]
+    . Adjust the size of the internal decode buffer dynamically instead of
+      assuming 0.5 seconds are enough;  fixes a segfault when playing files
+      encoded with -h;  upstream bug: #317774;  fix committed in branch
+      BRANCH-GSTREAMER-0_8.
+      [debian/patches/10_wavpack-high-quality-segfault.patch]
+  * Backport some interesting upstream fixes from CVS fixing most resampling
+    issues for non-standard bitrates and for complex ALSA configurations
+    (especially dmix), thanks Tim-Philipp Müller, Luca Ognibene, and others.
+    (Closes: #323447, #324163, #326135, #340038)
+    - When doing _set_period_size_near(), see what period size was actually
+      set in the end and continue working with that value instead of just
+      assuming the desired period size was accepted;  upstream bug #318767;
+      fix committed in branch BRANCH-GSTREAMER-0_8.
+      [debian/patches/30_alsa-verify-accepted-period-size.patch]
+    - Don't mess up timestamps and durations when resampling by more than a
+      factor of 2 (e.g. 8kHz => 48kHz);  upstream bug #318273;  fix committed
+      in branch BRANCH-GSTREAMER-0_8.
+      [debian/patches/40_audioscale-timestamps-and-durations.patch]
+    - When the default device is being used, try to probe the caps of the
+      underlying device instead if possible. This should give more narrowly
+      defined caps that are closer to the hardware's capabilities. This is
+      enabled by default, but can be switched off via the new
+      'advanced-probing' property;  upstream bug #315121;  fix committed in
+      branch BRANCH-GSTREAMER-0_8.
+      [debian/patches/31_alsa-advanced-probing.patch]
+  * Drop the polypaudio plugin package. (Closes: #342278)
+    . Drop libpolyp-dev (>= 0.7) build-dep.
+      [debian/build-deps.in, debian/build-deps, debian/control]
+    . Remove package description and file listing.
+      [debian/gstreamer-polypaudio.install, debian/control.in, debian/control]
+    . Remove package from plugins build-list. [debian/rules]
+    . Remove package from gstreamer-plugins deps.
+      [debian/control.in, debian/control]
+  * Add libgconf2-dev, libglib2.0-dev, liborbit2-dev, libpopt-dev, libxml2-dev
+    deps to libgstreamer-gconf0.8-dev as listed in its .la files.
+    [debian/control, debian/control.in]
+  * Add libglib2.0-dev, libpopt-dev, libxml2-dev deps to
+    libgstreamer-plugins0.8-dev as listed in its .la files.
+    [debian/control, debian/control.in]
+  * Fix EOS detection for last title (fixes gnome-cd hanging after last track
+    ends), thanks Gustavo Noronha Silva;  upstream bug #317630;  fix committed
+    in branch BRANCH-GSTREAMER-0_8. (Closes: #330954)
+    [debian/patches/50_cdparanoia-fix-eos-detection-of-last-title.patch]
+  * Don't overwrite DEB_CONFIGURE_EXTRA_FLAGS.
+    [debian/rules]
+
+ -- Loic Minier <lool@dooz.org>  Sun, 11 Dec 2005 14:52:38 +0100
+
+gst-plugins0.8 (0.8.11-2) unstable; urgency=high
+
+  * Add misc:depends to all binary packages. (Closes: #329759)
+
+ -- Loic Minier <lool@dooz.org>  Mon, 17 Oct 2005 21:41:54 +0200
+
+gst-plugins0.8 (0.8.11-1) unstable; urgency=low
+
+  * Override gstreamer-dv section to extra because it depends on libavc1394-0
+    which is in extra. [debian/control, debian/control.in]
+  * Bump libflac-dev build-dependency for the latest flac soname change
+    (libflac6 -> libflac7). (Closes: #325940)
+  * New upstream release, "... And Thanks For All The Fix".
+    - New plugin imagemixer. [debian/gstreamer-misc.install]
+    - New plugin dvdsubdec. [debian/gstreamer-misc.install]
+    - Drop obsolete artsd patch, merged upstream.
+      [debian/patches/25_artds-no-name.patch]
+  * Update FSF address. [debian/copyright]
+  * Add cairo plugin. [debian/build-deps, debian/build-deps.in,
+    debian/control, debian/gstreamer-misc.install]
+
+ -- Loic Minier <lool@dooz.org>  Sun,  4 Sep 2005 21:19:47 +0200
+
+gst-plugins0.8 (0.8.10-3) unstable; urgency=high
+
+  * Urgency high because this fixes some RC bugs and 0.8.10-2 was caught in
+    the C++ transition.
+  * Bump up build-deps to get versions past the C++ transition.
+    [debian/build-deps, debian/build-deps.in, debian/control]
+    - libsdl1.2-dev
+    - libsidplay1-dev (Closes: #321315)
+    - libarts1-dev, libartsc0-dev
+  * Change X11 build-deps for the Xorg transition.
+    [debian/build-deps, debian/build-deps.in, debian/control]
+    - remove xlibs-dev and xlibs-pic.
+    - add libx11-dev, libxext-dev, and libxv-dev.
+  * Drop jack plugin. [debian/build-deps, debian/build-deps.in,
+    debian/control, debian/control.in, debian/gstreamer-jack.install,
+    debian/rules] (Closes: #321648)
+  * Add libgstglimagesink plugin. [debian/gstreamer-x.install]
+  * Add libgstfreeze plugin. (Closes: #318146) [debian/gstreamer-misc.install]
+  * Let libgstreamer-gconf suggest gnome-media. (Closes: #294490)
+    [debian/control, debian/control.in]
+
+ -- Loic Minier <lool@dooz.org>  Fri, 12 Aug 2005 18:36:58 +0200
+
+gst-plugins0.8 (0.8.10-2) unstable; urgency=medium
+
+  [ Sebastien Bacher ]
+  * debian/build-deps.in:
+    - list libpolyp-dev.
+  * debian/control.in:
+    - gstreamer0.8-plugins depends on gstreamer0.8-polypaudio.
+    - gstreamer0.8-polypaudio description.
+  * gstreamer-polypaudio.install:
+    - install libpolypaudio.so.
+  * debian/rules:
+    - list polypaudio.
+
+  [ Loic Minier ]
+  * Update jack dependency. (Closes: #317197)
+    [debian/build-deps, debian/build-deps.in, debian/control]
+  * Update aalib dependency. (Closes: #320886)
+    [debian/build-deps, debian/build-deps.in, debian/control]
+
+  * Urgency medium because of RC.
+
+ -- Loic Minier <lool@dooz.org>  Sun, 10 Jul 2005 19:27:08 +0200
+
+gst-plugins0.8 (0.8.10-1) unstable; urgency=low
+
+  * Loic Minier:
+    * New upstream release "Jangle".
+      - Bump inter-dependencies to >= 0.8.10.
+    * Use upstream fix for the "name" property of the artsdsink element.
+      [debian/patches/25_artds-no-name.patch]
+
+ -- Loic Minier <lool@dooz.org>  Sat,  2 Jul 2005 21:04:40 +0200
+
+gst-plugins0.8 (0.8.9-2) unstable; urgency=medium
+
+  * Loic Minier:
+    * Urgency medium as last gstreamer0.8 release exposed an artsdsink
+      problem fixed here.
+    * Add a versioned dependency with >= current-upstream-version to all
+      current shlibs inter-dependencies to ensure consistency of symbols.
+      (Closes: #315556) [debian/control, debian/control.in, debian/rules]
+    * Remove the "name" property in the artsd plugin as it interferes with
+      the usage of this property within GStreamer. (Closes: #314762)
+      [debian/patches/25_artds-no-name.patch]
+    * Call gst-register and gst-compprep with GST_REGISTRY in their
+      environment to override the default behavior of writing to
+      /root/.gstreamer-0.8, waiting for an upstream fix.
+      [debian/gstreamer-plugin-template.postinst,
+      debian/gstreamer-plugin-template.postrm]
+    * Add a postinst/postrm snipset to register plugins in
+      libgstreamer-plugins0.8. (Closes: #283658)
+      [debian/libgstreamer-plugins.postrm,
+      debian/libgstreamer-plugins.postinst, debian/changelog, debian/rules]
+    * Remove left over /root/.gstreamer-0.8 tree if it hasn't been modified.
+      [debian/gstreamer-plugin-template.preinst, debian/rules]
+    * Set Maintainer to group. [debian/control, debian/control.in]
+    * Bump Standards-Version to 3.6.2, no change needed.
+      [debian/control, debian/control.in]
+    * Workaround type-handling bug #315761.
+      [debian/control, debian/control.in, debian/rules]
+
+ -- Loic Minier <lool@dooz.org>  Mon, 27 Jun 2005 15:44:35 +0200
+
+gst-plugins0.8 (0.8.9-1) unstable; urgency=low
+
+  * Loic Minier:
+    * New upstream release "Old Hat".
+      - Fix SIGFPE in alsasrc. (Closes: #279399)
+      - New Musepack plugin package.
+        . Add libmpcdec-dev build-dep for Musepack support, this is now
+          detected in a Debian compatible manner via mpcdec/mpcdec.h and
+          -lmpcdec. [debian/build-deps.in, debian/build-deps, debian/control]
+        . Add package description and file listing.
+          [debian/gstreamer-musepack.install, debian/control.in,
+          debian/control]
+        . List package in plugins build-list. [debian/rules]
+        . List package in gstreamer-plugins deps.
+          [debian/control.in, debian/control]
+      - Renamed and updated "ladspa" patch.
+        [debian/patches/ladspa-quiet.patch,
+        debian/patches/50_ladspa-quiet.patch]
+      - Add video4linuxradio plugin to the gstreamer-misc package.
+        [debian/rules]
+    * Add compatibility block for older dpkg and use DEB_HOST_ARCH_OS.
+    * Add myself as uploader. [debian/control.in, debian/control]
+    * Fix indentation and executable permission of package maintaining
+      helpers. [debian/extra, debian/maint, debian/mk.control]
+    * Remove more bits from the arts plugin, left over in 0.8.1-2.
+      [debian/extra, debian/gstreamer-arts.install]
+    * Document the role of most files. [debian/HACKING.Debian]
+    * Add a TODO list for the Debian package. [debian/TODO.Debian]
+
+ -- Loic Minier <lool@dooz.org>  Tue, 21 Jun 2005 07:47:04 +0200
+
+gst-plugins0.8 (0.8.8-3) unstable; urgency=low
+
+  * debian/build-deps.in:
+    * Bump liboil dependency to liboil0.3-dev.  gst-plugins doesn't yet use
+      0.3 itself but the swfdec plugin build requires it.
+
+ -- David I. Lehn <dlehn@debian.org>  Wed, 30 Mar 2005 19:08:07 -0500
+
+gst-plugins0.8 (0.8.8-2) unstable; urgency=low
+
+  * debian/control.in:
+    * gstreamer0.8-vorbis depends on gstreamer0.8-misc >= 0.8.8-1
+      (Closes: #300082, #299954, #299921)
+
+ -- David I. Lehn <dlehn@debian.org>  Thu, 17 Mar 2005 12:53:38 -0500
+
+gst-plugins0.8 (0.8.8-1) unstable; urgency=low
+
+  * New upstream
+  * debian/patches/flac.patch:
+    * Remove: included upstream
+  * debian/gstreamer-misc.install:
+    * Add new plugins: autodetect, dvdlpcmdec, puzzle, rfbsrc, subparse
+    * Add new plugins with lib dependencies: gconfelements, mng, shout2
+      (Closes: #292011)
+  * debian/build-deps.in:
+    * Add: libmng-dev, libshout3-dev
+  * Upstream fixes:
+    * Xv falls back to X11 (Closes: #296848)
+    * Better audio sink selection (Closes: #284210)
+    * alsasink crash (Closes: #296751)
+
+ -- David I. Lehn <dlehn@debian.org>  Wed, 16 Mar 2005 01:00:39 -0500
+
+gst-plugins0.8 (0.8.7-3) unstable; urgency=low
+
+  * debian/rules, debian/build-deps.in
+    * Apply additional kfreebsd-gnu patch (Closes: #272568)
+  * debian/patches/flac.patch:
+    * Upstream fix for FLAC API change (Closes: #290784)
+
+ -- David I. Lehn <dlehn@debian.org>  Mon, 17 Jan 2005 17:53:42 -0500
+
+gst-plugins0.8 (0.8.7-2) unstable; urgency=low
+
+  * debian/rules:
+    * Bump libgstreamer0.8-dev dependency to >= 0.8.7.1
+
+ -- David I. Lehn <dlehn@debian.org>  Sat,  8 Jan 2005 15:50:45 -0500
+
+gst-plugins0.8 (0.8.7-1) unstable; urgency=low
+
+  * New upstream
+  * debian/build-deps.in, debian/control.in, debian/rules,
+    debian/gstreamer-dv.install, debian/gstreamer-misc.install:
+    * Patch build system for kfreebsd-gnu (Closes: #272568)
+  * debian/rules:
+    * Distribute NEWS (as requested in #275717)
+  * debian/gstreamer-misc.install:
+    * Add new plugins: apetag, tta
+  * debian/patches/configure-speex.patch:
+    * Remove patch, included upstream
+  * debian/build-deps.in:
+    * Build against latest libflac-dev
+
+ -- David I. Lehn <dlehn@debian.org>  Fri,  7 Jan 2005 13:52:27 -0500
+
+gst-plugins0.8 (0.8.6-1) unstable; urgency=low
+
+  * New upstream
+    * Rhythmbox hangs/crashes fixes (Closes: #245757, #277146)
+    * Rhythmbox silence after resume play fixes (Closes: #261841)
+    * Ogg seeking fixes (Closes: #277396)
+  * debian/build-deps.in:
+    * Bump libswfdec to libswfdec0.3-dev
+    * Add libavc1394-dev
+    * Add liboil0.2-dev
+    * Versioned libspeex-dev
+  * debian/gstreamer-misc.install:
+    * Add new plugin: equalizer
+  * debian/watch:
+    * Add watch file
+  * debian/rules:
+    * Update GStreamer core dev dependency to 0.8.4
+  * ext/ladspa/gstladspa.c, debian/patches/ladspa-quiet.patch:
+    * Move patch to debian/patches/
+
+ -- David I. Lehn <dlehn@debian.org>  Mon, 29 Nov 2004 04:02:43 -0500
+
+gst-plugins0.8 (0.8.5-1) unstable; urgency=low
+
+  * New upstream
+  * debian/rules:
+    * Use CDBS simple-patchsys
+    * debian/control: to debian/control:: for newer CDBS
+  * debian/patches/configure-speex.diff:
+    * Fix speex detection
+
+ -- David I. Lehn <dlehn@debian.org>  Wed,  6 Oct 2004 20:15:52 -0400
+
+gst-plugins0.8 (0.8.4-1) unstable; urgency=low
+
+  * New upstream
+  * debian/control.in:
+    * Add -theora package to -plugins package
+  * debian/rules:
+    * Drop upstream ChangeLog from plugin packages due to size
+  * debian/README.Debian:
+    * Add note about ChangeLog
+
+ -- David I. Lehn <dlehn@debian.org>  Thu,  2 Sep 2004 23:03:44 -0400
+
+gst-plugins0.8 (0.8.3-1) unstable; urgency=low
+
+  * New upstream
+  * debian/control.in, debian/build-deps.in, debian/gstreamer-theora.install,
+    debian/rules:
+    * New theora plugin
+  * debian/gstreamer-misc.install:
+    * Add new plugins: alphacolor, decodebin, multifilesink, playbin
+
+ -- David I. Lehn <dlehn@debian.org>  Sat,  7 Aug 2004 09:50:10 -0400
+
+gst-plugins0.8 (0.8.2-3) unstable; urgency=high
+
+  * debian/libgstreamer-gconf.postinst:
+    Remove.  schema install now handled by dh_gconf which moved the schema
+    location causing old hardcoded /etc path to fail.
+    (Closes: #259538, #259119, #259205)
+  * Urgency high: GNOME team wants this in sarge now.
+
+ -- David I. Lehn <dlehn@debian.org>  Fri, 16 Jul 2004 09:17:18 -0400
+
+gst-plugins0.8 (0.8.2-2) unstable; urgency=low
+
+  * debian/rules:
+    * Bump libgstreamer0.8-dev dep up to get fixed shlibs
+  * Rebuild with proper shlibs (Closes: #256181, #256494)
+
+ -- David I. Lehn <dlehn@debian.org>  Wed,  7 Jul 2004 01:16:48 -0400
+
+gst-plugins0.8 (0.8.2-1) unstable; urgency=medium
+
+  * New upstream
+  * debian/build-deps.in:
+    * Add libdts-dev
+  * ext/Makefile.{am,in}:
+    * Fix so dts dir is built
+  * debian/gstreamer-misc.install:
+    * Add DTS plugin
+    * Added alpha, audiorate, dtsdec, multipart, videobox, videomixer, and
+      videorate
+  * debian/rules:
+    * Update libgstreamer0.8-dev build dependency to 0.8.3-2
+  * debian/control.in:
+    * Remove explicit libgstreamer deps, autodetected now
+
+ -- David I. Lehn <dlehn@debian.org>  Wed, 23 Jun 2004 23:50:53 -0400
+
+gst-plugins0.8 (0.8.1-4) unstable; urgency=low
+
+  * gst-libs/gst/riff/riff-media.c:
+    * caps type typo fix from CVS
+  * gst-libs/gst/resample/private.h:
+    * disabled ppc code fix from CVS (Closes: #252991)
+  * sys/v4l/gstv4lsrc.c:
+    * caps fix NULL->any from CVS
+
+ -- David I. Lehn <dlehn@debian.org>  Wed, 16 Jun 2004 01:24:41 -0400
+
+gst-plugins0.8 (0.8.1-3) unstable; urgency=low
+
+  * rerun autoget.sh to fix arm builds (Closes: #251592)
+  * gconf/gstreamer.schemas.in, gcon/gstreamer-0.8.schemas:
+    s/xvideosink/xvimagesink/ (Closes: #250575) 
+
+ -- David I. Lehn <dlehn@debian.org>  Tue,  1 Jun 2004 10:10:37 -0400
+
+gst-plugins0.8 (0.8.1-2) unstable; urgency=low
+
+  * debian/build-deps.in:
+    * Update "libdv2-dev" to "libdv4-dev | libdv-dev"
+  * debian/control.in, debian/extra, debian/rules:
+    * Remove arts plugin.  Detection, flags, and include directory build code
+      is too buggy for plugin to build at the moment.
+
+ -- David I. Lehn <dlehn@debian.org>  Thu, 29 Apr 2004 18:10:48 -0400
+
+gst-plugins0.8 (0.8.1-1) unstable; urgency=low
+
+  * New upstream
+  * debian/gstreamer-misc.install:
+    * add libgstdebug.so
+
+ -- David I. Lehn <dlehn@debian.org>  Sun, 18 Apr 2004 01:04:36 -0400
+
+gst-plugins0.8 (0.8.0-2) unstable; urgency=low
+
+  * Bump to -2 to ease upgrades for early -1 testers
+  * debian/build-deps.in:
+    * Add libgtk2.0-dev 
+
+ -- David I. Lehn <dlehn@debian.org>  Thu, 15 Apr 2004 17:50:14 -0400
+
+gst-plugins0.8 (0.8.0-1) unstable; urgency=low
+
+  * New upstream (Closes: #234071, #240663)
+  * debian/rules:
+    * Switch to CDBS
+    * Version now at 0.8
+    * Convert various control files to versioned ones for build
+    * Add/rename/remove generated plugins files
+  * debian/control.in:
+    * Update Standards-Version to 3.6.1
+    * Add -caca and -speex plugins
+    * Remove -http plugin
+  * debian/build-deps.in:
+    * Add cdbs
+    * Update debhelper >= 4.1.0
+    * Add caca, speex, and pango deps
+    * Remove libghttp-dev
+  * debian/gstreamer-http.install
+    * Remove
+  * debian/gstreamer-{speex|caca}.install:
+    * Add new plugins
+  * debian/*.install:
+    * Append debian/tmp for CDBS
+    * General cleanups to support versioned files and locations
+  * debian/gstreamer-esd.install:
+    * Remove libgstesdmod
+    * Change libgstesdsink to libgstesd
+  * debian/gstreamer-plugin-libs.install:
+    * Stick locale info in here for lack of a better place
+  * debian/gstreamer-plugin-libs[-dev].install:
+    * Add support for colorbalance, mixer, navigation, propertyprobe, tag,
+      tuner, xoverlay, and xwindowlistener
+    * Add pkgconfig support for plugins, interfaces, and media-info
+  * debian/gstreamer-gnomevfs.install:
+    * s/libgstgnomevfs{src|sink}.so/libgstgnomevfs.so/
+  * debian/gstreamer-colorspace.install:
+    * Rename to gstreamer-hermes.install
+    * Move generic and ffmpeg based colorspace plugins to -misc
+    * Provide gstreamerX.Y-colorspace
+  * debian/gstreamer-misc.install:
+    * v4l/v4l2 support merged to libgstvideo4linux[2].so
+    * Add gdkpixbuf, interleave, nassink, ogg, smoothwave, tagedit,
+      textoverlay, timeoverlay, typefindfunctions, videobalance, videodrop,
+      videofilter, videoflip
+    * Move generic and ffmpeg based colorspace plugins from -hermes
+    * Provide gstreamerX.Y-colorspace
+  * debian/gstreamer-plugin-libs.install:
+    * Rename to libgstreamer-plugins.install
+  * debian/gstreamer-plugin-libs-dev.install:
+    * Rename to libgstreamer-plugins-dev.install
+  * debian/gstreamer-gconf.install:
+    * Rename libgstreamer-gconf.install
+    * Remove dev files
+  * debian/gstreamer-gconf.postinst:
+    * Rename to libgstreamer-gconf.postinst
+  * debian/libgstreamer-gconf-dev.install:
+    * Added
+    * Add dev parts from gstreamer-gconf.install
+  * configure.ac, configure:
+    * Patch from CVS to get arts to detect on Debian boxen
+  * ext/speex/gstspeex{dec,enc}.c:
+    * Upstream patch for static pad templates (caused gst-compprep-0.8 bugs)
+  * ext/ladspa/gstladspa.c:
+    * Change g_warning to DEBUG_OBJ to silence gst-compprep
+  * ext/libcaca/gstcacsink.c:
+    * Upstream patch to avoid cacasink windows with gst-inspect/compprep
+
+ -- David I. Lehn <dlehn@debian.org>  Wed, 14 Apr 2004 19:14:14 -0400
+
+gst-plugins0.7 (0.7.6-1) unstable; urgency=low
+
+  * New upstream
+
+ -- David I. Lehn <dlehn@debian.org>  Wed, 17 Mar 2004 19:06:48 -0500
+
+gst-plugins0.7 (0.7.5-1) unstable; urgency=low
+
+  * New upstream
+
+ -- David I. Lehn <dlehn@debian.org>  Wed, 17 Mar 2004 18:47:19 -0500
+
+gst-plugins0.7 (0.7.4-1) unstable; urgency=low
+
+  * New upstream
+
+ -- David I. Lehn <dlehn@debian.org>  Wed, 17 Mar 2004 18:46:27 -0500
+
+gst-plugins0.7 (0.7.3-1) unstable; urgency=low
+
+  * New upstream
+
+ -- David I. Lehn <dlehn@debian.org>  Wed, 17 Mar 2004 18:42:05 -0500
+
+gst-plugins0.7 (0.7.1-1) unstable; urgency=low
+
+  * New upstream
+    * Versioning package as 0.7
+
+ -- David I. Lehn <dlehn@debian.org>  Wed, 17 Mar 2004 18:31:51 -0500
+
+gst-plugins (0.6.4-4) unstable; urgency=low
+
+  * ext/alsa/gstalsa.h:
+    * Patch to compile with alsa-lib 1.0.x (Closes: #231870)
+
+ -- David I. Lehn <dlehn@debian.org>  Sat, 14 Feb 2004 17:49:01 -0500
+
+gst-plugins (0.6.4-3) unstable; urgency=low
+
+  * debian/build-deps.in:
+    * Update jack dependency to libjack0.80.0-dev (>= 0.94.0)
+      (Closes: #221620, #228784)
+    * Update libmpeg2 dependency to libmpeg2-4-dev (>= 0.4.0b)
+  * ext/mpeg2dec/gstmpeg2dec.c: Patch for libmpeg2 0.4.0b
+
+ -- David I. Lehn <dlehn@debian.org>  Mon, 26 Jan 2004 18:21:45 -0500
+
+gst-plugins (0.6.4-2) unstable; urgency=low
+
+  * debian/rules: Disable ffmpeg for everything but i386 due to PIC issues
+    (Closes: #219284)
+
+ -- David I. Lehn <dlehn@debian.org>  Thu,  6 Nov 2003 16:30:35 -0500
+
+gst-plugins (0.6.4-1) unstable; urgency=low
+
+  * New upstream
+    * ESD updates (Closes: #218736)
+  * Acknowledge NMU (Closes: #217981, #213811)
+  * Rebuild to fix gconf liblinc1 dependency (Closes: #217771)
+  * gstreamer-misc: add v4l2 support (Closes: #199900)
+  * Use pre-Linux-2.6 videodev.h to compile v4l support
+
+ -- David I. Lehn <dlehn@debian.org>  Mon,  3 Nov 2003 15:10:59 -0500
+
+gst-plugins (0.6.3-1.1) unstable; urgency=low
+
+  * NMU - Patch from Jordi Mallach
+  * debian/build-deps.in: libgconf2-dev and libgnomevfs2-dev need GNOME 2.4
+    versions for the liblinc1 transition (closes: #217981).
+  * debian/rules: gstreamer build-dep should be versioned (>= 0.6.3)
+    (closes: #213811).
+
+ -- LaMont Jones <lamont@debian.org>  Thu, 30 Oct 2003 09:12:11 -0700
+
+gst-plugins (0.6.3-1) unstable; urgency=low
+
+  * New upstream
+    * Includes ESD seeking fix (Closes: #201171)
+
+ -- David I. Lehn <dlehn@debian.org>  Mon,  1 Sep 2003 23:15:49 -0400
+
+gst-plugins (0.6.2-2) unstable; urgency=low
+
+  * Fix ffmpeg makefile install rule to work even when ffmpeg build is
+    disabled (Closes: #198148, #199072)
+  * Apply partial patches from running autogen.sh to fix arm builds (excluding
+    other unrelated generated file changes) (Closes: #199872)
+  * Update to support libdvdnav 0.1.9 API
+
+ -- David I. Lehn <dlehn@debian.org>  Fri, 11 Jul 2003 01:01:15 -0400
+
+gst-plugins (0.6.2-1) unstable; urgency=low
+
+  * New upstream
+  * Add dv1394src to gstreamer-dv
+
+ -- David I. Lehn <dlehn@debian.org>  Thu, 12 Jun 2003 11:39:51 -0400
+
+gst-plugins (0.6.1-2) unstable; urgency=low
+
+  * (unreleased)
+  * Adapt to gstreamer package merge: remove -core, -core-libs, -core-libs-dev
+    dependencies as needed.  Fixes missing scheduler bugs.
+    (Closes: #181503, #191720)
+  * Use versioned gst-{register,compprep}-0.6
+  * Update jack dependency to libjack0.71.2-dev (Closes: #195401)
+  * Update libdvdnav dependency to (>= 0.1.7) and revert patch for
+    compatibility with 0.1.3.
+  * Update libdvdread2 dependency to libdvdread3-dev
+  * Remove DISPLAY unset hacks from postinst/postrm scripts and fix non-X
+    installs with 0.6.2 CVS xvideosink patch. (Closes: #165372, #168438)
+  * Link libgstplay to libgstcontrol. (Closes: #194107)
+
+ -- David I. Lehn <dlehn@debian.org>  Thu,  5 Jun 2003 02:29:44 -0400
+
+gst-plugins (0.6.1-1) unstable; urgency=low
+
+  * New upstream
+  * Update maintainer address to @debian.org
+  * gstreamer-gconf libs properly linked upstream (Closes: Bug#187353)
+  * debian/control.in:
+    * gstreamer-vorbis depends on gstreamer-core-libs (Closes: Bug#188606)
+  * Apply gnomevfs patch from http://bugzilla.gnome.org/show_bug.cgi?id=94113
+  * ffmpeg plugin only builds, and now is only packaged, on i386/powerpc (Yes
+    this is bad - better shared lib support needed.) (Closes: Bug#186525)
+  * Revert dvdnav support to libdvdnav 0.1.3 API
+  * Unset DISPLAY before calling gst-register/gst-compprep
+  * ext/ladspa/gstladspa.c:472: s/g_warning/GST_DEBUG/ to avoid printing of a
+    warning on every plugin package install when swh-plugins is installed.
+    (sinCos plugin executes this code path)
+
+ -- David I. Lehn <dlehn@debian.org>  Sat,  3 May 2003 18:30:16 -0400
+
+gst-plugins (0.6.0-4) unstable; urgency=low
+
+  * debian/build-deps.in:
+    * Updated libvorbis-dev to (>= 1.0.0-2) (Closes: Bug#184671)
+
+ -- David I. Lehn <dlehn@vt.edu>  Fri, 14 Mar 2003 11:12:21 -0500
+
+gst-plugins (0.6.0-3) unstable; urgency=low
+
+  * debian/build-deps.in:
+    * Add libartsc0-dev so artsc-config is present so arts[d] plugins get
+      built so the arts[d] packages actually include the arts[d] plugins
+      (Closes: Bug#181438)
+    * Update JACK dependency to 0.50.0
+
+ -- David I. Lehn <dlehn@vt.edu>  Fri,  7 Mar 2003 23:51:46 -0500
+
+gst-plugins (0.6.0-2) unstable; urgency=low
+
+  * NMU (with maintainer's permission)
+  * Change libarts-dev build-dep to libarts1-dev (Closes: #180537)
+
+ -- David Schleef <ds@schleef.org>  Mon, 10 Feb 2003 21:33:47 -0800
+
+gst-plugins (0.6.0-1) unstable; urgency=low
+
+  * New upstream
+
+ -- David I. Lehn <dlehn@vt.edu>  Sat,  1 Feb 2003 21:51:54 -0500
+
+gst-plugins (0.5.2.3-1) unstable; urgency=low
+
+  * New upstream
+
+ -- David I. Lehn <dlehn@vt.edu>  Thu, 30 Jan 2003 23:52:08 -0500
+
+gst-plugins (0.5.2.2-1) unstable; urgency=low
+
+  * New upstream
+    * pre-release for 0.6.0
+  * debian/gstreamer-gconf.install:
+    * add gstreamer-gconf-*.pc
+  * debian/gstreamer-misc.install:
+    * remove libgstaviparse.so
+
+ -- David I. Lehn <dlehn@vt.edu>  Wed, 29 Jan 2003 15:07:06 -0500
+
+gst-plugins (0.5.2-1) unstable; urgency=low
+
+  * New upstream
+  * debian/build-deps.in:
+    - Update swfdec dependency to 0.2.0
+  * debian/gstreamer-misc.install:
+    - add libgstaviparse.so
+
+ -- David I. Lehn <dlehn@vt.edu>  Thu, 23 Jan 2003 22:17:31 -0500
+
+gst-plugins (0.5.1-1) unstable; urgency=low
+
+  * New upstream
+  * Update GStreamer dependency to 0.5.1
+  * Update JACK dependency to 0.44.0
+  * Remove gstreamer-avifile package (avifile not supported on many
+    architectures and upstream is deprecating it in favor of ffmpeg)
+  * Add support for building unsupported plugin packages (avifile, lame, etc)
+  * Tighten shlib deps for gstreamer-plugin-libs and gstreamer-gconf packages
+    (may split off true lib* packages eventually, was trying to avoid even
+    more packages)
+  * gstreamer-misc: add oneton and vbidec
+  * Rebuild for newer sid libs (Closes: Bug#177410)
+  * Various small fixes from CVS
+
+ -- David I. Lehn <dlehn@vt.edu>  Mon, 20 Jan 2003 11:57:26 -0500
+
+gst-plugins (0.5.0-1) unstable; urgency=low
+
+  * New upstream
+  * Update libpng dependency to libpng12-0-dev
+  * Patch from CVS to support mpeg2dec 0.3.1
+  * Patch from CVS to improve X error handling and remote X usage
+  * gstreamer-plugin-libs[-dev]: add media-info lib
+  * gstreamer-misc: add png plugin
+  * Use swfdec 0.1.3 API: s/swf_init/swfdec_decoder_new/ to avoid symbol
+    conflicts with avifile plugin
+
+ -- David I. Lehn <dlehn@vt.edu>  Tue, 17 Dec 2002 20:27:42 -0500
+
+gst-plugins (0.4.2-2) unstable; urgency=low
+
+  * Update JACK dependency to 0.40.1
+  * Apply gst-launch-ext perlism patch (Closes: #170736)
+  * Apply patch from Erik Meusel <meusel@codixx.de> to allow building with
+    other KDE arts packages (Closes: Bug#167538)
+  * Update mpeg2dec dependency to 0.3.0, convert over to gstmpeg2deccvs plugin
+    code, and adjust mpeg2dec check
+  * Add Provides: for virtual gstreamer-{audio,video}sink packages to make it
+    easier for applications to ensure output sinks are available.  This isn't
+    foolproof and it's possible that a rare user might not need the standard
+    packaged audio/video sinks.  For now those users can use the "equivs"
+    package to get around the problem. (Closes: Bug#169968)
+
+ -- David I. Lehn <dlehn@vt.edu>  Wed,  4 Dec 2002 02:25:41 -0500
+
+gst-plugins (0.4.2-1.1) unstable; urgency=low
+
+  * NMU
+  * Depend on swfdec-0.1.2-3, since it had a bug.
+
+ -- David Schleef <ds@schleef.org>  Tue, 12 Nov 2002 17:43:48 -0800
+
+gst-plugins (0.4.2-1) unstable; urgency=low
+
+  * New upstream
+  * Add libpng2-dev to Build-Depends for snapshot
+  * Add smpte, snapshot, and wavenc to gstreamer-misc
+  * Add video and play libs to gstreamer-plugin-libs{-dev}
+  * Add gstreamer-swfdec plugin package
+  * Add hack to swfdec plugin to not segfault when avifile also loaded due to
+    symbols conflicts.  This annoyance will spew errors during gst-compprep
+    and probably will cause errors in apps that use both swfdec and avifile.
+  * Tighten dependency on libgstreamer until upstream code can deal with
+    multiple plugin versions and upgrades better
+  * Move gstreamer-plugin-apps to Section: utils from x11
+
+ -- David I. Lehn <dlehn@vt.edu>  Wed,  6 Nov 2002 21:41:01 -0500
+
+gst-plugins (0.4.1-1) unstable; urgency=low
+
+  * New upstream
+  * Update FLAC dependency to 1.0.4 and add support patch from CVS
+  * Rebuild for libflac4 (Closes: Bug#163549)
+  * Build gconf code as a library rather than a plugin
+  * Improved plugin descriptions
+  * Added to -misc: cdplayer, videocrop, videotestsrc, mixmatrix
+  * Add autotools-dev to Build-Depends
+  * Update config.{guess,sub}
+
+ -- David I. Lehn <dlehn@vt.edu>  Mon,  7 Oct 2002 17:51:43 -0400
+
+gst-plugins (0.4.0.2-cvs20020919-1) unstable; urgency=low
+
+  * CVS snapshot, release branch
+  * gstreamer-gconf.files: libgstgconf.so moved to /usr/lib
+  * added control.in, build-deps, and mk.control script.  Edit control.in
+    and/or build-deps, and run 'debian/rules debian/control' from toplevel
+    directory to recreate debian/control.  This should make it a lot
+    easier to diff build dependencies.
+
+ -- David Schleef <ds@schleef.org>  Thu, 19 Sep 2002 15:18:41 -0700
+
+gst-plugins (0.4.0-5) unstable; urgency=low
+
+  * Update Build-Depends
+  * Use pkg-config checking vs m4 macros for libdv
+
+ -- David I. Lehn <dlehn@vt.edu>  Fri, 23 Aug 2002 10:33:29 -0400
+
+gst-plugins (0.4.0-4) unstable; urgency=low
+
+  * Fixes from CVS for gstgnomevfssrc.c and endian issue in vorbisfile.c
+
+ -- David I. Lehn <dlehn@vt.edu>  Fri,  2 Aug 2002 20:51:38 -0400
+
+gst-plugins (0.4.0-3) unstable; urgency=low
+
+  * Add ladspa-sdk to Build-Depends
+  * Removed qcam plugin from -misc.
+    It's i386 only and probably not widely used.  Will figure out how to
+    package in the future if someone needs it.
+
+ -- David I. Lehn <dlehn@vt.edu>  Mon, 29 Jul 2002 16:32:33 -0400
+
+gst-plugins (0.4.0-2) unstable; urgency=low
+
+  * Clean up the Build-Depends:
+    - stricter versioning
+    - remove gnome deps (used for examples which are not build now)
+  * Fix segfault in vorbis.m4 check
+
+ -- David I. Lehn <dlehn@vt.edu>  Mon, 29 Jul 2002 10:47:12 -0400
+
+gst-plugins (0.4.0-1) unstable; urgency=low
+
+  * New upstream
+  * FLAC compile fixes from CVS
+  * DV comiled fixes
+  * Upated ltmain hack
+  * autogen.sh with more recent tools
+  * Update config.{guess,sub}
+  * Added plugin packages: -gconf, -http, -jack, -dv
+  * Added dvdnav plugin to -dvd
+  * Removed osshelper plugin from -oss
+  * Added xvideosink back to -x
+  * Added effectv, filter, and qtdemux plugins to -misc
+  * Rename gstreamer-lib-misc{-dev} to gstreamer-plugin-libs{-dev} to match
+    gstreamer core.
+  * Added gstreamer-plugin-apps package for a lonely 2 scripts
+  * Renamed gstreamer-all to gstreamer-plugins
+
+ -- David I. Lehn <dlehn@vt.edu>  Tue, 16 Jul 2002 02:10:07 -0400
+
+gst-plugins (0.3.4-2) unstable; urgency=low
+
+  * Rebuild for new avifile
+
+ -- David I. Lehn <dlehn@vt.edu>  Wed, 24 Apr 2002 14:06:46 -0400
+
+gst-plugins (0.3.4-1) unstable; urgency=low
+
+  * New upstream
+  * Fix mpeg2dec.m4 to use newer mpeg2dec libs
+
+ -- David I. Lehn <dlehn@vt.edu>  Mon, 15 Apr 2002 03:34:21 -0400
+
+gst-plugins (0.3.3-2) unstable; urgency=low
+
+  * Port a52dec plugin to 0.7.3 API (applied upstream)
+  * Use a52dec packages in Debian vs current external ones
+    * This switches a52dec plugin to static linking
+  * Remove LAME support
+    * No LAME packages in Debian to depend on
+    * Added explanation in README.Debian since this will likely
+      cause no end of "Why is there no LAME plugin?"
+  * Depend on and rebuild for mpeg2dec 0.2.1
+  * Depend on and rebuild for glib 2.0
+  * Remove gtk from Build-Depends: (not needed for the built plugins)
+
+ -- David I. Lehn <dlehn@vt.edu>  Sat, 23 Mar 2002 17:52:03 -0500
+
+gst-plugins (0.3.3-1) unstable; urgency=low
+
+  * New upstream version
+  * SDL fixed upstream, remove patch
+  * Require libid3tag for mad support
+  * Remove xvideosink from gstreamer-x package in favor of videosink
+    Needed to be removed due to symbol conflicts with videosink
+  * Sync with upstream changes:
+    * Added videosink to gstreamer-x package
+    * parseau renamed to auparse in -misc
+    * Added various plugins to -misc: goom, monoscope, modplug, ...
+  * Note: new upstream scripts gst-launch-ext and gst-visualise not
+    packaged yet
+
+ -- David I. Lehn <dlehn@vt.edu>  Thu, 21 Mar 2002 02:06:21 -0500
+
+gst-plugins (0.3.2-3) unstable; urgency=low
+
+  * Rebuild for glib/gtk 1.3.15
+
+ -- David I. Lehn <dlehn@vt.edu>  Mon, 25 Feb 2002 00:06:51 -0500
+
+gst-plugins (0.3.2-2) unstable; urgency=low
+
+  * Build against liblinc1 and newer gnomevfs
+
+ -- David I. Lehn <dlehn@vt.edu>  Sun, 17 Feb 2002 15:52:57 -0500
+
+gst-plugins (0.3.2-1) unstable; urgency=low
+
+  * New upstream release
+  * Many diffs merged upstream
+  * Unversioned plugins upstream, just packaging .so (no .la, .a)
+  * Added cdxa plugin to -misc
+  * Various plugins in -misc moved around and merged upstream
+
+ -- David I. Lehn <dlehn@vt.edu>  Fri, 15 Feb 2002 21:54:27 -0500
+
+gst-plugins (0.3.1-4) unstable; urgency=low
+
+  * Rebuild for glib/gtk 1.3.13
+
+ -- David I. Lehn <dlehn@vt.edu>  Wed,  6 Feb 2002 02:16:16 -0500
+
+gst-plugins (0.3.1-3) unstable; urgency=low
+
+  * Fix arts symbol problem (add -lartsflow -lartsflow_idl)
+  * Replace m4/gst-sdl.m4 with Debian's sdl.m4
+  * Use SDL_LIBS_FOR_PLUGINS instead of SDL_LIBS
+
+ -- David I. Lehn <dlehn@vt.edu>  Wed, 23 Jan 2002 12:37:00 -0500
+
+gst-plugins (0.3.1-2) unstable; urgency=low
+
+  * Rebuild against fixed gstreamer.pc in libgst-dev 0.3.1-2
+    Should just link to libxml2 now rather than v1 and v2
+
+ -- David I. Lehn <dlehn@vt.edu>  Wed, 23 Jan 2002 02:29:49 -0500
+
+gst-plugins (0.3.1-1) unstable; urgency=low
+
+  * Upstream split plugins into new package
+  * Upstream removed mpg123 plugin - use mad plugin
+  * Upstream removed ac3dec plugin - use a52dec
+  * Added -lib-misc and -lib-misc-dev packages for
+    library plugins and headers
+  * Patch to link all plugins to GST_LIBS
+
+ -- David I. Lehn <dlehn@vt.edu>  Fri, 11 Jan 2002 11:22:01 -0500
+
+gstreamer (0.3.0-3) unstable; urgency=low
+
+  * Remove upstream ChangeLog from packages: 128k changelog.gz per
+    plugin package for 40 packages is too much
+
+ -- David I. Lehn <dlehn@vt.edu>  Tue, 25 Dec 2001 23:36:28 -0500
+
+gstreamer (0.3.0-2) unstable; urgency=low
+
+  * Fix bug that slipped into 0.3.0: s/aasink/xvideosink/ in
+    gstplay/gstplay.c
+
+ -- David I. Lehn <dlehn@vt.edu>  Tue, 25 Dec 2001 17:56:29 -0500
+
+gstreamer (0.3.0-1) unstable; urgency=low
+
+  * New upstream release
+  * Attempt to update various Build-Depends versions
+  * Added plugin packages: -a52dec, -dvd, -mikmod, -sid
+  * Renamed -elements to -core
+  * Added to -core: gstbasicscheduler
+  * Moved from -common to -core: gsttypes, autoplug related
+  * Renamed -common to -misc
+  * Added to -misc: speed, qcam, bytesteram, control, silence, sinesrc,
+    mpegstream, playondemand, resample
+  * Added gstreamer-guilaunch to gstreamer-tools package
+  * Added dependencies on unofficial LAME packages
+  * Use PIC libs for Xv
+  * Disable broken building of PDF/PS docs
+  * Renamed -all-plugins to -all
+  * Disable docs -- too hard to build
+
+ -- David I. Lehn <dlehn@vt.edu>  Fri, 21 Dec 2001 12:00:02 -0500
+
+gstreamer (0.2.1-4) unstable; urgency=low
+
+  * Fix some problems reported from lintian 1.20.14:
+    * copyright-lists-upstream-authors-like-dh_make
+    * debian-changelog-file-contains-user-emacs-settings
+  * Patch from CVS to link libgst into plugins
+    Plugins now properly depend on libgst package
+  * Use RedHat Gtk+-1.3 hack to fix relink issues with ltmain.sh
+  * Patch from CVS for xvideosink segfault when no DISPLAY set
+  * Remove builddir references from gstreamer-config.in
+  * Move libgstelements.la from libgst-dev to gstreamer-elements
+
+ -- David I. Lehn <dlehn@vt.edu>  Tue, 28 Aug 2001 20:05:28 -0400
+
+gstreamer (0.2.1-3) unstable; urgency=low
+
+  * Update build dependencies to FLAC 1.0
+  * Enable debug features
+  * Fixup broken doc build -scan voodoo with link into .libs/ dir
+
+ -- David I. Lehn <dlehn@vt.edu>  Sun,  5 Aug 2001 23:04:28 -0400
+
+gstreamer (0.2.1-2) unstable; urgency=low
+
+  * Fix lib deps: run debhelper tools in the right order
+  * Added arts dir to Makefile.am SUBDIRS so it builds again
+  * Changed libmpeg2dec to libgstmpeg2dec to avoid naming issues
+    when using -lmpeg2dec
+  * Updated system_encode/ with CVS segfaulter bug fix
+
+ -- David I. Lehn <dlehn@vt.edu>  Thu, 19 Jul 2001 15:47:24 -0400
+
+gstreamer (0.2.1-1) unstable; urgency=low
+
+  * New upstream 0.2.1: "Return of the Sedi Master"
+  * New plugin packages: -festival, -flac, -avifile, -x
+  * New plugins in -common: chart, deinterlace, udp
+  * Added some post-0.2.1 fixes for FLAC, build system, ALSA
+
+ -- David I. Lehn <dlehn@vt.edu>  Thu, 28 Jun 2001 20:15:15 -0400
+
+gstreamer (0.2.0-6) unstable; urgency=low
+
+  * Move -compprep to -runtime and call it same places as -register
+  * Do -register and -compprep in postrm instead of prerm
+  * Make -arts plugin actually build all the source (sent upstream)
+  * Purge of -runtime removes /etc/gstreamer
+
+ -- David I. Lehn <dlehn@vt.edu>  Tue, 19 Jun 2001 13:09:32 -0400
+
+gstreamer (0.2.0-5) unstable; urgency=low
+
+  * Added element package dependencies to libgstmediaplay0
+
+ -- David I. Lehn <dlehn@vt.edu>  Mon, 18 Jun 2001 11:18:53 -0400
+
+gstreamer (0.2.0-4) unstable; urgency=low
+
+  * Add --gst-mask=0 to -runtime.postinst
+
+ -- David I. Lehn <dlehn@vt.edu>  Fri, 15 Jun 2001 11:47:24 -0400
+
+gstreamer (0.2.0-3) unstable; urgency=low
+
+  * Fix the plugin control file symlink creation
+  * Add audiofile to Build-Depends
+
+ -- David I. Lehn <dlehn@vt.edu>  Fri, 15 Jun 2001 05:22:28 -0400
+
+gstreamer (0.2.0-2) unstable; urgency=low
+
+  * Fixed ALSA checks to not include -lasound in -every- link
+  * Update LAME plugin to use latest CVS API
+  * Removed OSS src/sink from -common.files (was in -oss too)
+  * Swapped -arts.files and -artsd.files contents
+
+ -- David I. Lehn <dlehn@vt.edu>  Fri, 15 Jun 2001 04:02:21 -0400
+
+gstreamer (0.2.0-1) unstable; urgency=low
+
+  * Added gstreamer-compprep manpage
+  * Upgrade to 0.2.0
+
+ -- David I. Lehn <dlehn@vt.edu>  Thu,  7 Jun 2001 12:53:59 -0400
+
+gstreamer (0.2.0-0.3) unstable; urgency=low
+
+  * GStreamer 0.2.0-pre3
+
+ -- David I. Lehn <dlehn@vt.edu>  Wed,  6 Jun 2001 15:09:59 -0400
+
+gstreamer (0.2.0-0.2) unstable; urgency=low
+
+  * GStreamer 0.2.0-pre2 + CVS 20010604
+  * Added -artsd (vs -arts), -audiofile, -gnomevfs, -gsm, -jpeg,
+    -oss, and -sdl plugin packages
+  * Added osshelper lib to oss package
+  * Added more AVI related plugins and autoplug libs to -common
+  * Added pkgconfig file to libgst-dev
+  * Added gstreamer-all-plugins pseudo package that depends on
+    all other plugin pacakges
+
+ -- David I. Lehn <dlehn@vt.edu>  Mon,  4 Jun 2001 17:33:20 -0400
+
+gstreamer (0.2.0-0.1) unstable; urgency=low
+
+  * GStreamer 0.2.0-pre1
+
+ -- David I. Lehn <dlehn@vt.edu>  Thu, 31 May 2001 17:16:23 -0400
+
+gstreamer (0.1.1.20010504-1) unstable; urgency=low
+
+  * Latest CVS code
+
+ -- David I. Lehn <dlehn@vt.edu>  Fri,  4 May 2001 21:48:45 -0400
+
+gstreamer (0.1.1.20010430-2) unstable; urgency=low
+
+  * Added -colorspace package for Hermes dependent conversion
+  * Added -arts package for aRts sink
+
+ -- David I. Lehn <dlehn@vt.edu>  Tue,  1 May 2001 19:46:08 -0400
+
+gstreamer (0.1.1.20010430-1) unstable; urgency=low
+
+  * Latest CVS code
+  * Added -aa package for aasink output
+  * Added -mad package for mad mp3 decoder
+
+ -- David I. Lehn <dlehn@vt.edu>  Mon, 30 Apr 2001 18:25:52 -0400
+
+gstreamer (0.1.1.20010320-1) unstable; urgency=low
+
+  * Latest CVS code
+  * enable main docs
+  * disable broken plugin docs with new option
+
+ -- David I. Lehn <dlehn@vt.edu>  Tue, 20 Mar 2001 18:15:19 -0500
+
+gstreamer (0.1.1.20010315-1) unstable; urgency=low
+
+  * Latest CVS code
+  * Added man pages
+  * Split mpeg2dec to seperate plugin
+  * libgst Architectures updated to cothread supported archs
+
+ -- David I. Lehn <dlehn@vt.edu>  Thu, 15 Mar 2001 20:17:19 -0500
+
+gstreamer (0.1.1-1) unstable; urgency=low
+
+  * New upstream release
+  * disable docs build, broken at the momemnt
+
+ -- David I. Lehn <dlehn@vt.edu>  Sun, 25 Feb 2001 17:58:25 -0500
+
+gstreamer (0.1.0-2) unstable; urgency=low
+
+  * debian/rules: call configure instead of autogen.sh
+
+ -- David I. Lehn <dlehn@vt.edu>  Sat, 24 Feb 2001 18:31:36 -0500
+
+gstreamer (0.1.0-1) unstable; urgency=low
+
+  * Initial Release.
+
+ -- David I. Lehn <dlehn@vt.edu>  Mon, 15 Jan 2001 18:25:18 -0500
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..bd54a57
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,104 @@
+Source: gst-plugins-ugly1.0
+Section: libs
+Priority: optional
+Maintainer: Maintainers of GStreamer packages <pkg-gstreamer-maintainers@lists.alioth.debian.org>
+Uploaders: Loic Minier <lool@dooz.org>,
+           Sebastian Dröge <slomo@debian.org>
+Build-Depends: autoconf (>= 2.69),
+               automake (>= 1.14),
+               autopoint (>= 0.17),
+               autotools-dev,
+               cdbs (>= 0.4.93),
+               debhelper (>= 9),
+               dh-autoreconf,
+               dpkg-dev (>= 1.15.1),
+               libgstreamer1.0-dev (>= 1.8.0),
+               gstreamer1.0-doc,
+               gstreamer1.0-plugins-base (>= 1.8.0),
+               gstreamer1.0-plugins-base-doc,
+               gtk-doc-tools (>= 1.12),
+               liba52-0.7.4-dev,
+               libcdio-dev (>= 0.76),
+               libdvdread-dev (>= 0.9.0),
+               libglib2.0-dev (>= 2.40),
+               libgstreamer-plugins-base1.0-dev (>= 1.8.0),
+               libmad0-dev (>= 0.15),
+               libmp3lame-dev,
+               libmpeg2-4-dev (>= 0.4.0),
+               libmpg123-dev (>= 1.13),
+               libopencore-amrnb-dev (>= 0.1.3),
+               libopencore-amrwb-dev (>= 0.1.3),
+               liborc-0.4-dev (>= 1:0.4.17),
+               libsidplay1-dev,
+               libtool (>= 2.2.6),
+               libtwolame-dev (>= 0.3.10),
+               libx264-dev (>= 2:0.120),
+               pkg-config (>= 0.11.0)
+Standards-Version: 3.9.3
+Vcs-Git: git://anonscm.debian.org/pkg-gstreamer/gst-plugins-ugly1.0.git
+Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-gstreamer/gst-plugins-ugly1.0.git;a=summary
+Homepage: http://gstreamer.freedesktop.org/modules/gst-plugins-ugly.html
+
+Package: gstreamer1.0-plugins-ugly-doc
+Architecture: all
+Section: doc
+Depends: ${misc:Depends},
+         gstreamer1.0-doc,
+         gstreamer1.0-plugins-base-doc
+Description: GStreamer documentation for plugins from the "ugly" set
+ GStreamer is a streaming media framework, based on graphs of filters
+ which operate on media data.  Applications using this library can do
+ anything from real-time sound processing to playing videos, and just
+ about anything else media-related.  Its plugin-based architecture means
+ that new data types or processing capabilities can be added simply by
+ installing new plug-ins.
+ .
+ This package contains documentation for plugins from the "ugly" set,
+ a set of good-quality plug-ins that might pose distribution problems.
+
+Package: gstreamer1.0-plugins-ugly
+Architecture: any
+Multi-Arch: same
+Depends: ${misc:Depends},
+         ${shlibs:Depends}
+Replaces: gstreamer1.0-plugins-bad (<< 1.7.2)
+Breaks: gstreamer1.0-plugins-bad (<< 1.7.2)
+XB-GStreamer-Version: ${gstreamer:Version}
+XB-GStreamer-Elements: ${gstreamer:Elements}
+XB-GStreamer-URI-Sources: ${gstreamer:URISources}
+XB-GStreamer-URI-Sinks: ${gstreamer:URISinks}
+XB-GStreamer-Encoders: ${gstreamer:Encoders}
+XB-GStreamer-Decoders: ${gstreamer:Decoders}
+Provides: ${gstreamer:Provides}
+Description: GStreamer plugins from the "ugly" set
+ GStreamer is a streaming media framework, based on graphs of filters
+ which operate on media data.  Applications using this library can do
+ anything from real-time sound processing to playing videos, and just
+ about anything else media-related.  Its plugin-based architecture means
+ that new data types or processing capabilities can be added simply by
+ installing new plug-ins.
+ .
+ This package contains plugins from the "ugly" set, a set of
+ good-quality plug-ins that might pose distribution problems.
+
+Package: gstreamer1.0-plugins-ugly-dbg
+Architecture: any
+Multi-Arch: same
+Section: debug
+Priority: extra
+Depends: gstreamer1.0-plugins-ugly (= ${binary:Version}),
+         ${misc:Depends}
+Replaces: gstreamer1.0-plugins-bad-dbg (<< 1.7.2)
+Breaks: gstreamer1.0-plugins-bad-dbg (<< 1.7.2)
+Description: GStreamer plugins from the "ugly" set (debug symbols)
+ GStreamer is a streaming media framework, based on graphs of filters
+ which operate on media data.  Applications using this library can do
+ anything from real-time sound processing to playing videos, and just
+ about anything else media-related.  Its plugin-based architecture means
+ that new data types or processing capabilities can be added simply by
+ installing new plug-ins.
+ .
+ This package contains unstripped shared libraries. It is provided primarily
+ to provide a backtrace with names in a debugger, this makes it somewhat
+ easier to interpret core dumps. The libraries are installed in
+ /usr/lib/debug and are automatically used by gdb.
diff --git a/debian/control.in b/debian/control.in
new file mode 100644
index 0000000..c20b3c8
--- /dev/null
+++ b/debian/control.in
@@ -0,0 +1,75 @@
+Source: gst-plugins-ugly@GST_ABI@
+Section: libs
+Priority: optional
+Maintainer: Maintainers of GStreamer packages <pkg-gstreamer-maintainers@lists.alioth.debian.org>
+Uploaders: Loic Minier <lool@dooz.org>,
+           Sebastian Dröge <slomo@debian.org>
+Build-Depends: BUILDDEPS
+Standards-Version: 3.9.3
+Vcs-Git: git://anonscm.debian.org/pkg-gstreamer/gst-plugins-ugly@GST_ABI@.git
+Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-gstreamer/gst-plugins-ugly@GST_ABI@.git;a=summary
+Homepage: http://gstreamer.freedesktop.org/modules/gst-plugins-ugly.html
+
+Package: @GST_PKGNAME@-plugins-ugly-doc
+Architecture: all
+Section: doc
+Depends: ${misc:Depends},
+         gstreamer@GST_ABI@-doc,
+         gstreamer@GST_ABI@-plugins-base-doc
+Description: GStreamer documentation for plugins from the "ugly" set
+ GStreamer is a streaming media framework, based on graphs of filters
+ which operate on media data.  Applications using this library can do
+ anything from real-time sound processing to playing videos, and just
+ about anything else media-related.  Its plugin-based architecture means
+ that new data types or processing capabilities can be added simply by
+ installing new plug-ins.
+ .
+ This package contains documentation for plugins from the "ugly" set,
+ a set of good-quality plug-ins that might pose distribution problems.
+
+Package: @GST_PKGNAME@-plugins-ugly
+Architecture: any
+Multi-Arch: same
+Depends: ${misc:Depends},
+         ${shlibs:Depends}
+Replaces: gstreamer1.0-plugins-bad (<< 1.7.2)
+Breaks: gstreamer1.0-plugins-bad (<< 1.7.2)
+XB-GStreamer-Version: ${gstreamer:Version}
+XB-GStreamer-Elements: ${gstreamer:Elements}
+XB-GStreamer-URI-Sources: ${gstreamer:URISources}
+XB-GStreamer-URI-Sinks: ${gstreamer:URISinks}
+XB-GStreamer-Encoders: ${gstreamer:Encoders}
+XB-GStreamer-Decoders: ${gstreamer:Decoders}
+Provides: ${gstreamer:Provides}
+Description: GStreamer plugins from the "ugly" set
+ GStreamer is a streaming media framework, based on graphs of filters
+ which operate on media data.  Applications using this library can do
+ anything from real-time sound processing to playing videos, and just
+ about anything else media-related.  Its plugin-based architecture means
+ that new data types or processing capabilities can be added simply by
+ installing new plug-ins.
+ .
+ This package contains plugins from the "ugly" set, a set of
+ good-quality plug-ins that might pose distribution problems.
+
+Package: @GST_PKGNAME@-plugins-ugly-dbg
+Architecture: any
+Multi-Arch: same
+Section: debug
+Priority: extra
+Depends: @GST_PKGNAME@-plugins-ugly (= ${binary:Version}),
+         ${misc:Depends}
+Replaces: gstreamer1.0-plugins-bad-dbg (<< 1.7.2)
+Breaks: gstreamer1.0-plugins-bad-dbg (<< 1.7.2)
+Description: GStreamer plugins from the "ugly" set (debug symbols)
+ GStreamer is a streaming media framework, based on graphs of filters
+ which operate on media data.  Applications using this library can do
+ anything from real-time sound processing to playing videos, and just
+ about anything else media-related.  Its plugin-based architecture means
+ that new data types or processing capabilities can be added simply by
+ installing new plug-ins.
+ .
+ This package contains unstripped shared libraries. It is provided primarily
+ to provide a backtrace with names in a debugger, this makes it somewhat
+ easier to interpret core dumps. The libraries are installed in
+ /usr/lib/debug and are automatically used by gdb.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..40f9d72
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,271 @@
+This package was debianized by David I. Lehn <dlehn@debian.org> on
+Mon, 15 Jan 2001 18:21:37 -0500.
+
+It was downloaded from http://gstreamer.freedesktop.org/
+
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: Gstreamer Ugly Plugins 1.0
+Upstream-Contact: gstreamer-devel@lists.freedesktop.org
+Source: http://gstreamer.freedesktop.org
+
+Files: ext/cdio/gstcdiocddasrc.c
+ ext/cdio/gstcdiocddasrc.h
+ gst/asfdemux/asfpacket.c
+ gst/asfdemux/asfpacket.h
+ gst/asfdemux/gstrtpasfdepay.c
+ gst/asfdemux/gstrtpasfdepay.h
+ gst/realmedia/rademux.c
+ gst/realmedia/rademux.h
+ gst/realmedia/rmutils.c
+ gst/realmedia/rmutils.h
+Copyright: 2006, Tim-Philipp Müller <tim centricular net>
+  2007, Tim-Philipp Müller <tim centricular net>
+License: LGPL-2+
+
+Files: ext/mad/gstmad.c
+ ext/mpeg2dec/gstmpeg2dec.c
+ ext/mpeg2dec/gstmpeg2dec.h
+ ext/sidplay/gstsiddec.h
+ gst/asfdemux/asfheaders.c
+ gst/asfdemux/asfheaders.h
+ gst/asfdemux/gstasf.c
+ gst/asfdemux/gstasfdemux.h
+ gst/realmedia/rmdemux.h
+Copyright: <1999> Erik Walthinsen <omega@cse.ogi.edu>
+License: LGPL-2+
+
+Files: gst/asfdemux/gstrtspwms.c
+ gst/asfdemux/gstrtspwms.h
+ gst/realmedia/realhash.c
+ gst/realmedia/realhash.h
+ gst/realmedia/rtspreal.c
+ gst/realmedia/rtspreal.h
+Copyright: <2005-2006> Wim Taymans <wim@fluendo.com>
+License: LGPL-2+
+
+Files: ext/amrnb/amrnb.c
+ ext/amrnb/amrnbdec.c
+ ext/amrnb/amrnbdec.h
+ ext/amrnb/amrnbenc.c
+ ext/amrnb/amrnbenc.h
+ ext/amrwbdec/amrwbdec.c
+Copyright: 2004, Ronald Bultje <rbultje@ronald.bitfreak.net>
+License: LGPL-2+
+
+Files: gst/realmedia/asmrules.c
+ gst/realmedia/asmrules.h
+ gst/realmedia/rdtjitterbuffer.c
+ gst/realmedia/rdtjitterbuffer.h
+Copyright: <2007> Wim Taymans <wim.taymans@gmail.com>
+License: LGPL-2+
+
+Files: common/coverage/coverage-report-entry.pl
+ common/coverage/coverage-report.pl
+ common/coverage/coverage-report.xsl
+Copyright: 2006, Daniel Berrange
+License: GPL-2+
+
+Files: gst/realmedia/pnmsrc.c
+ gst/realmedia/pnmsrc.h
+ gst/realmedia/realmedia.c
+Copyright: <2009> Wim Taymans <wim.taymans@gmail.com>
+License: LGPL-2+
+
+Files: ext/cdio/gstcdio.c
+ ext/cdio/gstcdio.h
+ gst/asfdemux/gstasfdemux.c
+Copyright: 1999, Erik Walthinsen <omega@cse.ogi.edu>
+  2006, Tim-Philipp Müller <tim centricular net>
+  2006-2009, Tim-Philipp Müller <tim centricular net>
+License: LGPL-2+
+
+Files: gst/synaesthesia/gstsynaesthesia.c
+ gst/synaesthesia/gstsynaesthesia.h
+Copyright: <2001> Richard Boulton <richard@tartarus.org>
+License: GPL-2+
+
+Files: gst/synaesthesia/synaescope.c
+ gst/synaesthesia/synaescope.h
+Copyright: 1999,2002, Richard Boulton <richard@tartarus.org>
+License: GPL-2+
+
+Files: gst/dvdlpcmdec/gstdvdlpcmdec.c
+ gst/dvdlpcmdec/gstdvdlpcmdec.h
+Copyright: <1999> Erik Walthinsen <omega@cse.ogi.edu>
+  <2005> Jan Schmidt <jan@noraisin.net>
+License: LGPL-2+
+
+Files: ext/a52dec/gsta52dec.c
+ ext/a52dec/gsta52dec.h
+Copyright: <2001> David I. Lehn <dlehn@users.sourceforge.net>
+License: LGPL-2+
+
+Files: gst/dvdsub/gstdvdsubdec.c
+ gst/dvdsub/gstdvdsubdec.h
+Copyright: <2002> Wim Taymans <wim@fluendo.com>
+  <2005> Jan Schmidt <jan@fluendo.com>
+License: LGPL-2+
+
+Files: gst/realmedia/rdtdepay.c
+ gst/realmedia/rdtdepay.h
+Copyright: <2006> Lutz Mueller <lutz at topfrose dot de>
+License: LGPL-2+
+
+Files: gst/realmedia/gstrdtbuffer.c
+ gst/realmedia/gstrdtbuffer.h
+Copyright: <2008> Wim Taymans <wim.taymans@gmail.com>
+License: LGPL-2+
+
+Files: gst/xingmux/gstxingmux.c
+ gst/xingmux/gstxingmux.h
+Copyright: 2006, Christophe Fergeau <teuf@gnome.org>
+  2008, Sebastian Dröge <slomo@circular-chaos.org>
+License: LGPL-2+
+
+Files: ext/amrwbdec/amrwb.c
+ ext/amrwbdec/amrwbdec.h
+Copyright: 2006, Edgard Lima <edgard.lima@indt.org.br>
+License: LGPL-2+
+
+Files: gst/dvdsub/gstdvdsubparse.c
+ gst/dvdsub/gstdvdsubparse.h
+Copyright: 2007, Mark Nauwelaerts <mnauw@users.sourceforge.net>
+License: LGPL-2+
+
+Files: tests/check/elements/amrnbenc.c
+ tests/check/pipelines/lame.c
+Copyright: 2006, Thomas Vander Stichele <thomas at apestaart dot org>
+  2007, Thomas Vander Stichele <thomas at apestaart dot org>
+License: LGPL-2+
+
+Files: gst/realmedia/rdtmanager.c
+ gst/realmedia/rdtmanager.h
+Copyright: <2005-2006> Wim Taymans <wim@fluendo.com>
+License: MIT/X11 (BSD like) LGPL-2+
+
+Files: ltmain.sh
+Copyright: 1996-2001, 2003-2006
+License: GPL-2+
+
+Files: ext/dvdread/dvdreadsrc.h
+Copyright: <1999> Erik Walthinsen <omega@cse.ogi.edu>
+  <2001> Billy Biggs <vektor@dumbterm.net>
+  <2006> Tim-Philipp Müller <tim centricular net>
+License: LGPL-2+
+
+Files: gst/realmedia/rmdemux.c
+Copyright: <1999> Erik Walthinsen <omega@cse.ogi.edu>
+  <2003> David A. Schleef <ds@schleef.org>
+  <2004> Stephane Loeuillet <gstreamer@leroutier.net>
+  <2005> Michael Smith <fluendo.com>
+  <2005> Owen Fraser-Green <owen@discobabe.net>
+  <2006> Tim-Philipp Müller <tim centricular net>
+  <2006> Wim Taymans <wim@fluendo.com>
+  <2007> Wim Taymans <wim.taymans@gmail.com>
+License: LGPL-2+
+
+Files: ext/twolame/gsttwolamemp2enc.c
+Copyright: <1999> Erik Walthinsen <omega@cse.ogi.edu>
+  <2004> Wim Taymans <wim@fluendo.com>
+  <2005> Thomas Vander Stichele <thomas at apestaart dot org>
+  <2008> Sebastian Dröge <sebastian.droege@collabora.co.uk>
+License: LGPL-2+
+
+Files: ext/lame/gstlamemp3enc.c
+Copyright: <1999> Erik Walthinsen <omega@cse.ogi.edu>
+  <2004> Wim Taymans <wim@fluendo.com>
+  <2005> Thomas Vander Stichele <thomas at apestaart dot org>
+  <2009> Sebastian Dröge <sebastian.droege@collabora.co.uk>
+License: LGPL-2+
+
+Files: ext/sidplay/gstsiddec.cc
+Copyright: <1999> Erik Walthinsen <omega@cse.ogi.edu>
+  <2006> Wim Taymans <wim@fluendo.com>
+License: LGPL-2+
+
+Files: ext/twolame/gsttwolamemp2enc.h
+Copyright: <1999> Erik Walthinsen <omega@cse.ogi.edu>
+  <2008> Sebastian Dröge <sebastian.droege@collabora.co.uk>
+License: LGPL-2+
+
+Files: ext/lame/gstlamemp3enc.h
+Copyright: <1999> Erik Walthinsen <omega@cse.ogi.edu>
+  <2009> Sebastian Dröge <sebastian.droege@collabora.co.uk>
+License: LGPL-2+
+
+Files: tests/check/generic/states.c
+Copyright: <2005> Thomas Vander Stichele <thomas at apestaart dot org>
+License: LGPL-2+
+
+Files: gst/xingmux/plugin.c
+Copyright: <2008> Jan Schmidt <jan.schmidt@sun.com>
+License: LGPL-2+
+
+Files: tests/check/elements/x264enc.c
+Copyright: <2008> Mark Nauwelaerts <mnauw@users.sf.net>
+License: LGPL-2+
+
+Files: ext/lame/plugin.c
+Copyright: <2009> Sebastian Dröge <sebastian.droege@collabora.co.uk>
+License: LGPL-2+
+
+Files: ext/mad/gstmad.h
+Copyright: 2003, Benjamin Otte <in7y118@public.uni-hamburg.de>
+License: LGPL-2+
+
+Files: ext/dvdread/dvdreadsrc.c
+Copyright: 1999, Erik Walthinsen <omega@cse.ogi.edu>
+  2001, Billy Biggs <vektor@dumbterm.net>
+  2006, Tim-Philipp Müller <tim centricular net>
+License: LGPL-2+
+
+Files: gst-libs/gst/glib-compat-private.h
+Copyright: 2005, David Schleef <ds@schleef.org>
+License: LGPL-2+
+
+Files: gst-libs/gst/gettext.h
+Copyright: 1995-1998, 2000-2002, Free Software Foundation, Inc
+License: LGPL-2+
+
+Files: ext/x264/gstx264enc.c
+Copyright: 2005, Josef Zlomek <josef.zlomek@itonis.tv>
+  2005, Michal Benes <michal.benes@itonis.tv>
+  2008, Mark Nauwelaerts <mnauw@users.sf.net>
+License: LGPL-2+
+
+Files: ext/x264/gstx264enc.h
+Copyright: 2005, Josef Zlomek <josef.zlomek@itonis.tv>
+  2005, Michal Benes <michal.benes@itonis.tv>
+License: LGPL-2+
+
+Files: tests/check/elements/mpeg2dec.c
+Copyright: 2006, Sebastian Dröge <slomo@circular-chaos.org>
+License: LGPL-2+
+
+Files: gst-libs/gst/gst-i18n-plugin.h
+Copyright: 2004, Thomas Vander Stichele <thomas@apestaart.org>
+License: LGPL-2+
+
+Files: tests/check/elements/xingmux.c
+Copyright: 2008, Sebastian Dröge <slomo@circular-chaos.org>
+License: LGPL-2.1+
+
+Copyright:
+
+    This package is free software; you can redistribute it and/or
+    modify it under the terms of the GNU Lesser General Public
+    License as published by the Free Software Foundation; either
+    version 2 of the License, or (at your option) any later version.
+
+    This package is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+    Lesser General Public License for more details.
+
+    You should have received a copy of the GNU Lesser General Public
+    License along with this package; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+
+On Debian GNU/Linux systems, the complete text of the GNU Lesser General
+Public License can be found in `/usr/share/common-licenses/LGPL'.
+
diff --git a/debian/extra b/debian/extra
new file mode 100644
index 0000000..65d3db0
--- /dev/null
+++ b/debian/extra
@@ -0,0 +1,26 @@
+#!/bin/sh
+
+if [ $# -lt 2 ]; then
+   echo "usage: $1 deps|control plugin"
+   exit 1
+fi
+
+case $1 in
+  deps)
+    case $2 in
+      *)
+        echo "ERROR invalid plugin: add your plugin to debian/extra"
+        exit 1
+        ;;
+    esac ;;
+
+  control)
+    case $2 in
+      *)
+        echo "ERROR invalid plugin: add your plugin to debian/extra"
+        exit 1
+        ;;
+    esac ;;
+  *) echo "ERROR use deps or control" ;;
+esac
+
diff --git a/debian/gbp.conf b/debian/gbp.conf
new file mode 100644
index 0000000..ebb3d05
--- /dev/null
+++ b/debian/gbp.conf
@@ -0,0 +1,6 @@
+[DEFAULT]
+upstream-branch = upstream
+debian-branch = master
+pristine-tar = True
+upstream-tag = upstream/%(version)s
+debian-tag = debian/%(version)s
diff --git a/debian/gstreamer-plugins-ugly-doc.install b/debian/gstreamer-plugins-ugly-doc.install
new file mode 100644
index 0000000..133e6a2
--- /dev/null
+++ b/debian/gstreamer-plugins-ugly-doc.install
@@ -0,0 +1 @@
+debian/tmp/usr/share/gtk-doc
diff --git a/debian/gstreamer-plugins-ugly.install b/debian/gstreamer-plugins-ugly.install
new file mode 100644
index 0000000..713ce23
--- /dev/null
+++ b/debian/gstreamer-plugins-ugly.install
@@ -0,0 +1,19 @@
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgsta52dec.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstamrnb.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstamrwbdec.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstasf.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstcdio.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstdvdlpcmdec.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstdvdread.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstdvdsub.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstlame.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstmad.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstmpeg2dec.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstmpg123.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstrmdemux.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstsid.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgsttwolame.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstx264.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstxingmux.so
+debian/tmp/usr/share/locale
+debian/tmp/usr/share/gstreamer-@GST_ABI@/presets/*.prs
diff --git a/debian/maint b/debian/maint
new file mode 100755
index 0000000..de89a47
--- /dev/null
+++ b/debian/maint
@@ -0,0 +1,13 @@
+#!/usr/bin/make -f
+
+missing:
+	make -f debian/rules list-missing
+
+missing-so:
+	make -f debian/rules list-missing | grep so$$ | cut -c 2-
+
+missing-libs:
+	for i in `make -f debian/rules list-missing | grep so$$ | cut -c 2-`; do echo "=== $$i ==="; ldd debian/tmp/$$i; echo; done
+
+.PHONY: missing missing-so missing-libs
+
diff --git a/debian/mk.control b/debian/mk.control
new file mode 100755
index 0000000..e69cbf7
--- /dev/null
+++ b/debian/mk.control
@@ -0,0 +1,17 @@
+#!/usr/bin/perl -w
+
+open BUILDDEPS, "debian/build-deps";
+@builddeplist = <BUILDDEPS>;
+close BUILDDEPS;
+
+chomp(@builddeplist);
+@builddeplist = grep(!/^$/, @builddeplist);
+$builddeps = join(", ", @builddeplist);
+
+open CONTROLIN, "debian/control.in";
+
+while(<CONTROLIN>){
+        s/BUILDDEPS/$builddeps/;
+        print;
+}
+
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..dcbf567
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,172 @@
+#!/usr/bin/make -f
+
+include /usr/share/cdbs/1/rules/debhelper.mk
+include /usr/share/cdbs/1/class/gnome.mk
+include /usr/share/cdbs/1/rules/utils.mk
+include /usr/share/cdbs/1/rules/autoreconf.mk
+
+DEB_DH_AUTORECONF_ARGS=--as-needed
+
+CFLAGS += -Wno-error
+CXXFLAGS += -Wno-error
+LDFLAGS += -Wl,-z,defs -Wl,-O1 -Wl,--as-needed
+DEB_MAKE_CHECK_TARGET = check || true
+
+# this is for compatibility with dpkg-dev < 1.13.5, see
+# <http://lists.debian.org/debian-devel-announce/2005/06/msg00010.html>
+DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU 2>/dev/null)
+DEB_HOST_ARCH_OS := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS 2>/dev/null)
+
+# Take account of old dpkg-architecture output.
+ifeq ($(DEB_HOST_ARCH_CPU),)
+  DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)
+  ifeq ($(DEB_HOST_ARCH_CPU),x86_64)
+    DEB_HOST_ARCH_CPU := amd64
+  endif
+endif
+ifeq ($(DEB_HOST_ARCH_OS),)
+  DEB_HOST_ARCH_OS := $(subst -gnu,,$(shell dpkg-architecture -qDEB_HOST_GNU_SYSTEM))
+  ifeq ($(DEB_HOST_ARCH_OS),gnu)
+    DEB_HOST_ARCH_OS := hurd
+  endif
+endif
+# end of compatibility block
+
+# debian package version
+version=$(shell dpkg-parsechangelog | grep ^Version: | cut -d ' ' -f 2)
+# upstream version
+gst_version=$(shell echo $(version) | cut -d '-' -f 1)
+gst_major=1
+gst_minor=0
+gst_abi=$(gst_major).$(gst_minor)
+# gstreamer library package names
+gst_lib=libgstreamer$(gst_abi)-0
+gst_lib_dev=libgstreamer$(gst_abi)-dev
+# what gstreamer version is needed
+gst_lib_dev_dep=$(gst_lib_dev) (>= 1.8.0)
+
+gst_pkgname=gstreamer$(gst_abi)
+gst_deb_abi=$(gst_abi)-0
+
+gst_extra_build_depends =
+
+# The plugins are basically the same.
+# Link special names to a template file.
+# still need "*.install" to be done by hand
+# 
+# EXTRA_PLUGINS: See debian/README.Debian for docs
+EXTRA_PLUGINS +=
+
+PLUGINS += plugins-ugly $(EXTRA_PLUGINS)
+ifeq ($(DEB_HOST_ARCH_OS),linux)
+PLUGINS +=
+endif
+VERSIONIZE= \
+	plugins-ugly-doc.install \
+
+# debug package
+DEB_DH_STRIP_ARGS := --dbg-package=$(gst_pkgname)-plugins-ugly-dbg
+
+
+# Let's decide the package name and url depending on the distribution
+DISTRO = "$(shell dpkg-vendor --query vendor)"
+
+GST_PACKAGE_NAME := "GStreamer Ugly Plugins (unknown Debian derivative)"
+GST_PACKAGE_ORIGIN="http://packages.qa.debian.org/gst-plugins-ugly$(gst_abi)"
+
+ifeq ($(DISTRO),"Debian")
+GST_PACKAGE_NAME := "GStreamer Ugly Plugins (Debian)"
+GST_PACKAGE_ORIGIN="http://packages.qa.debian.org/gst-plugins-ugly$(gst_abi)"
+endif
+
+ifeq ($(DISTRO),"Ubuntu")
+GST_PACKAGE_NAME := "GStreamer Ugly Plugins (Ubuntu)"
+GST_PACKAGE_ORIGIN="https://launchpad.net/distros/ubuntu/+source/gst-plugins-ugly$(gst_abi)"
+endif
+
+
+# setup links for packages
+pre-build::
+	for p in $(PLUGINS); do \
+		rm -f debian/$(gst_pkgname)-$$p.install; \
+		cat debian/gstreamer-$$p.install | \
+			sed 's/@GST_ABI@/$(gst_abi)/g' \
+			> debian/$(gst_pkgname)-$$p.install; \
+	done
+
+	for f in $(VERSIONIZE); do \
+		cat debian/gstreamer-$$f | \
+			sed 's/@GST_ABI@/$(gst_abi)/g' \
+			> debian/$(gst_pkgname)-$$f; \
+	done
+
+maint: debian/control
+
+debian/build-deps: debian/build-deps.in debian/rules
+	cat $< > $@
+	for plugin in $(EXTRA_PLUGINS) ; do \
+		sh debian/extra deps $$plugin >> $@; \
+	done
+	sort $@ -o $@
+
+debian/control:: debian/control.in debian/build-deps debian/mk.control debian/rules
+	perl debian/mk.control | \
+		sed  -e 's/@GST_VERSION@/$(gst_version)/g' \
+		    -e 's/@GST_ABI@/$(gst_abi)/g' \
+		    -e 's/@GST_PKGNAME@/$(gst_pkgname)/g' \
+		    -e 's/@GST_LIB@/$(gst_lib)/g' \
+		    -e 's/@GST_LIB_DEV@/$(gst_lib_dev)/g' \
+		    -e 's/@GST_LIB_DEV_DEP@/$(gst_lib_dev_dep)/g' \
+		    -e 's/@GST_EXTRA_BUILD_DEPENDS@/$(gst_extra_build_depends)/g' \
+		    -e '/^Build-Depends\(-Indep\)\?/s/,\( *,\)*/,/g' \
+		    -e '/^Build-Depends\(-Indep\)\?/s/\ *,\ */,\n               /g' \
+		    >$@
+	for plugin in $(EXTRA_PLUGINS) ; do \
+		sh debian/extra control $$plugin | \
+			sed 's/@GST_ABI@/$(gst_abi)/g' | \
+			sed 's/@GST_PKGNAME@/$(gst_pkgname)/g' | \
+			sed 's/@GST_LIB@/$(gst_lib)/g' | \
+			sed 's/@GST_LIB_DEV@/$(gst_lib_dev)/g' | \
+			sed 's/@GST_LIB_DEV_DEP@/$(gst_lib_dev_dep)/g' | \
+			sed 's/@GST_PLUGINS_LIB@/$(gst_plugins_lib)/g' | \
+			sed 's/@GST_PLUGINS_LIB_DEV@/$(gst_plugins_lib_dev)/g' | \
+			sed 's/@GST_PLUGINS_LIB_DEV_DEP@/$(gst_plugins_lib_dev_dep)/g' | \
+			sed 's/@GST_GCONF_LIB@/$(gst_gconf_lib)/g' | \
+			sed 's/@GST_GCONF_LIB_DEV@/$(gst_gconf_lib_dev)/g' | \
+			sed 's/@GST_GCONF_LIB_DEV_DEP@/$(gst_gconf_lib_dev_dep)/g' >> $@; \
+	done
+
+
+DEB_CONFIGURE_EXTRA_FLAGS += \
+	--libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) \
+	--disable-examples \
+	--enable-DEBUG \
+	--enable-debug \
+	--with-package-name=$(GST_PACKAGE_NAME) \
+	--with-package-origin=$(GST_PACKAGE_ORIGIN)
+
+# only build the docs on arches which can
+ifeq (,$(findstring $(DEB_HOST_ARCH),m68k arm))
+DEB_CONFIGURE_EXTRA_FLAGS += --enable-gtk-doc
+endif
+
+
+clean::
+	# get rid of the sym links
+	for i in $(PLUGINS); do \
+		rm -f debian/$(gst_pkgname)-$$i.install; \
+		rm -f debian/$(gst_pkgname)-$$i.preinst; \
+	done
+	for f in $(VERSIONIZE); do \
+		rm -f debian/$(gst_pkgname)-$$f; \
+	done
+
+common-binary-fixup-arch::
+	dh_gstscancodecs
+
+DEB_INSTALL_DOCS_ALL += debian/README.Debian NEWS
+
+# Disable inclusion of large upstream ChangeLog
+DEB_INSTALL_CHANGELOGS_ALL :=
+
+.PHONY: maint
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..ca238ba
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,2 @@
+version=2
+http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-(1\.[\d\.]+)\.tar\.xz
