aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/1-default.nix46
-rw-r--r--infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/2-default.nix89
-rw-r--r--infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/fix-paths.patch131
-rw-r--r--infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/force-path.patch13
-rw-r--r--infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/glibc.patch25
-rw-r--r--infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/no-pci-db.patch13
-rw-r--r--infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/purity.patch57
7 files changed, 374 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/1-default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/1-default.nix
new file mode 100644
index 000000000000..725706f9b0eb
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/1-default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, pkgconfig, sg3_utils, udev, glib, dbus, dbus-glib
+, polkit, parted, lvm2, libatasmart, intltool, libuuid, mdadm
+, libxslt, docbook_xsl, util-linux, libgudev }:
+
+stdenv.mkDerivation rec {
+ name = "udisks-1.0.5";
+
+ src = fetchurl {
+ url = "https://hal.freedesktop.org/releases/${name}.tar.gz";
+ sha256 = "0wbg3jrv8limdgvcygf4dqin3y6d30y9pcmmk711vq571vmq5v7j";
+ };
+
+ patches = [ ./purity.patch ./no-pci-db.patch ./glibc.patch ];
+
+ preConfigure =
+ ''
+ configureFlagsArray+=(--with-systemdsystemunitdir=$out/lib/systemd/system)
+ '';
+
+ postPatch =
+ ''
+ sed -e 's,/sbin/mdadm,${mdadm}&,g' -e "s,@slashlibdir@,$out/lib,g" -i data/80-udisks.rules
+
+ substituteInPlace src/main.c --replace \
+ "/sbin:/bin:/usr/sbin:/usr/bin" \
+ "${util-linux}/bin:${mdadm}/sbin:/run/current-system/sw/bin:/run/current-system/sw/bin"
+ '';
+
+ buildInputs =
+ [ sg3_utils udev glib dbus dbus-glib polkit parted libgudev
+ lvm2 libatasmart intltool libuuid libxslt docbook_xsl
+ ];
+
+ nativeBuildInputs = [ pkgconfig ];
+
+ configureFlags = [ "--localstatedir=/var" "--enable-lvm2" ];
+
+ meta = with stdenv.lib; {
+ homepage = "http://www.freedesktop.org/wiki/Software/udisks";
+ description = "A daemon and command-line utility for querying and manipulating storage devices";
+ platforms = platforms.linux;
+ license = with licenses; [ gpl2 lgpl2Plus ];
+ broken = true;
+ hydraPlatforms = [];
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/2-default.nix b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/2-default.nix
new file mode 100644
index 000000000000..b47d31ab6fdc
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/2-default.nix
@@ -0,0 +1,89 @@
+{ stdenv, fetchFromGitHub, fetchpatch, substituteAll, libtool, pkgconfig, gettext, gnused
+, gtk-doc, acl, systemd, glib, libatasmart, polkit, coreutils, bash, which
+, expat, libxslt, docbook_xsl, util-linux, mdadm, libgudev, libblockdev, parted
+, gobject-introspection, docbook_xml_dtd_412, docbook_xml_dtd_43, autoconf, automake
+, xfsprogs, f2fs-tools, dosfstools, e2fsprogs, btrfs-progs, exfat, nilfs-utils, ntfs3g
+}:
+
+stdenv.mkDerivation rec {
+ pname = "udisks";
+ version = "2.8.4";
+
+ src = fetchFromGitHub {
+ owner = "storaged-project";
+ repo = "udisks";
+ rev = "${pname}-${version}";
+ sha256 = "01wx2x8xyal595dhdih7rva2bz7gqzgwdp56gi0ikjdzayx17wcf";
+ };
+
+ outputs = [ "out" "man" "dev" ] ++ stdenv.lib.optional (stdenv.hostPlatform == stdenv.buildPlatform) "devdoc";
+
+ patches = [
+ (substituteAll {
+ src = ./fix-paths.patch;
+ bash = "${bash}/bin/bash";
+ blkid = "${util-linux}/bin/blkid";
+ false = "${coreutils}/bin/false";
+ mdadm = "${mdadm}/bin/mdadm";
+ sed = "${gnused}/bin/sed";
+ sh = "${bash}/bin/sh";
+ sleep = "${coreutils}/bin/sleep";
+ true = "${coreutils}/bin/true";
+ })
+ (substituteAll {
+ src = ./force-path.patch;
+ path = stdenv.lib.makeBinPath [
+ btrfs-progs coreutils dosfstools e2fsprogs exfat f2fs-tools nilfs-utils
+ xfsprogs ntfs3g parted util-linux
+ ];
+ })
+
+ # Fix tests: https://github.com/storaged-project/udisks/issues/724
+ (fetchpatch {
+ url = "https://github.com/storaged-project/udisks/commit/60a0c1c967821d317046d9494e45b9a8e4e7a1c1.patch";
+ sha256 = "0rlgqsxn7rb074x6ivm0ya5lywc4llifj5br0zr31mwwckv7hsdm";
+ })
+ ];
+
+ nativeBuildInputs = [
+ autoconf automake pkgconfig libtool gettext which gobject-introspection
+ gtk-doc libxslt docbook_xml_dtd_412 docbook_xml_dtd_43 docbook_xsl
+ ];
+
+ postPatch = stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
+ substituteInPlace udisks/udisksclient.c \
+ --replace 'defined( __GNUC_PREREQ)' 1 \
+ --replace '__GNUC_PREREQ(4,6)' 1
+ '';
+
+ buildInputs = [
+ expat libgudev libblockdev acl systemd glib libatasmart polkit
+ ];
+
+ preConfigure = "NOCONFIGURE=1 ./autogen.sh";
+
+ configureFlags = [
+ (stdenv.lib.enableFeature (stdenv.buildPlatform == stdenv.hostPlatform) "gtk-doc")
+ "--localstatedir=/var"
+ "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+ "--with-udevdir=$(out)/lib/udev"
+ "--with-tmpfilesdir=no"
+ ];
+
+ makeFlags = [
+ "INTROSPECTION_GIRDIR=$(dev)/share/gir-1.0"
+ "INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0"
+ ];
+
+ enableParallelBuilding = true;
+
+ doCheck = true;
+
+ meta = with stdenv.lib; {
+ description = "A daemon, tools and libraries to access and manipulate disks, storage devices and technologies";
+ homepage = "https://www.freedesktop.org/wiki/Software/udisks/";
+ license = with licenses; [ lgpl2Plus gpl2Plus ]; # lgpl2Plus for the library, gpl2Plus for the tools & daemon
+ maintainers = with maintainers; [ johnazoidberg ];
+ platforms = platforms.linux;
+ };
+}
diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/fix-paths.patch b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/fix-paths.patch
new file mode 100644
index 000000000000..c2744c3b42e1
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/fix-paths.patch
@@ -0,0 +1,131 @@
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,6 +1,6 @@
+ ## Process this file with automake to produce Makefile.in
+
+-SHELL = /bin/bash
++SHELL = @bash@
+ .SHELLFLAGS = -o pipefail -c
+
+ PYTHON ?= python3
+--- a/data/80-udisks2.rules
++++ b/data/80-udisks2.rules
+@@ -17,9 +17,9 @@
+ #
+ # TODO: file bug against mdadm(8) to have --export-prefix option that can be used with e.g. UDISKS_MD_MEMBER
+ #
+-SUBSYSTEM=="block", ENV{ID_FS_USAGE}=="raid", ENV{ID_FS_TYPE}=="linux_raid_member", ENV{UDISKS_MD_MEMBER_LEVEL}=="", IMPORT{program}="/bin/sh -c '/sbin/mdadm --examine --export $tempnode | /bin/sed s/^MD_/UDISKS_MD_MEMBER_/g'"
++SUBSYSTEM=="block", ENV{ID_FS_USAGE}=="raid", ENV{ID_FS_TYPE}=="linux_raid_member", ENV{UDISKS_MD_MEMBER_LEVEL}=="", IMPORT{program}="@sh@ -c '@mdadm@ --examine --export $tempnode | @sed@ s/^MD_/UDISKS_MD_MEMBER_/g'"
+
+-SUBSYSTEM=="block", KERNEL=="md*", ENV{DEVTYPE}!="partition", IMPORT{program}="/bin/sh -c '/sbin/mdadm --detail --export $tempnode | /bin/sed s/^MD_/UDISKS_MD_/g'"
++SUBSYSTEM=="block", KERNEL=="md*", ENV{DEVTYPE}!="partition", IMPORT{program}="@sh@ -c '@mdadm@ --detail --export $tempnode | @sed@ s/^MD_/UDISKS_MD_/g'"
+
+ LABEL="udisks_probe_end"
+
+--- a/modules/zram/udiskslinuxmanagerzram.c
++++ b/modules/zram/udiskslinuxmanagerzram.c
+@@ -250,7 +250,7 @@
+
+ g_snprintf (tmp, 255, "zram%" G_GUINT64_FORMAT, i);
+ filename = g_build_filename (PACKAGE_ZRAMCONF_DIR, tmp, NULL);
+- contents = g_strdup_printf ("#!/bin/bash\n\n"
++ contents = g_strdup_printf ("#!@bash@\n\n"
+ "ZRAM_NUM_STR=%" G_GUINT64_FORMAT "\n"
+ "ZRAM_DEV_SIZE=%" G_GUINT64_FORMAT "\n"
+ "SWAP=n\n",
+--- a/src/tests/install-udisks/runtest.sh
++++ b/src/tests/install-udisks/runtest.sh
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!@bash@
+ # vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ #
+--- a/src/tests/integration-test
++++ b/src/tests/integration-test
+@@ -414,7 +414,7 @@
+ f.write('KERNEL=="sr*", ENV{DISK_EJECT_REQUEST}!="?*", '
+ 'ATTRS{model}=="scsi_debug*", '
+ 'ENV{ID_CDROM_MEDIA}=="?*", '
+- 'IMPORT{program}="/sbin/blkid -o udev -p -u noraid $tempnode"\n')
++ 'IMPORT{program}="@blkid@ -o udev -p -u noraid $tempnode"\n')
+ # reload udev
+ subprocess.call('sync; pkill --signal HUP udevd || '
+ 'pkill --signal HUP systemd-udevd',
+@@ -1079,7 +1079,7 @@
+ self.assertFalse(os.access(f, os.X_OK))
+
+ f = os.path.join(mount_point, 'simple.exe')
+- shutil.copy('/bin/bash', f)
++ shutil.copy('@bash@', f)
+ self.assertTrue(os.access(f, os.R_OK))
+ self.assertTrue(os.access(f, os.W_OK))
+ self.assertTrue(os.access(f, os.X_OK))
+@@ -1092,7 +1092,7 @@
+ self.assertFalse(os.access(f, os.X_OK))
+
+ f = os.path.join(mount_point, 'subdir', 'subdir.exe')
+- shutil.copy('/bin/bash', f)
++ shutil.copy('@bash@', f)
+ self.assertTrue(os.access(f, os.R_OK))
+ self.assertTrue(os.access(f, os.W_OK))
+ self.assertTrue(os.access(f, os.X_OK))
+--- a/src/tests/storadectl/runtest.sh
++++ b/src/tests/storadectl/runtest.sh
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!@bash@
+ # vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
+ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ #
+--- a/src/tests/test.c
++++ b/src/tests/test.c
+@@ -71,7 +71,7 @@
+ {
+ UDisksSpawnedJob *job;
+
+- job = udisks_spawned_job_new ("/bin/true", NULL, getuid (), geteuid (), NULL, NULL);
++ job = udisks_spawned_job_new ("@true@", NULL, getuid (), geteuid (), NULL, NULL);
+ udisks_spawned_job_start (job);
+ _g_assert_signal_received (job, "completed", G_CALLBACK (on_completed_expect_success), NULL);
+ g_object_unref (job);
+@@ -84,10 +84,10 @@
+ {
+ UDisksSpawnedJob *job;
+
+- job = udisks_spawned_job_new ("/bin/false", NULL, getuid (), geteuid (), NULL, NULL);
++ job = udisks_spawned_job_new ("@false@", NULL, getuid (), geteuid (), NULL, NULL);
+ udisks_spawned_job_start (job);
+ _g_assert_signal_received (job, "completed", G_CALLBACK (on_completed_expect_failure),
+- (gpointer) "Command-line `/bin/false' exited with non-zero exit status 1: ");
++ (gpointer) "Command-line `@false@' exited with non-zero exit status 1: ");
+ g_object_unref (job);
+ }
+
+@@ -119,7 +119,7 @@
+
+ cancellable = g_cancellable_new ();
+ g_cancellable_cancel (cancellable);
+- job = udisks_spawned_job_new ("/bin/true", NULL, getuid (), geteuid (), NULL, cancellable);
++ job = udisks_spawned_job_new ("@true@", NULL, getuid (), geteuid (), NULL, cancellable);
+ udisks_spawned_job_start (job);
+ _g_assert_signal_received (job, "completed", G_CALLBACK (on_completed_expect_failure),
+ (gpointer) "Operation was cancelled (g-io-error-quark, 19)");
+@@ -145,7 +145,7 @@
+ GCancellable *cancellable;
+
+ cancellable = g_cancellable_new ();
+- job = udisks_spawned_job_new ("/bin/sleep 0.5", NULL, getuid (), geteuid (), NULL, cancellable);
++ job = udisks_spawned_job_new ("@sleep@ 0.5", NULL, getuid (), geteuid (), NULL, cancellable);
+ udisks_spawned_job_start (job);
+ g_timeout_add (10, on_timeout, cancellable); /* 10 msec */
+ g_main_loop_run (loop);
+@@ -199,7 +199,7 @@
+ {
+ UDisksSpawnedJob *job;
+
+- job = udisks_spawned_job_new ("/bin/sleep 1000", NULL, getuid (), geteuid (), NULL, NULL /* GCancellable */);
++ job = udisks_spawned_job_new ("@sleep@ 1000", NULL, getuid (), geteuid (), NULL, NULL /* GCancellable */);
+ udisks_spawned_job_start (job);
+ g_object_unref (job);
+ }
diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/force-path.patch b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/force-path.patch
new file mode 100644
index 000000000000..16c7ea5322fa
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/force-path.patch
@@ -0,0 +1,13 @@
+diff -ruN udisks-2.1.0.orig/src/main.c udisks-2.1.0/src/main.c
+--- udisks-2.1.0.orig/src/main.c 2013-04-02 10:43:41.629332135 +0000
++++ udisks-2.1.0/src/main.c 2013-04-02 11:04:55.635342823 +0000
+@@ -140,8 +140,7 @@
+ }
+ }
+
+- if (g_getenv ("PATH") == NULL)
+- g_setenv ("PATH", "/usr/bin:/bin:/usr/sbin:/sbin", TRUE);
++ g_setenv ("PATH", "@path@", TRUE);
+
+ udisks_notice ("udisks daemon version %s starting", PACKAGE_VERSION);
+
diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/glibc.patch b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/glibc.patch
new file mode 100644
index 000000000000..85ef5208049d
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/glibc.patch
@@ -0,0 +1,25 @@
+From 0aa652a7b257f98f9e8e7dc7b0ddc9bc62377d09 Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+Date: Fri, 29 May 2015 21:09:39 -0400
+Subject: [PATCH] Bug 90778 - fix build with newer glibc versions
+
+https://bugs.freedesktop.org/show_bug.cgi?id=90778
+---
+ src/helpers/job-drive-detach.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/helpers/job-drive-detach.c b/src/helpers/job-drive-detach.c
+index eeafcab..d122a1f 100644
+--- a/src/helpers/job-drive-detach.c
++++ b/src/helpers/job-drive-detach.c
+@@ -18,6 +18,7 @@
+ *
+ */
+
++#include <sys/stat.h>
+ #include <stdio.h>
+ #include <string.h>
+ #include <errno.h>
+--
+2.4.2
+
diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/no-pci-db.patch b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/no-pci-db.patch
new file mode 100644
index 000000000000..b323b515c40e
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/no-pci-db.patch
@@ -0,0 +1,13 @@
+Systemd no longer has the pci-db program.
+
+diff -ru -x '*~' udisks-1.0.4-orig/data/80-udisks.rules udisks-1.0.4/data/80-udisks.rules
+--- udisks-1.0.4-orig/data/80-udisks.rules 2011-08-25 23:31:20.000000000 +0200
++++ udisks-1.0.4/data/80-udisks.rules 2012-12-13 13:06:52.189650854 +0100
+@@ -3,7 +3,6 @@
+
+ # import names for PCI storage controllers
+ #
+-SUBSYSTEM=="pci", ACTION=="add|change", ENV{ID_MODEL_FROM_DATABASE}=="", ATTR{class}=="0x01*", IMPORT{program}="pci-db %p"
+
+ # Set eSATA port type for known eSATA CardBus adapters - first we want to ensure
+ # the device is on a cardbus controller (upper PCI device) - then we check
diff --git a/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/purity.patch b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/purity.patch
new file mode 100644
index 000000000000..bf1121ddb659
--- /dev/null
+++ b/infra/libkookie/nixpkgs/pkgs/os-specific/linux/udisks/purity.patch
@@ -0,0 +1,57 @@
+diff --git a/data/80-udisks.rules b/data/80-udisks.rules
+index 6720394..60b67ed 100644
+--- a/data/80-udisks.rules
++++ b/data/80-udisks.rules
+@@ -23,7 +23,7 @@ LABEL="ata_port_cardbus_end"
+ # this is the case we can trigger a 'change' on the sas_expander device
+ # when the bsg device appears)
+ #
+-SUBSYSTEM=="sas_expander", ACTION=="add|change", IMPORT{program}="udisks-probe-sas-expander /sys/%p"
++SUBSYSTEM=="sas_expander", ACTION=="add|change", IMPORT{program}="@slashlibdir@/udev/udisks-probe-sas-expander /sys/%p"
+
+ ##############################################################################################################
+
+@@ -54,7 +54,7 @@ ENV{DM_UDEV_DISABLE_DISK_RULES_FLAG}=="1", GOTO="udisks_end"
+ # import UDISKS_DM_* and UDISKS_LVM2_* properties - the long-term plan is to make the lvm2 and
+ # device-mapper packages provide this information
+ #
+-KERNEL=="dm-*", IMPORT{program}="udisks-dm-export %M %m"
++KERNEL=="dm-*", IMPORT{program}="@slashlibdir@/udev/udisks-dm-export %M %m"
+
+ # Make udevd synthesize a 'change' uevent when last opener of a rw-fd closes the fd - this
+ # should be part of the device-mapper rules
+@@ -63,7 +63,7 @@ KERNEL=="dm-*", OPTIONS+="watch"
+ ##############################################################################################################
+ # Probe LVM2 Physical Volumes - this will eventually be part of the LVM2 package
+
+-ENV{ID_FS_TYPE}=="LVM2_member", TEST=="/lib/udev/udisks-lvm-pv-export", IMPORT{program}="udisks-lvm-pv-export $env{ID_FS_UUID}"
++ENV{ID_FS_TYPE}=="LVM2_member", TEST=="@slashlibdir@/udev/udisks-lvm-pv-export", IMPORT{program}="@slashlibdir@/udev/udisks-lvm-pv-export $env{ID_FS_UUID}"
+
+ ##############################################################################################################
+
+@@ -85,7 +85,7 @@ KERNEL=="sr*", ENV{ID_CDROM_MEDIA_TRACK_COUNT_DATA}=="", GOTO="probe_parttable_e
+
+ # scan for partition tables both on whole-disk and partitions
+ #
+-IMPORT{program}="udisks-part-id $tempnode"
++IMPORT{program}="@slashlibdir@/udev/udisks-part-id $tempnode"
+
+ LABEL="probe_parttable_end"
+
+@@ -109,13 +109,13 @@ LABEL="md_end"
+ #
+
+ # USB ATA enclosures with a SAT layer
+-KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="usb", ENV{DEVTYPE}=="disk", IMPORT{program}="udisks-probe-ata-smart $tempnode"
++KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="usb", ENV{DEVTYPE}=="disk", IMPORT{program}="@slashlibdir@/udev/udisks-probe-ata-smart $tempnode"
+
+ # ATA disks driven by libata
+-KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="ata", ENV{DEVTYPE}=="disk", IMPORT{program}="udisks-probe-ata-smart $tempnode"
++KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="ata", ENV{DEVTYPE}=="disk", IMPORT{program}="@slashlibdir@/udev/udisks-probe-ata-smart $tempnode"
+
+ # ATA disks connected via SAS (not driven by libata)
+-KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="scsi", ENV{DEVTYPE}=="disk", ENV{ID_VENDOR}=="ATA", IMPORT{program}="udisks-probe-ata-smart $tempnode"
++KERNEL=="sd*[!0-9]", ATTR{removable}=="0", ENV{ID_BUS}=="scsi", ENV{DEVTYPE}=="disk", ENV{ID_VENDOR}=="ATA", IMPORT{program}="@slashlibdir@/udev/udisks-probe-ata-smart $tempnode"
+
+
+ # Example rule for tagging a device with a specific media type. Where and