public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Paul Varner" <fuzzyray@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/gentoolkit:master commit in: /
Date: Thu, 15 Oct 2015 16:44:17 +0000 (UTC)	[thread overview]
Message-ID: <1293582614.879cf3ce1f3041854c9dc886b59ac7e136ae9b9b.fuzzyray@gentoo> (raw)

commit:     879cf3ce1f3041854c9dc886b59ac7e136ae9b9b
Author:     Paul Varner <fuzzyray <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 29 00:30:14 2010 +0000
Commit:     Paul Varner <fuzzyray <AT> gentoo <DOT> org>
CommitDate: Wed Dec 29 00:30:14 2010 +0000
URL:        https://gitweb.gentoo.org/proj/gentoolkit.git/commit/?id=879cf3ce

Merge branch 'gentoolkit' into euse

Conflicts:
	bin/euse

 AUTHORS                                            |    8 +-
 CREDITS                                            |   16 +
 ChangeLog                                          |   96 ++
 DEVELOPING                                         |  161 ++++
 MANIFEST.in                                        |   12 +-
 Makefile                                           |   25 -
 NEWS                                               |   40 +
 README.dev                                         |   39 +
 TODO                                               |   37 +-
 VERSION                                            |    1 -
 bin/analyse                                        |   48 +
 bin/eclean                                         |  849 +---------------
 bin/epkginfo                                       |  284 +-----
 bin/equery                                         |   28 +-
 bin/eshowkw                                        |    9 +
 bin/euse                                           |  137 ++-
 bin/glsa-check                                     |  126 +--
 bin/revdep-rebuild                                 |  192 ++--
 man/analyse.1                                      |  210 ++++
 man/eclean.1                                       |   31 +-
 man/epkginfo.1                                     |   60 +-
 man/equery.1                                       |  862 ++++++++++++-----
 man/eshowkw.1                                      |   47 +
 man/glsa-check.1                                   |   14 +-
 man/revdep-rebuild.1                               |    9 +-
 pylintrc                                           |  321 ++++++
 pym/gentoolkit/__init__.py                         |   45 +-
 pym/gentoolkit/analyse/__init__.py                 |  128 +++
 pym/gentoolkit/analyse/analyse.py                  |  378 ++++++++
 pym/gentoolkit/analyse/base.py                     |  134 +++
 pym/gentoolkit/analyse/lib.py                      |  352 +++++++
 pym/gentoolkit/analyse/output.py                   |  213 ++++
 pym/gentoolkit/analyse/rebuild.py                  |  235 +++++
 pym/gentoolkit/atom.py                             |  347 +++++++
 pym/gentoolkit/base.py                             |  149 +++
 pym/gentoolkit/cpv.py                              |  256 +++++
 pym/gentoolkit/dbapi.py                            |   17 +
 pym/gentoolkit/dependencies.py                     |  330 +++++++
 pym/gentoolkit/{ => deprecated}/helpers.py         |   61 +-
 pym/gentoolkit/eclean/__init__.py                  |    4 +
 pym/gentoolkit/eclean/clean.py                     |  149 +++
 pym/gentoolkit/eclean/cli.py                       |  504 ++++++++++
 pym/gentoolkit/eclean/exclude.py                   |  262 +++++
 pym/gentoolkit/eclean/output.py                    |  187 ++++
 pym/gentoolkit/eclean/pkgindex.py                  |   91 ++
 pym/gentoolkit/eclean/search.py                    |  569 +++++++++++
 pym/gentoolkit/eprefix.py                          |   34 +
 pym/gentoolkit/equery/__init__.py                  |  198 ++--
 pym/gentoolkit/equery/belongs.py                   |  168 ++--
 pym/gentoolkit/equery/changes.py                   |  310 ++----
 pym/gentoolkit/equery/check.py                     |  370 ++++---
 pym/gentoolkit/equery/depends.py                   |  283 +++---
 pym/gentoolkit/equery/depgraph.py                  |  265 +++--
 pym/gentoolkit/equery/files.py                     |  180 ++--
 pym/gentoolkit/equery/has.py                       |  213 ++++
 pym/gentoolkit/equery/hasuse.py                    |  152 +--
 pym/gentoolkit/equery/keywords.py                  |    8 +
 pym/gentoolkit/equery/list_.py                     |  203 ++--
 pym/gentoolkit/equery/meta.py                      |  609 ++++++------
 pym/gentoolkit/equery/size.py                      |  137 ++-
 pym/gentoolkit/equery/uses.py                      |  240 ++---
 pym/gentoolkit/equery/which.py                     |   51 +-
 pym/gentoolkit/errors.py                           |  164 ++--
 pym/gentoolkit/eshowkw/__init__.py                 |  130 +++
 pym/gentoolkit/eshowkw/display_pretty.py           |  103 ++
 pym/gentoolkit/eshowkw/keywords_content.py         |  325 +++++++
 pym/gentoolkit/eshowkw/keywords_header.py          |  100 ++
 pym/gentoolkit/flag.py                             |  165 ++++
 pym/gentoolkit/formatters.py                       |   99 ++
 pym/gentoolkit/glsa/__init__.py                    |  149 +--
 pym/gentoolkit/helpers.py                          |  616 +++++++++---
 pym/gentoolkit/helpers2.py                         |  437 ---------
 pym/gentoolkit/keyword.py                          |  144 +++
 pym/gentoolkit/metadata.py                         |  307 ++++++
 pym/gentoolkit/package.py                          |  860 +++++++++--------
 pym/gentoolkit/pprinter.py                         |  265 +++--
 pym/gentoolkit/query.py                            |  382 ++++++++
 pym/gentoolkit/sets.py                             |   57 ++
 pym/gentoolkit/test/__init__.py                    |   25 +
 pym/gentoolkit/test/eclean/Packages                | 1017 ++++++++++++++++++++
 pym/gentoolkit/test/eclean/__init__.py             |    6 +
 pym/gentoolkit/test/eclean/creator.py              |  242 +++++
 pym/gentoolkit/test/eclean/distfiles.exclude       |   11 +
 pym/gentoolkit/test/eclean/distsupport.py          |  482 ++++++++++
 pym/gentoolkit/test/eclean/test_clean.py           |  152 +++
 pym/gentoolkit/test/eclean/test_search.py          |  632 ++++++++++++
 pym/gentoolkit/test/equery/__init__.py             |    6 +
 pym/gentoolkit/{tests => test}/equery/test_init.py |   10 +-
 pym/gentoolkit/test/test_atom.py                   |  153 +++
 pym/gentoolkit/test/test_cpv.py                    |  142 +++
 pym/gentoolkit/test/test_helpers.py                |  122 +++
 pym/gentoolkit/test/test_keyword.py                |   57 ++
 pym/gentoolkit/test/test_query.py                  |  109 +++
 pym/gentoolkit/test/test_syntax.py                 |   34 +
 pym/gentoolkit/tests/test_helpers2.py              |   39 -
 pym/gentoolkit/tests/test_template.py              |   38 -
 pym/gentoolkit/textwrap_.py                        |  108 ++-
 pym/gentoolkit/versionmatch.py                     |  153 +--
 setup.py                                           |  156 ++-
 99 files changed, 14772 insertions(+), 4719 deletions(-)

