summaryrefslogtreecommitdiffhomepage
path: root/etc
diff options
context:
space:
mode:
authorLucio Andrés Illanes Albornoz <lucio@lucioillanes.de>2021-08-26 19:03:25 +0200
committerLucio Andrés Illanes Albornoz <lucio@lucioillanes.de>2021-08-26 19:03:25 +0200
commitb1d432e5fcdabfe5e5bbded8961eb7dfba48a5be (patch)
treef385113a69fd5f9311ff38d7ea8c53c07113c7e9 /etc
parent8a9cf32e8e55307ae4df3fb1ad17280c7ab0c28b (diff)
downloadmidipix_build-b1d432e5fcdabfe5e5bbded8961eb7dfba48a5be.tar.bz2
midipix_build-b1d432e5fcdabfe5e5bbded8961eb7dfba48a5be.tar.xz
Implements logging tags, tag sets, and themes.
subr/pkgtool_init.subr:pkgtoolp_init_args(): set ${BUILD_HNAME}.
Diffstat (limited to 'etc')
-rw-r--r--etc/README.md159
-rw-r--r--etc/build.theme84
-rw-r--r--etc/build.usage159
-rw-r--r--etc/build.usage.short31
-rw-r--r--etc/pkgtool.theme56
5 files changed, 324 insertions, 165 deletions
diff --git a/etc/README.md b/etc/README.md
index b3a62709..9cce5684 100644
--- a/etc/README.md
+++ b/etc/README.md
@@ -496,87 +496,100 @@ env ARCH=nt64 BUILD_KIND=release PREFIX_ROOT="${HOME}/midipix_tmp" ./build.sh -D
usage: ./build.sh [-a nt32|nt64] [-b debug|release] [-C dir[,..]] [-D kind[,..]]
[-F ipv4|ipv6|offline] [-h|--help] [-p jobs|-P] [-r ALL|LAST]
[-r [*[*[*]]]name[,..][:ALL|LAST|[^|<|<=|>|>=]step,..]] [-R]
- [-v[v]] [-V {notice,verbose,build,fileops,install,xtrace}] [-x]
+ [-v] [-V [+]tag|pat[,..]]
[--as-needed] [--debug-minipix] [--dump-on-abort] [--reset-state]
[--roar] [[=]<group>|<variable name>=<variable override>[ ..]]
- -a nt32|nt64 Selects 32-bit or 64-bit architecture; defaults to nt64.
- -b debug|release Selects debug or release build kind; defaults to debug.
- -C dir[,..] Clean build directory (build,) ${PREFIX} before processing build
- scripts (prefix,) source directory (src,) and/or destination
- directory (dest) after successful package builds.
- -D kind[,..] Produce minimal midipix distribution directory (minipix,) RPM
- binary packages (rpm,) and/or deployable distribution ZIP
- archive (zipdist.) zipdist implies minipix.
+ -a nt32|nt64 Selects 32-bit or 64-bit architecture; defaults to nt64.
+ -b debug|release Selects debug or release build kind; defaults to debug.
+ -C dir[,..] Clean build directory (build,) ${PREFIX} before processing build
+ scripts (prefix,) source directory (src,) and/or destination
+ directory (dest) after successful package builds.
+ -D kind[,..] Produce minimal midipix distribution directory (minipix,) RPM
+ binary packages (rpm,) and/or deployable distribution ZIP
+ archive (zipdist.) zipdist implies minipix.
-F ipv4|ipv6|offline
- Force IPv4 (ipv4) or IPv6 (ipv6) when downloading package
- archives and/or Git repositories or don't download either at all
- (offline.)
- -h|--help Show short/full help screen, respectively.
- -p jobs|-P Enables parallelisation at group-level, whenever applicable.
- The maximum count of jobs defaults to the number of logical
- processors on the host system divided by two (2.)
-
- If -R is not specified and at least one (1) package fails to
- build, all remaining package builds will be forcibly aborted.
-
- -r ALL|LAST Restart all packages or the last failed package and resume
- build, resp.
+ Force IPv4 (ipv4) or IPv6 (ipv6) when downloading package
+ archives and/or Git repositories or don't download either at all
+ (offline.)
+ -h|--help Show short/full help screen, respectively.
+ -p jobs|-P Enables parallelisation at group-level, whenever applicable.
+ The maximum count of jobs defaults to the number of logical
+ processors on the host system divided by two (2.)
+
+ If -R is not specified and at least one (1) package fails to
+ build, all remaining package builds will be forcibly aborted.
+
+ -r ALL|LAST Restart all packages or the last failed package and resume
+ build, resp.
-r [*[*[*]]]name[,..][:ALL|LAST|[^|<|<=|>|>=]step,..]
- Restart the specified comma-separated package(s) w/ inhibition
- of package build step state resetting completely (`ALL',) starting
- at the resp. last successfully executed build steps (`LAST',) or the
- specified comma-separated list of build steps, optionally subject
- concerning package name(s) and/or build step(s) to the below modifiers:
-
- Prepend name w/ `*' to automatically include dependencies, `**'
- to forcibly rebuild all dependencies, and `***' to forcibly
- rebuild all packages that depend on the specified package(s).
-
- Prepend step w/ `^' to filter build steps with, `<' or `<='
- to constrain build steps to below or below or equal with, resp.,
- `>' or `>=' to constrain build steps to above or above or equal
- with, resp.
-
- Currently defined build steps are:
- fetch_clean, fetch_download, fetch_extract, configure_clean,
- configure_patch_pre, configure_autotools, configure_patch,
- configure, build_clean, build, install_clean, install_subdirs,
- install_make, install_files, install_libs, install, install_rpm,
- and clean.
-
- Additionally, the following virtual steps are provided:
- @fetch, @configure, @build, @install, @clean, and finish.
-
- -R Ignore build failures, skip printing package logs, and continue
- building (relaxed mode.)
-
- -v[v] -v: log at info, notice, -vv: log at info, notice, verbose level.
- -V level[,..] Be verbose concerning any of:
- notice...: log at info, notice level (-v,)
- verbose..: log at info, notice, verbose level (implies notice) (-vv,)
- build....: always print package build logs (implies notice,)
- fileops..: log RTL file operations (implies notice,)
- install..: log RTL installation DSL operations (implies notice,)
- xtrace...: set xtrace during package builds (implies notice) (-x.)
- -x Set xtrace during package builds.
-
- --as-needed Don't build unless the midipix_build repository has received
- new commits.
- --debug-minipix Don't strip(1) minipix binaries to facilitate debugging minipix.
- --dump-on-abort Produce package environment dump files on build failure to be
- used in conjuction with pkg_shell.sh script (excludes -R.)
- --reset-state Reset package build step state on exit.
-
- <group>[ ..] One of: dev_packages, dist, host_deps, host_deps_rpm,
- host_toolchain, host_tools, minipix, native_packages,
- native_runtime, native_toolchain, native_tools.
-
- Prepend w/ `=' to inhibit group-group dependency expansion.
+ Restart the specified comma-separated package(s) w/ inhibition
+ of package build step state resetting completely (`ALL',) starting
+ at the resp. last successfully executed build steps (`LAST',) or the
+ specified comma-separated list of build steps, optionally subject
+ concerning package name(s) and/or build step(s) to the below modifiers:
+
+ Prepend name w/ `*' to automatically include dependencies, `**'
+ to forcibly rebuild all dependencies, and `***' to forcibly
+ rebuild all packages that depend on the specified package(s).
+
+ Prepend step w/ `^' to filter build steps with, `<' or `<='
+ to constrain build steps to below or below or equal with, resp.,
+ `>' or `>=' to constrain build steps to above or above or equal
+ with, resp.
+
+ Currently defined build steps are:
+ fetch_clean, fetch_download, fetch_extract, configure_clean,
+ configure_patch_pre, configure_autotools, configure_patch,
+ configure, build_clean, build, install_clean, install_subdirs,
+ install_make, install_files, install_libs, install, install_rpm,
+ and clean.
+
+ Additionally, the following virtual steps are provided:
+ @fetch, @configure, @build, @install, @clean, and finish.
+
+ -R Ignore build failures, skip printing package logs, and continue
+ building (relaxed mode.)
+
+ -v Increase logging verbosity.
+ -V [+]tag|pat[,..] Enable logging for messages with tag or pattern matching tags of:
+ + (prefix)..: initialise tags with normal verbosity (implies normal) (see etc/build.theme,)
+ all.........: log everything (see etc/build.theme,)
+ clear|none..: log nothing,
+ normal......: log at normal verbosity (see etc/build.theme,)
+ verbose.....: log at increased verbosity (implies normal) (see etc/build.theme) (-v,)
+
+ build.......: log package build logs,
+ fileops.....: log RTL file operations,
+ install.....: log RTL installation DSL operations,
+ zipdist.....: log deployable distribution ZIP archive operations,
+ xtrace......: set xtrace during package builds,
+
+ fatal.......: fatal, unrecoverable errors,
+ info........: informational messages,
+ verbose.....: verbose informational messages,
+ warning.....: warning messages possibly relating to imminent fatal, unrecoverable errors,
+
+ build_*.....: general build messages (viz.: begin, finish, finish_time, vars,)
+ group_*.....: build group messages (viz.: begin, finish,)
+ pkg_*.......: package build messages (viz.: begin, faildump, finish, msg, skip, step, strip.)
+
+ --as-needed Don't build unless the midipix_build repository has received
+ new commits.
+ --debug-minipix Don't strip(1) minipix binaries to facilitate debugging minipix.
+ --dump-on-abort Produce package environment dump files on build failure to be
+ used in conjuction with pkg_shell.sh script (excludes -R.)
+ --reset-state Reset package build step state on exit.
+
+ <group>[ ..] One of: dev_packages, dist, host_deps, host_deps_rpm,
+ host_toolchain, host_tools, minipix, native_packages,
+ native_runtime, native_toolchain, native_tools.
+
+ Prepend w/ `=' to inhibit group-group dependency expansion.
<variable name>=<variable override>[ ..]
- Override build or package variable.
+ Override build or package variable.
```
[Back to top](#table-of-contents)
diff --git a/etc/build.theme b/etc/build.theme
new file mode 100644
index 00000000..5485a368
--- /dev/null
+++ b/etc/build.theme
@@ -0,0 +1,84 @@
+#
+# Theme file for build.sh
+#
+
+#
+# {{{ ANSI attributes reference
+#
+# Attribute Name Note
+# 0 Reset or normal All attributes off
+# 1 Bold or increased intensity As with faint, the color change is a PC (SCO / CGA) invention.[30][better source needed]
+# 2 Faint, decreased intensity, or dim May be implemented as a light font weight like bold.[31]
+# 4 Underline Style extensions exist for Kitty, VTE, mintty and iTerm2.[32][33]
+# 7 Reverse video or invert Swap foreground and background colors; inconsistent emulation[34]
+#
+# FG BG Colour name
+# 30 40 Black
+# 31 41 Red
+# 32 42 Green
+# 33 43 Yellow
+# 34 44 Blue
+# 35 45 Magenta
+# 36 46 Cyan
+# 37 47 White
+# 90 100 Bright Black (Gray)
+# 91 101 Bright Red
+# 92 102 Bright Green
+# 93 103 Bright Yellow
+# 94 104 Bright Blue
+# 95 105 Bright Magenta
+# 96 106 Bright Cyan
+# 97 107 Bright White
+# }}}
+#
+
+#
+# Tag sets
+#
+LOG_TAGS_all="build,fileop,install,zipdist,xtrace,fatal,info,verbose,warning,build_begin,build_finish,build_finish_time,build_vars,group_begin,group_finish,pkg_begin,pkg_faildump,pkg_finish,pkg_msg,pkg_skip,pkg_step,pkg_strip";
+LOG_TAGS_normal="fatal,info,warning,build_begin,build_finish,build_finish_time,pkg_begin,pkg_faildump,pkg_finish,pkg_msg";
+LOG_TAGS_verbose="${LOG_TAGS_normal:+${LOG_TAGS_normal},}verbose,build_vars,group_begin,group_finish,pkg_skip,pkg_step,pkg_strip";
+
+#
+# Subsystem tags
+#
+LOG_TAG_build=""; # (UNUSED)
+LOG_TAG_fileop=36; # Cyan
+LOG_TAG_install=36; # Cyan
+LOG_TAG_zipdist=93; # Bright yellow
+LOG_TAG_xtrace=""; # (UNUSED)
+
+#
+# General level tags
+#
+LOG_TAG_fatal=91; # Bright red
+LOG_TAG_info=93; # Bright yellow
+LOG_TAG_verbose=96; # Bright cyan
+LOG_TAG_warning=31; # Dark red
+
+#
+# General build tags
+#
+LOG_TAG_build_begin=93; # Bright yellow
+LOG_TAG_build_finish=93; # Bright yellow
+LOG_TAG_build_finish_time=93; # Bright yellow
+LOG_TAG_build_vars=33; # Dark yellow
+
+#
+# Build group tags
+#
+LOG_TAG_group_begin=33; # Dark yellow
+LOG_TAG_group_finish=32; # Dark green
+
+#
+# Package build tags
+#
+LOG_TAG_pkg_begin=93; # Bright yellow
+LOG_TAG_pkg_faildump=93; # Bright yellow
+LOG_TAG_pkg_finish=92; # Bright green
+LOG_TAG_pkg_msg=90; # Dark grey
+LOG_TAG_pkg_skip=90; # Dark grey
+LOG_TAG_pkg_step=90; # Dark grey
+LOG_TAG_pkg_strip=93; # Bright yellow
+
+# vim:foldmethod=marker ft=sh
diff --git a/etc/build.usage b/etc/build.usage
index 8bc7bdf6..218343d7 100644
--- a/etc/build.usage
+++ b/etc/build.usage
@@ -1,84 +1,97 @@
usage: ./build.sh [-a nt32|nt64] [-b debug|release] [-C dir[,..]] [-D kind[,..]]
[-F ipv4|ipv6|offline] [-h|--help] [-p jobs|-P] [-r ALL|LAST]
[-r [*[*[*]]]name[,..][:ALL|LAST|[^|<|<=|>|>=]step,..]] [-R]
- [-v[v]] [-V {notice,verbose,build,fileops,install,xtrace}] [-x]
+ [-v] [-V [+]tag|pat[,..]]
[--as-needed] [--debug-minipix] [--dump-on-abort] [--reset-state]
[--roar] [[=]<group>|<variable name>=<variable override>[ ..]]
- -a nt32|nt64 Selects 32-bit or 64-bit architecture; defaults to nt64.
- -b debug|release Selects debug or release build kind; defaults to debug.
- -C dir[,..] Clean build directory (build,) ${PREFIX} before processing build
- scripts (prefix,) source directory (src,) and/or destination
- directory (dest) after successful package builds.
- -D kind[,..] Produce minimal midipix distribution directory (minipix,) RPM
- binary packages (rpm,) and/or deployable distribution ZIP
- archive (zipdist.) zipdist implies minipix.
+ -a nt32|nt64 Selects 32-bit or 64-bit architecture; defaults to nt64.
+ -b debug|release Selects debug or release build kind; defaults to debug.
+ -C dir[,..] Clean build directory (build,) ${PREFIX} before processing build
+ scripts (prefix,) source directory (src,) and/or destination
+ directory (dest) after successful package builds.
+ -D kind[,..] Produce minimal midipix distribution directory (minipix,) RPM
+ binary packages (rpm,) and/or deployable distribution ZIP
+ archive (zipdist.) zipdist implies minipix.
-F ipv4|ipv6|offline
- Force IPv4 (ipv4) or IPv6 (ipv6) when downloading package
- archives and/or Git repositories or don't download either at all
- (offline.)
- -h|--help Show short/full help screen, respectively.
- -p jobs|-P Enables parallelisation at group-level, whenever applicable.
- The maximum count of jobs defaults to the number of logical
- processors on the host system divided by two (2.)
-
- If -R is not specified and at least one (1) package fails to
- build, all remaining package builds will be forcibly aborted.
-
- -r ALL|LAST Restart all packages or the last failed package and resume
- build, resp.
+ Force IPv4 (ipv4) or IPv6 (ipv6) when downloading package
+ archives and/or Git repositories or don't download either at all
+ (offline.)
+ -h|--help Show short/full help screen, respectively.
+ -p jobs|-P Enables parallelisation at group-level, whenever applicable.
+ The maximum count of jobs defaults to the number of logical
+ processors on the host system divided by two (2.)
+
+ If -R is not specified and at least one (1) package fails to
+ build, all remaining package builds will be forcibly aborted.
+
+ -r ALL|LAST Restart all packages or the last failed package and resume
+ build, resp.
-r [*[*[*]]]name[,..][:ALL|LAST|[^|<|<=|>|>=]step,..]
- Restart the specified comma-separated package(s) w/ inhibition
- of package build step state resetting completely (`ALL',) starting
- at the resp. last successfully executed build steps (`LAST',) or the
- specified comma-separated list of build steps, optionally subject
- concerning package name(s) and/or build step(s) to the below modifiers:
-
- Prepend name w/ `*' to automatically include dependencies, `**'
- to forcibly rebuild all dependencies, and `***' to forcibly
- rebuild all packages that depend on the specified package(s).
-
- Prepend step w/ `^' to filter build steps with, `<' or `<='
- to constrain build steps to below or below or equal with, resp.,
- `>' or `>=' to constrain build steps to above or above or equal
- with, resp.
-
- Currently defined build steps are:
- fetch_clean, fetch_download, fetch_extract, configure_clean,
- configure_patch_pre, configure_autotools, configure_patch,
- configure, build_clean, build, install_clean, install_subdirs,
- install_make, install_files, install_libs, install, install_rpm,
- and clean.
-
- Additionally, the following virtual steps are provided:
- @fetch, @configure, @build, @install, @clean, and finish.
-
- -R Ignore build failures, skip printing package logs, and continue
- building (relaxed mode.)
-
- -v[v] -v: log at info, notice, -vv: log at info, notice, verbose level.
- -V level[,..] Be verbose concerning any of:
- notice...: log at info, notice level (-v,)
- verbose..: log at info, notice, verbose level (implies notice) (-vv,)
- build....: always print package build logs (implies notice,)
- fileops..: log RTL file operations (implies notice,)
- install..: log RTL installation DSL operations (implies notice,)
- xtrace...: set xtrace during package builds (implies notice) (-x.)
- -x Set xtrace during package builds.
-
- --as-needed Don't build unless the midipix_build repository has received
- new commits.
- --debug-minipix Don't strip(1) minipix binaries to facilitate debugging minipix.
- --dump-on-abort Produce package environment dump files on build failure to be
- used in conjuction with pkg_shell.sh script (excludes -R.)
- --reset-state Reset package build step state on exit.
-
- <group>[ ..] One of: dev_packages, dist, host_deps, host_deps_rpm,
- host_toolchain, host_tools, minipix, native_packages,
- native_runtime, native_toolchain, native_tools.
-
- Prepend w/ `=' to inhibit group-group dependency expansion.
+ Restart the specified comma-separated package(s) w/ inhibition
+ of package build step state resetting completely (`ALL',) starting
+ at the resp. last successfully executed build steps (`LAST',) or the
+ specified comma-separated list of build steps, optionally subject
+ concerning package name(s) and/or build step(s) to the below modifiers:
+
+ Prepend name w/ `*' to automatically include dependencies, `**'
+ to forcibly rebuild all dependencies, and `***' to forcibly
+ rebuild all packages that depend on the specified package(s).
+
+ Prepend step w/ `^' to filter build steps with, `<' or `<='
+ to constrain build steps to below or below or equal with, resp.,
+ `>' or `>=' to constrain build steps to above or above or equal
+ with, resp.
+
+ Currently defined build steps are:
+ fetch_clean, fetch_download, fetch_extract, configure_clean,
+ configure_patch_pre, configure_autotools, configure_patch,
+ configure, build_clean, build, install_clean, install_subdirs,
+ install_make, install_files, install_libs, install, install_rpm,
+ and clean.
+
+ Additionally, the following virtual steps are provided:
+ @fetch, @configure, @build, @install, @clean, and finish.
+
+ -R Ignore build failures, skip printing package logs, and continue
+ building (relaxed mode.)
+
+ -v Increase logging verbosity.
+ -V [+]tag|pat[,..] Enable logging for messages with tag or pattern matching tags of:
+ + (prefix)..: initialise tags with normal verbosity (implies normal) (see etc/build.theme,)
+ all.........: log everything (see etc/build.theme,)
+ clear|none..: log nothing,
+ normal......: log at normal verbosity (see etc/build.theme,)
+ verbose.....: log at increased verbosity (implies normal) (see etc/build.theme) (-v,)
+
+ build.......: log package build logs,
+ fileops.....: log RTL file operations,
+ install.....: log RTL installation DSL operations,
+ zipdist.....: log deployable distribution ZIP archive operations,
+ xtrace......: set xtrace during package builds,
+
+ fatal.......: fatal, unrecoverable errors,
+ info........: informational messages,
+ verbose.....: verbose informational messages,
+ warning.....: warning messages possibly relating to imminent fatal, unrecoverable errors,
+
+ build_*.....: general build messages (viz.: begin, finish, finish_time, vars,)
+ group_*.....: build group messages (viz.: begin, finish,)
+ pkg_*.......: package build messages (viz.: begin, faildump, finish, msg, skip, step, strip.)
+
+ --as-needed Don't build unless the midipix_build repository has received
+ new commits.
+ --debug-minipix Don't strip(1) minipix binaries to facilitate debugging minipix.
+ --dump-on-abort Produce package environment dump files on build failure to be
+ used in conjuction with pkg_shell.sh script (excludes -R.)
+ --reset-state Reset package build step state on exit.
+
+ <group>[ ..] One of: dev_packages, dist, host_deps, host_deps_rpm,
+ host_toolchain, host_tools, minipix, native_packages,
+ native_runtime, native_toolchain, native_tools.
+
+ Prepend w/ `=' to inhibit group-group dependency expansion.
<variable name>=<variable override>[ ..]
- Override build or package variable.
+ Override build or package variable.
diff --git a/etc/build.usage.short b/etc/build.usage.short
index 3a529ecc..7e58f8b5 100644
--- a/etc/build.usage.short
+++ b/etc/build.usage.short
@@ -1,31 +1,24 @@
usage: ./build.sh [-a nt32|nt64] [-b debug|release] [-C dir[,..]] [-D kind[,..]]
[-F ipv4|ipv6|offline] [-h|--help] [-p jobs|-P] [-r ALL|LAST]
[-r [*[*[*]]]name[,..][:ALL|LAST|[^|<|<=|>|>=]step,..]] [-R]
- [-v[v]] [-V {notice,verbose,build,fileops,install,xtrace}] [-x]
+ [-v] [-V [+]tag|pat[,..]]
[--as-needed] [--debug-minipix] [--dump-on-abort] [--reset-state]
[--roar] [[=]<group>|<variable name>=<variable override>[ ..]]
- -a nt32|nt64 Selects 32-bit or 64-bit architecture; defaults to nt64.
- -b debug|release Selects debug or release build kind; defaults to debug.
- -h|--help Show short/full help screen, respectively.
- -p jobs|-P Enables parallelisation at group-level, whenever applicable.
- -r ALL|LAST Restart all/the last failed/the specified comma-separated package(s).
+ -a nt32|nt64 Selects 32-bit or 64-bit architecture; defaults to nt64.
+ -b debug|release Selects debug or release build kind; defaults to debug.
+ -h|--help Show short/full help screen, respectively.
+ -p jobs|-P Enables parallelisation at group-level, whenever applicable.
+ -r ALL|LAST Restart all/the last failed/the specified comma-separated package(s).
-r [*[*[*]]]name[,..][:ALL|LAST|[^|<|<=|>|>=]step,..]
- -v[v] -v: log at info, notice, -vv: log at info, notice, verbose level.
- -V level[,..] Be verbose concerning any of:
- notice...: log at info, notice level (-v,)
- verbose..: log at info, notice, verbose level (implies notice) (-vv,)
- build....: always print package build logs (implies notice,)
- fileops..: log RTL file operations (implies notice,)
- install..: log RTL installation DSL operations (implies notice,)
- xtrace...: set xtrace during package builds (implies notice) (-x.)
+ -v Increase logging verbosity.
- <group>[ ..] One of: dev_packages, dist, host_deps, host_deps_rpm,
- host_toolchain, host_tools, minipix, native_packages,
- native_runtime, native_toolchain, native_tools.
+ <group>[ ..] One of: dev_packages, dist, host_deps, host_deps_rpm,
+ host_toolchain, host_tools, minipix, native_packages,
+ native_runtime, native_toolchain, native_tools.
- Prepend w/ `=' to inhibit group-group dependency expansion.
+ Prepend w/ `=' to inhibit group-group dependency expansion.
<variable name>=<variable override>[ ..]
- Override build or package variable.
+ Override build or package variable.
diff --git a/etc/pkgtool.theme b/etc/pkgtool.theme
new file mode 100644
index 00000000..31ea331e
--- /dev/null
+++ b/etc/pkgtool.theme
@@ -0,0 +1,56 @@
+#
+# Theme file for pkgtool.sh
+#
+
+#
+# {{{ ANSI attributes reference
+#
+# Attribute Name Note
+# 0 Reset or normal All attributes off
+# 1 Bold or increased intensity As with faint, the color change is a PC (SCO / CGA) invention.[30][better source needed]
+# 2 Faint, decreased intensity, or dim May be implemented as a light font weight like bold.[31]
+# 4 Underline Style extensions exist for Kitty, VTE, mintty and iTerm2.[32][33]
+# 7 Reverse video or invert Swap foreground and background colors; inconsistent emulation[34]
+#
+# FG BG Colour name
+# 30 40 Black
+# 31 41 Red
+# 32 42 Green
+# 33 43 Yellow
+# 34 44 Blue
+# 35 45 Magenta
+# 36 46 Cyan
+# 37 47 White
+# 90 100 Bright Black (Gray)
+# 91 101 Bright Red
+# 92 102 Bright Green
+# 93 103 Bright Yellow
+# 94 104 Bright Blue
+# 95 105 Bright Magenta
+# 96 106 Bright Cyan
+# 97 107 Bright White
+# }}}
+#
+
+#
+# Tag sets
+#
+LOG_TAGS_all="fileop,install,fatal,info,verbose,warning";
+LOG_TAGS_normal="fatal,info,warning";
+LOG_TAGS_verbose="${LOG_TAGS_normal:+${LOG_TAGS_normal},}verbose";
+
+#
+# Subsystem tags
+#
+LOG_TAG_fileop=36; # Cyan
+LOG_TAG_install=36; # Cyan
+
+#
+# General level tags
+#
+LOG_TAG_fatal=91; # Bright red
+LOG_TAG_info=93; # Bright yellow
+LOG_TAG_verbose=96; # Bright cyan
+LOG_TAG_warning=31; # Dark red
+
+# vim:foldmethod=marker ft=sh