--- emerald-0.7.2.orig/debian/libemeraldengine0.install +++ emerald-0.7.2/debian/libemeraldengine0.install @@ -0,0 +1,3 @@ +usr/lib/libemeraldengine.so.0.0.0 +usr/lib/libemeraldengine.so.0 +usr/lib/emerald/engines/*.so --- emerald-0.7.2.orig/debian/emerald.install +++ emerald-0.7.2/debian/emerald.install @@ -0,0 +1,2 @@ +usr/bin/* +usr/share/* --- emerald-0.7.2.orig/debian/control +++ emerald-0.7.2/debian/control @@ -0,0 +1,37 @@ +Source: emerald +Section: x11 +Priority: optional +Maintainer: Ubuntu MOTU Developers +XSBC-Original-Maintainer: Nicholas Thomas +Build-Depends: debhelper (>= 5), cdbs, + compiz-dev (>= 1:0.7.2), libgtk2.0-dev, + libpango1.0-dev, libwnck-dev, libglitz1-dev, libxml-parser-perl, + libdecoration0-dev +Standards-Version: 3.7.3 +Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-dev/emerald/ubuntu +Vcs-Browse: https://code.launchpad.net/~ubuntu-dev/emerald/ubuntu + +Package: emerald +Architecture: any +Depends: compiz-plugins, libdecoration0, ${shlibs:Depends} +Conflicts: gcompizthemer, cgwd +Replaces: gcompizthemer, cgwd +Provides: gcompizthemer, cgwd +Recommends: emerald-themes +Description: Decorator for compiz-fusion + This package provides a decorator for compiz-fusion and a themer application + +Package: libemeraldengine0 +Architecture: any +Section: libs +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Decoration engines for compiz-fusion + This package provides some engines for drawing decoration on compiz-fusion + +Package: libemeraldengine-dev +Architecture: any +Section: libdevel +Depends: ${shlibs:Depends}, ${misc:Depends}, libemeraldengine0 (=${binary:Version}) +Description: Development files for emerald engines + This package contains the headers and development files needed to + build engines for emerald. --- emerald-0.7.2.orig/debian/copyright +++ emerald-0.7.2/debian/copyright @@ -0,0 +1,63 @@ +This package was debianised by Nicholas Thomas on +Sat, 17 Mar 2007 23:53:45 +0000. + +It was previously downloaded from http://releases.beryl-project.org/ +but now from http://releases.compiz-fusion.org/. The git repository is +at git://anongit.compiz-fusion.org/fusion/decorators/emerald. + +Upstream Authors: + + Quinn Storm + David Reveman + +Information: + + All of the theme engines use code from Quinn Storm's legacy engine + and are GPL. It also incorporates code from cgwd by David Reveman, + Copyright (C) Novell 2006, available under the MIT license. + +Copyright: + + For all files not listed below: + Copyright (C) 2006 Quinn Storm + + Legacy theme engine (legacy.c) + Copyright (C) 2006 Quinn Storm + + Vrunner theme engine (vrunner.c) + Copyright (C) 2006 Varun + + Oxygen theme engine (oxygen.c) + Copyright (C) 2006 Alain + + Pixmap theme engine (pixmap.c) + Copyright (C) 2006 Varun + + Truglass theme engine (truglass.c) + Copyright (C) 2006 Alain + + Zootreeves theme engine (zootreeves.c) + Copyright (C) 2006 Ben Reeves + +License: + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program 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 General Public License for more details. + + On Debian systems, the complete text of the GNU General Public + License can be found in /usr/share/common-licenses/GPL. + +The Debian packaging is licensed under the GNU General Public License +(see `/usr/share/common-licenses/GPL') and it is copyrighted by: + (C) 2006: + Quinn Storm and + Shawn Starr + (C) 2007-2008: + Contributors --- emerald-0.7.2.orig/debian/emerald.postinst +++ emerald-0.7.2/debian/emerald.postinst @@ -0,0 +1,6 @@ +#!/bin/sh + +update-alternatives --install /usr/bin/x-window-decorator x-window-decorator /usr/bin/emerald 30 + +#DEBHELPER# +exit 0 --- emerald-0.7.2.orig/debian/emerald.prerm +++ emerald-0.7.2/debian/emerald.prerm @@ -0,0 +1,7 @@ +#!/bin/sh + +update-alternatives --remove x-window-decorator /usr/bin/emerald + +#DEBHELPER# + +exit 0 --- emerald-0.7.2.orig/debian/changelog +++ emerald-0.7.2/debian/changelog @@ -0,0 +1,53 @@ +emerald (0.7.2-0ubuntu2) hardy; urgency=low + + * debian/patches/01_upstream_pixmap-crashes-window-switcher.patch: patch + from upstream to workaround unrefd pixmap and extend pixmap sanity checks + to honor ref_count (LP: #139877) + + -- Kjell Braden Sat, 15 Mar 2008 12:06:21 +0100 + +emerald (0.7.2-0ubuntu1) hardy; urgency=low + + * new upstream release + + -- Michael Vogt Fri, 07 Mar 2008 15:57:50 +0100 + +emerald (0.5.2+git20080205-0ubuntu2) hardy; urgency=low + + * tighten build-depends to fix FTBFS + + -- Michael Vogt Tue, 05 Feb 2008 11:26:35 +0100 + +emerald (0.5.2+git20080205-0ubuntu1) hardy; urgency=low + + * new git snpashot required for the new decoration atom + name changes + + -- Michael Vogt Tue, 05 Feb 2008 09:48:36 +0100 + +emerald (0.5.2-0ubuntu1) hardy; urgency=low + + * New upstream release. + * debian/control: + - Modify Maintainer value to match the DebianMaintainerField + specification. + - Bump standards to version 3.7.3. + - Add Vcs-Bzr and Vcs-Browse tags. + * Formatting changes to debian/copyright. + * Add patches/improve_desktop_file.patch: + - Update .desktop file to the current FD.o standards + - Add Catalan, German (thanks to Ralph Janke) and Spanish translations. + + -- Siegfried-Angel Gevatter Pujals (RainCT) Sat, 02 Feb 2008 14:01:59 +0100 + +emerald (0.3~git20070717-0ubuntu1) gutsy; urgency=low + + * new git snapshot, moved packaging to bzr + + -- Michael Vogt Tue, 17 Jul 2007 10:10:12 +0100 + +emerald (0.2.1-0ubuntu1) feisty; urgency=low + + * Initial debianisation for Ubuntu based on ubuntu.beryl-project.org + + -- Nicholas Thomas Sat, 17 Mar 2007 21:20:46 +0000 --- emerald-0.7.2.orig/debian/libemeraldengine-dev.install +++ emerald-0.7.2/debian/libemeraldengine-dev.install @@ -0,0 +1,6 @@ +usr/lib/libemeraldengine.a +usr/lib/libemeraldengine.la +usr/lib/libemeraldengine.so +usr/lib/emerald/engines/*.a +usr/lib/emerald/engines/*.la +usr/include/emerald/*.h --- emerald-0.7.2.orig/debian/emerald.sharedmimeinfo +++ emerald-0.7.2/debian/emerald.sharedmimeinfo @@ -0,0 +1,7 @@ + + + + Emerald Theme + + + --- emerald-0.7.2.orig/debian/compat +++ emerald-0.7.2/debian/compat @@ -0,0 +1 @@ +5 --- emerald-0.7.2.orig/debian/patches/01_upstream_pixmap-crashes-window-switcher.patch +++ emerald-0.7.2/debian/patches/01_upstream_pixmap-crashes-window-switcher.patch @@ -0,0 +1,156 @@ +diff -Nur -x '*.orig' -x '*~' emerald-0.7.2/include/emerald.h emerald-0.7.2.new/include/emerald.h +--- emerald-0.7.2/include/emerald.h 2008-03-06 20:37:28.000000000 +0100 ++++ emerald-0.7.2.new/include/emerald.h 2008-03-15 12:05:39.000000000 +0100 +@@ -24,6 +24,8 @@ + #include + #include + ++#define IS_VALID(o) (o && o->parent_instance.ref_count) ++ + #ifdef USE_DBUS + #define DBUS_API_SUBJECT_TO_CHANGE + #include +diff -Nur -x '*.orig' -x '*~' emerald-0.7.2/src/main.c emerald-0.7.2.new/src/main.c +--- emerald-0.7.2/src/main.c 2008-03-15 12:04:17.000000000 +0100 ++++ emerald-0.7.2.new/src/main.c 2008-03-15 12:05:39.000000000 +0100 +@@ -1181,7 +1181,8 @@ + else + return; + if (button_region->bg_pixmap) +- gdk_draw_drawable(d->buffer_pixmap ? d->buffer_pixmap : d->pixmap, ++ gdk_draw_drawable(IS_VALID(d->buffer_pixmap) ? d->buffer_pixmap : ++ d->pixmap, + d->gc, button_region->bg_pixmap, src_x, src_y, + dest_x, dest_y, w, h); + d->min_drawn_buttons_region.x1 = +@@ -1211,8 +1212,8 @@ + { + fade_info->cr = + gdk_cairo_create(GDK_DRAWABLE +- (d->buffer_pixmap ? d->buffer_pixmap : d-> +- pixmap)); ++ (IS_VALID(d->buffer_pixmap) ? d->buffer_pixmap : ++ d->pixmap)); + cairo_set_operator(fade_info->cr, CAIRO_OPERATOR_OVER); + } + +@@ -1324,8 +1325,10 @@ + break; + } + +- if (d->buffer_pixmap && !d->button_fade_info.first_draw && d->min_drawn_buttons_region.x1 < 10000) // if region is updated at least once ++ if (IS_VALID(d->buffer_pixmap) && !d->button_fade_info.first_draw && ++ d->min_drawn_buttons_region.x1 < 10000) + { ++ // if region is updated at least once + gdk_draw_drawable(d->pixmap, + d->gc, + d->buffer_pixmap, +@@ -1635,8 +1638,8 @@ + if (!d->draw_only_buttons_region) // if not only drawing buttons + { + cr = gdk_cairo_create(GDK_DRAWABLE +- (d->buffer_pixmap ? d->buffer_pixmap : d-> +- pixmap)); ++ (IS_VALID(d->buffer_pixmap) ? d->buffer_pixmap : ++ d->pixmap)); + cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE); + cairo_set_line_width(cr, 1.0); + cairo_save(cr); +@@ -1751,8 +1754,9 @@ + else + { + gdk_draw_drawable(button_region->bg_pixmap, d->gc, +- d->buffer_pixmap ? d-> +- buffer_pixmap : d->pixmap, rx, ry, 0, 0, ++ IS_VALID(d->buffer_pixmap) ? ++ d->buffer_pixmap : d->pixmap, ++ rx, ry, 0, 0, + rw, rh); + } + } +@@ -1836,8 +1840,8 @@ + } + // Draw buttons + +- cr = gdk_cairo_create(GDK_DRAWABLE +- (d->buffer_pixmap ? d->buffer_pixmap : d->pixmap)); ++ cr = gdk_cairo_create(GDK_DRAWABLE (IS_VALID(d->buffer_pixmap) ? ++ d->buffer_pixmap : d->pixmap)); + + cairo_set_operator(cr, CAIRO_OPERATOR_OVER); + +@@ -1848,7 +1852,7 @@ + + cairo_destroy(cr); + +- if (d->buffer_pixmap) ++ if (IS_VALID(d->buffer_pixmap)) + { + /*if (d->draw_only_buttons_region && d->min_drawn_buttons_region.x1 < 10000) // if region is updated at least once + { +@@ -1956,7 +1960,7 @@ + ushort a = SWITCHER_ALPHA; + window_settings *ws = d->fs->ws; + +- if (!d->buffer_pixmap) ++ if (!IS_VALID(d->buffer_pixmap)) + return; + + style = gtk_widget_get_style(style_window); +@@ -1984,7 +1988,7 @@ + cairo_set_line_width(cr, 1.0); + + cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE); +- if (d->prop_xid || !d->buffer_pixmap) ++ if (d->prop_xid || !IS_VALID(d->buffer_pixmap)) + { + draw_shadow_background(d, cr); + } +@@ -2138,7 +2142,7 @@ + int top; + window_settings *ws = d->fs->ws; + +- if (!d->pixmap || !d->buffer_pixmap) ++ if (!IS_VALID(d->pixmap) || !IS_VALID(d->buffer_pixmap)) + return; + + style = gtk_widget_get_style(style_window); +@@ -3134,13 +3138,13 @@ + d->decorated = FALSE; + d->draw = draw_switcher_decoration; + +- if (!d->pixmap && ws->switcher_pixmap) ++ if (!IS_VALID(d->pixmap) && IS_VALID(ws->switcher_pixmap)) + { + g_object_ref (G_OBJECT (ws->switcher_pixmap)); + d->pixmap = ws->switcher_pixmap; + } + +- if (!d->buffer_pixmap && ws->switcher_buffer_pixmap) ++ if (!IS_VALID(d->buffer_pixmap) && IS_VALID(ws->switcher_buffer_pixmap)) + { + g_object_ref (G_OBJECT (ws->switcher_buffer_pixmap)); + d->buffer_pixmap = ws->switcher_buffer_pixmap; +@@ -3217,10 +3221,18 @@ + if (width == d->width && height == d->height) + { + if (!d->gc) +- d->gc = gdk_gc_new(d->pixmap); ++ { ++ if (d->pixmap->parent_instance.ref_count) ++ d->gc = gdk_gc_new(d->pixmap); ++ else ++ d->pixmap = NULL; ++ } + +- queue_decor_draw(d); +- return FALSE; ++ if (d->pixmap) ++ { ++ queue_decor_draw(d); ++ return FALSE; ++ } + } + + pixmap = create_pixmap(width, height); --- emerald-0.7.2.orig/debian/patches/improve_desktop_file.patch +++ emerald-0.7.2/debian/patches/improve_desktop_file.patch @@ -0,0 +1,26 @@ +diff -Nur new/misc/emerald-theme-manager.desktop new.new/misc/emerald-theme-manager.desktop +--- new/misc/emerald-theme-manager.desktop 2008-02-02 13:15:58.000000000 +0100 ++++ new.new/misc/emerald-theme-manager.desktop 2008-02-02 13:59:45.000000000 +0100 +@@ -1,14 +1,17 @@ + [Desktop Entry] +-Encoding=UTF-8 ++Type=Application + Name=Emerald Theme Manager ++Name[ca]=Gestor de temes de l'Emerald ++Name[de]=Emerald Motiv Manager ++Name[es]=Gestor de temas del Emerald + Name[fr]=Gestionnaire de thèmes Emerald + Comment=Configure Emerald themes ++Comment[ca]=Configureu els temes de l'Emerald ++Comment[de]=Konfiguriert Emerald Motive ++Comment[es]=Configura los temas del Emerald + Comment[fr]=Configurerer les options des thèmes Emerald +-Icon=/usr/share/pixmaps/emerald-theme-manager-icon.png ++Icon=emerald-theme-manager-icon + Exec=emerald-theme-manager + Terminal=false +-Type=Application + Categories=Settings; +-Exec=emerald-theme-manager -i + MimeType=application/x-emerald-theme; +- --- emerald-0.7.2.orig/debian/emerald.mime +++ emerald-0.7.2/debian/emerald.mime @@ -0,0 +1,2 @@ + application/x-emerald-theme; nametemplate=%s.emerald + --- emerald-0.7.2.orig/debian/rules +++ emerald-0.7.2/debian/rules @@ -0,0 +1,10 @@ +#!/usr/bin/make -f + +include /usr/share/cdbs/1/class/autotools.mk +include /usr/share/cdbs/1/rules/debhelper.mk +include /usr/share/cdbs/1/rules/simple-patchsys.mk + +DEB_DH_INSTALL_ARGS = --sourcedir=debian/tmp + +DEB_CONFIGURE_EXTRA_FLAGS += \ + --disable-mime-update