public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] gentoolkit r868 - in trunk/gentoolkit: . bin
@ 2010-11-24 17:51 Paul Varner (fuzzyray)
  0 siblings, 0 replies; only message in thread
From: Paul Varner (fuzzyray) @ 2010-11-24 17:51 UTC (permalink / raw
  To: gentoo-commits

Author: fuzzyray
Date: 2010-11-24 17:51:15 +0000 (Wed, 24 Nov 2010)
New Revision: 868

Modified:
   trunk/gentoolkit/ChangeLog
   trunk/gentoolkit/bin/euse
Log:
Update euse to look for portage config files in new as well as old paths. Bug 346519

Modified: trunk/gentoolkit/ChangeLog
===================================================================
--- trunk/gentoolkit/ChangeLog	2010-11-23 22:05:12 UTC (rev 867)
+++ trunk/gentoolkit/ChangeLog	2010-11-24 17:51:15 UTC (rev 868)
@@ -1,3 +1,7 @@
+2010-11-24: Paul Varner <fuzzyray@gentoo.org>
+	* euse: Fix euse to look for portage configuration files in both the
+	old and new paths. bug 346519.
+
 2010-10-29: Tomáš Chvátal <scarabeus@gentoo.org>
 	* eshowkw: Add new module as drop-in replacement for eshowkw from
 	gentoolkit-dev

Modified: trunk/gentoolkit/bin/euse
===================================================================
--- trunk/gentoolkit/bin/euse	2010-11-23 22:05:12 UTC (rev 867)
+++ trunk/gentoolkit/bin/euse	2010-11-24 17:51:15 UTC (rev 868)
@@ -9,11 +9,42 @@
 PROGRAM_NAME=euse
 VERSION="svn"
 
-MAKE_CONF_PATH=/etc/make.conf
-MAKE_GLOBALS_PATH=/etc/make.globals
-MAKE_PROFILE_PATH=/etc/make.profile
-MAKE_CONF_BACKUP_PATH=/etc/make.conf.euse_backup
+ETC="/etc"
+USR_SHARE_PORTAGE="/usr/share/portage"
 
+# define error function so it can be used immediately
+error() {
+	echo "ERROR: ${1}"
+	set +f
+	exit 1
+}
+
+# /etc/make.conf can now exist in /etc/portage/make.conf, prefer it over /etc/make.conf for changes
+if [ -e "${ETC}/portage/make.conf" ]; then
+	MAKE_CONF_PATH="${ETC}/portage/make.conf"
+elif [ -e "${ETC}/make.conf" ]; then
+	MAKE_CONF_PATH="${ETC}/make.conf"
+else
+	error "make.conf does not exist"
+fi
+MAKE_CONF_BACKUP_PATH="${MAKE_CONF_PATH}.euse_backup"
+
+# /etc/make.globals has been moved to /usr/share/portage/config/make.globals
+if [ -e "${USR_SHARE_PORTAGE}/config/make.globals" ]; then
+	MAKE_GLOBALS_PATH="${USR_SHARE_PORTAGE}/config/make.globals"
+else
+	MAKE_GLOBALS_PATH="${ETC}/make.globals"
+fi
+
+# /etc/make.profile or /etc/portage/make.profile, if /etc/make.profile exists, it will be used
+if [ -e "${ETC}/make.profile" ]; then
+	MAKE_PROFILE_PATH="${ETC}/make.profile"
+elif [ -e "${ETC}/portage/make.profile" ]; then
+	MAKE_PROFILE_PATH="${ETC}/portage/make.profile"
+else
+	error "make.profile does not exist"
+fi
+
 [ -z "${MODE}" ] && MODE="showhelp"		# available operation modes: showhelp, showversion, showdesc, showflags, modify
 
 parse_arguments() {
@@ -49,12 +80,6 @@
 	done
 }
 
-error() {
-	echo "ERROR: ${1}"
-	set +f
-	exit 1
-}
-
 get_real_path() {
 	set -P
 	cd "$1"
@@ -67,12 +92,16 @@
 	# file permission tests
 	local descdir
 	local make_defaults
+	local make_conf
 
 	[[ ! -d "${MAKE_PROFILE_PATH}" || ! -r "${MAKE_PROFILE_PATH}" ]] && error "${MAKE_PROFILE_PATH} is not readable"
+	# 
+	for make_conf in $(get_all_make_conf); do
+		[ ! -r "${make_conf}" ] && error "${make_conf} is not readable"
+	done
 
 	descdir="$(get_portdir)/profiles"
 
-	[ ! -r "${MAKE_CONF_PATH}" ] && error "${MAKE_CONF_PATH} is not readable"
 	[ ! -r "${MAKE_GLOBALS_PATH}" ] && error "${MAKE_GLOBALS_PATH} is not readable"
 	[ -z "$(get_portdir)" ] && error "\$PORTDIR couldn't be determined"
 	[ ! -d "${descdir}" ] && error "${descdir} does not exist or is not a directory"
@@ -160,8 +189,10 @@
 
 	ACTIVE_FLAGS[0]="$(reduce_incrementals ${USE})"
 	USE=""
-	source "${MAKE_CONF_PATH}"
-	ACTIVE_FLAGS[1]="$(reduce_incrementals ${USE})"
+	for x in $(get_all_make_conf); do
+		source "${x}"
+		ACTIVE_FLAGS[1]="$(reduce_incrementals ${ACTIVE_FLAGS[1]} ${USE})"
+	done
 	USE=""
 	for x in $(get_all_make_defaults); do
 		source "${x}"
@@ -196,6 +227,13 @@
 	fi
 }
 
+# get all make.conf files that exist on the system
+get_all_make_conf() {
+	# At least one of the files exists or we would not have made it this far
+	for x in ${ETC}/make.conf ${ETC}/portage/make.conf; do
+		[ -e "${x}" ] && echo "${x}"
+	done
+}
 # get all make.defaults by traversing the cascaded profile directories
 get_all_make_defaults() {
 	local curdir
@@ -272,7 +310,9 @@
 		for x in $(get_all_make_defaults); do
 			source "${x}"
 		done
-		source "${MAKE_CONF_PATH}"
+		for x in $(get_all_make_conf); do
+			source "${x}"
+		done
 		USE="${use_backup}"
 	fi
 	echo "${PORTDIR}"




^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2010-11-24 17:51 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-24 17:51 [gentoo-commits] gentoolkit r868 - in trunk/gentoolkit: . bin Paul Varner (fuzzyray)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox