+class FlatpakTarget(LinuxTarget):
+ def __init__(self, project, checkout, work):
+ super(FlatpakTarget, self).__init__('ubuntu', '22.04', 64, work)
+ self.platform = 'flatpak'
+ self.privileged = True
+ self.build_dependencies = False
+ self.project = project
+ self.checkout = checkout
+ # If we use git references we end up with a checkout in one mount trying
+ # to link to the git reference repo in other, which doesn't work.
+ globals.use_git_reference = False
+ if config.has('flatpak_state_dir'):
+ self.mount(config.get('flatpak_state_dir'))
+
+ def setup(self):
+ super().setup()
+ globals.trees.get(self.project, self.checkout, self).checkout_dependencies()
+
+ def flatpak(self):
+ return 'flatpak'
+
+ def flatpak_builder(self):
+ b = 'flatpak-builder'
+ if config.has('flatpak_state_dir'):
+ b += ' --state-dir=%s' % config.get('flatpak_state_dir')
+ return b
+
+