DG(1)
β¨ DG(1) β the manual, but make it cute β¨
okay so bestie, welcome to the dg page, from the Generated Python Manual. It's giving main character energy for a templating tool and honestly? deserved. π
πΈ NAME πΈ
dg β templating system/generator for distributions. that's it, that's the vibe. π
π SYNOPSIS π
dg [-h] [--version] [--projectdir PROJECTDIR] [--distro DIST]
[--multispec MULTISPEC] [--multispec-selector MULTISPEC_SELECTOR]
[--spec SPEC] [--output OUTPUT] [--macros-from PROJECTDIR] [--container
CONTAINER_TYPE] [--macro MACRO] [--max-passes PASSES] [--keep-block-
whitespaces] (--template TEMPLATE | --multispec-combinations)
no cap, that's the whole shape of it. note the last line: it's an either/or situation, you gotta pick one. π«Ά
π¦ DESCRIPTION π¦
Generate script using predefined metadata about distribution and templates.
literally it takes the metadata you already have about a distro, smooshes it together with a template, and spits out a script. iconic behaviour, honestly. β¨
As an example of dg usage, to generate Dockerfile for Fedora 21 64-bit system, you may use command(s):
$ cd project/directory $ dg --spec docker-data.yaml \
--template docker.tpl
like... look at her go. π₯Ή
π OPTIONS π
okay this is the part everyone scrolls to, so let's go, every single one:
--versionβ show program's version number and exit. a lil "who am i" moment. π--projectdir PROJECTDIRβ Directory with project (defaults to CWD). yes babes, the default is literally your current working directory, she's not shy.--distro DISTβ Use DIST distribution configuration. Either thatDIST.yamlneeds to exist in the distgen installation, or it can be any file withinPROJECTDIR(relative or absolute file name). so, two doors, pick your entrance. πͺ--multispec MULTISPECβ Use MULTISPEC yaml file to fill the TEMPLATE file. feeding the template, basically. π--multispec-selector MULTISPEC_SELECTORβ Selectors for the multispec file. choose your fighter. π--spec SPECβ Use SPEC yaml file to fill the TEMPLATE file. the classic route, no cap.--output OUTPUTβ Write result to OUTPUT file instead of stdout. if you don't use this, it just yells into your terminal instead. π£οΈ--macros-from PROJECTDIRβ Load variables fromPROJECTDIR. pulling the variables out of there, respectfully.--container CONTAINER_TYPEβ Container type, e.g.'docker'. she's a lil container-aware, we love that for her. π³--macro MACROβ Define distgen's macro. make it, name it, own it. π--max-passes PASSESβ Maximum number of rendering passes, defaults to32. thirty-two whole passes. she will keep going, but she has limits. π€--keep-block-whitespacesβ Disable the jinja2trim_blocksandlstrip_blocksoptions. so by default she's tidying your whitespace, and this flag says "no thank you, i want it messy". π--template TEMPLATEβ Use TEMPLATE file, e.g.docker.tplor a template string, e.g."{{ config.docker.from }}". yes, a whole template string inline, she's flexible like that. β¨--multispec-combinationsβ Print available multispec combinations. window shopping, but for combinations. ποΈ
β AUTHOR β
Red Hat Databases team. shoutout to the team, absolute legends. π«Ά
tiny reminder bestie:--templateand--multispec-combinationsare an either/or deal β the synopsis says so and the synopsis does not lie. π
and that's the page!! mwah π this was distgen 2.4, dated 2026-08-26, and she ate, fr fr. ππ¦π
π¦ where this page comes from
- epel 10: distgen 2.4-1.el10_3 Β· GPL-2.0-or-later AND Apache-2.0
- fedora 43: distgen 2.4-1.fc43 Β· GPL-2.0-or-later AND Apache-2.0
- fedora 44: distgen 2.4-1.fc44 Β· GPL-2.0-or-later AND Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms