summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2012-01-25 02:17:34 +0000
committerMike Frysinger <vapier@gentoo.org>2012-01-25 02:17:34 +0000
commit5cb6622ff2a100c12d020f1d03bf25ac9670e072 (patch)
tree7101be7ae9ca2f782924479ff644cf500dfae961 /app-misc/ddccontrol
parentSecurity stablization for root exploit. CVE-2012-0056. bug #399243 (diff)
downloadgentoo-2-5cb6622ff2a100c12d020f1d03bf25ac9670e072.tar.gz
gentoo-2-5cb6622ff2a100c12d020f1d03bf25ac9670e072.tar.bz2
gentoo-2-5cb6622ff2a100c12d020f1d03bf25ac9670e072.zip
Migrate to EAPI=4, fix build with newer automake with patch from upstream, add USE=static-libs support, and add USE=ddcpci to control the setuid binary.
(Portage version: 2.2.0_alpha84/cvs/Linux x86_64)
Diffstat (limited to 'app-misc/ddccontrol')
-rw-r--r--app-misc/ddccontrol/ChangeLog12
-rw-r--r--app-misc/ddccontrol/ddccontrol-0.4.2-r1.ebuild73
-rw-r--r--app-misc/ddccontrol/files/ddccontrol-0.4.2-automake.patch60
-rw-r--r--app-misc/ddccontrol/files/ddccontrol-0.4.2-no-ddcpci.patch14
-rw-r--r--app-misc/ddccontrol/metadata.xml3
5 files changed, 160 insertions, 2 deletions
diff --git a/app-misc/ddccontrol/ChangeLog b/app-misc/ddccontrol/ChangeLog
index 63eec3e75e3f..99cdc83915aa 100644
--- a/app-misc/ddccontrol/ChangeLog
+++ b/app-misc/ddccontrol/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for app-misc/ddccontrol
-# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-misc/ddccontrol/ChangeLog,v 1.22 2011/03/29 12:14:22 angelos Exp $
+# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/app-misc/ddccontrol/ChangeLog,v 1.23 2012/01/25 02:17:34 vapier Exp $
+
+*ddccontrol-0.4.2-r1 (25 Jan 2012)
+
+ 25 Jan 2012; Mike Frysinger <vapier@gentoo.org> +ddccontrol-0.4.2-r1.ebuild,
+ +files/ddccontrol-0.4.2-automake.patch,
+ +files/ddccontrol-0.4.2-no-ddcpci.patch, metadata.xml:
+ Migrate to EAPI=4, fix build with newer automake with patch from upstream,
+ add USE=static-libs support, and add USE=ddcpci to control the setuid binary.
29 Mar 2011; Christoph Mende <angelos@gentoo.org> ddccontrol-0.1.3.ebuild,
ddccontrol-0.2.ebuild, ddccontrol-0.3.ebuild, ddccontrol-0.3-r1.ebuild,
diff --git a/app-misc/ddccontrol/ddccontrol-0.4.2-r1.ebuild b/app-misc/ddccontrol/ddccontrol-0.4.2-r1.ebuild
new file mode 100644
index 000000000000..f696e98a89b7
--- /dev/null
+++ b/app-misc/ddccontrol/ddccontrol-0.4.2-r1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-misc/ddccontrol/ddccontrol-0.4.2-r1.ebuild,v 1.1 2012/01/25 02:17:34 vapier Exp $
+
+EAPI="4"
+
+inherit eutils autotools
+
+DESCRIPTION="DDCControl allows control of monitor parameters via DDC"
+HOMEPAGE="http://ddccontrol.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="+ddcpci doc gnome gtk nls static-libs"
+
+RDEPEND="dev-libs/libxml2:2
+ gtk? ( >=x11-libs/gtk+-2.4:2 )
+ gnome? ( >=gnome-base/gnome-panel-2.10 )
+ sys-apps/pciutils
+ nls? ( sys-devel/gettext )
+ >=app-misc/ddccontrol-db-20060730"
+DEPEND="${RDEPEND}
+ dev-perl/XML-Parser
+ dev-util/intltool
+ doc? ( >=app-text/docbook-xsl-stylesheets-1.65.1
+ >=dev-libs/libxslt-1.1.6
+ app-text/htmltidy )
+ sys-kernel/linux-headers"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-pciutils-libz.patch
+ epatch "${FILESDIR}"/${P}-automake.patch
+ epatch "${FILESDIR}"/${P}-no-ddcpci.patch
+ sed -i '/^htmldir/d' doc/Makefile.am || die
+
+ # ppc/ppc64 do not have inb/outb/ioperm
+ # they also do not have (sys|asm)/io.h
+ if ! use amd64 && ! use x86 ; then
+ local card
+ for card in sis intel810 ; do
+ sed -r -i \
+ -e "/${card}.Po/d" \
+ -e "s~${card}[^[:space:]]*~ ~g" \
+ src/ddcpci/Makefile.{am,in}
+ done
+ sed -i \
+ -e '/sis_/d' \
+ -e '/i810_/d' \
+ src/ddcpci/main.c
+ fi
+
+ ## Save for a rainy day or future patching
+ eautoreconf
+ intltoolize --force || die "intltoolize failed"
+}
+
+src_configure() {
+ econf \
+ --htmldir='$(datarootdir)'/doc/${PF}/html \
+ $(use_enable ddcpci) \
+ $(use_enable doc) \
+ $(use_enable gnome gnome-applet) \
+ $(use_enable gtk gnome) \
+ $(use_enable nls) \
+ $(use_enable static-libs static)
+}
+
+src_install() {
+ default
+ use static-libs || find "${ED}" -name '*.la' -delete
+}
diff --git a/app-misc/ddccontrol/files/ddccontrol-0.4.2-automake.patch b/app-misc/ddccontrol/files/ddccontrol-0.4.2-automake.patch
new file mode 100644
index 000000000000..005efc51c636
--- /dev/null
+++ b/app-misc/ddccontrol/files/ddccontrol-0.4.2-automake.patch
@@ -0,0 +1,60 @@
+taken from upstream git
+
+From 1c5eaf9ca5cb03d4124d54b4178d4a2a47a724d7 Mon Sep 17 00:00:00 2001
+From: Stanislav Brabec <sbrabec@suse.cz>
+Date: Sun, 10 Oct 2010 18:29:16 +0200
+Subject: [PATCH] Applied ddccontrol-libexecdir.patch
+
+---
+ .../GNOME_ddcc-applet.server.in.in | 2 +-
+ src/gnome-ddcc-applet/Makefile.am | 12 +++++++-----
+ 2 files changed, 8 insertions(+), 6 deletions(-)
+
+diff --git a/src/gnome-ddcc-applet/GNOME_ddcc-applet.server.in.in b/src/gnome-ddcc-applet/GNOME_ddcc-applet.server.in.in
+index f3a28ba..89a6615 100644
+--- a/src/gnome-ddcc-applet/GNOME_ddcc-applet.server.in.in
++++ b/src/gnome-ddcc-applet/GNOME_ddcc-applet.server.in.in
+@@ -2,7 +2,7 @@
+
+ <oaf_server iid="OAFIID:GNOME_ddcc-applet_Factory"
+ type="exe"
+- location="@PKGLIBDIR@/ddcc-applet">
++ location="@appletdir@/ddcc-applet">
+
+ <oaf_attribute name="repo_ids" type="stringv">
+ <item value="IDL:Bonobo/GenericFactory:1.0"/>
+diff --git a/src/gnome-ddcc-applet/Makefile.am b/src/gnome-ddcc-applet/Makefile.am
+index d16fbd0..6218efa 100644
+--- a/src/gnome-ddcc-applet/Makefile.am
++++ b/src/gnome-ddcc-applet/Makefile.am
+@@ -6,9 +6,10 @@ DDCC_LDADD = ../lib/libddccontrol.la
+
+ EXTRA_DIST = GNOME_ddcc-applet.server.in.in GNOME_ddcc-applet.xml
+
+-pkglib_PROGRAMS = ddcc-applet
+-ddcc_applet_SOURCES = ddcc-applet.c ddcc-applet.h
++applet_PROGRAMS = ddcc-applet
++appletdir = $(libexecdir)
+
++ddcc_applet_SOURCES = ddcc-applet.c ddcc-applet.h
+ ddcc_applet_LDADD = $(GNOME_LDFLAGS) $(DDCC_LDADD)
+ AM_CFLAGS = $(GNOME_CFLAGS) '-DPKGDATADIR="$(pkgdatadir)"'
+
+@@ -18,10 +19,11 @@ serverdir = $(libdir)/bonobo/servers
+ server_in_files = GNOME_ddcc-applet.server.in
+ server_DATA = $(server_in_files:.server.in=.server)
+
+-$(server_in_files): $(server_in_files:.server.in=.server.in.in)
+- sed -e "s|\@PKGLIBDIR\@|$(pkglibdir)|" $< > $@
++$(server_in_files): $(server_in_files:.server.in=.server.in.in) Makefile
++ $(AM_V_GEN)sed \
++ -e "s|\@appletdir\@|$(appletdir)|" \
++ $< > $@
+
+ CLEANFILES = $(server_in_files) $(server_DATA)
+
+ @INTLTOOL_SERVER_RULE@
+-
+--
+1.7.4.1
+
diff --git a/app-misc/ddccontrol/files/ddccontrol-0.4.2-no-ddcpci.patch b/app-misc/ddccontrol/files/ddccontrol-0.4.2-no-ddcpci.patch
new file mode 100644
index 000000000000..5ecb90f12a82
--- /dev/null
+++ b/app-misc/ddccontrol/files/ddccontrol-0.4.2-no-ddcpci.patch
@@ -0,0 +1,14 @@
+fix building when ddcpci is disabled. just a hack while we sort
+out the real fix upstream.
+
+--- a/src/gddccontrol/main.c
++++ b/src/gddccontrol/main.c
+@@ -24,7 +24,7 @@
+ #include <stdio.h>
+ #include <unistd.h>
+
+-#include "ddcpci-ipc.h"
++#define IDLE_TIMEOUT 60
+
+ #include "notebook.h"
+
diff --git a/app-misc/ddccontrol/metadata.xml b/app-misc/ddccontrol/metadata.xml
index 2b6ad1725fe6..e789b82e86e9 100644
--- a/app-misc/ddccontrol/metadata.xml
+++ b/app-misc/ddccontrol/metadata.xml
@@ -11,4 +11,7 @@
and ddccontrol-db.
</description>
</maintainer>
+<use>
+ <flag name='ddcpci'>enable direct PCI memory access (the setuid ddcpci util)</flag>
+</use>
</pkgmetadata>