From 4dab2ee8e05acdd56b39bb6edd4e80f795d7e0d9 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 21 Apr 2021 22:41:22 +0200 Subject: [PATCH] Install polkit policy file (#1970). --- cscript | 5 +++++ platform/linux/com.dcpomatic.write-drive.policy | 15 +++++++++++++++ platform/linux/wscript | 2 ++ 3 files changed, 22 insertions(+) create mode 100644 platform/linux/com.dcpomatic.write-drive.policy diff --git a/cscript b/cscript index 7dba91447..ea8056c5d 100644 --- a/cscript +++ b/cscript @@ -341,6 +341,7 @@ def make_spec(filename, version, target, options, requires=None): print('%%{_datadir}/locale/%s/LC_MESSAGES/libdcpomatic2.mo' % l, file=f) print('%{_datadir}/libdcp/tags/*', file=f) print('%{_datadir}/libdcp/xsd/*', file=f) + print('%{_datadir}/polkit-1/actions/com.dcpomatic.write-drive.policy', file=f) print('', file=f) print('%prep', file=f) print('rm -rf $RPM_BUILD_DIR/dcpomatic-%s' % version, file=f) @@ -651,6 +652,10 @@ def make_appimage(target, nice_name, internal_name, version): target.command('cp -r %s/share/dcpomatic2 build/%s.AppDir/usr/share/' % (target.directory, nice_filename)) target.command('cp -r %s/share/libdcp/xsd build/%s.AppDir/usr/share/libdcp/' % (target.directory, nice_filename)) target.command('cp -r %s/share/libdcp/tags build/%s.AppDir/usr/share/libdcp/' % (target.directory, nice_filename)) + if internal_name == 'dcpomatic2_disk': + target.command('mkdir -p build/%s.AppDir/usr/share/polkit-1/actions', nice_filename) + target.command('cp %s/share/polkit-1/actions/com.dcpomatic.write-drive.policy build/%s.AppDir/usr/share/polkit-1/actions' % (target.directory, nice_filename)) + with open('build/%s.AppDir/AppRun' % nice_filename, 'w') as f: print('#!/bin/bash', file=f) print('export PATH=$APPDIR/usr/bin:$PATH', file=f) diff --git a/platform/linux/com.dcpomatic.write-drive.policy b/platform/linux/com.dcpomatic.write-drive.policy new file mode 100644 index 000000000..4031300a0 --- /dev/null +++ b/platform/linux/com.dcpomatic.write-drive.policy @@ -0,0 +1,15 @@ + + + + DCP-o-matic + https://dcpomatic.com + + Format a drive and write a DCP to it + Authentication is required to format the drive and write the DCP + + no + no + auth_admin_keep + + + diff --git a/platform/linux/wscript b/platform/linux/wscript index 4b6f7f7aa..587da325e 100644 --- a/platform/linux/wscript +++ b/platform/linux/wscript @@ -58,4 +58,6 @@ def build(bld): obj.VERSION = bld.env.VERSION desktops.append(obj.target) + bld.install_as('${PREFIX}/share/polkit-1/actions/com.dcpomatic.write-drive.policy', 'com.dcpomatic.write-drive.policy') + bld.install_files('${PREFIX}/share/applications', desktops) -- 2.30.2