Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 720846 Details for
Bug 799758
app-eselect/eselect-fontconfig: stop using absolute symlinks
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
fontconfig.eselect
fontconfig.eselect (text/plain), 3.73 KB, created by
David Michael
on 2021-07-01 19:42:33 UTC
(
hide
)
Description:
fontconfig.eselect
Filename:
MIME Type:
Creator:
David Michael
Created:
2021-07-01 19:42:33 UTC
Size:
3.73 KB
patch
obsolete
># -*-eselect-*- vim: ft=eselect ># Copyright 1999-2021 Gentoo Authors ># Distributed under the terms of the GNU General Public License v2 > >DESCRIPTION="Manage fontconfig /etc/fonts/conf.d symlinks" >AUTHOR="cardoe@gentoo.org" >MAINTAINER="fonts@gentoo.org" >VERSION=20210701 > >find_targets() { > local bc bcdirs=() > > for bc in /etc/fonts/conf.avail ${ES_FONTCONFIG_DIRS}; do > bcdirs+=("${EROOT}${bc}/*.conf") > done > > for bc in ${bcdirs[@]}; do > [[ -e ${bc} ]] && echo "${bc##*/}" > done | sort -u >} > >is_enabled() { > [[ -e ${EROOT}/etc/fonts/conf.d/${1} ]] >} > >### 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[@]}" >} > >### 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" x > > [[ -z ${1} ]] && die -q "You didn't specify any .conf files to enable" > > # create directory if necessary > if [[ ! -d ${bcdir} && -w ${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}" > > local targets=($(find_targets)) > > for bc; 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 > *) > [[ -n ${ES_FONTCONFIG_DIRS} ]] && > for x in ${ES_FONTCONFIG_DIRS}; do > [[ -f ${EROOT}${x}/${bc} ]] && file="${EROOT}${x}/${bc}" && break > done || file="${EROOT}/etc/fonts/conf.avail/${bc}" > ;; > esac > > # does it exist? > if [[ ! -e ${file} ]]; then > write_error_msg "${file} doesn't exist" > continue > fi > > # already installed? > if [[ -e ${bcdir}/${bc##*/} ]]; then > write_error_msg "${bc##*/} is already installed" > continue > fi > > # finally, create the symlink > ln -rs "${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" > > local targets=($(find_targets)) > > for bc; 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 ${file%/*} ]]; then > rm "${file}" || die -q "Failed to remove ${file}" > else > die -q "You don't have permission to remove ${file}" > fi > done >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 799758
: 720846