linux-hotplug.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Kay Sievers <kay.sievers@vrfy.org>
To: linux-hotplug@vger.kernel.org
Subject: Re: [ANNOUNCE] udev 013 release
Date: Thu, 15 Jan 2004 14:32:26 +0000	[thread overview]
Message-ID: <20040115143226.GA15609@vrfy.org> (raw)
In-Reply-To: <20040113235213.GA7659@kroah.com>

[-- Attachment #1: Type: text/plain, Size: 1378 bytes --]

On Thu, Jan 15, 2004 at 05:14:16AM +0100, Kay Sievers wrote:
> On Wed, Jan 14, 2004 at 01:10:43PM -0800, Greg KH wrote:
> > On Wed, Jan 14, 2004 at 02:34:26PM -0600, Clay Haapala wrote:
> > > On Wed, 14 Jan 2004, Chris Friesen spake thusly:
> > > > 
> > > > Maybe for ones with a matching rule, you could print something like:
> > > > 
> > > > 
> > > Is the act of printing/syslogging a rule in an of itself? 
> > 
> > No, as currently the only way stuff ends up in the syslog is if
> > DEBUG=true is used on the build line.
> > 
> > But it's sounding like we might want to change that... :)
> 
> How about this in the syslog after connect/disconnect?
> 
>   Jan 15 05:07:45 pim udev[28007]: configured rule in '/etc/udev/udev.rules' at line 17 applied, 'video*' becomes 'video/webcam%n'
>   Jan 15 05:07:45 pim udev[28007]: creating device node '/udev/video/webcam0'
>   Jan 15 05:07:47 pim udev[28015]: removing device node '/udev/video/webcam0'

Here is a slightly better version. I've created a logging.h file and
moved the debug macros from udev.h in there.

If you type:

  'make'            - you will get a binary that prints one or two lines to syslog
                      if a device node is created or deleted

  'make LOG=false'  - you get a binary that prints asolutely nothing

  'make DEBUG=true' - the same as today, it will print all debug lines


thanks,
Kay

[-- Attachment #2: 00-simple-syslog.patch --]
[-- Type: text/plain, Size: 9257 bytes --]

diff -Nru a/Makefile b/Makefile
--- a/Makefile	Thu Jan 15 15:22:25 2004
+++ b/Makefile	Thu Jan 15 15:22:25 2004
@@ -16,7 +16,12 @@
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 #
 
-# Set the following to `true' to make a debuggable build.
+# Set the following to control the use of syslog
+# Set it to `false' to remove all logging
+LOG = true
+
+# Set the following to `true' to log the debug
+# and make a unstripped, unoptimized  binary.
 # Leave this set to `false' for production use.
 DEBUG = false
 
@@ -104,6 +109,10 @@
 	CFLAGS+=-pipe
 endif
 
+ifeq ($(strip $(LOG)),true)
+	CFLAGS  += -DLOG
+endif
+
 # if DEBUG is enabled, then we do not strip or optimize
 ifeq ($(strip $(DEBUG)),true)
 	CFLAGS  += $(WARNINGS) -O1 -g -DDEBUG -D_GNU_SOURCE
@@ -216,7 +225,7 @@
 
 $(OBJS): $(GEN_HEADERS)
 
-$(ROOT): $(OBJS) udev.h namedev.h udev_version.h udev_dbus.h udevdb.h klibc_fixups.h list.h
+$(ROOT): $(OBJS) udev.h namedev.h udev_version.h udev_dbus.h udevdb.h klibc_fixups.h logging.h list.h
 	$(LD) $(LDFLAGS) -o $(ROOT) $(CRT0) $(OBJS) $(LIB_OBJS) $(ARCH_LIB_OBJS)
 	$(STRIPCMD) $(ROOT)
 
diff -Nru a/logging.c b/logging.c
--- a/logging.c	Thu Jan 15 15:22:25 2004
+++ b/logging.c	Thu Jan 15 15:22:25 2004
@@ -25,9 +25,9 @@
 #include <sys/types.h>
 #include <unistd.h>
 #include <syslog.h>
-#include "udev.h"
 
-#ifdef DEBUG
+#include "logging.h"
+
 
 static int logging_init = 0;
 static unsigned char udev_logname[42];
@@ -54,5 +54,3 @@
 	va_end(args);
 	return 1;
 }
-
-#endif
diff -Nru a/logging.h b/logging.h
--- /dev/null	Wed Dec 31 16:00:00 1969
+++ b/logging.h	Thu Jan 15 15:22:25 2004
@@ -0,0 +1,60 @@
+/*
+ * udev.h
+ *
+ * Userspace devfs
+ *
+ * Copyright (C) 2003 Greg Kroah-Hartman <greg@kroah.com>
+ * Copyright (C) 2004 Kay Sievers <kay.sievers@vrfy.org>
+ *
+ *	This program is free software; you can redistribute it and/or modify it
+ *	under the terms of the GNU General Public License as published by the
+ *	Free Software Foundation version 2 of the License.
+ * 
+ *	This program is distributed in the hope that it will be useful, but
+ *	WITHOUT ANY WARRANTY; without even the implied warranty of
+ *	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *	General Public License for more details.
+ * 
+ *	You should have received a copy of the GNU General Public License along
+ *	with this program; if not, write to the Free Software Foundation, Inc.,
+ *	675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ */
+
+#ifndef LOGGING_H
+#define LOGGING_H
+
+#ifdef LOG
+#include <syslog.h>
+#define info(format, arg...)								\
+	do {										\
+		log_message (LOG_INFO , format , ## arg);	\
+	} while (0)
+#else
+	#define info(format, arg...) do { } while (0)
+#endif
+
+#ifdef DEBUG
+#define dbg(format, arg...)								\
+	do {										\
+		log_message (LOG_DEBUG , "%s: " format , __FUNCTION__ , ## arg);	\
+	} while (0)
+#else
+	#define dbg(format, arg...) do { } while (0)
+#endif
+
+/* Parser needs it's own debugging statement, we usually don't care about this at all */
+#ifdef DEBUG_PARSER
+#define dbg_parse(format, arg...)							\
+	do {										\
+		log_message (LOG_DEBUG , "%s: " format , __FUNCTION__ , ## arg);	\
+	} while (0)
+#else
+	#define dbg_parse(format, arg...) do { } while (0)
+#endif
+
+
+extern int log_message (int level, const char *format, ...)
+	__attribute__ ((format (printf, 2, 3)));
+
+#endif
diff -Nru a/namedev.c b/namedev.c
--- a/namedev.c	Thu Jan 15 15:22:25 2004
+++ b/namedev.c	Thu Jan 15 15:22:25 2004
@@ -36,6 +36,7 @@
 #include "list.h"
 #include "udev.h"
 #include "udev_version.h"
+#include "logging.h"
 #include "namedev.h"
 #include "libsysfs/libsysfs.h"
 #include "klibc_fixups.h"
@@ -295,12 +296,12 @@
 				/* sleep to give the kernel a chance to create the file */
 				sleep(1);
 			}
-			dbg("Timed out waiting for '%s' file, continuing on anyway...", b->file);
+			dbg("timed out waiting for '%s' file, continuing on anyway...", b->file);
 			goto exit;
 		}
 		b++;
 	}
-	dbg("Did not find bus type '%s' on list of bus_id_files, contact greg@kroah.com", sysfs_device->bus);
+	dbg("did not find bus type '%s' on list of bus_id_files, contact greg@kroah.com", sysfs_device->bus);
 exit:
 	return; /* here to prevent compiler warning... */
 }
