summaryrefslogtreecommitdiffstats
path: root/install/consolefont
blob: 2d2d8ea082f56f1644030232a25680761e808f13 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/bin/bash

build() {
    local file ext

    # subshell to avoid namespace pollution
    (
        for cfg in etc/{rc,vconsole}.conf; do
            [[ -s $BASEDIR/$cfg ]] && . "$BASEDIR/$cfg"
        done

        [[ $FONT ]] && CONSOLEFONT=$FONT

        if [[ $CONSOLEFONT ]]; then
            for file in "$BASEDIR/usr/share/kbd/consolefonts/$CONSOLEFONT".psf?(u)?(.gz); do
                if [[ -e $file ]]; then
                    [[ $file =~ \.(psfu?)(\.gz)?$ ]] && ext=${BASH_REMATCH[1]}
                    if [[ $file = *.gz ]]; then
                        gzip -cd "$file" > "$BUILDROOT/consolefont.$ext"
                    else
                        add_file "${file#$BASEDIR}" "/consolefont.$ext"
                    fi
                    exit 0
                fi
            done
            error "consolefont: requested font not found: \`%s'" "$CONSOLEFONT"
            exit 1
        else
            warning "consolefont: no font found in configuration"
            exit 1
        fi
    )

    (( $? == 0 )) && SCRIPT=consolefont
}

help() {
    cat <<HELPEOF
This hook loads consolefont specified in locale.conf or rc.conf during early
userspace.
HELPEOF
}

# vim: set ft=sh ts=4 sw=4 et: