Hello community,

here is the log from the commit of package acpid for openSUSE:Factory checked 
in at 2012-04-12 09:17:15
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/acpid (Old)
 and      /work/SRC/openSUSE:Factory/.acpid.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "acpid", Maintainer is "[email protected]"

Changes:
--------
--- /work/SRC/openSUSE:Factory/acpid/acpid.changes      2012-03-20 
11:24:43.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.acpid.new/acpid.changes 2012-04-12 
09:17:26.000000000 +0200
@@ -1,0 +2,15 @@
+Mon Apr  2 23:59:08 UTC 2012 - [email protected]
+
+- Update to acpid 2.0.16
+  + Add tests for required functions to configure.ac.
+    (configure.ac)  (Ted Felix)
+  + Move fchmod() before bind() on socket.  Debian bug #664705.
+    (sock.c ud_socket.c ud_socket.h)  (Ted Felix)
+  + Switch back to chown() as fchown() doesn't appear to work with sockets.
+    (sock.c)  (Ted Felix)
+  + Add support for headphone (and other) jack switch events.
+    (input_layer.c)  (AlexanderR)
+  + Add notes on making the tarball.
+    (README)  (Ted Felix)
+
+-------------------------------------------------------------------

Old:
----
  acpid-2.0.15.tar.gz

New:
----
  acpid-2.0.16.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ acpid.spec ++++++
--- /var/tmp/diff_new_pack.PyUMur/_old  2012-04-12 09:17:27.000000000 +0200
+++ /var/tmp/diff_new_pack.PyUMur/_new  2012-04-12 09:17:27.000000000 +0200
@@ -18,7 +18,7 @@
 
 
 Name:           acpid
-Version:        2.0.15
+Version:        2.0.16
 Release:        0
 License:        GPL-2.0+
 Summary:        Executes Actions at ACPI Events

++++++ acpid-2.0.15.tar.gz -> acpid-2.0.16.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/acpid-2.0.15/Changelog new/acpid-2.0.16/Changelog
--- old/acpid-2.0.15/Changelog  2012-03-13 05:10:34.000000000 +0100
+++ new/acpid-2.0.16/Changelog  2012-03-29 14:34:47.000000000 +0200
@@ -1,3 +1,17 @@
+* Thu Mar 29 2012  Ted Felix <http://www.tedfelix.com>
+  - 2.0.16 release
+    (configure.ac)  (Ted Felix)
+  - Add tests for required functions to configure.ac.
+    (configure.ac)  (Ted Felix)
+  - Move fchmod() before bind() on socket.  Debian bug #664705.
+    (sock.c ud_socket.c ud_socket.h)  (Ted Felix)
+  - Switch back to chown() as fchown() doesn't appear to work with sockets.
+    (sock.c)  (Ted Felix) 
+  - Add support for headphone (and other) jack switch events.
+    (input_layer.c)  (AlexanderR)
+  - Add notes on making the tarball.
+    (README)  (Ted Felix)
+
 * Thu Mar 15 2012  Ted Felix <http://www.tedfelix.com>
   - 2.0.15 release
     (configure.ac)  (Ted Felix)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/acpid-2.0.15/README new/acpid-2.0.16/README
--- old/acpid-2.0.15/README     2012-03-15 14:20:45.000000000 +0100
+++ new/acpid-2.0.16/README     2012-03-29 14:34:08.000000000 +0200
@@ -46,6 +46,15 @@
 You can also fork the git repo on sourceforge and submit changes that way:
 http://sourceforge.net/u/tedfelix/acpid2/
 
+DIST NOTES
+
+To create the tarball for distribution:
+
+  $ make distclean
+  $ autoreconf --install --force
+  $ ./configure
+  $ make dist
+
 --------------------------------------------------------------------
 OLD README
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/acpid-2.0.15/TODO new/acpid-2.0.16/TODO
--- old/acpid-2.0.15/TODO       2012-02-16 21:24:42.000000000 +0100
+++ new/acpid-2.0.16/TODO       2012-03-16 14:38:02.000000000 +0100
@@ -1,17 +1,32 @@
 Future Enhancements
 -------------------
 
