1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-08 11:27:32 +03:00
Commit Graph

273 Commits

Author SHA1 Message Date
Kay Sievers
282988c4f8 move default rules from /etc/udev/rules.d/ to /lib/udev/rules.d/
None of these rules is supposed to be changed by users, so move
them out of /etc. Custom rules, and automatically generated rules
stay in /etc. All rules are still processed in lexical order,
regardless which directory they live in.
2008-07-18 15:56:03 +02:00
Erik van Konijnenburg
ff94cec3d7 add substitution in MODE= field
Do substitition processing in MODE field, similar to substitution in
OWNER, GROUP etc fields.  Add test case for normal and overflow behaviour.
Document in manpage.
2008-05-19 09:05:20 +02:00
Kay Sievers
6b795c99e0 fstab_import: add program to IMPORT matching fstab entry
DEVPATH=/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda6
  SUBSYSTEM=block
  ...
  ID_FS_USAGE=filesystem
  ID_FS_TYPE=ext3
  ID_FS_VERSION=1.0
  ...
  FSTAB_NAME=/dev/disk/by-id/scsi-SATA_ST910021AS_3MH0Y3KF-part6
  FSTAB_DIR=/home/kay/work
  FSTAB_TYPE=ext3
  FSTAB_OPTS=defaults
  FSTAB_FREQ=1
  FSTAB_PASSNO=1
2008-04-21 18:07:05 +02:00
Kay Sievers
cf100ca71b allow setting of MODE="0000" 2008-04-18 21:07:29 +02:00
Kay Sievers
15015a5c9c test: remove duplicated EXTRA entry 2008-03-21 04:03:24 +01:00
Kay Sievers
0ea5e96edb extend hack to allow TEST=="*/start" 2008-03-14 23:40:06 +01:00
Kay Sievers
caea9fcf56 test: add "subsystem" links to all devices 2008-03-14 23:19:12 +01:00
Kay Sievers
c645b98b7e remove udevstart 2007-11-13 23:44:12 +01:00
Kay Sievers
03f65fe6a9 accept relative path for TEST 2007-08-16 12:45:31 +02:00
Kay Sievers
19096c087f restore behavior of NAME== 2007-07-25 15:29:14 +02:00
Hannes Reinecke
c7ae0d343b collect: extra to synchronize actions across events 2007-07-24 13:28:18 +02:00
Kay Sievers
1ff1aa424b allow SYMLINK== match 2007-07-16 13:29:28 +02:00
Kay Sievers
4ad47b2de6 add "[$SUBSYSTEM/$KERNEL]<attribute>" lookup 2007-06-03 12:29:46 +02:00
Kay Sievers
c19870519d replace_chars: replace % character 2007-05-21 07:59:40 +02:00
Kay Sievers
a401355d5a finally remove the directory event-multiplexer crap 2007-03-28 20:35:05 +02:00
Kay Sievers
9923ff1450 delete dasd_id, it moved to s390-tools
These s390-tools-1.6.0 (applicable for the "October 2005 stream") replace s390-tools-1.5.4.
  New tools:
    * tape390_crypt: Tool to control and query crypto settings for 3592 zSeries tape devices.
    * mon_fsstatd: Daemon that writes filesystem utilization data to the z/VM monitor stream.
    * dumpconf: Allows to configure the dump device used for system dump in case a kernel panic occurs.
    * dasdinfo: Display unique DASD ID, either uid or volser.
    * 59-dasd.rules: udev rules for unique DASD device nodes created in /dev/disk/.

  http://www.ibm.com/developerworks/linux/linux390/s390-tools-1.6.0.html
2007-03-12 13:17:23 +01:00
Kay Sievers
864b9b5e37 add test for an attribute which contains an operator char 2007-02-25 01:06:20 +01:00
Kay Sievers
de49bbb223 rename "udev.c" to "test-udev.c" - it is only for testing 2006-12-08 10:29:17 +01:00
Marco d'Itri
fbcbf70bb2 add persistent rules generator for net devices and optical drives 2006-09-05 15:20:28 +02:00
Kay Sievers
eef5447934 let $attr{symlink} return the last element of the path
Example for /block/sda:
  SUBSYSTEMS="scsi", ENV{COMMENT}="$attr{driver}"
sets COMMENT=sd
  SUBSYSTEMS="pci", ENV{COMMENT}="$attr{driver}"
