All of lore.kernel.org
 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: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-13 23:52 [ANNOUNCE] udev 013 release Greg KH
2004-01-13 23:52 ` 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:15     ` Greg KH
2004-01-14 17:46     ` Chris Friesen
2004-01-14 17:46       ` Chris Friesen
2004-01-14 19:23       ` Nuno Silva
2004-01-14 19:23         ` Nuno Silva
2004-01-14 21:14         ` Greg KH
2004-01-14 21:14           ` Greg KH
2004-01-15  7:48           ` Nuno Silva
2004-01-15 23:03             ` Greg KH
2004-01-15 23:03               ` Greg KH
2004-01-14 20:34       ` Clay Haapala
2004-01-14 20:34         ` Clay Haapala
2004-01-14 20:47         ` Chris Friesen
2004-01-14 20:47           ` Chris Friesen
2004-01-14 21:12           ` Greg KH
2004-01-14 21:12             ` Greg KH
2004-01-14 21:10         ` 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.