-systemd support
+* systemd support
   - Support receiving unix sockets from systemd.
   - Make daemonize() do what's right for systemd.
   - Can we auto-detect systemd?  Maybe the presence of the environment vars
     for the unix sockets?
+  - Maintain compatibility with upstart, etc...
 
-Look into using libnl for netlink
-  - Can this be done?
+* Look into using libnl for netlink
+  - Can this be done?  Is it a good idea?
 
-DBUS support
-Re-add ancillary files needed for wider distribution
-Add a main config file
- - support multiple event sources (such as named pipes)
-Allow socket-connected clients to filter incoming events
+OLD IDEAS
+
+* DBUS support
+  - Do we really need DBUS support?  Probably not.
+  - Tim says this would be easy to implement.  He mentioned "mced" which
+    is similar to acpid and handles DBUS.
+    http://code.google.com/p/mcedaemon/
+  - Everyone seems to agree that the whole point of acpid is
+    to avoid the big desktop stuff, and therefore, this is probably
+    not a good idea.
+  - However, there are still pieces of those big desktop environments that
+    connect to acpid via sockets.  DBUS should be a nicer interface.
+  - Implement with a build-time option to turn it on/off?  This way users
+    can reduce the dependencies if they want.  Or can we detect the presence 
+    of DBUS at runtime?
+
+* Allow socket-connected clients to filter incoming events
+  - This might be useful on older laptops that used to generate a slew
+    of events. I think that on modern hardware, this is not needed.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/acpid-2.0.15/config.h new/acpid-2.0.16/config.h
--- old/acpid-2.0.15/config.h   2012-03-15 14:28:23.000000000 +0100
+++ new/acpid-2.0.16/config.h   2012-03-29 14:35:38.000000000 +0200
@@ -7,18 +7,30 @@
 /* Define to 1 if you have the <arpa/inet.h> header file. */
 #define HAVE_ARPA_INET_H 1
 
-/* Define to 1 if your system has a working `chown' function. */
-#define HAVE_CHOWN 1
+/* "Define if asprintf() exists" */
+#define HAVE_ASPRINTF 1
 
 /* Define to 1 if you have the `dup2' function. */
 #define HAVE_DUP2 1
 
+/* "Define if fchmod() exists" */
+#define HAVE_FCHMOD 1
+
+/* "Define if fchown() exists" */
+#define HAVE_FCHOWN 1
+
 /* Define to 1 if you have the <fcntl.h> header file. */
 #define HAVE_FCNTL_H 1
 
 /* Define to 1 if you have the `fork' function. */
 #define HAVE_FORK 1
 
+/* "Define if fstat() exists" */
+#define HAVE_FSTAT 1
+
+/* "Define if fstatat() exists" */
+#define HAVE_FSTATAT 1
+
 /* Define to 1 if you have the <inttypes.h> header file. */
 #define HAVE_INTTYPES_H 1
 
@@ -38,6 +50,9 @@
 /* Define to 1 if you have the <netinet/in.h> header file. */
 #define HAVE_NETINET_IN_H 1
 
+/* "Define if openat() exists" */
+#define HAVE_OPENAT 1
+
 /* Define to 1 if your system has a GNU libc compatible `realloc' function,
    and to 0 otherwise. */
 #define HAVE_REALLOC 1
@@ -121,7 +136,7 @@
 #define PACKAGE_NAME "acpid"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "acpid 2.0.15"
+#define PACKAGE_STRING "acpid 2.0.16"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "acpid"
@@ -130,7 +145,7 @@
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "2.0.15"
+#define PACKAGE_VERSION "2.0.16"
 
 /* Define to 1 if you have the ANSI C header files. */
 #define STDC_HEADERS 1
@@ -158,7 +173,7 @@
 
 
 /* Version number of package */
