debian-forge/mounts/org.osbuild.fat
Thomas Lavocat b97b78382f mounts: add a default value for readonly
To clarify the behavior of the mounters, specify that by default it's
not gonna mount as readonly.
2023-02-01 12:29:58 +01:00

72 lines
1.5 KiB
Python
Executable file

#!/usr/bin/python3
"""
FAT mount service
Mount a FAT filesystem at the given location.
Host commands used: mount
"""
import sys
from typing import Dict
from osbuild import mounts
SCHEMA_2 = """
"additionalProperties": false,
"required": ["name", "type", "source", "target"],
"properties": {
"name": { "type": "string" },
"type": { "type": "string" },
"source": {
"type": "string"
},
"target": {
"type": "string"
},
"options": {
"type": "object",
"additionalProperties": false,
"properties": {
"readonly": {
"description": "mount the source as a readonly device",
"type": "boolean",
"default": false
},
"uid": {
"description": "mount the source with given uid",
"type": "integer"
},
"gid": {
"description": "mount the source with given guid",
"type": "integer"
},
"umask": {
"description": "mount the source with given umask",
"type": "string",
"pattern": "^[0-7][0-7][0-7]$"
},
"shortname": {
"description": "mount the source with given shortname",
"type": "string",
"enum": ["lower", "win95", "winnt", "mixed"]
}
}
}
}
"""
class FatMount(mounts.FileSystemMountService):
def translate_options(self, options: Dict):
return ["-t", "vfat"] + super().translate_options(options)
def main():
service = FatMount.from_args(sys.argv[1:])
service.main()
if __name__ == '__main__':
main()