diff --cc bin/euse
index fc9d60f,297d4f6..c54135f
--- a/bin/euse
+++ b/bin/euse
@@@ -7,13 -7,44 +7,53 @@@
  # Licensed under the GPL v2
  
  PROGRAM_NAME=euse
- PROGRAM_VERSION=$(cat /usr/share/gentoolkit/VERSION)
+ 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
- PACKAGE_USE_PATH=/etc/portage/package.use
+ EPREFIX=${EPREFIX:-$(portageq envvar EPREFIX)}
+ ETC="${EPREFIX}/etc"
+ USR_SHARE_PORTAGE="${EPREFIX}/usr/share/portage"
+ 
 -# define error function so it can be used immediately
 -error() {
 -	echo "ERROR: ${1}"
++# define error functions so they can be used immediately
++fatal() {
++	echo -e "ERROR: ${*}"
+ 	set +f
+ 	exit 1
+ }
+ 
++error() {
++	echo -e "ERROR: ${*}"
++}
++
++warn() {
++	echo -e "WARNING: ${*}"
++}
++
+ # /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"
++	fatal "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"
++	fatal "make.profile does not exist"
+ fi
++PACKAGE_USE_PATH=${ETC}/portage/package.use
  
  [ -z "${MODE}" ] && MODE="showhelp"		# available operation modes: showhelp, showversion, showdesc, showflags, modify
  
@@@ -79,22 -93,27 +105,28 @@@ check_sanity() 
  	# 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"
++		[ ! -r "${make_conf}" ] && fatal "${make_conf} is not readable"
+ 	done
+ 
  	descdir="$(get_portdir)/profiles"
 +	
- 	[ ! -r "${MAKE_CONF_PATH}" ] && fatal "${MAKE_CONF_PATH} is not readable"
 +	[ ! -r "${MAKE_GLOBALS_PATH}" ] && fatal "${MAKE_GLOBALS_PATH} is not readable"
- 	[ ! -h "${MAKE_PROFILE_PATH}" ] && fatal "${MAKE_PROFILE_PATH} is not a symlink"
 +	[ -z "$(get_portdir)" ] && fatal "\$PORTDIR couldn't be determined"
 +	[ ! -d "${descdir}" ] && fatal "${descdir} does not exist or is not a directory"
 +	[ ! -r "${descdir}/use.desc" ] && fatal "${descdir}/use.desc is not readable"
 +	[ ! -r "${descdir}/use.local.desc" ] && fatal "${descdir}/use.local.desc 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"
 -	[ ! -r "${descdir}/use.desc" ] && error "${descdir}/use.desc is not readable"
 -	[ ! -r "${descdir}/use.local.desc" ] && error "${descdir}/use.local.desc is not readable"
  	for make_defaults in $(get_all_make_defaults); do
 -		[ ! -r "$make_defaults" ]  && error "$_make_defaults is not readable"
 +		[ ! -r "$make_defaults" ]  && fatal "$_make_defaults is not readable"
  	done
 -#	[ ! -r "$(get_make_defaults)" ] && error "$(get_make_defaults) is not readable"
 -	[ "${MODE}" == "modify" -a ! -w "${MAKE_CONF_PATH}" ] && error ""${MAKE_CONF_PATH}" is not writable"
 -}
 +	[ "${MODE}" == "modify" -a ! -w "${MAKE_CONF_PATH}" ] && fatal ""${MAKE_CONF_PATH}" is not writable"
 +	[ "${MODE}" == "modify" -a -s "${PACKAGE_USE_PATH}" -a ! -w "${PACKAGE_USE_PATH}" ] && fatal ""${PACKAGE_USE_PATH}" is not writable"
 +} # }}}
  
  showhelp() {
  cat << HELP
@@@ -235,11 -187,13 +267,13 @@@ get_useflags() 
  
  	# backup portdir so get_portdir() doesn't give false results later
  	portdir_backup="${PORTDIR}"
 -
 +	
  	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}"