-#define VERSION "2.0.15"
+#define VERSION "2.0.16"
 
 /* Number of bits in a file offset, on hosts where this is settable. */
 #define _FILE_OFFSET_BITS 64
@@ -176,9 +191,6 @@
 /* Define to 1 if you need to in order for `stat' and other things to work. */
 /* #undef _POSIX_SOURCE */
 
-/* Define to `int' if <sys/types.h> doesn't define. */
-/* #undef gid_t */
-
 /* Define to rpl_malloc if the replacement function should be used. */
 /* #undef malloc */
 
@@ -197,8 +209,5 @@
 /* Define to `int' if <sys/types.h> does not define. */
 /* #undef ssize_t */
 
-/* Define to `int' if <sys/types.h> doesn't define. */
-/* #undef uid_t */
-
 /* Define as `fork' if `vfork' does not work. */
 /* #undef vfork */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/acpid-2.0.15/config.h.in new/acpid-2.0.16/config.h.in
--- old/acpid-2.0.15/config.h.in        2012-03-15 14:27:59.000000000 +0100
+++ new/acpid-2.0.16/config.h.in        2012-03-29 14:35:28.000000000 +0200
@@ -6,18 +6,30 @@
 /* Define to 1 if you have the <arpa/inet.h> header file. */
 #undef HAVE_ARPA_INET_H
 
-/* Define to 1 if your system has a working `chown' function. */
-#undef HAVE_CHOWN
+/* "Define if asprintf() exists" */
+#undef HAVE_ASPRINTF
 
 /* Define to 1 if you have the `dup2' function. */
 #undef HAVE_DUP2
 
+/* "Define if fchmod() exists" */
+#undef HAVE_FCHMOD
+
+/* "Define if fchown() exists" */
+#undef HAVE_FCHOWN
+
 /* Define to 1 if you have the <fcntl.h> header file. */
 #undef HAVE_FCNTL_H
 
 /* Define to 1 if you have the `fork' function. */
 #undef HAVE_FORK
 
+/* "Define if fstat() exists" */
+#undef HAVE_FSTAT
+
+/* "Define if fstatat() exists" */
+#undef HAVE_FSTATAT
+
 /* Define to 1 if you have the <inttypes.h> header file. */
 #undef HAVE_INTTYPES_H
 
@@ -37,6 +49,9 @@
 /* Define to 1 if you have the <netinet/in.h> header file. */
 #undef HAVE_NETINET_IN_H
 
+/* "Define if openat() exists" */
+#undef HAVE_OPENAT
+
 /* Define to 1 if your system has a GNU libc compatible `realloc' function,
    and to 0 otherwise. */
 #undef HAVE_REALLOC
@@ -175,9 +190,6 @@
 /* Define to 1 if you need to in order for `stat' and other things to work. */
 #undef _POSIX_SOURCE
 
-/* Define to `int' if <sys/types.h> doesn't define. */
-#undef gid_t
-
 /* Define to rpl_malloc if the replacement function should be used. */
 #undef malloc
 
@@ -196,8 +208,5 @@
 /* Define to `int' if <sys/types.h> does not define. */
 #undef ssize_t
 
-/* Define to `int' if <sys/types.h> doesn't define. */
-#undef uid_t
-
 /* Define as `fork' if `vfork' does not work. */
 #undef vfork
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/acpid-2.0.15/configure new/acpid-2.0.16/configure
--- old/acpid-2.0.15/configure  2012-03-15 14:27:59.000000000 +0100
+++ new/acpid-2.0.16/configure  2012-03-29 14:35:27.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for acpid 2.0.15.
+# Generated by GNU Autoconf 2.68 for acpid 2.0.16.
 #
 #
 # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -557,8 +557,8 @@
 # Identity of this package.
 PACKAGE_NAME='acpid'
 PACKAGE_TARNAME='acpid'