@@ -544,7 +545,7 @@
 		if (sysfs_device != NULL)
 			goto device_found;
 	}
-	dbg("Timed out waiting for device symlink, continuing on anyway...");
+	dbg("timed out waiting for device symlink, continuing on anyway...");
 	
 device_found:
         /* We have another issue with just the wait above - the sysfs part of
@@ -569,10 +570,10 @@
 			if (sysfs_device->bus[0] != '\0')
 				goto bus_found;
 		}
-		dbg("Timed out waiting to find the device bus, continuing on anyway\n");
+		dbg("timed out waiting to find the device bus, continuing on anyway");
 		goto exit;
 bus_found:
-		dbg("Device %s is registered with bus %s\n",
+		dbg("device %s is registered with bus '%s'",
 				sysfs_device->name, sysfs_device->bus);
 	}
 exit:
@@ -704,7 +705,8 @@
 		}
 
 		/* Yup, this rule belongs to us! */
-		dbg("found matching rule, '%s' becomes '%s'", dev->kernel, dev->name);
+		info("configured rule in '%s' at line %i applied, '%s' becomes '%s'",
+		    udev_rules_filename, dev->config_line, udev->kernel_name, dev->name);
 		strfieldcpy(udev->name, dev->name);
 		strfieldcpy(udev->symlink, dev->symlink);
 		goto found;
diff -Nru a/namedev.h b/namedev.h
--- a/namedev.h	Thu Jan 15 15:22:25 2004
+++ b/namedev.h	Thu Jan 15 15:22:25 2004
@@ -65,6 +65,7 @@
 	char name[NAME_SIZE];
 	char symlink[NAME_SIZE];
 	struct sysfs_pair sysfs_pair[MAX_SYSFS_PAIRS];
+	int config_line;
 };
 
 struct perm_device {
diff -Nru a/namedev_parse.c b/namedev_parse.c
--- a/namedev_parse.c	Thu Jan 15 15:22:25 2004
+++ b/namedev_parse.c	Thu Jan 15 15:22:25 2004
@@ -36,6 +36,7 @@
 #include <errno.h>
 
 #include "udev.h"
+#include "logging.h"
 #include "namedev.h"
 
 static int add_config_dev(struct config_device *new_dev)
@@ -249,6 +250,7 @@
 			goto error;
 		}
 
+		dev.config_line = lineno;
 		retval = add_config_dev(&dev);
 		if (retval) {
 			dbg("add_config_dev returned with error %d", retval);
diff -Nru a/udev-add.c b/udev-add.c
--- a/udev-add.c	Thu Jan 15 15:22:25 2004
+++ b/udev-add.c	Thu Jan 15 15:22:25 2004
@@ -37,6 +37,7 @@
 #include "udev.h"
 #include "udev_version.h"
 #include "udev_dbus.h"
+#include "logging.h"
 #include "namedev.h"
 #include "udevdb.h"
 #include "libsysfs/libsysfs.h"
@@ -141,6 +142,7 @@
 	if (strrchr(dev->name, '/'))
 		create_path(filename);
 
+	info("creating device node '%s'", filename);
 	dbg("mknod(%s, %#o, %u, %u)", filename, dev->mode, dev->major, dev->minor);
 	retval = mknod(filename, dev->mode, res);
 	if (retval)
diff -Nru a/udev-remove.c b/udev-remove.c
--- a/udev-remove.c	Thu Jan 15 15:22:25 2004
+++ b/udev-remove.c	Thu Jan 15 15:22:25 2004
@@ -31,6 +31,7 @@
 #include "udev.h"
 #include "udev_version.h"
 #include "udev_dbus.h"
+#include "logging.h"
 #include "namedev.h"
 #include "udevdb.h"
 #include "libsysfs/libsysfs.h"
@@ -73,7 +74,7 @@
 	strncpy(filename, udev_root, sizeof(filename));
 	strncat(filename, dev->name, sizeof(filename));
 
-	dbg("unlinking node '%s'", filename);
+	info("removing device node '%s'", filename);
 	retval = unlink(filename);
 	if (retval) {
 		dbg("unlink(%s) failed with error '%s'",
diff -Nru a/udev.c b/udev.c
--- a/udev.c	Thu Jan 15 15:22:25 2004
+++ b/udev.c	Thu Jan 15 15:22:25 2004
@@ -34,6 +34,7 @@
 #include "udev.h"
 #include "udev_version.h"
 #include "udev_dbus.h"
+#include "logging.h"
 #include "namedev.h"
 #include "udevdb.h"
 #include "libsysfs/libsysfs.h"
diff -Nru a/udev.h b/udev.h
--- a/udev.h	Thu Jan 15 15:22:25 2004
+++ b/udev.h	Thu Jan 15 15:22:25 2004
@@ -26,30 +26,6 @@
 #include "libsysfs/libsysfs.h"
 #include <sys/param.h>
 
-#ifdef DEBUG
-#include <syslog.h>
-#define dbg(format, arg...)								\
-	do {										\
-		log_message (LOG_DEBUG , "%s: " format , __FUNCTION__ , ## arg);	\
-	} while (0)
-#else
-	#define dbg(format, arg...) do { } while (0)
-#endif
-
-/* Parser needs it's own debugging statement, we usually don't care about this at all */
-#ifdef DEBUG_PARSER
-#define dbg_parse(format, arg...)							\
-	do {										\
-		log_message (LOG_DEBUG , "%s: " format , __FUNCTION__ , ## arg);	\
-	} while (0)
-#else
-	#define dbg_parse(format, arg...) do { } while (0)
-#endif
-
-
-extern int log_message (int level, const char *format, ...)
-	__attribute__ ((format (printf, 2, 3)));
-
 #define COMMENT_CHARACTER		'#'
 
 #define NAME_SIZE	100
@@ -71,7 +47,6 @@
 	unsigned char program_result[NAME_SIZE];
 	unsigned char kernel_number[NAME_SIZE];
 	unsigned char kernel_name[NAME_SIZE];
-
 };
 
 #define strfieldcpy(to, from) \
diff -Nru a/udev_config.c b/udev_config.c
--- a/udev_config.c	Thu Jan 15 15:22:25 2004
+++ b/udev_config.c	Thu Jan 15 15:22:25 2004
@@ -34,6 +34,7 @@
 
 #include "udev.h"
 #include "udev_version.h"
+#include "logging.h"
 #include "namedev.h"
 #include "libsysfs/libsysfs.h"
 
diff -Nru a/udevdb.c b/udevdb.c
--- a/udevdb.c	Thu Jan 15 15:22:25 2004
+++ b/udevdb.c	Thu Jan 15 15:22:25 2004
@@ -35,6 +35,7 @@
 
 #include "udev_version.h"
 #include "udev.h"
+#include "logging.h"
 #include "namedev.h"
 #include "udevdb.h"
 #include "tdb/tdb.h"

  parent reply	other threads:[~2004-01-15 14:32 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-13 23:52 [ANNOUNCE] udev 013 release Greg KH
2004-01-14  1:38 ` Frédéric L. W. Meunier
2004-01-14  2:14 ` Jon Smirl
2004-01-14  5:15 ` Nuno Silva
2004-01-14 17:15   ` Greg KH
2004-01-14 17:46     ` Chris Friesen
2004-01-14 19:23       ` Nuno Silva
2004-01-14 21:14         ` Greg KH
2004-01-15  7:48           ` Nuno Silva
2004-01-15 23:03             ` Greg KH
2004-01-14 20:34       ` Clay Haapala
2004-01-14 20:47         ` Chris Friesen
2004-01-14 21:12           ` Greg KH
2004-01-14 21:10         ` Greg KH
2004-01-14 17:27 ` Greg KH
2004-01-15  4:14 ` Kay Sievers
2004-01-15 14:32 ` Kay Sievers [this message]
2004-01-15 22:40 ` Greg KH
2004-01-16  2:25 ` Nuno Silva
2004-01-16  3:24 ` Kay Sievers
2004-01-16  3:45 ` Nuno Silva
2004-01-19 20:29 ` Olaf Hering
2004-01-19 20:40 ` Greg KH
2004-01-19 20:44 ` Olaf Hering
2004-01-19 20:50 ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040115143226.GA15609@vrfy.org \
    --to=kay.sievers@vrfy.org \
    --cc=linux-hotplug@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).