diff --git a/merge/sys-fs/.calculate_directory b/merge/sys-fs/.calculate_directory new file mode 100644 index 0000000..8e3df7f --- /dev/null +++ b/merge/sys-fs/.calculate_directory @@ -0,0 +1 @@ +{% calculate append = 'skip' %} diff --git a/merge/sys-fs/eudev/.calculate_directory b/merge/sys-fs/eudev/.calculate_directory new file mode 100644 index 0000000..145311d --- /dev/null +++ b/merge/sys-fs/eudev/.calculate_directory @@ -0,0 +1 @@ +{% calculate path='/etc', name='modprobe.d', package='sys-fs/eudev' %} diff --git a/merge/sys-fs/eudev/50-firmware.rules b/merge/sys-fs/eudev/50-firmware.rules new file mode 100644 index 0000000..d13d26d --- /dev/null +++ b/merge/sys-fs/eudev/50-firmware.rules @@ -0,0 +1,3 @@ +{% calculate path='/etc/udev/rules.d' %} + +SUBSYSTEM=="firmware", ACTION=="add", ATTR{loading}="-1" diff --git a/merge/sys-fs/eudev/50-firmware.rules.del b/merge/sys-fs/eudev/50-firmware.rules.del new file mode 100644 index 0000000..0bfb735 --- /dev/null +++ b/merge/sys-fs/eudev/50-firmware.rules.del @@ -0,0 +1,2 @@ +{% calculate append='remove', name='50-firmware.rules' %} +{# возможно удаление ошибочного размещения шаблона #} diff --git a/merge/sys-fs/eudev/60-persistent-storage.rules b/merge/sys-fs/eudev/60-persistent-storage.rules new file mode 100644 index 0000000..1187c9f --- /dev/null +++ b/merge/sys-fs/eudev/60-persistent-storage.rules @@ -0,0 +1,7 @@ +{% calculate format='regex', path='/lib/udev/rules.d' %} +(# probe filesystem metadata of disks) +(KERNEL!="sr\*", IMPORT\{builtin\}="blkid") +\1 +KERNEL!="sr*", ATTRS{size}=="0", ATTRS{removable}=="1", GOTO="skip_blkid" +\2 +LABEL="skip_blkid" diff --git a/merge/sys-fs/eudev/75-persistent-net-generator.rules b/merge/sys-fs/eudev/75-persistent-net-generator.rules new file mode 100644 index 0000000..be7030e --- /dev/null +++ b/merge/sys-fs/eudev/75-persistent-net-generator.rules @@ -0,0 +1,3 @@ +{% calculate format='regex', path='/lib/udev/rules.d' %} +(KERNEL!=")(eth\*) +\1en*|wl*|sl*|ww*|\2 diff --git a/merge/sys-fs/eudev/80-net-name-slot.rules b/merge/sys-fs/eudev/80-net-name-slot.rules new file mode 100644 index 0000000..0a132a5 --- /dev/null +++ b/merge/sys-fs/eudev/80-net-name-slot.rules @@ -0,0 +1 @@ +{% calculate append='remove', path='/lib/udev/rules.d' %} diff --git a/merge/sys-fs/eudev/80-net-setup-link.rules b/merge/sys-fs/eudev/80-net-setup-link.rules new file mode 100644 index 0000000..0a132a5 --- /dev/null +++ b/merge/sys-fs/eudev/80-net-setup-link.rules @@ -0,0 +1 @@ +{% calculate append='remove', path='/lib/udev/rules.d' %} diff --git a/merge/sys-fs/eudev/90-id-lxc-all.rules b/merge/sys-fs/eudev/90-id-lxc-all.rules new file mode 100644 index 0000000..d943248 --- /dev/null +++ b/merge/sys-fs/eudev/90-id-lxc-all.rules @@ -0,0 +1,23 @@ +{% calculate comment='#', path='/lib/udev/rules.d', install.os.container.type == 'host' %} + +# VirtualBox +ACTION=="add|remove", DEVPATH=="/devices/virtual/misc/vbox*", ENV{ID_LXC}="all" + +# PS/2 keyboard and mouse +ACTION=="add|remove", DEVPATH=="/devices/platform/i8042/*", ENV{ID_LXC}="all" + +# USB devices +ACTION=="add|remove", ENV{ID_BUS}=="usb", ENV{ID_LXC}="all" + +# Audio devices +ACTION=="add|remove", SUBSYSTEM=="sound", ENV{ID_LXC}="all" +# tty0 for chvt and lightdm +ACTION=="add|remove", KERNEL=="tty0", ENV{ID_LXC}="all" +# tty7-10 for xorg-server +ACTION=="add|remove", KERNEL=="tty7", ENV{ID_LXC}="all" +ACTION=="add|remove", KERNEL=="tty8", ENV{ID_LXC}="all" +ACTION=="add|remove", KERNEL=="tty9", ENV{ID_LXC}="all" +ACTION=="add|remove", KERNEL=="tty10", ENV{ID_LXC}="all" + +# Video devices +ACTION=="add|remove", SUBSYSTEM=="drm", ENV{ID_LXC}="all" diff --git a/merge/sys-fs/eudev/99-lxc-devfs.rules b/merge/sys-fs/eudev/99-lxc-devfs.rules new file mode 100644 index 0000000..87da82b --- /dev/null +++ b/merge/sys-fs/eudev/99-lxc-devfs.rules @@ -0,0 +1,8 @@ +{% calculate comment='#', path='/lib/udev/rules.d', install.os.container.type == 'host' %} + +ENV{ID_LXC}=="", GOTO="lxc_end" + +ACTION=="add", PROGRAM="/bin/bash /usr/libexec/lxc-udev-trigger add '$env{DEVNAME}' '$env{MAJOR}' '$env{MINOR}' '$env{SUBSYSTEM}' '$env{ID_LXC}'" +ACTION=="remove", PROGRAM="/bin/bash /usr/libexec/lxc-udev-trigger remove $env{DEVNAME} $env{MAJOR} $env{MINOR} $env{SUBSYSTEM} $env{ID_LXC}" + +LABEL="lxc_end" diff --git a/merge/sys-fs/eudev/blacklist-calculate.conf b/merge/sys-fs/eudev/blacklist-calculate.conf new file mode 100644 index 0000000..356ad45 --- /dev/null +++ b/merge/sys-fs/eudev/blacklist-calculate.conf @@ -0,0 +1,7 @@ +{% calculate comment='#' %} + +# hplip and cups 1.4+ use raw USB devices, so it requires usblp not be loaded +blacklist usblp + +# You probably want this to not get the console beep loud on every tab :) +blacklist pcspkr diff --git a/merge/sys-fs/eudev/lxc-udev-trigger b/merge/sys-fs/eudev/lxc-udev-trigger new file mode 100644 index 0000000..e4f88d2 --- /dev/null +++ b/merge/sys-fs/eudev/lxc-udev-trigger @@ -0,0 +1,61 @@ +{% calculate comment='#', path='/usr/libexec', chmod='755', install.os.container.type == 'host' %} +#!/bin/bash + +ACTION="$1" +DEVNAME="$2" +MAJOR="$3" +MINOR="$4" +SUBSYSTEM="$5" + +if [[ -z $MINOR ]] || [[ -z $DEVNAME ]] +then + exit 0 +fi + +shift 5 +COMPS="$*" + +process_device() { + local comp=$1 + if [[ "$ACTION" == "add" ]] + then + lxc-device -n ${comp} -- add $DEVNAME + lxc-attach -n ${comp} $(stat -L -c "chmod %a %n" $DEVNAME) + lxc-attach -n ${comp} $(stat -L -c "chown %u:%g %n" $DEVNAME) + udevadm trigger --action=change --name-match=$DEVNAME + fi + if [[ "$ACTION" == "remove" ]] + then + lxc-attach -n ${comp} -- rm $DEVNAME + if [[ -n $MAJOR ]] && [[ -n $MINOR ]] + then + if [[ $SUBSYSTEM == "block" ]] + then + lxc-cgroup -n ${comp} devices.deny "b $MAJOR:$MINOR rwm" + else + lxc-cgroup -n ${comp} devices.deny "c $MAJOR:$MINOR rwm" + fi + fi + udevadm trigger --action=remove --name-match=$DEVNAME + fi +} + +if [[ $COMPS == "all" ]] +then + for COMP in $(lxc-ls -1q 2>/dev/null) + do + if lxc-info -n $COMP -c lxc.environment | grep LXC_DESKTOP=1 &>/dev/null + then + process_device $COMP + fi + done +else + for COMP in $COMPS + do + if [[ -n $(lxc-info -pH -n $COMP) ]] + then + process_device $COMP + fi + done +fi + diff --git a/merge/sys-fs/eudev/write_net_rules b/merge/sys-fs/eudev/write_net_rules new file mode 100644 index 0000000..72e4fd0 --- /dev/null +++ b/merge/sys-fs/eudev/write_net_rules @@ -0,0 +1,5 @@ +{% calculate format='regex', multiline, path='/lib/udev' %} +^match="\$match, KERNEL==.*$\n + +^#write_rule +write_rule diff --git a/merge/sys-fs/fuse/.calculate_directory b/merge/sys-fs/fuse/.calculate_directory new file mode 100644 index 0000000..b055e3b --- /dev/null +++ b/merge/sys-fs/fuse/.calculate_directory @@ -0,0 +1 @@ +{% calculate append='skip', package='sys-fs/fuse' %} diff --git a/merge/sys-fs/fuse/fuse b/merge/sys-fs/fuse/fuse new file mode 100644 index 0000000..0aaad90 --- /dev/null +++ b/merge/sys-fs/fuse/fuse @@ -0,0 +1,2 @@ +{% calculate append="link", source="/etc/init.d/fuse", install.os.linux.system == 'desktop' and custom.runlevels.fuse != 'on' or grep('var/lib/calculate/-runlevels-fuse','/fuse') %} +{% save.system custom.runlevels.fuse = "on" %} diff --git a/merge/sys-fs/mtools/.calculate_directory b/merge/sys-fs/mtools/.calculate_directory new file mode 100644 index 0000000..f2b607e --- /dev/null +++ b/merge/sys-fs/mtools/.calculate_directory @@ -0,0 +1 @@ +{% calculate path='/etc', package='sys-fs/mtools' %} diff --git a/merge/sys-fs/mtools/mtools.conf b/merge/sys-fs/mtools/mtools.conf new file mode 100644 index 0000000..63a5ce5 --- /dev/null +++ b/merge/sys-fs/mtools/mtools.conf @@ -0,0 +1,64 @@ +# Example mtools.conf files. Uncomment the lines which correspond to +# your architecture and comment out the "SAMPLE FILE" line below +#SAMPLE FILE + +# # Linux floppy drives +# drive a: file="/dev/fd0" exclusive +# drive b: file="/dev/fd1" exclusive + +# # First SCSI hard disk partition +# drive c: file="/dev/sda1" + +# # First IDE hard disk partition +# drive c: file="/dev/hda1" + +# # dosemu floppy image +# drive m: file="/var/lib/dosemu/diskimage" + +# # dosemu hdimage +# drive n: file="/var/lib/dosemu/diskimage" offset=3840 + +# # Atari ramdisk image +# drive o: file="/tmp/atari_rd" offset=136 + +# # ZIP disk for Solaris: +# Drive X is ZIP-100 at target 5 +# drive X: file="/dev/rdsk/c0t5d0s2" partition=4 scsi=1 nodelay + +# # ZIP disk for SunOS: +# # Zip drive is at target 5, which default kernel calls tape st1 !! +# drive Y: file="/dev/rsd5c" partition=4 scsi=1 nodelay + +# # autoselect zip drive/floppy on HP-UX 9/10 +# drive a: file="/dev/rdsk/c201d5" exclusive partition=4 +# drive a: file="/dev/rdsk/c201d5s0" exclusive partition=4 +# drive a: file="/dev/rfloppy/c201d0s0" exclusive + +# A/UX target 5 on 1st scsi bus jaz or zip +# drive X: file="/dev/rdsk/c105d0s31" partition=4 + + +# Some examples for BeOS. +# floppy drive. hardcoded in devices.c, so no real need to define it here +#drive a: file="/dev/floppy_disk" exclusive +# ZIP drive on SCSI ID 6 +#drive z: file="/dev/scsi_disk_060" offset=16384 fat_bits=16 + +# SCO Unix 3.2v4 +# # Floppy disk drives +# +# drive a: file="/dev/install" exclusive +# drive b: file="/dev/install1" exclusive +# +# # SCSI hard disk partitions +# +# drive c: file="/dev/dsk/0sC" +# drive d: file="/dev/dsk/0sD" +# drive e: file="/dev/dsk/0sE" +# drive f: file="/dev/dsk/0sF" +# drive g: file="/dev/dsk/0sG" +# drive h: file="/dev/dsk/0sH" + +# # uncomment the following line to display all file names in lower +# # case by default +# mtools_lower_case=1 diff --git a/merge/sys-fs/udev-init-scripts/.calculate_directory b/merge/sys-fs/udev-init-scripts/.calculate_directory new file mode 100644 index 0000000..5dd9283 --- /dev/null +++ b/merge/sys-fs/udev-init-scripts/.calculate_directory @@ -0,0 +1 @@ +{% calculate path='/etc', name='conf.d', package='sys-fs/udev-init-scripts' %} diff --git a/merge/sys-fs/udev-init-scripts/conf.d.udev b/merge/sys-fs/udev-init-scripts/conf.d.udev new file mode 100644 index 0000000..71d9df4 --- /dev/null +++ b/merge/sys-fs/udev-init-scripts/conf.d.udev @@ -0,0 +1,3 @@ +{% calculate format='openrc', name='udev' %} + +rc_want="hostname" diff --git a/merge/sys-fs/udev-init-scripts/init.d/.calculate_directory b/merge/sys-fs/udev-init-scripts/init.d/.calculate_directory new file mode 100644 index 0000000..a9efb17 --- /dev/null +++ b/merge/sys-fs/udev-init-scripts/init.d/.calculate_directory @@ -0,0 +1 @@ +{% calculate path='/etc', install.os.container.type == 'desktop' %} diff --git a/merge/sys-fs/udev-init-scripts/init.d/udev b/merge/sys-fs/udev-init-scripts/init.d/udev new file mode 100644 index 0000000..3092319 --- /dev/null +++ b/merge/sys-fs/udev-init-scripts/init.d/udev @@ -0,0 +1,11 @@ +{% calculate format='regex', dotall %} +(start_pre\(\) +\{).*?\n\} +start_pre() +{ + get_udevd_binary || return 1 + return 0 +} + + -lxc + diff --git a/merge/sys-fs/udev-init-scripts/init.d/udev-trigger b/merge/sys-fs/udev-init-scripts/init.d/udev-trigger new file mode 100644 index 0000000..6b4831f --- /dev/null +++ b/merge/sys-fs/udev-init-scripts/init.d/udev-trigger @@ -0,0 +1,3 @@ +{% calculate format='regex', dotall %} + -lxc + diff --git a/merge/sys-fs/udev-init-scripts/sysinit/.calculate_directory b/merge/sys-fs/udev-init-scripts/sysinit/.calculate_directory new file mode 100644 index 0000000..3e91c01 --- /dev/null +++ b/merge/sys-fs/udev-init-scripts/sysinit/.calculate_directory @@ -0,0 +1 @@ +{% calculate path='/etc/runlevels' %} diff --git a/merge/sys-fs/udev-init-scripts/sysinit/udev b/merge/sys-fs/udev-init-scripts/sysinit/udev new file mode 100644 index 0000000..0cc1621 --- /dev/null +++ b/merge/sys-fs/udev-init-scripts/sysinit/udev @@ -0,0 +1,2 @@ +{% calculate append="link", source="/etc/init.d/udev", custom.runlevels.udev_init_scripts != 'on' or grep('var/lib/calculate/-runlevels-udev-init-scripts','/udev') %} +{% save.system custom.runlevels.udev_init_scripts = "on" %} diff --git a/merge/sys-fs/udev/.calculate_directory b/merge/sys-fs/udev/.calculate_directory new file mode 100644 index 0000000..e2a0f06 --- /dev/null +++ b/merge/sys-fs/udev/.calculate_directory @@ -0,0 +1 @@ +{% calculate package='', path='/etc', name='modprobe.d' %} diff --git a/merge/sys-fs/udev/75-cd-aliases-generator.rules b/merge/sys-fs/udev/75-cd-aliases-generator.rules new file mode 100644 index 0000000..12fef0c --- /dev/null +++ b/merge/sys-fs/udev/75-cd-aliases-generator.rules @@ -0,0 +1,11 @@ +{% calculate format='regex', path='/lib/udev/rules.d' %} +(ACTION=="add", SUBSYSTEM=="block", SUBSYSTEMS=="usb\|ieee1394", ENV\{ID_CDROM\}=="\?\*", ENV\{GENERATED\}!="\?\*", \\ + PROGRAM="write_cd_rules by-id", SYMLINK\+="%c", GOTO="persistent_cd_end") + +(ACTION=="add", SUBSYSTEM=="block", ENV\{ID_CDROM\}=="\?\*") +\1 +ACTION=="add", SUBSYSTEM=="block", ENV{ID_ATA}=="1", ENV{ID_CDROM}=="?*", ENV{GENERATED}!="?*", \ + PROGRAM="write_cd_rules by-id", SYMLINK+="%c", GOTO="persistent_cd_end" +\2 +ID_ATA=="1" +ENV{ID_ATA}=="1" diff --git a/merge/sys-fs/udev/80-net-name-slot.rules b/merge/sys-fs/udev/80-net-name-slot.rules new file mode 100644 index 0000000..8506c2e --- /dev/null +++ b/merge/sys-fs/udev/80-net-name-slot.rules @@ -0,0 +1 @@ +{% calculate path='/etc/udev/rules.d', source='/lib/udev/rules.d/80-net-name-slot.rules', pkg() >= '197', force %} diff --git a/merge/sys-fs/udev/80-net-setup-link.rules b/merge/sys-fs/udev/80-net-setup-link.rules new file mode 100644 index 0000000..7d5441d --- /dev/null +++ b/merge/sys-fs/udev/80-net-setup-link.rules @@ -0,0 +1 @@ +# Calculate path=/etc/udev/rules.d link=/lib/udev/rules.d/80-net-setup-link.rules pkg(sys-fs/udev)>=209 force diff --git a/merge/sys-fs/udev/90-id-lxc-all.rules b/merge/sys-fs/udev/90-id-lxc-all.rules new file mode 100644 index 0000000..d943248 --- /dev/null +++ b/merge/sys-fs/udev/90-id-lxc-all.rules @@ -0,0 +1,23 @@ +{% calculate comment='#', path='/lib/udev/rules.d', install.os.container.type == 'host' %} + +# VirtualBox +ACTION=="add|remove", DEVPATH=="/devices/virtual/misc/vbox*", ENV{ID_LXC}="all" + +# PS/2 keyboard and mouse +ACTION=="add|remove", DEVPATH=="/devices/platform/i8042/*", ENV{ID_LXC}="all" + +# USB devices +ACTION=="add|remove", ENV{ID_BUS}=="usb", ENV{ID_LXC}="all" + +# Audio devices +ACTION=="add|remove", SUBSYSTEM=="sound", ENV{ID_LXC}="all" +# tty0 for chvt and lightdm +ACTION=="add|remove", KERNEL=="tty0", ENV{ID_LXC}="all" +# tty7-10 for xorg-server +ACTION=="add|remove", KERNEL=="tty7", ENV{ID_LXC}="all" +ACTION=="add|remove", KERNEL=="tty8", ENV{ID_LXC}="all" +ACTION=="add|remove", KERNEL=="tty9", ENV{ID_LXC}="all" +ACTION=="add|remove", KERNEL=="tty10", ENV{ID_LXC}="all" + +# Video devices +ACTION=="add|remove", SUBSYSTEM=="drm", ENV{ID_LXC}="all" diff --git a/merge/sys-fs/udev/99-lxc-devfs.rules b/merge/sys-fs/udev/99-lxc-devfs.rules new file mode 100644 index 0000000..87da82b --- /dev/null +++ b/merge/sys-fs/udev/99-lxc-devfs.rules @@ -0,0 +1,8 @@ +{% calculate comment='#', path='/lib/udev/rules.d', install.os.container.type == 'host' %} + +ENV{ID_LXC}=="", GOTO="lxc_end" + +ACTION=="add", PROGRAM="/bin/bash /usr/libexec/lxc-udev-trigger add '$env{DEVNAME}' '$env{MAJOR}' '$env{MINOR}' '$env{SUBSYSTEM}' '$env{ID_LXC}'" +ACTION=="remove", PROGRAM="/bin/bash /usr/libexec/lxc-udev-trigger remove $env{DEVNAME} $env{MAJOR} $env{MINOR} $env{SUBSYSTEM} $env{ID_LXC}" + +LABEL="lxc_end" diff --git a/merge/sys-fs/udev/blacklist-calculate.conf b/merge/sys-fs/udev/blacklist-calculate.conf new file mode 100644 index 0000000..53cd37f --- /dev/null +++ b/merge/sys-fs/udev/blacklist-calculate.conf @@ -0,0 +1,7 @@ +{% calcultae pkg() >= '197' %} + +# hplip and cups 1.4+ use raw USB devices, so it requires usblp not be loaded +blacklist usblp + +# You probably want this to not get the console beep loud on every tab :) +blacklist pcspkr diff --git a/merge/sys-fs/udev/lxc-udev-trigger b/merge/sys-fs/udev/lxc-udev-trigger new file mode 100644 index 0000000..e4f88d2 --- /dev/null +++ b/merge/sys-fs/udev/lxc-udev-trigger @@ -0,0 +1,61 @@ +{% calculate comment='#', path='/usr/libexec', chmod='755', install.os.container.type == 'host' %} +#!/bin/bash + +ACTION="$1" +DEVNAME="$2" +MAJOR="$3" +MINOR="$4" +SUBSYSTEM="$5" + +if [[ -z $MINOR ]] || [[ -z $DEVNAME ]] +then + exit 0 +fi + +shift 5 +COMPS="$*" + +process_device() { + local comp=$1 + if [[ "$ACTION" == "add" ]] + then + lxc-device -n ${comp} -- add $DEVNAME + lxc-attach -n ${comp} $(stat -L -c "chmod %a %n" $DEVNAME) + lxc-attach -n ${comp} $(stat -L -c "chown %u:%g %n" $DEVNAME) + udevadm trigger --action=change --name-match=$DEVNAME + fi + if [[ "$ACTION" == "remove" ]] + then + lxc-attach -n ${comp} -- rm $DEVNAME + if [[ -n $MAJOR ]] && [[ -n $MINOR ]] + then + if [[ $SUBSYSTEM == "block" ]] + then + lxc-cgroup -n ${comp} devices.deny "b $MAJOR:$MINOR rwm" + else + lxc-cgroup -n ${comp} devices.deny "c $MAJOR:$MINOR rwm" + fi + fi + udevadm trigger --action=remove --name-match=$DEVNAME + fi +} + +if [[ $COMPS == "all" ]] +then + for COMP in $(lxc-ls -1q 2>/dev/null) + do + if lxc-info -n $COMP -c lxc.environment | grep LXC_DESKTOP=1 &>/dev/null + then + process_device $COMP + fi + done +else + for COMP in $COMPS + do + if [[ -n $(lxc-info -pH -n $COMP) ]] + then + process_device $COMP + fi + done +fi + diff --git a/merge/sys-fs/udisks/.calculate_directory b/merge/sys-fs/udisks/.calculate_directory new file mode 100644 index 0000000..09d9df9 --- /dev/null +++ b/merge/sys-fs/udisks/.calculate_directory @@ -0,0 +1 @@ +{% calculate path='/var/lib/polkit-1/localauthority', name='50-local.d', package='udisks' %} diff --git a/merge/sys-fs/udisks/50-mount-disk.rules b/merge/sys-fs/udisks/50-mount-disk.rules new file mode 100644 index 0000000..3b428d9 --- /dev/null +++ b/merge/sys-fs/udisks/50-mount-disk.rules @@ -0,0 +1,13 @@ +{% calculate append='replace', comment='//', path='/etc/polkit-1/rules.d' %} +/* -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- */ + +// Mount disk by plugdev group rules for polkit +// + +polkit.addRule(function(action, subject) { + if ((action.id.indexOf("org.freedesktop.udisks.") == 0 || + action.id.indexOf("org.freedesktop.udisks2.") == 0 ) && + subject.isInGroup("plugdev")) { + return polkit.Result.YES; + } +}); diff --git a/merge/sys-fs/udisks/actions/.calculate_directory b/merge/sys-fs/udisks/actions/.calculate_directory new file mode 100644 index 0000000..adf2237 --- /dev/null +++ b/merge/sys-fs/udisks/actions/.calculate_directory @@ -0,0 +1 @@ +{% calculate path='/usr/share/polkit-1' %} diff --git a/merge/sys-fs/udisks/actions/org.freedesktop.udisks.policy b/merge/sys-fs/udisks/actions/org.freedesktop.udisks.policy new file mode 100644 index 0000000..73c77b3 --- /dev/null +++ b/merge/sys-fs/udisks/actions/org.freedesktop.udisks.policy @@ -0,0 +1,221 @@ +{% calculate pkg('sys-fs/udisks:0') %} + + + + The udisks Project + http://udisks.freedesktop.org/ + drive-removable-media + + + Mount a device + Authentication is required to mount the device + + no + no + auth_admin_keep + + + + + Mount a system-internal device + Authentication is required to mount the device + + no + no + auth_admin_keep + + + + + Check file system on a device + Authentication is required to check the file system on the device + + no + no + yes + + + + + Check file system of a system-internal device + Authentication is required to check the file system on the device + + no + no + auth_admin_keep + + + + + Unmount a device mounted by another user + Authentication is required to unmount devices mounted by another user + + no + no + auth_admin + + + + + List open files + Authentication is required to list open files on a mounted file system + + no + no + auth_admin_keep + + + + + List open files on a system-internal device + Authentication is required to list open files on a mounted file system + + no + no + auth_admin_keep + + + + + Eject media from a device + Authentication is required to eject media from the device + + no + no + auth_admin_keep + + + + + Detach a drive + Authentication is required to detach the drive + + no + no + auth_admin_keep + + + + + Modify a device + Authentication is required to modify the device + + no + no + auth_admin_keep + + + + + Modify a system-internal device + Authentication is required to modify the device + + no + no + auth_admin_keep + + + + + Refresh ATA SMART data + Authentication is required to refresh ATA SMART data + + no + no + auth_admin_keep + + + + + Run ATA SMART Self Tests + Authentication is required to run ATA SMART self tests + + no + no + auth_admin + + + + + Retrieve historical ATA SMART data + Authentication is required to retrieve historical ATA SMART data + + no + no + auth_admin_keep + + + + + Unlock an encrypted device + Authentication is required to unlock an encrypted device + + no + no + auth_admin_keep + + + + + Lock an encrypted device unlocked by another user + Authentication is required to lock an encrypted device unlocked by another user + + no + no + auth_admin + + + + + Configure Linux Software RAID + Authentication is required to configure Linux Software RAID devices + + no + no + auth_admin_keep + + + + + Configure Linux LVM2 + Authentication is required to configure Linux LVM2 + + no + no + auth_admin_keep + + + + + Cancel a job initiated by another user + Authentication is required to cancel a job initiated by another user + + no + no + auth_admin + + + + + Inhibit media detection + Authentication is required to inhibit media detection + + no + no + auth_admin_keep + + + + + Set drive spindown timeout + Authentication is required to configure drive spindown timeout + + no + no + yes + + + + diff --git a/merge/sys-fs/udisks/mount-usb.pkla b/merge/sys-fs/udisks/mount-usb.pkla new file mode 100644 index 0000000..c64a5d9 --- /dev/null +++ b/merge/sys-fs/udisks/mount-usb.pkla @@ -0,0 +1,4 @@ +[Mounting, checking, etc. of external drives] +Identity=unix-group:plugdev +Action=org.freedesktop.udisks.filesystem-mount;org.freedesktop.udisks.filesystem-mount-system-internal;org.freedesktop.udisks.filesystem-check;org.freedesktop.udisks.filesystem-check-system-internal;org.freedesktop.udisks.filesystem-unmount-others;org.freedesktop.udisks.filesystem-lsof;org.freedesktop.udisks.filesystem-lsof-system-internal;org.freedesktop.udisks.drive-eject;org.freedesktop.udisks.drive-detach;org.freedesktop.udisks.change;org.freedesktop.udisks.change-system-internal;org.freedesktop.udisks.drive-ata-smart-refresh;org.freedesktop.udisks.drive-ata-smart-selftest;org.freedesktop.udisks.drive-ata-smart-retrieve-historical-data;org.freedesktop.udisks.luks-unlock;org.freedesktop.udisks.luks-lock-others;org.freedesktop.udisks.linux-md;org.freedesktop.udisks.linux-lvm2;org.freedesktop.udisks.cancel-job-others;org.freedesktop.udisks.inhibit-polling;org.freedesktop.udisks.drive-set-spindown +ResultActive=yes