Commit Graph

8 Commits

Author SHA1 Message Date
9bd61fc963 client: Dockerfiles: remote: dev-tools: enable man page support 2026-03-13 13:42:49 -07:00
38c61a516b client: archlinux: re-install system base dependencies
in order to capture their respective man pages.
2026-03-11 14:15:14 -07:00
4850536629 client: archlinux: add man page support to base image 2026-03-11 13:13:45 -07:00
dbbe42466c client: archlinux: move calc package to base image
as it is a 'Related "useful" package'.
2026-03-11 11:50:44 -07:00
270e6e7e62 client: archlinux: add 'Related "useful" packages' section
(for consistenly useful packages that aren't dependencies)
and move `less` from "Base dependencies" to this section.
2026-03-11 11:50:35 -07:00
96ea8fc9b0 client: archlinux: move less from custom build to base build 2026-01-28 15:30:39 -08:00
5e02aa4825 client: migrate from xsv to xan
`xsv` is no longer maintained and the author recommends `xan` instead.

Fortunately, `xan` is very suitable for our use-case; is very efficient,
and produces no differences in our expected output.
2025-10-03 14:09:34 -07:00
dc4990ab90 client: docker: complete build overhaul, optimize
This commit brings a complete overhaul of the build system:

- Creates a separation of concerns for 'local' and 'remote' building
  * 'local' is built locally via the docker-finance `build` command
  * 'remote' is built *outside* of the docker-finance `build` command
    (pushed to a remote registry and then pulled by the 'local' build)
  * Related refactoring
    - Dockerfiles
    - `lib_gen`

- Adds remote image 'hledger-suite'
  * Provides the latest versions of all `hledger` related binaries
  * No longer relies on package maintainers / out-dated packages

- Adds remote image 'docker-finance'
  * Provides base image for 'finance' and 'dev-tools' images
    - tags 'archlinux' | 'ubuntu' | 'dev-tools'

- Removes previous `hledger` related build modules
  * Removes building any `hledger` related binaries locally

- Removes 'experimental' build
  * End-user can use local custom Dockerfile and/or custom tag instead

- Updates the 'default' | 'slim' | 'tiny' | 'micro' build types
  * Refactors build type requirements into separate build modules
    - Adds 'fetch' module
    - Adds 'track' module
    - Adds 'user' module
      * creates container user *after* base and all other modules
      * allows for quick re-building across multiple local users
    - Updates 'root' module
  * `lib_docker`
    - Updates usage help
    - Adds build modules per build type

- Huge optimizations
  * Vastly improves build times
    - ~60% faster w/ a fresh build
    - ~60%-90% faster rebuild (depending on image type)
  * Vastly improves image sizes
    - e.g., 'default' Arch Linux image size is ~50% smaller
2024-09-17 20:06:33 -07:00