#!/usr/bin/bash
#
# Author: Dmitry Razumov <asmeron@ublinux.com>
# Copyright (c) 2021-2025 UBLinux <support@ublinux.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
#
# Initial script for Linux UBLinux
# This script are launching before starting init from initrd script
# Current dir allways must be set to root (/)
# All system path must be relative, except initrd dirs

ENABLED=yes
[[ ${ENABLED} == "yes" ]] || { return 0 2>/dev/null && return 0 || exit 0; }
DEBUGMODE=no

PATH=.:/:/usr/bin:/usr/local/bin:/usr/local/sbin

[[ ! -f /init ]] && { ROOTFS= ; CMD_CHROOT= ; } || { [[ -d /sysroot ]] && ROOTFS="/sysroot" || ROOTFS="."; CMD_CHROOT="chroot ${ROOTFS}"; }
SOURCE=${ROOTFS}/usr/lib/ublinux/functions; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null
debug_mode "${SSC_ARGV0:-$0}" "$@"
#SOURCE=${ROOTFS}/usr/lib/ublinux/default; [[ -f ${SOURCE} ]] && . ${SOURCE} 2>/dev/null

#SYSCONF="${ROOTFS}${SYSCONF}"

exec_update_font_cache(){
    for FONT_PATH in ${ROOTFS}/usr/share/fonts{,/default}/TTF ${ROOTFS}/usr/X11R6/lib/X11/fonts/TTF; do
        if [[ -d "${FONT_PATH}" ]]; then
            ${CMD_CHROOT} /usr/bin/mkfontscale ${FONT_PATH/${ROOTFS}/}
            ${CMD_CHROOT} /usr/bin/mkfontdir ${FONT_PATH/${ROOTFS}/}
        fi
    done
    ${CMD_CHROOT} /usr/bin/fc-cache -s 2>&1 &>/dev/null
}

exec_update_font_cache_live(){
    if [[ -z ${ROOTFS} ]]; then
        for FONT_PATH in /usr/share/fonts/*; do
            if [[ -d "${FONT_PATH}" ]]; then
                xset +fp "${FONT_PATH}" 2>&1 &>/dev/null
                /usr/bin/mkfontscale ${FONT_PATH}
                /usr/bin/mkfontdir ${FONT_PATH}
            fi
        done
        xset fp rehash 2>&1 &>/dev/null
    fi
}

################
##### MAIN #####
################

    if [[ -n ${ROOTFS} ]]; then
        exec_update_font_cache
    else
        exec_update_font_cache_live
    fi
