summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNirbheek Chauhan <nirbheek.chauhan@gmail.com>2008-10-25 23:11:41 +0530
committerNirbheek Chauhan <nirbheek.chauhan@gmail.com>2008-10-25 23:11:41 +0530
commit0c184af032394be198a42cb081ac631e827f1e02 (patch)
treef63839380142f36529d28112f8e9d5fe43b7fbcc
parenta5ea94f3ca13d0240a6b5ec6684c82cf20894ee3 (diff)
Overriding gnome2.eclass -> metadata invalidation
This results in severe slowdowns. Add gnome2-eapi-fixes.eclass instead. - This eclass will have to be inherited by ebuilds which use gnome2.eclass and EAPI >= 2 *after* gnome2 to work properly. - gnome-base/gdm-9999 has been fixed to reflect this
-rw-r--r--eclass/gnome2-eapi-fixes.eclass27
-rw-r--r--eclass/gnome2-live.eclass7
-rw-r--r--eclass/gnome2.eclass144
-rw-r--r--gnome-base/gdm/Manifest2
-rw-r--r--gnome-base/gdm/gdm-9999.ebuild2
5 files changed, 35 insertions, 147 deletions
diff --git a/eclass/gnome2-eapi-fixes.eclass b/eclass/gnome2-eapi-fixes.eclass
new file mode 100644
index 0000000..1201869
--- /dev/null
+++ b/eclass/gnome2-eapi-fixes.eclass
@@ -0,0 +1,27 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+#
+# gnome2-eapi-fixes.eclass
+#
+# EAPI-specific fixes for gnome2.eclass
+#
+# Maintained by Nirbheek Chauhan <nirbheek.chauhan@gmail.com>
+#
+
+case "${EAPI}" in
+ "2")
+ # src_configure gets called twice (#239123)
+ gnome2_src_compile() {
+ default_src_compile
+ }
+
+ gnome2-eapi-fixes_src_compile() {
+ gnome2_src_compile
+ }
+
+ EXPORT_FUNCTIONS src_compile
+ ;;
+ *) :;;
+esac
diff --git a/eclass/gnome2-live.eclass b/eclass/gnome2-live.eclass
index 9b7b449..ae587ec 100644
--- a/eclass/gnome2-live.eclass
+++ b/eclass/gnome2-live.eclass
@@ -46,7 +46,12 @@ gnome2-live_src_prepare() {
intltoolize --force
eautoreconf
- gnome2_src_prepare
+ ### Keep this in-sync with gnome2.eclass!
+ # Prevent scrollkeeper access violations
+ gnome2_omf_fix
+
+ # Run libtoolize
+ elibtoolize ${ELTCONF}
}
# So that it replaces gnome2_src_unpack in ebuilds that call it
diff --git a/eclass/gnome2.eclass b/eclass/gnome2.eclass
deleted file mode 100644
index fcfe0e1..0000000
--- a/eclass/gnome2.eclass
+++ /dev/null
@@ -1,144 +0,0 @@
-# Copyright 1999-2008 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-#
-# gnome2.eclass
-#
-# Exports portage base functions used by ebuilds written for packages using the
-# GNOME framework. For additional functions, see gnome2-utils.eclass.
-#
-# Maintained by Gentoo's GNOME herd <gnome@gentoo.org>
-# Modified by Nirbheek Chauhan <nirbheek.chauhan@gmail.com>
-#
-
-
-inherit fdo-mime libtool gnome.org gnome2-utils
-
-
-# Extra configure opts passed to econf
-G2CONF=${G2CONF:-""}
-
-# Extra options passed to elibtoolize
-ELTCONF=${ELTCONF:-""}
-
-# Should we use EINSTALL instead of DESTDIR
-USE_EINSTALL=${USE_EINSTALL:-""}
-
-# Run scrollkeeper for this package?
-SCROLLKEEPER_UPDATE=${SCROLLKEEPER_UPDATE:-"1"}
-
-
-
-if [[ ${GCONF_DEBUG} != "no" ]]; then
- IUSE="debug"
-fi
-
-
-
-gnome2_src_unpack() {
- unpack ${A}
- cd "${S}"
- [[ "${EAPI}" != 2 ]] && gnome2_src_prepare
-}
-
-gnome2_src_prepare() {
- # Prevent scrollkeeper access violations
- gnome2_omf_fix
-
- # Run libtoolize
- elibtoolize ${ELTCONF}
-}
-
-gnome2_src_configure() {
- # Update the GNOME configuration options
- if [[ ${GCONF_DEBUG} != 'no' ]] ; then
- if use debug ; then
- G2CONF="${G2CONF} --enable-debug=yes"
- fi
- fi
-
- # Prevent a QA warning
- if hasq doc ${IUSE} ; then
- G2CONF="${G2CONF} $(use_enable doc gtk-doc)"
- fi
-
- # Avoid sandbox violations caused by misbehaving packages (bug #128289)
- addwrite "/root/.gnome2"
-
- # GST_REGISTRY is to work around gst-inspect trying to read/write /root
- GST_REGISTRY="${S}/registry.xml" econf "$@" ${G2CONF} || die "configure failed"
-}
-
-gnome2_src_compile() {
- [[ "${EAPI}" != 2 ]] && gnome2_src_configure
- emake || die "compile failure"
-}
-
-gnome2_src_install() {
- # if this is not present, scrollkeeper-update may segfault and
- # create bogus directories in /var/lib/
- local sk_tmp_dir="/var/lib/scrollkeeper"
- dodir "${sk_tmp_dir}"
-
- # we must delay gconf schema installation due to sandbox
- export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL="1"
-
- if [[ -z "${USE_EINSTALL}" || "${USE_EINSTALL}" = "0" ]]; then
- debug-print "Installing with 'make install'"
- emake DESTDIR="${D}" "scrollkeeper_localstate_dir=${D}${sk_tmp_dir} " "$@" install || die "install failed"
- else
- debug-print "Installing with 'einstall'"
- einstall "scrollkeeper_localstate_dir=${D}${sk_tmp_dir} " "$@" || die "einstall failed"
- fi
-
- unset GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL
-
- # Manual document installation
- [[ -n "${DOCS}" ]] && dodoc ${DOCS}
-
- # Do not keep /var/lib/scrollkeeper because:
- # 1. The scrollkeeper database is regenerated at pkg_postinst()
- # 2. ${D}/var/lib/scrollkeeper contains only indexes for the current pkg
- # thus it makes no sense if pkg_postinst ISN'T run for some reason.
- if [[ -z "$(find "${D}" -name '*.omf')" ]]; then
- export SCROLLKEEPER_UPDATE="0"
- fi
- rm -rf "${D}${sk_tmp_dir}"
-
- # Make sure this one doesn't get in the portage db
- rm -fr "${D}/usr/share/applications/mimeinfo.cache"
-}
-
-gnome2_pkg_preinst() {
- gnome2_gconf_savelist
- gnome2_icon_savelist
-}
-
-gnome2_pkg_postinst() {
- gnome2_gconf_install
- fdo-mime_desktop_database_update
- fdo-mime_mime_database_update
- gnome2_icon_cache_update
-
- if [[ "${SCROLLKEEPER_UPDATE}" = "1" ]]; then
- gnome2_scrollkeeper_update
- fi
-}
-
-#gnome2_pkg_prerm() {
-# gnome2_gconf_uninstall
-#}
-
-gnome2_pkg_postrm() {
- fdo-mime_desktop_database_update
- fdo-mime_mime_database_update
- gnome2_icon_cache_update
-
- if [[ "${SCROLLKEEPER_UPDATE}" = "1" ]]; then
- gnome2_scrollkeeper_update
- fi
-}
-
-# pkg_prerm
-EXPORT_FUNCTIONS src_unpack src_prepare src_compile src_configure src_install pkg_preinst pkg_postinst pkg_postrm
diff --git a/gnome-base/gdm/Manifest b/gnome-base/gdm/Manifest
index 235ca2e..0dabe80 100644
--- a/gnome-base/gdm/Manifest
+++ b/gnome-base/gdm/Manifest
@@ -1,4 +1,4 @@
AUX gdm-fix-daemonize-regression.patch 3810 RMD160 4d6cd08ba2cb27f3d4702a7f7d8cb55ba84e2e1f SHA1 c5c0569f2bf5f95ac86389da2c21088755dfd422 SHA256 95725e57a6c19667e7bbf7ac533c031dc6590e869b3a8b93916c5cda9b91ca71
AUX gdm-selinux-remove-attr.patch 503 RMD160 f6281e88fdd718d04667effa938a23286e583770 SHA1 96736ecf27810a055b18890acceac46a25eb8b90 SHA256 cad06b235a669ee342386b9a97502e635c632b0d15b5833b05349c90ea76fb59
DIST gdm-2.20.5-gentoo-files.tar.bz2 3214 RMD160 a075aa94fc3f6f2947bddf46f008979d62cc94d3 SHA1 9654caf36a91a83ffb5d4e53078a70e8c29a0b61 SHA256 47716f35eb1c6875e9c8e42120ff5f65da806aa06f15a48b082a6f5e5a94da83
-EBUILD gdm-9999.ebuild 4560 RMD160 6135a65182949274003ac7c8b936da8146677d21 SHA1 d72f2f1985fda9f3fa930f1a4f8496b32350a17d SHA256 6d008a382a5cff06fa1df41261a4178ecb289066c35eaa1f0169bd97d377a705
+EBUILD gdm-9999.ebuild 4578 RMD160 11a9cbf1370c98120cc82ecdda0c86a1ec62e8fa SHA1 b55cb67ce3a614f53eaadcc48a08225f66127c4c SHA256 affb4a6a3524a5a94eecf195c76352c7f9f9da632eb4a63297d926c5eea2a8f8
diff --git a/gnome-base/gdm/gdm-9999.ebuild b/gnome-base/gdm/gdm-9999.ebuild
index 554fc30..ca84240 100644
--- a/gnome-base/gdm/gdm-9999.ebuild
+++ b/gnome-base/gdm/gdm-9999.ebuild
@@ -3,7 +3,7 @@
# $Header: $
EAPI=2
-inherit eutils pam gnome2 gnome2-live
+inherit eutils pam gnome2 gnome2-live gnome2-eapi-fixes
DESCRIPTION="GNOME Display Manager"
HOMEPAGE="http://www.gnome.org/projects/gdm/"