diff options
Diffstat (limited to 'gnome-base/gconf/gconf-2.20.0.ebuild')
-rw-r--r-- | gnome-base/gconf/gconf-2.20.0.ebuild | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/gnome-base/gconf/gconf-2.20.0.ebuild b/gnome-base/gconf/gconf-2.20.0.ebuild new file mode 100644 index 000000000000..f52b5f234fb6 --- /dev/null +++ b/gnome-base/gconf/gconf-2.20.0.ebuild @@ -0,0 +1,85 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gconf/gconf-2.20.0.ebuild,v 1.1 2007/09/25 18:29:55 dang Exp $ + +inherit gnome2 + +MY_PN=GConf +MY_P=${MY_PN}-${PV} +PVP=(${PV//[-\._]/ }) + +DESCRIPTION="Gnome Configuration System and Daemon" +HOMEPAGE="http://www.gnome.org/" +SRC_URI="mirror://gnome/sources/${MY_PN}/${PVP[0]}.${PVP[1]}/${MY_P}.tar.bz2" + +LICENSE="LGPL-2" +SLOT="2" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE="debug doc" + +RDEPEND=">=dev-libs/glib-2.10 + >=x11-libs/gtk+-2.8.16 + >=gnome-base/orbit-2.4 + >=dev-libs/libxml2-2" +DEPEND="${RDEPEND} + >=dev-util/intltool-0.35 + >=dev-util/pkgconfig-0.9 + doc? ( >=dev-util/gtk-doc-1 )" + +# FIXME : consider merging the tree (?) +DOCS="AUTHORS ChangeLog NEWS README TODO" + +S="${WORKDIR}/${MY_P}" + +pkg_setup() { + G2CONF="${G2CONF} --enable-gtk $(use_enable debug)" + kill_gconf +} + +src_install() { + gnome2_src_install + + # hack hack + dodir /etc/gconf/gconf.xml.mandatory + dodir /etc/gconf/gconf.xml.defaults + touch "${D}"/etc/gconf/gconf.xml.mandatory/.keep${SLOT} + touch "${D}"/etc/gconf/gconf.xml.defaults/.keep${SLOT} + + echo 'CONFIG_PROTECT_MASK="/etc/gconf"' > 50gconf + doenvd 50gconf || die + dodir /root/.gconfd +} + +pkg_preinst() { + kill_gconf +} + +pkg_postinst() { + kill_gconf + + #change the permissions to avoid some gconf bugs + einfo "changing permissions for gconf dirs" + find /etc/gconf/ -type d -exec chmod ugo+rx "{}" \; + + einfo "changing permissions for gconf files" + find /etc/gconf/ -type f -exec chmod ugo+r "{}" \; +} + +kill_gconf() { + # this function will kill all running gconfd that could be causing troubles + if [ -x /usr/bin/gconftool ] + then + /usr/bin/gconftool --shutdown + fi + if [ -x /usr/bin/gconftool-1 ] + then + /usr/bin/gconftool-1 --shutdown + fi + + # and for gconf 2 + if [ -x /usr/bin/gconftool-2 ] + then + /usr/bin/gconftool-2 --shutdown + fi + return 0 +} |