From 0ff282d6345425048db4c6c890e2c007055ec10b Mon Sep 17 00:00:00 2001 From: Arfrever Frehtes Taifersar Arahesis Date: Mon, 26 Dec 2011 18:56:04 +0000 Subject: Respect PYTHON_RESTRICTED_ABIS. Don't delete unrelated USE flags from IUSE. Print messages about changes in IUSE. --- python-updater | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'python-updater') diff --git a/python-updater b/python-updater index f5d2681..2408fe0 100755 --- a/python-updater +++ b/python-updater @@ -717,21 +717,41 @@ for contents_file in $(find ${PKG_DBDIR}/ -name CONTENTS | sort); do if [[ -n "${PYTHON_MULTIPLE_ABIS}" && "${EAPI}" =~ ^4-python$ ]]; then # Potentially update USE flags in IUSE in EAPI >= 4-python. if [[ "${PRETEND}" -eq 0 && -f "${contents_file%CONTENTS}IUSE" && -f "${contents_file%CONTENTS}USE" && -f "${contents_file%CONTENTS}repository" ]]; then + get_vdb_variable PYTHON_RESTRICTED_ABIS "${environment_file}" IUSE="$(<"${contents_file%CONTENTS}IUSE")" USE="$(<"${contents_file%CONTENTS}USE")" repository="$(<"${contents_file%CONTENTS}repository")" [[ "${repository}" == "python" ]] && repository="progress" if [[ -n "${#PYTHON_GLOBALLY_SUPPORTED_USE_FLAGS[${repository}]}" ]]; then + deleted_USE_flags="" + added_USE_flags="" + # Delete no longer available USE flags. for USE_flag in ${IUSE}; do - if ! has "${USE_flag}" ${PYTHON_GLOBALLY_SUPPORTED_USE_FLAGS[${repository}]} && ! has "${USE_flag}" ${USE}; then + USE_flag="${USE_flag#[+-]}" + if [[ "${USE_flag}" == python_abis_* ]] && ! has "${USE_flag}" ${PYTHON_GLOBALLY_SUPPORTED_USE_FLAGS[${repository}]} && ! has "${USE_flag}" ${USE}; then + deleted_USE_flags+="${deleted_USE_flags:+ }${USE_flag}" sed -e "s/\(^\| \)${USE_flag}\($\| \)/\1\2/;s/^ //;s/ / /g;s/ $//" -i "${contents_file%CONTENTS}IUSE" fi done + # Add newly available USE flags. for USE_flag in ${PYTHON_GLOBALLY_SUPPORTED_USE_FLAGS[${repository}]}; do - if ! has "${USE_flag}" ${IUSE}; then + if ! has "${USE_flag}" ${IUSE} && ! check_python_abi_matching --patterns-list "${USE_flag#python_abis_}" "${PYTHON_RESTRICTED_ABIS}"; then + added_USE_flags+="${added_USE_flags:+ }${USE_flag}" sed -e "s/$/ ${USE_flag}/" -i "${contents_file%CONTENTS}IUSE" fi done + if [[ -n "${deleted_USE_flags}" || -n "${added_USE_flags}" ]]; then + # Update mtime of directory. + touch "${contents_file%/CONTENTS}" + fi + eindent + if [[ -n "${deleted_USE_flags}" ]]; then + veinfo 1 "Deleted USE flags: ${deleted_USE_flags}" + fi + if [[ -n "${added_USE_flags}" ]]; then + veinfo 1 "Added USE flags: ${added_USE_flags}" + fi + eoutdent fi fi # Don't run any checks in EAPI >= 4-python. -- cgit v1.2.3-65-gdbad