-PACKAGE_VERSION='2.0.15'
-PACKAGE_STRING='acpid 2.0.15'
+PACKAGE_VERSION='2.0.16'
+PACKAGE_STRING='acpid 2.0.16'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1255,7 +1255,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures acpid 2.0.15 to adapt to many kinds of systems.
+\`configure' configures acpid 2.0.16 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1325,7 +1325,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of acpid 2.0.15:";;
+     short | recursive ) echo "Configuration of acpid 2.0.16:";;
    esac
   cat <<\_ACEOF
 
@@ -1417,7 +1417,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-acpid configure 2.0.15
+acpid configure 2.0.16
 generated by GNU Autoconf 2.68
 
 Copyright (C) 2010 Free Software Foundation, Inc.
@@ -1836,7 +1836,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by acpid $as_me 2.0.15, which was
+It was created by acpid $as_me 2.0.16, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   $ $0 $@
@@ -2654,7 +2654,7 @@
 
 # Define the identity of the package.
  PACKAGE='acpid'
- VERSION='2.0.15'
+ VERSION='2.0.16'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -5005,101 +5005,6 @@
 
 
 # Checks for library functions.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5
-$as_echo_n "checking for uid_t in sys/types.h... " >&6; }
-if ${ac_cv_type_uid_t+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "uid_t" >/dev/null 2>&1; then :
-  ac_cv_type_uid_t=yes
-else
-  ac_cv_type_uid_t=no
-fi
-rm -f conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5
-$as_echo "$ac_cv_type_uid_t" >&6; }
-if test $ac_cv_type_uid_t = no; then
-
-$as_echo "#define uid_t int" >>confdefs.h
-
-
-$as_echo "#define gid_t int" >>confdefs.h
-
-fi
-
-for ac_header in unistd.h
-do :
-  ac_fn_c_check_header_mongrel "$LINENO" "unistd.h" "ac_cv_header_unistd_h" 
"$ac_includes_default"
-if test "x$ac_cv_header_unistd_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_UNISTD_H 1
-_ACEOF
-
-fi
-
-done
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working chown" >&5
-$as_echo_n "checking for working chown... " >&6; }
-if ${ac_cv_func_chown_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "$cross_compiling" = yes; then :
-  ac_cv_func_chown_works=no
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-#include <fcntl.h>
-
-int
-main ()
-{
-  char *f = "conftest.chown";
-  struct stat before, after;
-
-  if (creat (f, 0600) < 0)
-    return 1;
-  if (stat (f, &before) < 0)
-    return 1;
-  if (chown (f, (uid_t) -1, (gid_t) -1) == -1)
-    return 1;
-  if (stat (f, &after) < 0)
-    return 1;
-  return ! (before.st_uid == after.st_uid && before.st_gid == after.st_gid);
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_func_chown_works=yes
-else
-  ac_cv_func_chown_works=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-rm -f conftest.chown
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_chown_works" >&5
-$as_echo "$ac_cv_func_chown_works" >&6; }
-if test $ac_cv_func_chown_works = yes; then
-
-$as_echo "#define HAVE_CHOWN 1" >>confdefs.h
-
-fi
-
 for ac_header in vfork.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "vfork.h" "ac_cv_header_vfork_h" 
"$ac_includes_default"
@@ -5575,6 +5480,61 @@
 esac
 
 
+ac_fn_c_check_func "$LINENO" "fchown" "ac_cv_func_fchown"
+if test "x$ac_cv_func_fchown" = xyes; then :
+
+$as_echo "#define HAVE_FCHOWN 1" >>confdefs.h
+
+else
+  as_fn_error $? "\"fchown() not found\"" "$LINENO" 5
+fi
+
+ac_fn_c_check_func "$LINENO" "fchmod" "ac_cv_func_fchmod"
+if test "x$ac_cv_func_fchmod" = xyes; then :
+
+$as_echo "#define HAVE_FCHMOD 1" >>confdefs.h
+
+else
+  as_fn_error $? "\"fchmod() not found\"" "$LINENO" 5
+fi
+
+ac_fn_c_check_func "$LINENO" "fstat" "ac_cv_func_fstat"
+if test "x$ac_cv_func_fstat" = xyes; then :
+
+$as_echo "#define HAVE_FSTAT 1" >>confdefs.h
+
+else
+  as_fn_error $? "\"fstat() not found\"" "$LINENO" 5
+fi
+
+ac_fn_c_check_func "$LINENO" "fstatat" "ac_cv_func_fstatat"
+if test "x$ac_cv_func_fstatat" = xyes; then :
+
+$as_echo "#define HAVE_FSTATAT 1" >>confdefs.h
+
+else
+  as_fn_error $? "\"fstatat() not found\"" "$LINENO" 5
+fi
+
+ac_fn_c_check_func "$LINENO" "openat" "ac_cv_func_openat"
+if test "x$ac_cv_func_openat" = xyes; then :
+
+$as_echo "#define HAVE_OPENAT 1" >>confdefs.h
+
+else
+  as_fn_error $? "\"openat() not found\"" "$LINENO" 5
+fi
+
+ac_fn_c_check_func "$LINENO" "asprintf" "ac_cv_func_asprintf"
+if test "x$ac_cv_func_asprintf" = xyes; then :
+
+$as_echo "#define HAVE_ASPRINTF 1" >>confdefs.h
+
+else
+  as_fn_error $? "\"asprintf() not found\"" "$LINENO" 5
+fi
+
+# These are actually required.  Should switch to above form.
 for ac_func in alarm dup2 memset regcomp select socket strcasecmp strdup 
strerror strrchr strtol
 do :
   as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
@@ -6133,7 +6093,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by acpid $as_me 2.0.15, which was
+This file was extended by acpid $as_me 2.0.16, which was
 generated by GNU Autoconf 2.68.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -6199,7 +6159,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-acpid config.status 2.0.15
+acpid config.status 2.0.16
 configured by $0, generated by GNU Autoconf 2.68,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/acpid-2.0.15/configure.ac 
new/acpid-2.0.16/configure.ac
--- old/acpid-2.0.15/configure.ac       2012-02-17 04:18:45.000000000 +0100
+++ new/acpid-2.0.16/configure.ac       2012-03-20 17:58:45.000000000 +0100
@@ -2,7 +2,7 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ([2.60])
-AC_INIT([acpid], [2.0.15])
+AC_INIT([acpid], [2.0.16])
 AC_CONFIG_SRCDIR([connection_list.h])
 AC_CONFIG_HEADERS([config.h])
 AC_CONFIG_AUX_DIR([build-aux])
@@ -30,11 +30,17 @@
 AC_TYPE_SSIZE_T
 
 # Checks for library functions.
-AC_FUNC_CHOWN
 AC_FUNC_FORK
 AC_FUNC_MALLOC
 AC_FUNC_REALLOC
 AC_FUNC_STRNLEN
+AC_CHECK_FUNC(fchown, AC_DEFINE(HAVE_FCHOWN, 1, "Define if fchown() exists"), 
AC_MSG_ERROR(["fchown() not found"]))
+AC_CHECK_FUNC(fchmod, AC_DEFINE(HAVE_FCHMOD, 1, "Define if fchmod() exists"), 
AC_MSG_ERROR(["fchmod() not found"]))
+AC_CHECK_FUNC(fstat, AC_DEFINE(HAVE_FSTAT, 1, "Define if fstat() exists"), 
AC_MSG_ERROR(["fstat() not found"]))
+AC_CHECK_FUNC(fstatat, AC_DEFINE(HAVE_FSTATAT, 1, "Define if fstatat() 
exists"), AC_MSG_ERROR(["fstatat() not found"]))
+AC_CHECK_FUNC(openat, AC_DEFINE(HAVE_OPENAT, 1, "Define if openat() exists"), 
AC_MSG_ERROR(["openat() not found"]))
+AC_CHECK_FUNC(asprintf, AC_DEFINE(HAVE_ASPRINTF, 1, "Define if asprintf() 
exists"), AC_MSG_ERROR(["asprintf() not found"]))
+# These are actually required.  Should switch to above form.
 AC_CHECK_FUNCS([alarm dup2 memset regcomp select socket strcasecmp strdup 
strerror strrchr strtol])
 
 # removed for now as kacpimon was not included in dist target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/acpid-2.0.15/input_layer.c 
new/acpid-2.0.16/input_layer.c
--- old/acpid-2.0.15/input_layer.c      2012-03-04 14:50:41.000000000 +0100
+++ new/acpid-2.0.16/input_layer.c      2012-03-22 14:24:25.000000000 +0100
@@ -55,6 +55,7 @@
 /* Event Table: Events we are interested in and their strings.  Use 
    evtest.c, acpi_genl, or kacpimon to find new events to add to this
    table. */
+
 static struct evtab_entry evtab[] = {
        {{{0,0}, EV_KEY, KEY_POWER, 1}, "button/power PBTN 00000080 00000000"},
        {{{0,0}, EV_KEY, KEY_SUSPEND, 1}, 
@@ -103,6 +104,35 @@
        {{{0,0}, EV_MSC, 4, 18}, "button/fnpgdown FNPGDOWN 00000080 00000000"},
 #endif
 
+/* This test probably belongs in configure.ac. */
+#ifdef SW_HEADPHONE_INSERT
+ #ifndef SW_LINEIN_INSERT
+  #define SW_LINEIN_INSERT 0x0d
+ #endif
+       {{{0,0}, EV_SW, SW_HEADPHONE_INSERT, 0},
+               "jack/headphone HEADPHONE unplug"},
+       {{{0,0}, EV_SW, SW_HEADPHONE_INSERT, 1},
+               "jack/headphone HEADPHONE plug"},
+       {{{0,0}, EV_SW, SW_MICROPHONE_INSERT, 0},
+               "jack/microphone MICROPHONE unplug"},
+       {{{0,0}, EV_SW, SW_MICROPHONE_INSERT, 1},
+               "jack/microphone MICROPHONE plug"},
+       {{{0,0}, EV_SW, SW_LINEOUT_INSERT, 0},
+               "jack/lineout LINEOUT unplug"},
+       {{{0,0}, EV_SW, SW_LINEOUT_INSERT, 1},
+               "jack/lineout LINEOUT plug"},
+       {{{0,0}, EV_SW, SW_VIDEOOUT_INSERT, 0},
+               "jack/videoout VIDEOOUT unplug"},
+       {{{0,0}, EV_SW, SW_VIDEOOUT_INSERT, 1},
+               "jack/videoout VIDEOOUT plug"},
+       {{{0,0}, EV_SW, SW_LINEIN_INSERT, 0},
+               "jack/linein LINEIN unplug"},
+       {{{0,0}, EV_SW, SW_LINEIN_INSERT, 1},
+               "jack/linein LINEIN plug"},
+#else
+ #warning SW_HEADPHONE_INSERT not found in input_layer.h. Support for 
plug/unplug events will be disabled. Please upgrade your kernel headers to 
Linux-3.2 or newer.
+#endif
+
        {{{0,0}, EV_KEY, KEY_ZOOM, 1}, "button/zoom ZOOM 00000080 00000000"},
        /* typical events file has "video.* 00000087" */
        {{{0,0}, EV_KEY, KEY_BRIGHTNESSDOWN, 1}, 
@@ -137,7 +167,7 @@
        {{{0,0}, EV_KEY, KEY_BRIGHTNESS_ZERO, 1}, 
                "video/brightnesszero BZRO 00000088 00000000"},
        {{{0,0}, EV_KEY, KEY_DISPLAY_OFF, 1}, 
-               "video/displayoff DOFF 00000089 00000000"}
+                       "video/displayoff DOFF 00000089 00000000"}
 };
 
 /*----------------------------------------------------------------------*/
@@ -149,7 +179,9 @@
        unsigned i;
        
        /* for each entry in the event table */
-       /* ??? is there a faster way? */
+       /* ??? Is there a faster way?  This is triggered every time the user
+        *     presses a key.  Maybe a simple hash algorithm?  Or a simple check
+        *     for very common keys (alphanumeric) and bail before this?  */
        for (i = 0; i < DIM(evtab); ++i)
        {
                /* if this is a matching event, return its string */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/acpid-2.0.15/sock.c new/acpid-2.0.16/sock.c
--- old/acpid-2.0.15/sock.c     2012-02-24 23:24:04.000000000 +0100
+++ new/acpid-2.0.16/sock.c     2012-03-21 00:58:11.000000000 +0100
@@ -111,20 +111,13 @@
                /* ??? Move CLOEXEC and NONBLOCK settings below up to here? */
        } else {
                /* create our own socket */
-               fd = ud_create_socket(socketfile);
+               fd = ud_create_socket(socketfile, socketmode);
                if (fd < 0) {
                        acpid_log(LOG_ERR, "can't open socket %s: %s",
                                socketfile, strerror(errno));
                        exit(EXIT_FAILURE);
                }
 
-               if (fchmod(fd, socketmode) < 0) {
-                       close(fd);
-                       acpid_log(LOG_ERR, "chmod() on socket %s: %s", 
-                       socketfile, strerror(errno));
-                       return;
-               }
-
                /* if we need to change the socket's group, do so */
                if (socketgroup) {
                        struct group *gr;
@@ -140,7 +133,11 @@
                            socketfile, strerror(errno));
                                exit(EXIT_FAILURE);
                        }
-                       if (fchown(fd, buf.st_uid, gr->gr_gid) < 0) {
+                       /* ??? I've tried using fchown(), however it doesn't 
work here.
+                        *     It also doesn't work before bind().  The GNU 
docs seem to
+                        *     indicate it isn't supposed to work with sockets. 
*/
+                       /* if (fchown(fd, buf.st_uid, gr->gr_gid) < 0) { */
+                       if (chown(socketfile, buf.st_uid, gr->gr_gid) < 0) {
                                acpid_log(LOG_ERR, "can't chown %s: %s", 
                            socketfile, strerror(errno));
                                exit(EXIT_FAILURE);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/acpid-2.0.15/ud_socket.c new/acpid-2.0.16/ud_socket.c
--- old/acpid-2.0.15/ud_socket.c        2012-03-04 14:50:41.000000000 +0100
+++ new/acpid-2.0.16/ud_socket.c        2012-03-21 00:58:19.000000000 +0100
@@ -23,7 +23,7 @@
 #include "ud_socket.h"
 
 int
-ud_create_socket(const char *name)
+ud_create_socket(const char *name, mode_t socketmode)
 {
        int fd;
        int r;
@@ -46,6 +46,16 @@
                return fd;
        }
 
+       /* Clear the umask to guarantee predictable results from fchmod(). */
+       umask(0);
+
+       if (fchmod(fd, socketmode) < 0) {
+               close(fd);
+               acpid_log(LOG_ERR, "fchmod() on socket %s: %s",
+               name, strerror(errno));
+               return -1;
+       }
+
        /* setup address struct */
        memset(&uds_addr, 0, sizeof(uds_addr));
        uds_addr.sun_family = AF_UNIX;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/acpid-2.0.15/ud_socket.h new/acpid-2.0.16/ud_socket.h
--- old/acpid-2.0.15/ud_socket.h        2009-04-29 16:36:29.000000000 +0200
+++ new/acpid-2.0.16/ud_socket.h        2012-03-21 00:54:18.000000000 +0100
@@ -8,7 +8,7 @@
 #include <sys/socket.h>
 #include <sys/un.h>
 
-int ud_create_socket(const char *name);
+int ud_create_socket(const char *name, mode_t socketmode);
 int ud_accept(int sock, struct ucred *cred);
 int ud_connect(const char *name);
 int ud_get_peercred(int fd, struct ucred *cred);

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to