diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 5d1af7a..0b80144 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -26,19 +26,7 @@ jobs:
- name: Run test
run: make -f Makefile check
- ci-checks:
- runs-on: ubuntu-latest
- container: fedora:43 # CURRENT DEVELOPMENT ENVIRONMENT
- steps:
- - uses: actions/checkout@v6
- with:
- persist-credentials: false
- - name: Install dependencies
- run: dnf install -y make yamllint
- - name: Run test
- run: make -f Makefile yamllint
-
- spelling-checks:
+ spelling-and-formatting-checks:
runs-on: ubuntu-latest
container: fedora:43 # CURRENT DEVELOPMENT ENVIRONMENT
steps:
@@ -46,7 +34,11 @@ jobs:
run: >
dnf install -y
clang
+ git
make
+ xmllint
+ which
+ yamllint
- uses: actions/checkout@v6
with:
persist-credentials: false
@@ -57,5 +49,9 @@ jobs:
- uses: baptiste0928/cargo-install@v3
with:
crate: typos-cli
- - name: Run test
+ - name: Run spell check
run: make -f Makefile check-typos
+ - name: Run format check
+ run: make -f Makefile fmt-ci
+ - name: Run lint check
+ run: make -f Makefile yamllint
diff --git a/Makefile b/Makefile
index d6b11c0..9b48088 100644
--- a/Makefile
+++ b/Makefile
@@ -65,9 +65,17 @@ website-copy: test-website-repo test-commit-msg clean website-distrib
(cd ./public; cp * -R ${WEBSITE_REPO})
(cd ${WEBSITE_REPO}; git add .; git commit -m "${COMMIT_MSG}")
+fmt:
+ (cd ./docs/dbus ; $(MAKE) fmt)
+
+fmt-ci:
+ (cd ./docs/dbus ; $(MAKE) fmt-ci)
+
.PHONY:
check
clean
+ fmt
+ fmt-ci
pdfs
test-commit-msg
test-website-repo
diff --git a/docs/dbus/Makefile b/docs/dbus/Makefile
index 7678606..8ede24c 100644
--- a/docs/dbus/Makefile
+++ b/docs/dbus/Makefile
@@ -7,8 +7,33 @@ clean:
check-closed-insets:
@grep --quiet "^status open$$" DBusAPIReference.lyx ; if [ $$? -ne "1" ] ; then exit 1 ; fi
-check: check-closed-insets
+check-no-tabs:
+ grep --quiet -P "\t" ./blockdev.xml ; if [ $$? -ne "1" ] ; then exit 1 ; fi
+ grep --quiet -P "\t" ./filesystem.xml ; if [ $$? -ne "1" ] ; then exit 1 ; fi
+ grep --quiet -P "\t" ./manager.xml ; if [ $$? -ne "1" ] ; then exit 1 ; fi
+ grep --quiet -P "\t" ./pool.xml ; if [ $$? -ne "1" ] ; then exit 1 ; fi
+
+check: check-closed-insets check-no-tabs
+
+fmt:
+ xmllint --format ./blockdev.xml --output ./blockdev.xml
+ xmllint --format ./filesystem.xml --output ./filesystem.xml
+ xmllint --format ./manager.xml --output ./manager.xml
+ xmllint --format ./pool.xml --output ./pool.xml
+
+fmt-ci:
+ @xmllint --format ./blockdev.xml --output ./blockdev.new.xml
+ diff --brief ./blockdev.xml ./blockdev.new.xml ; if [ $$? -eq "1" ] ; then exit 1 ; fi
+ @xmllint --format ./filesystem.xml --output ./filesystem.new.xml
+ diff --brief ./filesystem.xml ./filesystem.new.xml ; if [ $$? -eq "1" ] ; then exit 1 ; fi
+ @xmllint --format ./manager.xml --output ./manager.new.xml
+ diff --brief ./manager.xml ./manager.new.xml ; if [ $$? -eq "1" ] ; then exit 1 ; fi
+ @xmllint --format ./pool.xml --output ./pool.new.xml
+ diff --brief ./pool.xml ./pool.new.xml ; if [ $$? -eq "1" ] ; then exit 1 ; fi
.PHONY:
check
check-closed-insets
+ check-no-tabs
+ fmt
+ fmt-ci
diff --git a/docs/dbus/blockdev.xml b/docs/dbus/blockdev.xml
index 5e56ec0..6247a93 100644
--- a/docs/dbus/blockdev.xml
+++ b/docs/dbus/blockdev.xml
@@ -1,28 +1,29 @@
+
-
+
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
+
@@ -30,26 +31,26 @@
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/dbus/filesystem.xml b/docs/dbus/filesystem.xml
index 3501dd4..a45f41b 100644
--- a/docs/dbus/filesystem.xml
+++ b/docs/dbus/filesystem.xml
@@ -1,28 +1,29 @@
+
-
+
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
+
@@ -30,338 +31,380 @@
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/dbus/manager.xml b/docs/dbus/manager.xml
index 7640e3f..3cffaeb 100644
--- a/docs/dbus/manager.xml
+++ b/docs/dbus/manager.xml
@@ -2,31 +2,31 @@
-
+
-
+
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
-
+
-
+
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
+
+
-
-
-
+
+
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
-
-
+
+
+
@@ -1472,11 +1703,11 @@
-->
-
+
-
-
-
+
+
+
@@ -1486,11 +1717,11 @@
-->
-
+
-
-
-
+
+
+
@@ -1500,11 +1731,11 @@
-->
-
+
-
-
-
+
+
+
@@ -1514,11 +1745,11 @@
-->
-
+
-
-
-
+
+
+
@@ -1528,11 +1759,11 @@
-->
-
+
-
-
-
+
+
+
@@ -1542,11 +1773,11 @@
-->
-
+
-
-
-
+
+
+
@@ -1556,11 +1787,11 @@
-->
-
+
-
-
-
+
+
+
@@ -1570,14 +1801,28 @@
-->
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
diff --git a/docs/dbus/pool.xml b/docs/dbus/pool.xml
index 9a90c59..ebbfbed 100644
--- a/docs/dbus/pool.xml
+++ b/docs/dbus/pool.xml
@@ -1,28 +1,29 @@
+
-
+
-
-
-
+
+
+
-
-
+
+
-
-
-
+
+
+
-
-
-
+
+
+
@@ -30,87 +31,87 @@
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
@@ -1679,36 +1680,36 @@
b: True if the filesystem name is specified, otherwise false.
s: Filesystem name.
-->
-
+
-
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
+
-
-
-
+
+
+
@@ -1716,11 +1717,11 @@
True if the metadata that would be written if it were written now,
false if the metadata that is currently on disk.
-->
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
@@ -1952,36 +1953,36 @@
b: True if the filesystem name is specified, otherwise false.
s: Filesystem name.
-->
-
+
-
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
+
-
-
-
+
+
+
@@ -1989,11 +1990,11 @@
True if the metadata that would be written if it were written now,
false if the metadata that is currently on disk.
-->
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
-
+
-
-
-
+
+
+
@@ -2064,11 +2065,11 @@
If no token slot specified, remove the binding from the first slot
bound with this method.
-->
-
+
-
-
-
+
+
+
@@ -2077,20 +2078,20 @@
If no token slot specified, remove the binding from the first slot
bound with this method.
-->
-
+
-
-
-
+
+
+
-
+
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
+
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+