sets COMMENT=ata_piix
2006-09-05 02:18:06 +02:00
Kay Sievers
ac528431dd fix ENV{TEST}="Test: $env{TEST}" 2006-09-05 00:50:25 +02:00
Kay Sievers
c4edd0adb5 use new key names in test programs 2006-08-20 19:11:32 +02:00
Kay Sievers
38895e573c skip rule, if too may keys of the same type are used 2006-08-20 18:15:29 +02:00
Kay Sievers
95776dc6ec consistent key naming to match only the event device or include all parent devices
This scheme is more consistent and makes it obvious if a match happens
against the event device only, or the full chain of parent devices.

The old key names are now:
  BUS -> SUBSYSTEMS
  ID -> KERNELS
  SYSFS -> ATTRS
  DRIVER -> DRIVERS

Match keys for the event device:
  KERNEL
  SUBSYSTEM
  ATTR
  DRIVER (in a future release, for now the same as DRIVERS)

Match keys for all devices along the parent device chain:
  KERNELS
  SUBSYSTEMS
  ATTRS
  DRIVERS

ID, BUS, SYSFS are no longer mentioned in the man page but still work.
DRIVER must be converted to DRIVERS to match the new scheme. For now,
an error is logged, if DRIVER is used. In a future release, the DRIVER
key behaviour will change.
2006-08-19 16:06:25 +02:00
Kay Sievers
d4ae9925ee don't report an error on overlong comment lines 2006-08-13 04:23:16 +02:00
Kay Sievers
05ec6e7507 switch ifdef __KLIBC__ to ifndef __GLIBC__ 2006-08-05 00:35:05 +02:00
Kay Sievers
c8ff4b3db4 remove broken %e enumeration 2006-07-04 12:27:00 +02:00
Kay Sievers
fa33d857e2 don't remove symlinks if they are already there
Consecutive "add" events will not remove and recreate the same symlinks
anymore. No longer valid links, like after changing a filesystem label,
will still be removed.
2006-06-14 16:32:52 +02:00
Kay Sievers
d59c84effd allow NAME=="value" to check for already assigned value 2006-04-24 19:25:55 +02:00
Kay Sievers
4809b49e41 move all *_id programs to /lib/udev/ 2006-03-29 14:44:41 +02:00
Kay Sievers
36af2ddcb9 don't add $SUBSYSTEM automatically as $1 to programs
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2006-01-26 04:38:33 +01:00
Kay Sievers
03b24b71e0 fix BUS, ID, $id usage
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2006-01-16 06:12:49 +01:00
Kay Sievers
1aa1e24848 replace libsysfs
We never used any of the libsysfs convenience features. Here we replace
it completely with 300 lines of code, which are much simpler and a bit
faster cause udev(d) does not open any syfs file for a simple event which
does not need any parent device information.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2006-01-09 21:18:00 +01:00
Kay Sievers
fc55cf68ca remove "udev_db" option from config file
All udev state is kept in /$udev_root/.udev/ now. No option to
configure that anymore, it will always be there.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-11-16 04:14:15 +01:00
Kay Sievers
53899a171e fix tests and remove no longer useful stuff
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-11-10 01:50:06 +01:00
Kay Sievers
a8349b33e5 remove our own copy of klibc
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-11-09 15:42:07 +01:00
Kay Sievers
6d33ed7374 test: add "driver" and "bus" links to test sysfs tree
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-11-02 05:08:22 +01:00
Kay Sievers
90e037dbe2 remove no longer working udevd-test program
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-10-28 00:29:50 +02:00
Kay Sievers
916c5e4725 fix the new warnings I asked for
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-10-27 20:32:07 +02:00
Kay Sievers
49fb51c615 use DESTDIR on uninstall, no need to pass prefix to submake
Signed-off-by: Kay Sievers <kay.sievers@vrfy.org>
2005-10-27 18:42:52 +02:00
Kay Sievers
85701baede add install test to 'make buildtest'
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-09-14 17:29:27 +02:00
Kay Sievers
db28d2ea4f EXTRAS: cleanup and sync all Makefiles
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-09-14 17:00:02 +02:00
Kay Sievers
077ed27c55 add edd_id tool to match BIOS EDD disk information
Thanks to:
    John Hull <John_Hull@Dell.com>
    Matt Domsch <Matt_Domsch@Dell.com>

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-09-06 12:18:04 +02:00
Kay Sievers
0e47c219fc Makefile: remove all the duplicated rules
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-08-30 17:03:25 +02:00
Kay Sievers
a8586078fc udev_test.pl: we replace untrusted chars with '_'
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-08-29 02:19:36 +02:00
Kay Sievers
764ce7f2ab start to enforce plain ascii or valid utf8
No device node or symlink can have other characters as plain
readable ascii or valid utf8. The /dev/disk/by-label/* symlinks
can no longer contain weird stuff read from untrusted sources.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-08-28 15:55:58 +02:00
Kay Sievers
5618b5611b ENV{TEST}=="1" compares and ENV{TEST}="1" sets the environment
This can be uses to export stuff to the event environment or
to carry a state from one rule to another, like enabling/disabling
later rules conditionally.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-08-16 04:25:20 +02:00
Greg KH
c1986ea33c added cdrom_id to the build check 2005-08-11 14:37:54 -07:00
Kay Sievers
bebbc31b90 add firmware_helper to load firmware
From: Bill Nottingham <notting@redhat.com>

Changed reading of firmware blob to mmap and let firmware_helper
follow the setting of the log level with UDEV_LOG.
2005-08-09 19:00:37 +02:00
Hannes Reinecke
bf375e3af6 create_floppy_devices: add tool to create floppy nodes based on sysfs info 2005-07-19 11:14:12 -04:00
Kay Sievers
594dd61025 allow rules to have labels and skip to next label
This will allow us to have whole blocks of rules to skip
conditionally. The following section creates the node "yes":
  GOTO="TEST"
  NAME="no"
  NAME="no2", LABEL="NO"
  NAME="yes", LABEL="TEST"
  NAME="no3"
2005-07-16 07:46:31 +02:00
Hannes Reinecke
15e5209b8e dasd_id: add s390 disk-label prober
Signed-off-by: Hannes Reinecke <hare@suse.de>
2005-07-13 11:35:51 +02:00
Kay Sievers
0bfb84e1ed IMPORT: add {parent} to import the persistent data of the parent device
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-12 14:46:36 +02:00
Kay Sievers
0cd4ac473a allow multiple values to be matched with KEY=="value1|value2"
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-12 12:52:56 +02:00
Kay Sievers
7b2bdb4b1b fix symlink values separated by multiple spaces
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-07-07 23:43:13 +02:00
Kay Sievers
a72e3f666b fix typo in group assignment
Thanks to: Georgi Georgiev
2005-07-07 22:40:09 +02:00
Kay Sievers
7618e112b4 add usb_id program to generate usb-storage device identifiers
Signed-off-by: Hannes Reinecke <hare@suse.de>
2005-07-04 17:02:25 +02:00
Kay Sievers
be0856c841 prepare RELEASE-NOTES
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-30 21:50:22 +02:00
Kay Sievers
670e470543 add ata_id to read serial numbers from ATA drives
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-25 23:54:28 +02:00
Kay Sievers
319c670016 IMPORT allow to import program returned keys into the env
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-25 18:58:49 +02:00
Kay Sievers
bd0ed2ffbe IMPORT=<file> allow to import a shell-var style config-file
This allows to source-in a file into the udev environment to have
the defined keys available for later processing by udev itself or
the forked helper programs.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-25 13:10:16 +02:00
Kay Sievers
6bf0ffe8fd allow rules to be compiled to one binary file
All the rule files can be compiled into a single file,
which can be mapped into the udev process to avoid parsing
the rules with every event.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-24 18:05:32 +02:00
Kay Sievers
bf5d296473 prepare for module loading rules and add MODALIAS key
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-20 00:29:38 +02:00
Kay Sievers
561d4c5a3a udevd: allow starting of udevd with stopped exec-queue
Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-08 11:57:53 +02:00
Kay Sievers
995aec8759 udev: clear lists if a new value is assigned
Former values are cleared if SYMLINK=<value> is used. To add a value
SYMLINK+=<value> is now needed.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-05 05:13:33 +02:00
Kay Sievers
6a522681e1 udev: move dev.d/ handling to external helper
Modern rules are expected to call notification and postprocessing with    
the RUN key. For compatibility the current behavior can be emulated
with an external helper.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-05 05:11:29 +02:00
Kay Sievers
c974742bf4 udev: allow final assignments :=
The use of KEY:=<value> will make the key unchangeable by later rules.

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
2005-06-05 04:57:03 +02:00
Greg KH
13ca17798c remove detach_state files from the sysfs test tree.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-05-18 23:33:12 -07:00
Greg KH
1e50c2dee7 Update permissions on test scripts so they will run properly now.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-05-10 10:22:56 -07:00
Greg KH
49cedafaf8 hopefully fix up the symlinks in the test directory
Thanks to Kay for pointing this out.

Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2005-05-10 10:11:15 -07:00
Daniel Drake
0ca6adfed9 [PATCH] Writing udev rules docs update
Here's a long overdue update to the udev rules docs, based on lots of user
feedback from the last few months.

Mostly updates to keep up with the new udev features, some clarifications and
wording improvements. I added a section on rules for palm pilots due to the
excessive amount of mail I get about them. I removed the nvidia stuff because
it's out of date. Added another section about debugging using logs and
udevtest. Removed the thanks list because I haven't been updating it and there
are too many people to name now, sorry..!
2005-05-09 16:14:14 -07:00
Greg KH
27a71e49c2 Added symlinks thanks to Kay's script and git hacking.
Now the tests should work again...
2005-05-05 21:47:57 -07:00
tklauser@access.unizh.ch
15139b8a62 [PATCH] fix stupid all_partitions bug
> On Mon, 2005-04-11 at 14:55 +0200, Norbert Preining wrote:
> > On Mon, 11 Apr 2005, Kay Sievers wrote:
> > > > brw-rw----  1 root root 8, 0 2005-04-10 14:58 /dev/sdcard
> > > > brw-rw----  1 root root 8, 1 2005-04-10 14:58 /dev/sdcard1
> > > > brw-rw----  1 root root 8, 1 2005-04-10 14:58 /dev/sdcard2
> > > > brw-rw----  1 root root 8, 1 2005-04-10 14:58 /dev/sdcard3
> > > 
> > > This looks broken.
> > 
> > Good to hear.

Yeah, I guess it's broken. In create_node() in udev_add.c there is
always added 1 to the minor number, thus the error. The attached patch
should fix this.
2005-04-26 23:55:01 -07:00
kay.sievers@vrfy.org
05bd6efb41 [PATCH] add test for make -j4 to build-check 2005-04-26 23:55:01 -07:00
kay.sievers@vrfy.org
f040a4a271 [PATCH] udev-test.pl: add test for DEVNAME export to RUN environment 2005-04-26 23:55:00 -07:00
kay.sievers@vrfy.org
821d0ec803 [PATCH] add RUN key to be able to run rule based notification
SUBSYSTEM=="block", RUN="/sbin/program"
  will execute the program only for block device events.

ACTION="remove", SUBSYSTEM=="block", RUN"/sbin/program"
  will execute the program, if a block device is removed.
2005-04-26 23:55:00 -07:00
kay.sievers@vrfy.org
db949b0248 [PATCH] allow to match against empty key values 2005-04-26 23:55:00 -07:00
kay.sievers@vrfy.org
98bbc835f5 [PATCH] read %s{}-sysfs values at any device in the chain 2005-04-26 23:55:00 -07:00
kay.sievers@vrfy.org
18614ab25d [PATCH] remove untrusted chars read from sysfs-values or returned by PROGRAM
Better remove characters that are useless in a device node name.
It may be a security risk to pass any character read from e.g. a
sysfs attribute to a shell script we execute later.
  
Prevent the modification of the libsysfs attribute value
cache.

Clear PROGRAM result if the execution encountered an error.
2005-04-26 23:54:59 -07:00
kay.sievers@vrfy.org
65005a7f81 [PATCH] test-suite: remove UDEV_TEST, it's not needed anymore 2005-04-26 23:54:59 -07:00
kay.sievers@vrfy.org
0bb4387707 [PATCH] udev-test.pl: use more common user/group names 2005-04-26 23:54:59 -07:00
kay.sievers@vrfy.org
c827876312 [PATCH] udev-test.pl: add a test where the group cannot be found in /etc/passwd 2005-04-26 23:54:59 -07:00
kay.sievers@vrfy.org
9b434de102 [PATCH] udev-test.pl: add check for textual uid/gid 2005-04-26 23:53:54 -07:00
kay.sievers@vrfy.org
3e5958dee5 [PATCH] add ENV{} key to match agains environment variables 2005-04-26 23:53:18 -07:00
kay.sievers@vrfy.org
38285d23d7 [PATCH] add a test and simplify debug statement 2005-04-26 23:53:17 -07:00
kay.sievers@vrfy.org
28ce66de17 [PATCH] support =, ==, !=, += for the key match and assignment 2005-04-26 23:53:17 -07:00
kay.sievers@vrfy.org
3b6ed8bb06 [PATCH] add OPTION="last_rule" to skip any later rule 2005-04-26 23:53:17 -07:00
kay.sievers@vrfy.org
882af735ec [PATCH] remove PLACE key match
ID should do the same, cause we walk up the chain of devices on the
physical device and can match for the name of every device there with
the ID key.
2005-04-26 23:51:00 -07:00
kay.sievers@vrfy.org
51015808da [PATCH] udev-test.pl: remove useless tests 2005-04-26 23:48:48 -07:00
kay.sievers@vrfy.org
77313cd0d1 [PATCH] namedev: skip backslashes only if followed by newline
Fix from: Hannes Reinecke <hare@suse.de>
namedev_parse is a bit overzealous when in comes to handling backspaces;
it always eats up backspaces regardless of anything beyond that. This
means it is impossible to enter '\t' in a rule. Quite a bit of fun when
you're trying to write regexps.
2005-04-26 23:39:48 -07:00
kay.sievers@vrfy.org
1cec1c2416 [PATCH] remove the device node only if the major/minor number matches 2005-04-26 23:36:13 -07:00
kay.sievers@vrfy.org
fd9efc00a2 [PATCH] introduce OPTIONS=ignore_device, ignore_remove, all_partitions" key
Here we move all possible options into a own key to make it possible
to have options-only rules.

The options on the NAME key are removed from the man page and will
be removed from a future version of udev.

For ignore rules, OPTIONS="ignore" should be used.

The rule:
  SUBSYSTEM="block", SYSFS{removable}="1", OPTIONS="all_partitions"

will create all partitions for a block device which is known to have
removable media (a check for cdrom drives would be needed too).
2005-04-26 23:36:12 -07:00
gregkh@suse.de
5f2a5816cf [PATCH] allow simple-build-check.sh to go faster if MAKEOPTS is set
This lets my multiprocessor boxes do the testing quicker...
2005-04-26 23:35:15 -07:00
patmans@us.ibm.com
fd42f6a170 [PATCH] fix test for temporary nodes 2005-04-26 23:34:01 -07:00
kay.sievers@vrfy.org
6a24dc7477 [PATCH] fix special file mode mask for temporary device node 2005-04-26 23:33:50 -07:00
kay.sievers@vrfy.org
f22e9686fd [PATCH] udevstart: simplify "dev" file searching
Just stat() the "dev" file in the device directory instead of
opening the directory and iterating over all entries.

Make udevstart work with the settings in with udev.conf so we can
run a test program.

Add a test for udevstart.

Remove changelog stuff from code. We should never start with this
silly thing.
2005-04-26 23:31:07 -07:00
kay.sievers@vrfy.org
69aa6dfb70 [PATCH] add %P modifier to query the node name of the parent device
Events for partition devies may want to read the main block device
name to compose it's own name or read a disklabel from the main device.

SUBSYSTEM="block", KERNEL="*[1-9]", NAME="%P-p%n"
will append the partition number to the name of the main block device.
2005-04-26 23:31:03 -07:00
kay.sievers@vrfy.org
c1ab046124 [PATCH] provide temporary device node for callouts to access the device
%N will create a temporary node for a callout a be sustituted with the
name of the node.
2005-04-26 23:27:32 -07:00
kay.sievers@vrfy.org
61599bdd06 [PATCH] simple_build_check: make it possible to pass KERNEL_DIR 2005-04-26 23:24:19 -07:00
kay.sievers@vrfy.org
b9a8c4821a [PATCH] remove default_* permissions from udev.conf file
With the "permissions only rules" we can just place:
 
   MODE="0660", OWNER="root", GROUP="root"
 
at the beginning of the rules file and get exactly the same behavior.
If no values are given the compiled-in defaults are used.
2005-04-26 23:19:09 -07:00