- infos = Information about the blockresolver plugin is in keys below
- infos/author = Name name@.nosp@m.libe.nosp@m.lektr.nosp@m.a.or.nosp@m.g
- infos/licence = BSD
- infos/needs =
- infos/provides = resolver
- infos/recommends =
- infos/placements = rollback getresolver setresolver commit
- infos/status = maintained conformant compatible coverage specific unittest tested nodep libc configurable preview experimental difficult unfinished concept
- infos/metadata =
- infos/description = resolver for parts in a file configuration file
The blockresolver can be used to only resolve a tagged block inside a configuration file.
Implementation details
blockresolver extracts the requested block from the configurations file and writes it into a temporary file. Afterwards Elektra will only work on the temporary file until kdbSet is called. On kdbSet the contents of the temporary file will be merged with parts outside of the requested block from the original file.
Usage
`kdb mount -R blockresolver /path/to/my/file /mountpoint -c identifier="identifier-tag"`
where identifier specifies the tag blockresolver will search for in the configuration file.
A block consists of 2 parts:
- beginning: the identifier suffixed with
start
- end: the identifier suffixed with
stop
Limitations
Currently the identifier must be unique.
Example
1 # Backup-and-Restore:system/examples/blockresolver
2 sudo kdb mount -R blockresolver /tmp/test.block system/examples/blockresolver -c identifier=">>> block config" ini
6 $ echo "text" > /tmp/test.block
7 $ echo "more text" >> /tmp/test.block
8 $ echo "some more text" >> /tmp/test.block
9 $ echo ">>> block config start" >> /tmp/test.block
10 $ echo "[section1]" >> /tmp/test.block
11 $ echo "key1 = val1" >> /tmp/test.block
12 $ echo "[section2]" >> /tmp/test.block
13 $ echo "key2 = val2" >> /tmp/test.block
14 $ echo ">>> block config stop" >> /tmp/test.block
15 $ echo "text again" >> /tmp/test.block
16 $ echo "and more text" >> /tmp/test.block
17 $ echo "text" >> /tmp/test.block
25 >>> block config start
35 # only the block between the tags is read!
37 kdb export system/examples/blockresolver ini
43 # add a new key to the resolved block
45 kdb set system/examples/blockresolver/section1/key12 val12
51 >>> block config start
64 kdb rm -r system/examples/blockresolver
65 sudo kdb umount system/examples/blockresolver