forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
app-eselect/eselect-sndpeek: fixed a typo in eselect script
Closes: https://bugs.gentoo.org/705678 Package-Manager: Portage-3.0.2, Repoman-2.3.23 Signed-off-by: Miroslav Šulc <[email protected]>
- Loading branch information
Showing
3 changed files
with
146 additions
and
4 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
143 changes: 143 additions & 0 deletions
143
app-eselect/eselect-sndpeek/files/sndpeek.eselect-1.0.2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,143 @@ | ||
# Copyright 1999-2020 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
DESCRIPTION="Manage /usr/bin/sndpeek audio engine" | ||
MAINTAINER="[email protected]" | ||
|
||
# find a list of sndpeek symlink targets, best first | ||
find_targets() { | ||
local f | ||
for f in \ | ||
${ROOT}/usr/bin/sndpeek-alsa \ | ||
${ROOT}/usr/bin/sndpeek-jack \ | ||
${ROOT}/usr/bin/sndpeek-oss \ | ||
; do | ||
if [[ -f ${f} ]] ; then | ||
echo $(basename ${f} ) | ||
fi | ||
done | ||
} | ||
|
||
# try to remove the sndpeek symlink | ||
remove_symlinks() { | ||
rm -f "${ROOT}"/usr/bin/sndpeek &>/dev/null | ||
} | ||
|
||
# set the sndpeek symlink | ||
set_symlinks() { | ||
local target="${1}" targets | ||
if is_number "${target}" && [[ ${target} -ge 1 ]] ; then | ||
targets=( $(find_targets ) ) | ||
target=${targets[$(( ${target} - 1 ))]} | ||
fi | ||
if [[ -f "${ROOT}/usr/bin/${target}" ]] ; then | ||
remove_symlinks | ||
|
||
# it's not okay if these fail | ||
ln -s "${ROOT}/usr/bin/${target}" "${ROOT}/usr/bin/sndpeek" || \ | ||
die "Couldn't set ${target} /usr/bin/sndpeek symlink" | ||
else | ||
die -q "Target \"${1}\" doesn't appear to be valid!" | ||
fi | ||
} | ||
|
||
### show action ### | ||
|
||
describe_show() { | ||
echo "Show the current sndpeek audio engine" | ||
} | ||
|
||
do_show() { | ||
[[ -z "${@}" ]] || die -q "Too many parameters" | ||
|
||
write_list_start "Current sndpeek audio engine:" | ||
if [[ -L "${ROOT}/usr/bin/sndpeek" ]] ; then | ||
write_kv_list_entry "$(basename $(canonicalise ${ROOT}/usr/bin/sndpeek ) )" "" | ||
elif [[ -e "${ROOT}/usr/bin/sndpeek" ]] ; then | ||
write_kv_list_entry "(not a symlink)" "" | ||
else | ||
write_kv_list_entry "(unset)" "" | ||
fi | ||
} | ||
|
||
### list action ### | ||
|
||
describe_list() { | ||
echo "List available sndpeek audio engines" | ||
} | ||
|
||
do_list() { | ||
[[ -z "${@}" ]] || die -q "Too many parameters" | ||
|
||
local i targets | ||
targets=( $(find_targets ) ) | ||
write_list_start "Available sndpeek audio engines:" | ||
for (( i = 0 ; i < ${#targets[@]} ; i = i + 1 )) ; do | ||
[[ ${targets[${i}]} == $(basename $(canonicalise ${ROOT}/usr/bin/sndpeek ) ) ]] && \ | ||
targets[${i}]=$(highlight_marker "${targets[${i}]}") | ||
done | ||
write_numbered_list -m "(none found)" "${targets[@]}" | ||
} | ||
|
||
### set action ### | ||
|
||
describe_set() { | ||
echo "Set a new sndpeek audio engines" | ||
} | ||
|
||
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 an audio engine" | ||
|
||
elif [[ -n "${2}" ]] ; then | ||
die -q "Too many parameters" | ||
|
||
elif [[ -L "${ROOT}/usr/bin/sndpeek" ]] ; 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 "${ROOT}/usr/bin/sndpeek" ]] ; then | ||
die -q "Sorry, ${ROOT}/usr/bin/sndpeek confuses me" | ||
|
||
else | ||
set_symlinks "${1}" || die -q "Can't set a new audio engine" | ||
fi | ||
} | ||
|
||
### update action ### | ||
|
||
describe_update() { | ||
echo "Automatically update the audio engine" | ||
} | ||
|
||
describe_update_options() { | ||
echo "--if-unset : Do not override existing audio engine" | ||
} | ||
|
||
do_update() { | ||
[[ -z "${1}" ]] || ( [[ -z "${2}" ]] && [[ "${1}" == "--if-unset" ]] ) || \ | ||
die -q "Usage error" | ||
|
||
if [[ -L "${ROOT}/usr/bin/sndpeek" ]] ; then | ||
[[ ${1} == "--if-unset" ]] && return | ||
remove_symlinks || die -q "Can't remove existing link" | ||
fi | ||
if [[ -e "${ROOT}/usr/bin/sndpeek" ]] ; 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 | ||
} | ||
|
||
# vim: set ft=eselect : |