;examples:debconf: update scripts, restore Ledger price-db support

This commit is contained in:
Simon Michael 2026-01-09 22:28:29 -10:00
parent 1e257c4daa
commit 85bedb77ac
3 changed files with 34 additions and 23 deletions

View File

@ -21,15 +21,27 @@ dc%:
git clone --filter=blob:none --sparse http://salsa.debian.org/debconf-team/public/data/$@
git -C $@ sparse-checkout set --no-cone budget '!budget/invoices'
git -C $@ apply --allow-empty ../patches/$@.patch
printf 'include $@/budget/journal.ledger\ninclude $@/budget/forex.db\n' > 20$*.ledger
printf 'include $@/budget/journal.ledger\ninclude $@/budget/forex.db\n' > $*.hledger
# make check-ledger, check-hledger - check readability of all years (main journal)
check-%:
@for d in dc*; do printf "$$d: "; $* -f $$d/budget/journal.ledger stats >/dev/null && echo ok; done
# make cmd-'CMD' - run a command in each repo's budget directory
cmd-%:
@for d in dc*; do printf "\n$$d:\n"; (cd $$d/budget; $*;) done
# make hledger-'ARGS' - run a hledger command on all years (main journal)
# make hledger-'HLEDGERARGS' - run a hledger command on each repo's main journal
hledger-%:
@for d in dc*; do printf "\n$$d:\n"; hledger -f $$d/budget/journal.ledger $*; done
@for d in dc*; do printf "\n$$d:\n"; hledger -f $$(echo $$d | sed 's/dc//').hledger $*; done
# check hledger readability of all repos' main journal
hledger-check:
@for d in dc*; do printf "$$d: "; hledger -f $$(echo $$d | sed 's/dc//').hledger stats >/dev/null && echo ok; done
# make ledger-'LEDGERARGS' - run a ledger command on each repo's main journal
ledger-%:
@for d in dc*; do printf "\n$$d:\n"; ledger -f $$d/budget/journal.ledger --price-db $$d/budget/forex.db $*; done
# check Ledger readability of all repos' main journal
ledger-check:
@for d in dc*; do printf "$$d: "; ledger -f $$d/budget/journal.ledger --price-db $$d/budget/forex.db stats >/dev/null && echo ok; done
# maintenance
@ -49,11 +61,7 @@ fixups:
sed -i -E 's/^( +format +\w+ +[0-9]+(,[0-9]+)+)$$/\1.00/' dc*/budget/commodities.inc
# convert amount expressions to simple amounts (use ledgereval or ledger eval)
# show uncommitted changes in each year
diff:
for d in dc*; do echo $$d:; git -C $$d diff; done
# save patch files for each year
save-patches:
for d in dc*; do GIT_PAGER= git -C $$d diff >patches/$$d.patch; done
for d in dc*; do git --no-pager -C $$d diff > patches/$$d.patch; done

View File

@ -9,11 +9,10 @@ To clone just the accounting data for all years: `make`\
Or to clone just a few recent years: `make recent`
Some patches for hledger readability will be applied; those might need updating from time to time.\
To check hledger readability: `make check-hledger`\
To check ledger readability: `make check-ledger`
To check hledger readability: `make hledger-check`\
To check ledger readability: `make ledger-check`
For convenient reporting, a top-level journal file is created for each year's repo.\
These also include the forex.db files, allowing currency conversion (when rates exist; you might need to fetch more).
For convenient reporting, a top-level .hledger file that also includes the foreign exchange rates is created for each year's repo.
The `hledger.conf` file sets a few non-essential defaults when you are in this directory.
@ -25,18 +24,22 @@ and [other docs](https://hledger.org/doc.html).
Single year reports:
- `hledger -f 2025.ledger is`
- `hledger -f 2025.ledger is -V`
- `hledger -f 2025.ledger is -VQSTt --drop 1`
- `hledger -f 25.hledger is`
- `hledger -f 25.hledger is -V`
- `hledger -f 25.hledger is -VQSTt --drop 1`
The `all.ledger` file reads from all the downloaded repos:
The `all.hledger` file reads from all the downloaded repos' main journals:
- `hledger -f all.ledger is -1 -YTN`
- `hledger -f all.ledger is -1 -YT -X USD`
- `hledger -f all.hledger is -1 -YTN`
- `hledger -f all.hledger is -1 -YT -X USD`
`make hledger-'ARGS'` runs a hledger command in each downloaded repo:
`make hledger-'HLEDGERARGS'` runs a hledger command on each repo's main journal:
- `make hledger-accounts`
- `make hledger-stats | grep 'Txns '`
- `make hledger-'bs -2'`
- `make hledger-'is -2`
`make ledger-'LEDGERARGS'` does the same but with Ledger.
`make cmd-'CMD` runs a command in each repo.

View File

@ -2,4 +2,4 @@ alias Expenses=expenses
alias incomes=income
alias Incomes=income
include 2*.ledger
include [0-9]*.hledger