@@@ -254,139 -207,36 +288,146 @@@
  	USE="${ACTIVE_FLAGS[0]}"
  	PORTDIR="${portdir_backup}"
  
 +	#
 +	# Traverse through use.mask and use.force (0.5s)
 +	# Flip signs of use.mask (it's interpreted oppositely), 
 +	ACTIVE_FLAGS[6]=$(reduce_incrementals_trump \
 +		$(cat $(traverse_profile "use.mask") | sed -re "/^#.*$/{d}") \
 +			| sed -re "s/(^| )-[^ ]*//g" -e "s/(^| )([a-z0-9])/ -\2/g")
 +	ACTIVE_FLAGS[7]=$(reduce_incrementals \
 +		$(cat $(traverse_profile "use.force") \
 +			| sed -re "/^#.*$/ {d}"))
 +
 +	USE_FLAGS_CALCULATED=1
 +} # }}}
 +
 +# Function: get_portageuseflags # {{{
 +# Fetch USE flags reported active by Portage
 +get_portageuseflags() {
 +	# only calculate once as calling emerge is painfully slow
 +	[ -n "${_PORTAGE_USE_FLAGS_CALCULATED}" ] && return
  	# get the currently active USE flags as seen by portage, this has to be after
  	# restoring USE or portage won't see the original environment
 +	# Bug 181309, emerge may complain if EMERGE_DEFAULT_OPTS="--ask" is set
- 	ACTIVE_FLAGS[9]="$(emerge --ignore-default-opts --info | grep 'USE=' | cut -b 5- | sed -e 's:"::g')" #'
+ 	ACTIVE_FLAGS[9]="$(portageq envvar USE)" #'
 -	USE_FLAGS_CALCULATED=1
 -}
 -
 -# get the list of all known USE flags by reading use.desc and/or use.local.desc
 -# (depending on the value of $SCOPE)
 +	_PORTAGE_USE_FLAGS_CALCULATED=1
 +} # }}}
 +
 +# Function: get_useflaglist {{{
 +# Get the list of all known USE flags by reading use.desc and/or 
 +# use.local.desc (depending on the value of $SCOPE). Also searches any 
 +# registered overlays after searching the main portage tree first.
 +# Use flags visible in both the main tree and overlays are trumped by
 +# the main tree. Overlays are indicated by brackets [xxx] at the 
 +# beginning of the description. 
 +#
 +# Returns:
 +# (written to stdout) Sorted, unique list of system-wide USE flags and
 +# descriptions. Flags defined in overlays have the overlay in brackets
 +# prepended to the descriptions.
 +#
 +# Environment:
 +# SCOPE - [local|global] constrain search to local (use.local.desc) or
 +# 		  global (use.desc)
  get_useflaglist() {
  	local descdir
 -
 -	descdir="$(get_portdir)/profiles"
 -
 -	if [ -z "${SCOPE}" -o "${SCOPE}" == "global" ]; then
 -		egrep "^[^# ]+ +-" "${descdir}/use.desc" | cut -d\  -f 1
 -	fi
 -	if [ -z "${SCOPE}" -o "${SCOPE}" == "local" ]; then
 -		egrep "^[^# :]+:[^ ]+ +-" "${descdir}/use.local.desc" | cut -d: -f 2 | cut -d\  -f 1
 +	local overlay
 +	for profiledir in ${ALL_PORTDIRS[@]}; do
 +		descdir="${profiledir}/profiles"
 +		if [[ -z ${SCOPE} || ${SCOPE} == "global" ]]; then
 +			[[ ! -s "${descdir}/use.desc" ]] && continue
 +			egrep "^[^# ]+ +-" "${descdir}/use.desc" 
 +		fi
 +		if [[ -z ${SCOPE} || ${SCOPE} == "local" ]]; then
 +			[[ ! -s "${descdir}/use.local.desc" ]] && continue
 +			egrep "^[^# :]+:[^ ]+ +-" "${descdir}/use.local.desc" \
 +				| cut -d: -f 2 
 +		fi
 +	done | cut -d " "  -f1 | sort --field=":" --key=1,1 --unique
 +} # }}}
 +
 +# Function: get_useflaglist_ebuild {{{
 +# Builds USE flag information for specified package atom into 
 +# ACTIVE_FLAGS[5]. For the atom, the versions available are found, and 
 +# for each, the corresponding SLOT, IUSE are stored along with which 
 +# overlay the ebuild lives in. Considering that the pieces of information 
 +# may be required in any order or any subsets, it is intended for the 
 +# function to cache the information and it be retrieved from 
 +# ACTIVE_FLAGS[5]. So the format of ACTIVE_FLAGS[5] is newline-separated 
 +# list of:
 +#
 +# category/packge;version;SLOT;IUSE;overlay
 +#
 +# Arguments:
 +# $1 - Package atom to lookup (app-editor/vim)
 +#
 +# Returns:
 +# Nothing significant
 +#
 +# Environment:
 +# PORTDIR - Root of portage tree
 +# ACTIVE_FLAGS - Array of current use flag info
 +#
 +get_useflaglist_ebuild() {
 +	local known=$(echo "${ACTIVE_FLAGS[5]}" | egrep "^${1}")
 +	if [[ -n $known ]]; then
 +		# No need to recache
 +		return
  	fi
 -}
 +	local pkg=$(echo ${1} | cut -d/ -f2)
 +	declare append
 +	for portdir in ${ALL_PORTDIRS[@]}; do
 +		# Open the ebuild file and retrieve defined USE flags
 +		[[ ! -d "$portdir/${1}" ]] && continue
 +		append=$(echo -n $portdir/${1}/*.ebuild "" \
 +			| perl -pne "s:$portdir/${1}/${pkg}-(([^.]|\.(?!e))+)\.ebuild:\1:g" \
 +			| while read -d " " version; do
 +				IFS=$'\n'
 +				if [[ $portdir == $PORTDIR ]]; then 
 +					overlay=""
 +				else
 +					if [[ -s $(dirname ${portdir}/repo_name) ]]; then
 +						overlay="$(cat "${portdir}/profiles/repo_name")"
 +					else
 +						# XXX: May be better to use full path
 +						overlay="$(basename "${portdir}")"
 +					fi
 +				fi
 +				if [[ ! -d "$portdir/metadata/cache" ]]; then
 +					echo "!!! Metadata cache not found. You need to run " >&2
 +					echo "!!! 'egencache --repo=$overlay --update'" >&2
 +					echo "!!! to generate metadata for your overlays" >&2
 +					return 1
 +				elif [[ ! -e "$portdir/metadata/cache/${1}-$version" ]]; then
 +					# Repo does not have this particular package
 +					continue
 +				fi
 +				iuse=$(head -11 "$portdir/metadata/cache/${1}-$version"|tail -1)
 +				slot=$(head -3 "$portdir/metadata/cache/${1}-$version"|tail -1)
 +				echo "${1};${version};${slot};${iuse};${overlay}"
 +			done
 +		)
 +		if [[ -z ${ACTIVE_FLAGS[5]} ]]; then ACTIVE_FLAGS[5]="$append"
 +		else ACTIVE_FLAGS[5]="${ACTIVE_FLAGS[5]}"$'\n'"$append"
 +		fi
 +	done
 +} # }}}
  
+ # 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() {
 +# Function: traverse_profile {{{
 +# General method of collecting the contents of a profile
 +# component by traversing through the cascading profile
 +#
 +# Arguments:
 +# $1 - Filename (make.profile)
 +# [$2] - Current directory (unspecified means to start at the top)
 +traverse_profile() {
  	local curdir
  	local parent
  	local rvalue
@@@ -684,10 -326,9 +727,10 @@@ showdesc() 
  	local current_desc
  	local found_one
  	local args
 -
 +	
 +	set -f
  	args="${*:-*}"
- 	
+ 
  	if [ -z "${SCOPE}" ]; then
  		SCOPE="global" showdesc ${args}
  		echo
@@@ -700,49 -341,37 +743,49 @@@
  	[ "${SCOPE}" == "global" ] && echo "global use flags (searching: ${args})"
  	[ "${SCOPE}" == "local" ] && echo "local use flags (searching: ${args})"
  	echo "************************************************************"
 -
 +	set +f
  	if [ "${args}" == "*" ]; then
 -		args="$(get_useflaglist | sort -u)"
 +		args="${useflags[*]}"
  	fi
- 	
+ 
  	set ${args}
  
  	foundone=0
 -	while [ -n "${1}" ]; do
 -		if [ "${SCOPE}" == "global" ]; then
 -			if grep "^${1}  *-" "${descdir}/use.desc" > /dev/null; then
 +	while [[ -n "${1}" ]]; do
 +		if [[ "${SCOPE}" == "global" ]]; then
 +			if array_contains "${useflags[*]}" "$1"; then
  				get_flagstatus "${1}"
 +				# XXX: Handle overlay
 +				grep "^${1}  *-" ${ALL_PORTDIRS[@]/%//profiles/use.desc} 2> /dev/null \
 +					| sed -re "s/^([^:]+)://"
  				foundone=1
  			fi
 -			grep "^${1}  *-" "${descdir}/use.desc"
  		fi
- 		# local flags are a bit more complicated as there can be multiple 
+ 		# local flags are a bit more complicated as there can be multiple
  		# entries per flag and we can't pipe into printf
 -		if [ "${SCOPE}" == "local" ]; then
 -			if grep ":${1}  *-" "${descdir}/use.local.desc" > /dev/null; then
 +		if [[ "${SCOPE}" == "local" ]]; then
 +			if array_contains "${useflags[*]}" "$1"; then
  				foundone=1
  			fi
 -			grep ":${1}  *-" "${descdir}/use.local.desc" \
 -				| sed -e "s/^\([^:]\+\):\(${1}\) *- *\(.\+\)/\1|\2|\3/g" \
 -				| while read line; do
 -					pkg="$(echo $line | cut -d\| -f 1)"
 -					flag="$(echo $line | cut -d\| -f 2)"
 -					desc="$(echo $line | cut -d\| -f 3)"
 -					get_flagstatus "${flag}"
 -					printf "%s (%s):\n%s\n\n" "${flag}" "${pkg}" "${desc}"
 -				done
 +			# Fetch all the packages data using this flag
 +			infos=$( grep ":${1}  *-" ${ALL_PORTDIRS[@]/%//profiles/use.local.desc} 2> /dev/null \
 +				| sed -re "s/^([^:]+):([^:]+):(${1}) *- *(.+)/\1|\2|\3|\4/g")
 +			OIFS=$IFS; IFS=$'\n'; infos=($infos); IFS=$OIFS;
 +			for line in "${infos[@]}"; do
 +				OIFS=$IFS; IFS="|"; line=($line); IFS=$OIFS
 +				pkg=${line[1]} 
 +				flag=${line[2]}
 +				desc=${line[3]}
 +				if get_flagstatus "${flag}"; then
 +					ACTIVE="+"
 +				else
 +					ACTIVE="-"
 +				fi
 +				printf "%s\n" "${flag}"
 +				printf "%s: %s\n" "${pkg}" "${desc}" \
 +					| fold --width=$((${COLUMNS:-80}-10)) -s | sed -e "s/^/    /g"
 +				get_flagstatus_pkg "${flag}" "${pkg}" "${ACTIVE}"
 +			done
  		fi
  		shift
  	done
@@@ -853,10 -466,9 +896,10 @@@ showflags() 
  	if [ "${args}" == "*" ]; then
  		args="$(get_useflaglist | sort -u)"
  	fi
- 	
+ 
  	set ${args}
 -
 +	get_portageuseflags
 +	
  	while [ -n "${1}" ]; do
  		if echo " ${ACTIVE_FLAGS[9]} " | grep " ${1} " > /dev/null; then
  			printf "%-20s" ${1}
@@@ -1226,9 -578,9 +1269,9 @@@ modify() 
  		echo -ne "${NEW_MAKE_CONF_USE_2%% }"
  		echo '"'
  	fi ) < "${MAKE_CONF_BACKUP_PATH}" | sed -e 's:\\ $:\\:' > "${MAKE_CONF_PATH}"
- 	
+ 
  	echo "${MAKE_CONF_PATH} was modified, a backup copy has been placed at ${MAKE_CONF_BACKUP_PATH}"
 -}
 +} # }}}
  
  ##### main program comes now #####
  


             reply	other threads:[~2015-10-15 16:44 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-15 16:44 Paul Varner [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-09-10  2:28 [gentoo-commits] proj/gentoolkit:master commit in: / Matt Turner
2024-05-08 21:43 Sam James
2024-04-25 20:37 Sam James
2024-03-12 21:43 Sam James
2024-03-12 21:43 Sam James
2024-03-12 21:43 Sam James
2024-02-16 20:39 Sam James
2024-01-19  6:37 Sam James
2024-01-19  4:54 Sam James
2024-01-18 20:57 Matt Turner
2024-01-18 20:57 Matt Turner
2023-12-03  7:51 Sam James
2023-03-24  2:50 Sam James
2023-03-20  4:41 Sam James
2022-07-10 20:49 Brian Dolbec
2022-07-10 18:59 Brian Dolbec
2022-07-10 18:41 Brian Dolbec
2022-07-10 17:20 Brian Dolbec
2022-03-16 18:19 Matt Turner
2022-03-16 18:19 Matt Turner
2022-02-09 10:48 Sam James
2021-09-21 21:01 Matt Turner
2021-09-20 23:02 Matt Turner
2021-09-20 22:57 Matt Turner
2021-09-20 22:57 Matt Turner
2021-09-20 22:57 Matt Turner
2021-03-02  3:31 Matt Turner
2020-04-24  8:34 Michał Górny
2020-04-24  8:06 Michał Górny
2020-03-12 16:51 Matt Turner
2020-02-19  5:44 Michał Górny
2020-01-26 15:20 Michał Górny
2019-08-19  3:51 Zac Medico
2019-05-11 23:09 Virgil Dupras
2019-04-01  1:51 Virgil Dupras
2018-08-14 16:01 Virgil Dupras
2017-03-23  1:40 Mike Frysinger
2017-03-22 20:54 Brian Dolbec
2017-03-22 20:13 Brian Dolbec
2017-03-22 12:51 Brian Dolbec
2016-08-01  4:10 Brian Dolbec
2016-08-01  4:10 Brian Dolbec
2016-03-13 15:11 Mike Gilbert
2015-12-20 20:33 Mike Gilbert
2015-11-24 18:14 Paul Varner
2015-11-24 18:12 Paul Varner
2015-10-15 16:44 Paul Varner
2015-10-15 16:44 Paul Varner
2015-10-15 16:44 Paul Varner
2015-10-15 16:44 Paul Varner
2015-10-15 16:44 Paul Varner
2015-10-15 16:44 Paul Varner
2015-10-15 16:44 Paul Varner
2015-10-15 16:44 Paul Varner
2014-11-03 22:59 Mike Gilbert

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1293582614.879cf3ce1f3041854c9dc886b59ac7e136ae9b9b.fuzzyray@gentoo \
    --to=fuzzyray@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox