diff options
| author | Carl Hetherington <cth@carlh.net> | 2021-04-21 22:41:22 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2021-04-22 15:42:11 +0200 |
| commit | 4dab2ee8e05acdd56b39bb6edd4e80f795d7e0d9 (patch) | |
| tree | 8d59e315b75bbe308b2b80484d1bee8729ea0618 | |
| parent | f68217c17dddafdf9453e3bfdc6d7acb9430736e (diff) | |
Install polkit policy file (#1970).
| -rw-r--r-- | cscript | 5 | ||||
| -rw-r--r-- | platform/linux/com.dcpomatic.write-drive.policy | 15 | ||||
| -rw-r--r-- | platform/linux/wscript | 2 |
3 files changed, 22 insertions, 0 deletions
@@ -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 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE policyconfig PUBLIC "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN" "http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd"> +<policyconfig> + <vendor>DCP-o-matic</vendor> + <vendor_url>https://dcpomatic.com</vendor_url> + <action id="com.dcpomatic.write-drive"> + <description gettext-domain="dcpomatic">Format a drive and write a DCP to it</description> + <message gettext-domain="dcpomatic">Authentication is required to format the drive and write the DCP</message> + <defaults> + <allow_any>no</allow_any> + <allow_inactive>no</allow_inactive> + <allow_active>auth_admin_keep</allow_active> + </defaults> + </action> +</policyconfig> 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) |
