From ad7ae005a798c42a37b2fe31fda8fea2af047e58 Mon Sep 17 00:00:00 2001 From: Nicolas Boichat Date: Sun, 13 Jul 2014 10:31:00 +0800 Subject: [PATCH 1/2] added extra/enlightenment Vanilla version from ABS --- extra/enlightenment/PKGBUILD | 41 +++++++++++++++++++++++ extra/enlightenment/enlightenment.install | 12 +++++++ 2 files changed, 53 insertions(+) create mode 100644 extra/enlightenment/PKGBUILD create mode 100644 extra/enlightenment/enlightenment.install diff --git a/extra/enlightenment/PKGBUILD b/extra/enlightenment/PKGBUILD new file mode 100644 index 000000000..9ce21380d --- /dev/null +++ b/extra/enlightenment/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: Ronald van Haren +# Contributor: Enlightenment Developers > + +pkgname=enlightenment +pkgver=0.18.8 +pkgrel=1 +pkgdesc="Enlightenment window manager" +arch=('i686' 'x86_64') +url="http://www.enlightenment.org" +license=('BSD') +depends=('elementary' 'xcb-util-keysyms' 'hicolor-icon-theme' 'pixman' 'mesa' + 'desktop-file-utils' 'udisks2' 'ttf-font' 'bluez-libs') +optdepends=('connman: network module' + 'acpid: power events on laptop lid close') +provides=("enlightenment17=$pkgver" 'notification-daemon') +conflicts=("enlightenment17") +replaces=("enlightenment17") +backup=('etc/enlightenment/sysactions.conf' + 'etc/xdg/menus/enlightenment.menu') +source=(http://download.enlightenment.org/rel/apps/${pkgname}/$pkgname-$pkgver.tar.gz) +install=enlightenment.install +sha1sums=('71d6212fc55ba65a47d656b0bc4891684445e3ff') + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + export CFLAGS="$CFLAGS -fvisibility=hidden" + + ./configure --prefix=/usr --sysconfdir=/etc \ + --enable-wayland-egl \ + --enable-wayland-clients + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make -j1 DESTDIR="$pkgdir" install + + # install LICENSE + install -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING" +} diff --git a/extra/enlightenment/enlightenment.install b/extra/enlightenment/enlightenment.install new file mode 100644 index 000000000..1182e768f --- /dev/null +++ b/extra/enlightenment/enlightenment.install @@ -0,0 +1,12 @@ +post_install() { + update-mime-database usr/share/mime > /dev/null + update-desktop-database -q +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} From bdc766ed1b2012f5093737e03b324bc3592683e9 Mon Sep 17 00:00:00 2001 From: Nicolas Boichat Date: Sun, 13 Jul 2014 10:15:42 +0800 Subject: [PATCH 2/2] extra/enlightenment: fix segfault on start enlightenment_start stops very quickly with a segfault: (gdb) bt #0 0xb6bcba1c in pause () from /usr/lib/libpthread.so.0 #1 #2 0x0007672c in e_desk_show () #3 0x0010ace8 in e_zone_desk_count_set () #4 0x00000000 in ?? () After recompiling with debug symbols, I noticed this is due to some memory corruption, and found an upstream patch that fixes the problem (applied in their enlightenment-0.18 branch but not in release 0.18.8): http://git.enlightenment.org/core/enlightenment.git/commit/?h=enlightenment-0.18&id=590eb392f1438d2cde775a93aa1178c61b75e9e7 Technically, the bug is also present on x86, but does not cause a segfault. --- extra/enlightenment/PKGBUILD | 16 +++++++++--- ...enlightenment-0.18.8-e-desk-overflow.patch | 26 +++++++++++++++++++ 2 files changed, 39 insertions(+), 3 deletions(-) create mode 100644 extra/enlightenment/enlightenment-0.18.8-e-desk-overflow.patch diff --git a/extra/enlightenment/PKGBUILD b/extra/enlightenment/PKGBUILD index 9ce21380d..a78521596 100644 --- a/extra/enlightenment/PKGBUILD +++ b/extra/enlightenment/PKGBUILD @@ -1,9 +1,12 @@ # Maintainer: Ronald van Haren # Contributor: Enlightenment Developers > +# ALARM: Nicolas Boichat +# - Add upstream patch to fix overflow in e_desk.c + pkgname=enlightenment pkgver=0.18.8 -pkgrel=1 +pkgrel=1.1 pkgdesc="Enlightenment window manager" arch=('i686' 'x86_64') url="http://www.enlightenment.org" @@ -17,9 +20,16 @@ conflicts=("enlightenment17") replaces=("enlightenment17") backup=('etc/enlightenment/sysactions.conf' 'etc/xdg/menus/enlightenment.menu') -source=(http://download.enlightenment.org/rel/apps/${pkgname}/$pkgname-$pkgver.tar.gz) +source=(http://download.enlightenment.org/rel/apps/${pkgname}/$pkgname-$pkgver.tar.gz + enlightenment-0.18.8-e-desk-overflow.patch) install=enlightenment.install -sha1sums=('71d6212fc55ba65a47d656b0bc4891684445e3ff') +sha1sums=('71d6212fc55ba65a47d656b0bc4891684445e3ff' + 'd915cfde817dddd9e2ecf673aea53dfd06344813') + +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + patch -p1 -i "${srcdir}/enlightenment-0.18.8-e-desk-overflow.patch" +} build() { cd "${srcdir}/${pkgname}-${pkgver}" diff --git a/extra/enlightenment/enlightenment-0.18.8-e-desk-overflow.patch b/extra/enlightenment/enlightenment-0.18.8-e-desk-overflow.patch new file mode 100644 index 000000000..57041d17a --- /dev/null +++ b/extra/enlightenment/enlightenment-0.18.8-e-desk-overflow.patch @@ -0,0 +1,26 @@ +From 9e6c276905b13fb4a2d795fee5f98d52aecb354b Mon Sep 17 00:00:00 2001 +From: Carlos Rafael Giani +Date: Sun, 1 Jun 2014 14:45:49 +0200 +Subject: bugfix: Fix buffer overflow in desk_show. + +Was the wrong structure type which caused writing after the allocated +size and was generally bad and wrong. + +Signed-off-by: Carlos Rafael Giani + +diff --git a/src/bin/e_desk.c b/src/bin/e_desk.c +index 8c97364..854946a 100644 +--- a/src/bin/e_desk.c ++++ b/src/bin/e_desk.c +@@ -224,7 +224,7 @@ e_desk_show(E_Desk *desk) + E_Event_Desk_Show *ev; + E_Event_Desk_Before_Show *eev; + E_Event_Desk_After_Show *eeev; +- Edje_Message_Float_Set *msg; ++ Edje_Message_Int_Set *msg; + Eina_List *l; + E_Shelf *es; + int was_zone = 0, x, y, dx = 0, dy = 0; +-- +cgit v0.10.1 +