commit: 5800538d4f12a998177c9c165dea3f4c519817eb Author: Ulrich Müller <ulm <AT> gentoo <DOT> org> AuthorDate: Wed Mar 26 15:34:13 2025 +0000 Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org> CommitDate: Wed Mar 26 15:34:13 2025 +0000 URL: https://gitweb.gentoo.org/proj/eselect.git/commit/?id=5800538d
Remove modules that have been moved to dedicated repositories * modules/awk.eselect: * modules/fontconfig.eselect: * modules/iptables.eselect: * modules/vi.eselect: * modules/wxwidgets.eselect: Remove. The sources for these modules are now maintained in dedicated Git repositories, for example https://gitweb.gentoo.org/proj/eselect-awk.git/. Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org> ChangeLog | 10 ++ modules/awk.eselect | 159 ------------------------- modules/fontconfig.eselect | 202 -------------------------------- modules/iptables.eselect | 283 --------------------------------------------- modules/vi.eselect | 189 ------------------------------ modules/wxwidgets.eselect | 259 ----------------------------------------- 6 files changed, 10 insertions(+), 1092 deletions(-) diff --git a/ChangeLog b/ChangeLog index b12c381..ebecbcf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2025-03-26 Ulrich Müller <[email protected]> + + * modules/awk.eselect: + * modules/fontconfig.eselect: + * modules/iptables.eselect: + * modules/vi.eselect: + * modules/wxwidgets.eselect: Remove. The sources for these modules + are now maintained in dedicated Git repositories, for example + https://gitweb.gentoo.org/proj/eselect-awk.git/. + 2018-05-29 Ulrich Müller <[email protected]> * modules/wxwidgets.eselect: Inherit multilib library (bug 552500). diff --git a/modules/awk.eselect b/modules/awk.eselect deleted file mode 100644 index 61650c4..0000000 --- a/modules/awk.eselect +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright 1999-2013 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id: $ - -DESCRIPTION="Manage {,/usr}/bin/awk implementations" -MAINTAINER="[email protected]" -VERSION="0.2" - -## Functions ## - -# find a list of awk symlink targets, best first -find_targets() { - local t - for t in \ - "${EROOT}/usr/bin/gawk" \ - "${EROOT}/usr/bin/mawk" \ - "${EROOT}/usr/bin/nawk" \ - "${EROOT}/bin/busybox" \ - ; do - if [[ -x ${t} ]]; then - echo ${t##*/} - fi - done -} - -# set the awk symlink -set_symlinks() { - local target=${1} targets extension dir i rel_target - - [[ ! -L ${EROOT}/bin/awk && -e ${EROOT}/bin/awk ]] && \ - die -q "/bin/awk is not a symlink!" - - [[ ! -L ${EROOT}/usr/bin/awk && -e ${EROOT}/usr/bin/awk ]] && \ - die -q "/usr/bin/awk is not a symlink!" - - if is_number "${target}" && [[ ${target} -ge 1 ]]; then - targets=( $(find_targets) ) - target=${targets[target-1]} - fi - - if [[ ${target} == "busybox" ]]; then - dir="${EROOT}/bin" - else - dir="${EROOT}/usr/bin" - fi - - [[ -x ${dir}/${target} ]] || die -q "Target '${target}' doesn't appear to be valid!" - - for i in /bin /usr/bin; do - rel_target=$(relative_name "${dir}/${target}" "${EROOT}${i}") - ln -sf "${rel_target}" "${EROOT}${i}/awk" || \ - die -q "Couldn't set ${target} ${i}/awk symlink" - done - - rm -f "${EROOT}"/usr/share/man/man1/awk.1{,.bz2,.gz,lzma} - for x in ".1" ".1.bz2" ".1.gz" ".1.lzma" ; do - if [[ -e ${EROOT}/usr/share/man/man1/${target}${x} ]] ; then - extension="${x}" - break - fi - done - - #busybox has no man page - if [[ -z "${extension}" ]] ; then - echo "Couldn't find a man page for ${target}; skipping." 1>&2 - return 1 - fi - - if ! ln -s "${target}${extension}" "${EROOT}/usr/share/man/man1/awk${extension}"; then - echo "Couldn't create man page symlink for ${target}; skipping." 1>&2 - return 1 - fi -} - -### show action ### - -describe_show() { - echo "Show the current awk implementation" -} - -do_show() { - [[ -z ${@} ]] || die -q "Too many parameters" - - write_list_start "Current awk implementation:" - if [[ -L ${EROOT}/usr/bin/awk ]]; then - write_kv_list_entry "$(basename $(readlink ${ROOT}/usr/bin/awk))" "" - elif [[ -e ${EROOT}/usr/bin/awk ]]; then - write_kv_list_entry "(not a symlink)" "" - else - write_kv_list_entry "(unset)" "" - fi -} - -### list action ### - -describe_list() { - echo "List available awk implementations" -} - -do_list() { - [[ -z ${@} ]] || die -q "Too many parameters" - - local i targets - - targets=( $(find_targets) ) - for (( i = 0; i < ${#targets[@]}; i++ )) ; do - [[ ${targets[${i}]} == $(basename $(readlink "${EROOT}"/usr/bin/awk)) ]] && \ - targets[${i}]=$(highlight_marker "${targets[${i}]}") - done - write_list_start "Available awk implementations:" - write_numbered_list -m '(none found)' "${targets[@]}" -} - -### set action ### - -describe_set() { - echo "Set a new awk implementation" -} - -describe_set_options() { - echo "target : Target name or number (from 'list' action)" -} - -describe_set_parameters() { - echo "<target>" -} - -do_set() { - if [[ -z ${1} ]]; then - die -q "Not enough parameters" - elif [[ -n ${2} ]]; then - die -q "Too many parameters" - else - set_symlinks "${1}" - fi -} - -### update action ### - -describe_update() { - echo "Automatically update the awk implementation" -} - -describe_update_options() { - echo "ifunset : Do not override existing implementation" -} - -do_update() { - [[ -z ${1} || ( -z ${2} && ( ${1} == ifunset || ${1} == '--if-unset' ) ) ]] || \ - die -q "Usage error" - - [[ ( ${1} == ifunset || ${1} == '--if-unset' ) \ - && -L ${EROOT}/usr/bin/awk && -x ${EROOT}/usr/bin/awk ]] && \ - return - - set_symlinks 1 -} - -# vim: set syn=sh : diff --git a/modules/fontconfig.eselect b/modules/fontconfig.eselect deleted file mode 100644 index 367e3aa..0000000 --- a/modules/fontconfig.eselect +++ /dev/null @@ -1,202 +0,0 @@ -# -*-eselect-*- vim: ft=eselect -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -DESCRIPTION="Manage fontconfig /etc/fonts/conf.d/ symlinks" -AUTHOR="[email protected]" -MAINTAINER="[email protected]" -SVN_DATE='$Date$' -VERSION=$(svn_date_to_version "${SVN_DATE}") - -find_targets() { - local targets bc x i=0 - bcdirs[i]="${EROOT}/etc/fonts/conf.avail/*.conf" - - if [[ -n "${ES_FONTCONFIG_DIRS}" ]] ; then - for x in ${ES_FONTCONFIG_DIRS} ; do - bcdirs[$((++i))]="${x}/*" - done - fi - - for bc in ${bcdirs[@]} ; do - [[ -e ${bc} && ${bc} != *~ ]] && targets="${targets}\n$(basename ${bc})" - done - - echo -ne ${targets} | sort -u -} - -is_enabled() { - bcdir="${EROOT}/etc/fonts/conf.d" - - [[ -e ${bcdir}/${1} ]] || return 1 - return 0 -} - -### list action ### - -describe_list() { - echo "List available fontconfig .conf files" -} - -do_list() { - local n - targets=( $(find_targets) ) - write_list_start \ - "Available fontconfig .conf files ($(highlight '*') is enabled):" - - for (( n = 0; n < ${#targets[@]}; ++n )); do - is_enabled ${targets[n]} \ - && targets[n]=$(highlight_marker "${targets[n]}") - done - write_numbered_list -m "(none found)" "${targets[@]}" - - return 0 -} - -### enable action ### - -describe_enable() { - echo "Enable specified fontconfig .conf file(s)" -} - -describe_enable_parameters() { - echo "<target>" -} - -describe_enable_options() { - echo "<target> : Target name or number (from 'list' action)" -} - -do_enable() { - local bc bcdir="${EROOT}/etc/fonts/conf.d" - - [[ -z ${1} ]] && die -q "You didn't specify any .conf files to enable" - - # create directory if necessary - if [[ ! -d ${bcdir} && -w $(dirname ${bcdir}) ]] ; then - mkdir ${bcdir} || die -q "Failed to create ${bcdir}" - elif [[ ! -d ${bcdir} ]] ; then - die -q "You don't have permission to create ${bcdir}" - fi - - # make sure we have proper permissions - [[ -w ${bcdir} ]] || \ - die -q "You don't have permission to write to ${bcdir}" - - targets=( $(find_targets) ) - - for bc in $@ ; do - local file target=${bc} - - is_number "${target}" && \ - target=${targets[$(( ${target} - 1 ))]} - - [[ -z "${target}" ]] && \ - die -q "Target \"${bc}\" doesn't appear to be valid!" - - bc=${target} - - # ignore any unrecognized options - [[ ${bc} == --* ]] && continue - - # what form is the argument in? - case "${bc}" in - # absolute path - /*) - file="${EROOT}/${bc}" - ;; - # relative path - */*) - file="${EROOT}/${PWD}/${bc}" - ;; - # no path - *) - # CWD - if [[ -f ${bc} ]] ; then - file="${EROOT}/${PWD}/${bc}" - # assume /etc/fonts/conf.avail - elif [[ -f ${EROOT}/etc/fonts/conf.avail/${bc} ]] - then - file="${EROOT}/etc/fonts/conf.avail/${bc}" - else - if [[ -n "${ES_FONTCONFIG_DIRS}" ]] ; then - for x in ${ES_FONTCONFIG_DIRS} ; do - [[ -f ${x}/${bc} ]] && file="${x}/${bc}" - done - fi - - [[ -e ${file} ]] || \ - file="${EROOT}/etc/fonts/conf.avail/${bc}" - fi - ;; - esac - - # does it exist? - if [[ ! -e ${file} ]] ; then - write_error_msg "${file} doesn't exist" - continue - fi - - # already installed? - if [[ -e ${bcdir}/$(basename ${bc}) ]] ; then - write_error_msg "$(basename ${bc}) is already installed" - continue - fi - - # finally, create the symlink - ln -s "${file}" "${bcdir}" || \ - die -q "Failed to create symlink from '${file}' to '${bcdir}'" - done -} - -### disable action ### - -describe_disable() { - echo "Disable specified fontconfig .conf file(s)" -} - -describe_disable_parameters() { - echo "<target>" -} - -describe_disable_options() { - echo "<target> : Target name or number (from 'list' action)" -} - - -do_disable() { - local bc bcdir="${EROOT}/etc/fonts/conf.d" - - [[ -z ${1} ]] && die -q "You didn't specify any .conf files to disable" - - targets=( $(find_targets) ) - - for bc in $@ ; do - local file target=${bc} - - is_number "${target}" && \ - target=${targets[$(( ${target} - 1 ))]} - - [[ -z "${target}" ]] && \ - die -q "Target \"${bc}\" doesn't appear to be valid!" - - bc=${target} - file="${bcdir}/${bc}" - - # ignore any unrecognized options - [[ ${bc} == --* ]] && continue - - # is in installed? - if [[ ! -e ${file} ]] ; then - write_error_msg "${bc} is not installed" - continue - fi - - # remove it if we have permissions - if [[ -w $(dirname ${file}) ]] ; then - rm "${file}" || die -q "Failed to remove ${file}" - else - die -q "You don't have permission to remove ${file}" - fi - done -} diff --git a/modules/iptables.eselect b/modules/iptables.eselect deleted file mode 100644 index e3e5906..0000000 --- a/modules/iptables.eselect +++ /dev/null @@ -1,283 +0,0 @@ -# -*-eselect-*- vim: ft=eselect -# Copyright 2005-2020 Gentoo Authors -# Distributed under the terms of the GNU GPL version 2 or later - -inherit package-manager - -DESCRIPTION="Manage the iptables/arptables/ebtables symlinks" -MAINTAINER="[email protected]" -VERSION="20200508" - -# a simple list of symlinks does for iptables -IPTABLES_SYMLINKS=( - "iptables-xml" - "iptables" "iptables-restore" "iptables-save" -) -IP6TABLES_SYMLINKS=( - "ip6tables" "ip6tables-restore" "ip6tables-save" -) - -# for arptables and ebtables we map names to legacy targets -ARPTABLES_TARGETS=( - "arptables-legacy" - "xtables-nft-multi" -) -declare -A ARPTABLES_SYMLINKS=( - [arptables]="arptables-legacy" - [arptables-restore]="arptables-legacy-restore" - [arptables-save]="arptables-legacy-save" -) - -EBTABLES_TARGETS=( - "ebtables-legacy" - "xtables-nft-multi" -) -declare -A EBTABLES_SYMLINKS=( - [ebtables]="ebtables-legacy" - [ebtables-restore]="ebtables-legacy-restore" - [ebtables-save]="ebtables-legacy-save" -) - -# get which module is running -get_module() { - local module - module="${BASH_SOURCE[0]##*/}" - - printf -- '%s\n' "${module%.eselect}" -} - -# find a list of symlink targets for the current module -find_targets() { - local module target - - module="$(get_module)" - case "${module}" in - iptables) - for target in "${EROOT}"/sbin/xtables-*-multi; do - [[ -x ${target} ]] && printf -- '%s\n' "${target##*/}" - done - ;; - arptables) - for target in "${ARPTABLES_TARGETS[@]}"; do - [[ -x ${EROOT}/sbin/${target} ]] && printf -- '%s\n' "${target}" - done - ;; - ebtables) - for target in "${EBTABLES_TARGETS[@]}"; do - [[ -x ${EROOT}/sbin/${target} ]] && printf -- '%s\n' "${target}" - done - ;; - *) die "Invalid module name ${module}" - esac -} - -# get the list of symlinks for the current module -get_symlinks_list() { - local module - module="$(get_module)" - - case "${module}" in - iptables) - printf -- '%s\n' "${IPTABLES_SYMLINKS[@]}" - - if [[ ${1} == -a ]] || has_version 'net-firewall/iptables[ipv6]' - then - printf -- '%s\n' "${IP6TABLES_SYMLINKS[@]}" - fi - ;; - arptables) printf -- '%s\n' "${!ARPTABLES_SYMLINKS[@]}";; - ebtables) printf -- '%s\n' "${!EBTABLES_SYMLINKS[@]}";; - *) die "Invalid module name ${module}" - esac -} - -# get the symlink target given a symlink name and the target implementation -get_symlink_target() { - local link="${1}" target="${2}" module - module="$(get_module)" - - case "${module}" in - iptables) printf -- '%s\n' "${target}";; - arptables) - if [[ ${target} == *-legacy ]]; then - printf -- '%s\n' "${ARPTABLES_SYMLINKS[${link}]}" - else - printf -- '%s\n' "${target}" - fi - ;; - ebtables) - if [[ ${target} == *-legacy ]]; then - printf -- '%s\n' "${EBTABLES_SYMLINKS[${link}]}" - else - printf -- '%s\n' "${target}" - fi - ;; - *) die "Invalid module name ${module}" - esac -} - -# set the symlinks for the current target -set_symlinks() { - local target="${1}" - local retval=0 - - if is_number "${target}" && [[ ${target} -ge 1 ]]; then - local -a targets - readarray -t targets < <(find_targets) - target=${targets[$((target-1))]} - fi - - if [[ -z ${target} || ! -f ${EROOT}/sbin/${target} ]]; then - die -q "Target \"${target}\" doesn't appear to be valid!" - fi - - # create an array of symlinks to be created, then create them - # in a separate pass, it's done this way in an attempt to be atomic - # either all symlinks get updated, or none - local -a symlinks_list - readarray -t symlinks_list < <(get_symlinks_list) - - local symlink - local -A do_symlinks - for symlink in "${symlinks_list[@]}"; do - local symlink_path="${EROOT}/sbin/${symlink}" - - if [[ -L ${symlink_path} || ! -e ${symlink_path} ]]; then - do_symlinks["${symlink_path}"]="$(get_symlink_target "${symlink}" "${target}")" - - else - die -q "Could not create symlink at ${symlink_path}:" \ - "path exits and is not a symlink" - fi - done - - for symlink in "${!do_symlinks[@]}"; do - if ! ln -sfn "${do_symlinks["${symlink}"]}" "${symlink}"; then - write_error_message "Failed to create symlink at ${symlink}" - retval=1 - fi - done - - return "${retval}" -} - -### show action ### - -describe_show() { - printf -- 'Show the current %s symlink\n' "$(get_module)" -} - -do_show() { - local -a symlinks_list - readarray -t symlinks_list < <(get_symlinks_list) - - local all_unset=1 symlink - write_list_start "Current $(get_module) symlinks:" - for symlink in "${symlinks_list[@]}"; do - symlink_path="${EROOT}/sbin/${symlink}" - - if [[ -L ${symlink_path} ]]; then - local symlink_target - symlink_target=$(canonicalise "${symlink_path}") - write_kv_list_entry "${symlink}" "${symlink_target%/}" - all_unset=0 - elif [[ ! -f ${symlink_path} ]]; then - write_kv_list_entry "${symlink}" "(unset)" - fi - done - - return "${all_unset}" -} -### list action ### - -describe_list() { - printf -- 'List available %s symlink targets\n' "$(get_module)" -} - -do_list() { - local module - module="$(get_module)" - - local -a targets_list symlinks_list - readarray -t targets_list < <(find_targets) - readarray -t symlinks_list < <(get_symlinks_list) - - local -a targets_output - - write_list_start "Available ${module} symlink targets:" - local symlink current_target - for symlink in "${symlinks_list[@]}"; do - local symlink_path="${EROOT}/sbin/${symlink}" - local target - for target in "${targets_list[@]}"; do - local symlink_target resolved_target - symlink_target="$(get_symlink_target "${symlink}" "${target}")" - resolved_target="$(basename "$(canonicalise "${symlink_path}")")" - - if [[ ${resolved_target} == "${symlink_target}" ]]; then - if [[ -z ${current_target} ]]; then - current_target="${target}" - break - elif [[ ${current_target} != "${target}" ]]; then - write_warning_msg "Target mismatch" - unset current_target - break 2 - fi - fi - done - done - for target in "${targets_list[@]}"; do - if [[ ${target} == "${current_target}" ]]; then - targets_output+=("$(highlight_marker "${target}")") - else - targets_output+=("${target}") - fi - done - - write_numbered_list -m "(none found)" "${targets_output[@]}" -} - -### set action ### - -describe_set() { - printf "Set a new $(get_module) symlink target\\n" -} - -describe_set_options() { - printf -- "target : Target name or number (from 'list' action)\\n" -} - -do_set() { - local target="${1}" - - [[ -z ${target} ]] && die -q "You didn't tell me what to set the symlink to" - [[ ${#} -gt 1 ]] && die -q "Too many parameters" - - set_symlinks "${target}" || die -q "Couldn't set symlinks" -} - -### unset action ### - -describe_unset() { - printf -- 'Unset %s symlink targets\n' "$(get_module)" -} - -do_unset() { - local retval=0 - - local -a symlinks_list - readarray -t symlinks_list < <(get_symlinks_list -a) - - local symlink - for symlink in "${symlinks_list[@]}"; do - local symlink_path="${EROOT}/sbin/${symlink}" - if [[ -L ${symlink_path} ]]; then - unlink "${symlink_path}" || retval=${?} - elif [[ -e ${symlink_path} ]]; then - write_error_msg "Not removing non-symlink \"${symlink_path}\"" - retval=1 - fi - done - - return ${retval} -} diff --git a/modules/vi.eselect b/modules/vi.eselect deleted file mode 100644 index 2d25859..0000000 --- a/modules/vi.eselect +++ /dev/null @@ -1,189 +0,0 @@ -# -*-eselect-*- vim: ft=eselect -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -DESCRIPTION="Manage /usr/bin/vi implementations" -MAINTAINER="[email protected]" -VERSION="1.1.9" - -# find a list of vi symlink targets, best first -find_targets() { - local f - for f in \ - "${EROOT}"/usr/bin/vim \ - "${EROOT}"/usr/bin/nvim \ - "${EROOT}"/usr/bin/nvi \ - "${EROOT}"/usr/bin/elvis \ - "${EROOT}"/usr/bin/vile \ - "${EROOT}"/usr/bin/gvim \ - "${EROOT}"/usr/bin/qvim \ - "${EROOT}"/usr/bin/xvile \ - "${EROOT}"/bin/busybox \ - ; do - if [[ -f "${f}" ]] ; then - echo $(basename "${f}" ) - fi - done -} - -# try to remove the vi, ex, view and man vi symlinks -remove_symlinks() { - rm -f "${EROOT}"/usr/bin/{vi,ex,view} &>/dev/null && \ - rm -f "${EROOT}"/usr/share/man/man1/{vi,ex,view}.1{,.gz,.bz2,.lzma} &>/dev/null -} - -# set a man page symlink -set_man_symlink() { - local target="${1}" link_name="${2}" x extension - - for x in ".1" ".1.bz2" ".1.gz" ".1.lzma" ; do - if [[ -e ${EROOT}/usr/share/man/man1/${target}${x} ]] ; then - extension="${x}" - break - fi - done - - if [[ -z "${extension}" ]] ; then - echo "Couldn't find a man page for ${target}; skipping." 1>&2 - return 1 - fi - - ln -s "${target}${extension}" \ - "${EROOT}/usr/share/man/man1/${link_name}${extension}" -} - -# set the vi, ex, view, and man vi symlinks -set_symlinks() { - local target="${1}" targets - if is_number "${target}" && [[ ${target} -ge 1 ]] ; then - targets=( $(find_targets ) ) - target=${targets[target-1]} - fi - - local dir - if [[ ${target} == "busybox" ]]; then - dir="${EROOT}/bin" - else - dir="${EROOT}/usr/bin" - fi - - if [[ -f "${dir}/${target}" ]] ; then - remove_symlinks - - # it's okay if these fail - set_man_symlink "${target}" "vi" - set_man_symlink "${target}" "ex" - set_man_symlink "${target}" "view" - - # it's not okay if these fail - target=$(relative_name "${dir}/${target}" "${EROOT}/usr/bin") - ln -s "${target}" "${EROOT}/usr/bin/vi" \ - || die "Couldn't set ${target} /usr/bin/vi symlink" - ln -s "${target}" "${EROOT}/usr/bin/ex" \ - || die "Couldn't set ${target} /usr/bin/ex symlink" - ln -s "${target}" "${EROOT}/usr/bin/view" \ - || die "Couldn't set ${target} /usr/bin/view symlink" - else - die -q "Target \"${1}\" doesn't appear to be valid!" - fi -} - -### show action ### - -describe_show() { - echo "Show the current vi implementation" -} - -do_show() { - [[ -z "${@}" ]] || die -q "Too many parameters" - - write_list_start "Current vi implementation:" - if [[ -L "${EROOT}/usr/bin/vi" ]] ; then - write_kv_list_entry "$(basename $(canonicalise ${EROOT}/usr/bin/vi ) )" "" - elif [[ -e "${EROOT}/usr/bin/vi" ]] ; then - write_kv_list_entry "(not a symlink)" "" - else - write_kv_list_entry "(unset)" "" - fi -} - -### list action ### - -describe_list() { - echo "List available vi implementations" -} - -do_list() { - [[ -z "${@}" ]] || die -q "Too many parameters" - - local i targets - targets=( $(find_targets ) ) - for (( i = 0; i < ${#targets[@]}; i++ )); do - [[ ${targets[i]} = \ - $(basename "$(canonicalise "${EROOT}/usr/bin/vi")") ]] \ - && targets[i]=$(highlight_marker "${targets[i]}") - done - write_list_start "Available vi implementations:" - write_numbered_list -m "(none found)" "${targets[@]}" -} - -### set action ### - -describe_set() { - echo "Set a new vi implementation provider" -} - -describe_set_options() { - echo "target : Target name or number (from 'list' action)" -} - -describe_set_parameters() { - echo "<target>" -} - -do_set() { - if [[ -z "${1}" ]] ; then - die -q "You didn't give me a provider name" - - elif [[ -n "${2}" ]] ; then - die -q "Too many parameters" - - elif [[ -L "${EROOT}/usr/bin/vi" ]] ; then - if ! remove_symlinks ; then - die -q "Can't remove existing provider" - elif ! set_symlinks "${1}" ; then - die -q "Can't set new provider" - fi - - elif [[ -e "${EROOT}/usr/bin/vi" ]] ; then - die -q "Sorry, ${EROOT}/usr/bin/vi confuses me" - - else - set_symlinks "${1}" || die -q "Can't set a new provider" - fi -} - -### update action ### - -describe_update() { - echo "Automatically update the vi provider" -} - -describe_update_options() { - echo "--if-unset : Do not override existing implementation" -} - -do_update() { - [[ -z "${1}" ]] || ( [[ -z "${2}" ]] && [[ "${1}" == "--if-unset" ]] ) || \ - die -q "Usage error" - - if [[ -L "${EROOT}/usr/bin/vi" ]] ; then - [[ ${1} == "--if-unset" ]] && return - remove_symlinks || die -q "Can't remove existing link" - fi - if [[ -e "${EROOT}/usr/bin/vi" ]] ; then - die -q "Can't set a new provider" - elif ! [[ -z $(find_targets ) ]] ; then - set_symlinks 1 || die -q "Can't set a new provider" - fi -} diff --git a/modules/wxwidgets.eselect b/modules/wxwidgets.eselect deleted file mode 100644 index dc13704..0000000 --- a/modules/wxwidgets.eselect +++ /dev/null @@ -1,259 +0,0 @@ -# -*-eselect-*- vim: ft=eselect -# Copyright 1999-2018 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -inherit config multilib - -DESCRIPTION="Manage the system default wxWidgets profile" -MAINTAINER="[email protected]" -VERSION="20180529" - -WXCONFFILE="${EROOT}"/var/lib/wxwidgets/current - -get_confdir() { - echo "${EROOT}/usr/$(get_libdir)/wx/config" -} - -find_targets() { - local conf - for conf in ${WXCONFDIR}/*; do - [[ -e ${conf} ]] && basename ${conf} - done -} - -set_config() { - local target="${1}" targets - - if is_number "${target}"; then - targets=( $(find_targets) ) - [[ ${1} -ge 1 && ${1} -le ${#targets[@]} ]] \ - || die -q "Number out of range: ${1}" - target=${targets[$(( ${target} - 1 ))]} - fi - # we shouldn't change the profile to "none" if there are available configs - # this can happen if WXCONFFILE got deleted somehow - if [[ ${target} == "none" ]]; then - targets=( $(find_targets) ) - [[ ${#targets[@]} -ge 1 ]] && target=${targets[0]} - fi - - if [[ ! ${target} == "none" && ! -e ${WXCONFDIR}/${target} ]]; then - die -q "\"${1}\" doesn't appear to be a valid profile name" - fi - - echo - echo "Setting wxWidgets profile to ${target}" - echo - store_config ${WXCONFFILE} WXCONFIG ${target} - - if [[ ! ${target} == "none" ]]; then - # expose the slot number of the selected target for various uses - local wxslot=${target##*-} - fi - - # symlink bakefile presets to current slot (Bug #209150) - local f - pushd "${EROOT}"/usr/share/bakefile/presets/ &> /dev/null - for f in .bkl _presets.py _unix.bkl _win32.bkl _xrc.bkl; do - if [[ -e wx${f} || -L wx${f} ]]; then - rm -f wx${f} || die -q "Error removing wx${f}" - fi - if [[ ! ${target} == "none" ]]; then - if [[ -e wx${wxslot/./}${f} ]]; then - ln -sf wx${wxslot/./}${f} wx${f} \ - || die -q "Error symlinking wx${wxslot/./}${f}" - fi - fi - done - popd &> /dev/null -} - -### show action ### - -describe_show() { - echo "Show the currently selected profile" -} - -do_show() { - [[ ${#@} -gt 0 ]] && die -q "Too many parameters" - - write_list_start "Current wxWidgets profile:" - if [[ -e ${WXCONFFILE} ]]; then - write_kv_list_entry "$(load_config ${WXCONFFILE} WXCONFIG)" "" - else - write_kv_list_entry "(none)" "" - fi -} - -### list action ### - -describe_list() { - echo "List available profiles" -} - -do_list() { - local WXCONFDIR=$(get_confdir) - local i targets currconf - targets=( $(find_targets) ) - [[ -e ${WXCONFFILE} ]] && currconf=$(load_config ${WXCONFFILE} WXCONFIG) - - for (( i = 0; i < ${#targets[@]}; i++ )); do - # highlight current version - [[ ${targets[i]} = ${currconf} ]] \ - && targets[i]=$(highlight_marker "${targets[i]}") - done - write_list_start "Available wxWidgets profiles:" - write_numbered_list -m "(none found)" "${targets[@]}" -} - -### set action ### - -describe_set() { - echo "Set the system wxWidgets profile" -} - -describe_set_options() { - echo "<target> : Profile name or number (from 'list')" -} - -describe_set_parameters() { - echo "<target>" -} - -do_set() { - [[ ! ${#@} -eq 1 ]] \ - && die -q "You must specify a profile name or number" - - [[ ! -w "${EROOT}"/var/lib/ ]] \ - && die -q "You need write permission to /var/lib to perform this action." - - local WXCONFDIR=$(get_confdir) - set_config "${1}" -} - -describe_update() { - echo "Check current profile and update it if invalid (internal use only)" -} - -do_update() { - [[ ! -e ${WXCONFFILE} ]] && do_set none - - local WXCONFDIR=$(get_confdir) - currconf=$(load_config ${WXCONFFILE} WXCONFIG) - - # if current config is valid leave it alone - [[ -e ${WXCONFDIR}/${currconf} ]] && return 0 - - # split the current config into components - OIFS=${IFS} - IFS=- - set -- ${currconf} - IFS=${OIFS} - - declare -a wxtoolkit wxchar wxdebug wxver - - # put them into the first element of the arrays - wxtoolkit=(${1}) - wxchar=(${2}) - if [[ $# -eq 3 ]]; then - # >=2.9 doesn't have a debug component, so fake it - wxdebug=(release) - wxver=(${3}) - else - wxdebug=(${3}) - wxver=(${4}) - fi - - # now put all possible components into the next elements - local component toolkit char debug ver i opt - - for component in toolkit char debug ver; do - i=1 - case ${component} in - toolkit) - for opt in base gtk2 mac; do - if [[ ${opt} == ${wxtoolkit[0]} ]]; then - continue - else - wxtoolkit[${i}]=${opt} - (( i++ )) - fi - done - ;; - - char) - for opt in ansi unicode; do - if [[ ${opt} == ${wxchar[0]} ]]; then - continue - else - wxchar[${i}]=${opt} - (( i++ )) - fi - done - ;; - - debug) - for opt in release debug; do - if [[ ${opt} == ${wxdebug[0]} ]]; then - continue - else - wxdebug[${i}]=${opt} - (( i++ )) - fi - done - ;; - - ver) - for opt in 3.0 2.9 2.8; do - if [[ ${opt} == ${wxver[0]} ]]; then - continue - else - wxver[${i}]=${opt} - (( i++ )) - fi - done - ;; - esac - done - - # Now we iterate through all the installed configs and find the closest match - # ( debug -> char -> toolkit -> ver ) - # meaning w/ a current config of gtk2-unicode-debug-2.8, it will pick - # gtk2-unicode-release-2.8 before - # base-unicode-debug-2.8 before - # gtk2-unicode-2.9 - - local d c t v checkconf foundconf - - for (( v = 0 ; v < ${#wxver[@]} ; v++ )); do - for (( t = 0 ; t < ${#wxtoolkit[@]} ; t++ )); do - for (( c = 0 ; c < ${#wxchar[@]} ; c++ )); do - for (( d = 0 ; d < ${#wxdebug[@]} ; d++ )); do - if [[ ${wxver[$v]} != 2.8 ]]; then - # >=2.9 doesn't have a debug component - checkconf="${wxtoolkit[$t]}-${wxchar[$c]}-${wxver[$v]}" - else - checkconf="${wxtoolkit[$t]}-${wxchar[$c]}-${wxdebug[$d]}-${wxver[$v]}" - fi - [[ -e ${WXCONFDIR}/${checkconf} ]] || continue - foundconf=${checkconf} - break 4 - done - done - done - done - - # nothing installed - [[ -z ${foundconf} ]] && foundconf="none" - - if [[ ${currconf} != "none" && ${foundconf} != "none" ]]; then - echo - write_warning_msg "Your currently selected wxWidgets profile: ( ${currconf} )" - write_warning_msg "is no longer available." - write_warning_msg - write_warning_msg "The closest matching profile: ( ${foundconf} )" - write_warning_msg "will be activated in its place." - fi - - do_set ${foundconf} -}
