diff --git a/CMakeLists.txt b/CMakeLists.txt index 51a813bde3454bf79c5373eaf9a288926d32b79b..b2f77dc6b24aba3f244872a855ed91a2a950ecb2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,6 +31,7 @@ set( QT_VERSION 5.3.0 ) find_package( Qt5 ${QT_VERSION} CONFIG REQUIRED Core Gui Widgets LinguistTools Svg ) find_package( YamlCpp 0.5.1 REQUIRED ) +find_package( PolkitQt5-1 REQUIRED ) option( WITH_PYTHON "Enable Python modules support." ON ) @@ -178,3 +179,10 @@ install( DESTINATION share/calamares ) + +install( + FILES + com.github.calamares.calamares.bin + DESTINATION + "${POLKITQT-1_POLICY_FILES_INSTALL_DIR}" +) diff --git a/calamares.desktop b/calamares.desktop index 06df67598bad4f992b359e80105c1153a460ac2f..776d2635936489c4788f150a42d0098a085f568b 100644 --- a/calamares.desktop +++ b/calamares.desktop @@ -4,8 +4,9 @@ Version=1.0 Name=Calamares GenericName=System Installer TryExec=calamares -Exec=calamares +Exec=pkexec /usr/bin/calamares Comment=Calamares — System Installer Icon=calamares Terminal=false +StartupNotify=false Categories=Qt;System; diff --git a/com.github.calamares.calamares.bin b/com.github.calamares.calamares.bin new file mode 100644 index 0000000000000000000000000000000000000000..6bc250e3bbdf6d0af8700ed7bf39696c64630b9d --- /dev/null +++ b/com.github.calamares.calamares.bin @@ -0,0 +1,22 @@ +<?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/policyconfig.dtd"> +<policyconfig> + + <vendor>Calamares</vendor> + <vendor_url>https://github.com/calamares</vendor_url> + + <action id="com.github.calamares.calamares.pkexec.run"> + <description>Run Installer</description> + <message>Authentication is required to run the installation program</message> + <icon_name>drive-harddisk</icon_name> + <defaults> + <allow_any>no</allow_any> + <allow_inactive>no</allow_inactive> + <allow_active>auth_admin</allow_active> + </defaults> + <annotate key="org.freedesktop.policykit.exec.path">/usr/bin/calamares</annotate> + <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate> + </action> +</policyconfig> \ No newline at end of file