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..8eaecf7
--- /dev/null
+++ b/debian/build-deps
@@ -0,0 +1,27 @@
+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.13.90)
+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.13.90)
+libmpeg2-4-dev (>= 0.5.1)
+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)
+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..2602d9b
--- /dev/null
+++ b/debian/build-deps.in
@@ -0,0 +1,27 @@
+@GST_LIB_DEV_DEP@
+@GST_EXTRA_BUILD_DEPENDS@
+libgstreamer-plugins-base@GST_ABI@-dev (>= 1.13.90)
+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
+libmpeg2-4-dev (>= 0.5.1)
+libsidplay1-dev
+libdvdread-dev (>= 0.9.0)
+gstreamer@GST_ABI@-plugins-base (>= 1.13.90)
+libcdio-dev (>= 0.76)
+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)
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..719b16f
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,2516 @@
+gst-plugins-ugly1.0 (1.13.90-1) experimental; urgency=medium
+
+  * New upstream release candidate.
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 05 Mar 2018 10:15:17 +0200
+
+gst-plugins-ugly1.0 (1.13.1-1) experimental; urgency=medium
+
+  * New upstream development release.
+  * debian/build-deps.in,
+    debian/gstreamer-plugins-ugly.install:
+    + Remove LAME, mpg123 and twolame plugins. They're in gst-plugins-good now.
+
+ -- Sebastian Dröge <slomo@debian.org>  Sun, 18 Feb 2018 13:05:17 +0200
+
+gst-plugins-ugly1.0 (1.12.4-1) unstable; urgency=medium
+
+  * New upstream bugfix release
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 07 Dec 2017 19:49:42 +0200
+
+gst-plugins-ugly1.0 (1.12.3-1) unstable; urgency=medium
+
+  * New upstream bugfix release
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 18 Sep 2017 21:36:42 +0300
+
+gst-plugins-ugly1.0 (1.12.2-1) unstable; urgency=medium
+
+  * New upstream bugfix release
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 14 Jul 2017 13:37:28 +0300
+
+gst-plugins-ugly1.0 (1.12.1-1) unstable; urgency=medium
+
+  * New upstream bugfix release
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 20 Jun 2017 11:52:48 +0300
+
+gst-plugins-ugly1.0 (1.12.0-1) experimental; urgency=medium
+
+  * debian/rules: Install with --fail-missing so we don't miss files.
+  * debian/control{,.in}: Provide C/R/P for -amr package to ease upgrades in
+    Ubuntu.
+  * New upstream stable release
+
+ -- Iain Lane <iain.lane@canonical.com>  Thu, 04 May 2017 15:19:30 +0300
+
+gst-plugins-ugly1.0 (1.11.91-1) experimental; urgency=medium
+
+  * New upstream release canditate
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 27 Apr 2017 17:17:42 +0300
+
+gst-plugins-ugly1.0 (1.11.90-1) experimental; urgency=medium
+
+  * New upstream release candidate.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 07 Apr 2017 16:04:08 +0300
+
+gst-plugins-ugly1.0 (1.11.2-1) experimental; urgency=medium
+
+  * New development release
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 24 Feb 2017 14:48:20 +0200
+
+gst-plugins-ugly1.0 (1.11.1-1) experimental; urgency=medium
+
+  * New upstream development release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 12 Jan 2017 15:26:09 +0200
+
+gst-plugins-ugly1.0 (1.10.4-1) unstable; urgency=medium
+
+  * New upstream bugfix release
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 23 Feb 2017 15:40:50 +0200
+
+gst-plugins-ugly1.0 (1.10.3-1) unstable; urgency=medium
+
+  * New upstream bugfix release
+
+ -- Sebastian Dröge <slomo@debian.org>  Mon, 30 Jan 2017 15:54:20 +0200
+
+gst-plugins-ugly1.0 (1.10.2-1) unstable; urgency=medium
+
+  * New upstream bugfix release
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 29 Nov 2016 15:57:40 +0200
+
+gst-plugins-ugly1.0 (1.10.1-1) unstable; urgency=medium
+
+  * New upstream bugfix release
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 17 Nov 2016 15:06:37 +0200
+
+gst-plugins-ugly1.0 (1.10.0-1) unstable; urgency=medium
+
+  [ Helmut Grohne ]
+  * Mark gstreamer1.0-doc Multi-Arch: foreign (Closes: #842526).
+
+  [ Sebastian Dröge ]
+  * New upstream stable release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Tue, 01 Nov 2016 17:54:43 +0200
+
+gst-plugins-ugly1.0 (1.9.90-1) experimental; urgency=medium
+
+  * New upstream unstable release:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build-depend on GStreamer >= 1.9.90.
+
+ -- Sebastian Dröge <slomo@debian.org>  Fri, 30 Sep 2016 12:42:54 +0300
+
+gst-plugins-ugly1.0 (1.9.2-1) experimental; urgency=medium
+
+  * New upstream unstable release:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build-depend on GStreamer >= 1.9.2.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 01 Sep 2016 12:16:09 +0300
+
+gst-plugins-ugly1.0 (1.9.1-1) experimental; urgency=medium
+
+  * New upstream unstable release:
+    + debian/build-deps.in,
+      debian/rules:
+      - Build-depend on GStreamer >= 1.9.1.
+      - Build-depend on libmpeg2 >= 0.5.3.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 06 Jul 2016 13:16:06 +0300
+
+gst-plugins-ugly1.0 (1.8.2-1) unstable; urgency=medium
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Thu, 09 Jun 2016 11:35:45 +0300
+
+gst-plugins-ugly1.0 (1.8.1-1) unstable; urgency=medium
+
+  * New upstream bugfix release.
+
+ -- Sebastian Dröge <slomo@debian.org>  Wed, 20 Apr 2016 18:28:38 +0300
+
+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..0846953
--- /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.13.90),
+               gstreamer1.0-doc,
+               gstreamer1.0-plugins-base (>= 1.13.90),
+               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.13.90),
+               libmpeg2-4-dev (>= 0.5.1),
+               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),
+               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
+Multi-Arch: foreign
+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}
+Conflicts: gstreamer1.0-plugins-ugly-amr (<< 1.11.91)
+Replaces: gstreamer1.0-plugins-bad (<< 1.7.2),
+          gstreamer1.0-plugins-ugly-amr (<< 1.11.91)
+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},
+          gstreamer1.0-plugins-ugly-amr
+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..e7c5107
--- /dev/null
+++ b/debian/control.in
@@ -0,0 +1,79 @@
+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
+Multi-Arch: foreign
+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}
+Conflicts: gstreamer1.0-plugins-ugly-amr (<< 1.11.91)
+Replaces: gstreamer1.0-plugins-bad (<< 1.7.2),
+          gstreamer1.0-plugins-ugly-amr (<< 1.11.91)
+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},
+          gstreamer1.0-plugins-ugly-amr
+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..eb19053
--- /dev/null
+++ b/debian/gstreamer-plugins-ugly.install
@@ -0,0 +1,15 @@
+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@/libgstmpeg2dec.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstrealmedia.so
+debian/tmp/usr/lib/*/gstreamer-@GST_ABI@/libgstsid.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..8a7da8d
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,186 @@
+#!/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
+
+# Work-around for gtk-doc bug:
+# https://bugzilla.gnome.org/show_bug.cgi?id=783926
+export PYTHONIOENCODING="utf-8"
+
+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.13.90)
+
+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
+
+space :=
+space +=
+X264_LIBRARY_PATHS := $(patsubst $(space),:,$(wildcard /usr/lib/*/x264-10bit/libx264.so.*))
+
+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) \
+	--with-x264-libraries=$(X264_LIBRARY_PATHS)
+
+# 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-install-impl::
+	find $(CURDIR)/debian/tmp/ -name '*.la' -print -delete
+
+common-binary-fixup-arch::
+	dh_gstscancodecs
+
+DEB_INSTALL_DOCS_ALL += debian/README.Debian NEWS
+
+# Disable inclusion of large upstream ChangeLog
+DEB_INSTALL_CHANGELOGS_ALL :=
+
+# Fail when files aren't installed
+DEB_DH_INSTALL_ARGS := --fail-missing
+
+.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
