Hello community,

here is the log from the commit of package colord for openSUSE:Factory checked 
in at 2015-03-03 11:10:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/colord (Old)
 and      /work/SRC/openSUSE:Factory/.colord.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "colord"

Changes:
--------
--- /work/SRC/openSUSE:Factory/colord/colord.changes    2015-01-30 
06:04:36.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.colord.new/colord.changes       2015-03-03 
11:10:26.000000000 +0100
@@ -1,0 +2,11 @@
+Fri Feb 27 09:32:10 UTC 2015 - dims...@opensuse.org
+
+- Update to version 1.2.9:
+  + New Features of colorhug:
+    - Add support for the ColorHug ALS device.
+    - Return the exact address on verification failure.
+  + Bugfixes:
+    - Fix cd-test-private linking.
+    - Fix reporting of logind errors.
+
+-------------------------------------------------------------------

Old:
----
  colord-1.2.8.tar.xz

New:
----
  colord-1.2.9.tar.xz

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

Other differences:
------------------
++++++ colord.spec ++++++
--- /var/tmp/diff_new_pack.bywcFk/_old  2015-03-03 11:10:27.000000000 +0100
+++ /var/tmp/diff_new_pack.bywcFk/_new  2015-03-03 11:10:27.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package colord
 #
-# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 %define _udevrulesdir %(pkg-config --variable=udevdir udev)/rules.d
 
 Name:           colord
-Version:        1.2.8
+Version:        1.2.9
 Release:        0
 Summary:        System Daemon for Managing Color Devices
 License:        GPL-2.0+

++++++ colord-1.2.8.tar.xz -> colord-1.2.9.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/colord-1.2.8/ChangeLog new/colord-1.2.9/ChangeLog
--- old/colord-1.2.8/ChangeLog  2015-01-15 10:19:53.000000000 +0100
+++ new/colord-1.2.9/ChangeLog  2015-02-20 20:44:49.000000000 +0100
@@ -1,6 +1,109 @@
+commit dbca12584d38ae28aa04fc238136d86d367e37db
+Author: Richard Hughes <rich...@hughsie.com>
+Date:   2015-02-20
+
+    Release colord 1.2.9
+
+M      NEWS
+M      doc/website/download.html
+
+commit 8a2ebf256c830c7fee3aeed4fe4b0dfef88894ed
+Author: Richard Hughes <rich...@hughsie.com>
+Date:  2015-02-20
+
+    trivial: Update the GtkDoc markup for the ColorHugALS support
+
+M      lib/colorhug/ch-common.h
+
+commit 47295896713aeb42584d20ae0edd7a6075636c30
+Author: Christopher James Halse Rogers <r...@ubuntu.com>
+Date:  2015-02-19
+
+    Fix reporting of logind errors.
+
+    The sd_* functions follow the kernel style of returning the negation
+    of the relevant
+    errno value on error. We therefore need to negate the return value
+    before passing
+    it to strerror().
+
+M      src/cd-main.c
+
+commit d4c31cc698c1085fd5f9a83b614772ea0119a8c2
+Author: Richard Hughes <rich...@hughsie.com>
+Date:  2015-02-16
+
+    colorhug: Return the exact address on verification failure
+
+M      lib/colorhug/ch-device-queue.c
+
+commit d8bc0e74f608753f84c89ff0d8d5e6babc1a1b62
+Author: Richard Hughes <rich...@hughsie.com>
+Date:  2015-02-09
+
+    colorhug: Add CH_ERROR_SELF_TEST_EEPROM error code
+
+M      lib/colorhug/ch-common.c
+M      lib/colorhug/ch-common.h
+
+commit ef72e9006e06c0bd315435a64b1157d5d71e8ae6
+Author: Richard Hughes <rich...@hughsie.com>
+Date:  2015-02-09
+
+    trivial: Hide the _LAST enum from the gtk-doc scanner
+
+M      lib/colorhug/ch-common.h
+
+commit 2e3bfe11115873d408a58769a7f5ccfd43054a7d
+Author: Richard Hughes <rich...@hughsie.com>
+Date:  2015-02-05
+
+    colorhug: Add support for the ColorHug ALS device
+
+M      lib/colorhug/ch-common.c
+M      lib/colorhug/ch-common.h
+M      lib/colorhug/ch-device-queue.c
+M      lib/colorhug/ch-device.c
+M      lib/colorhug/ch-device.h
+M      lib/colorhug/ch-inhx32.c
+M      lib/colorhug/ch-inhx32.h
+M      rules/69-cd-sensors.rules.in
+
+commit 98204831008414576eba2907277842c62e5a4aee
+Author: Christopher James Halse Rogers <r...@ubuntu.com>
+Date:  2015-02-13
+
+    Fix cd-test-private linking.
+
+    cd-test-private directly uses symbols from lcms2, so it's not
+    incorrect for it
+    to explicitly link to LCMS_LIBS.
+
+    I'm not entirely sure why libtool isn't adding that link
+    automatically, though.
+
+M      lib/colord/Makefile.am
+
+commit 8360abdc60975853cef7286983cc9eb19404ef5d
+Author: Richard Hughes <rich...@hughsie.com>
+Date:  2015-01-15
+
+    trivial: Endpoints are uint8 in size
+
+M      lib/colorhug/ch-common.h
+
+commit c5a77d70d1d4935a4ccec5f1a0ffab2972c02a21
+Author: Richard Hughes <rich...@hughsie.com>
+Date:  2015-01-15
+
+    trivial: post release version bump
+
+M      RELEASE
+M      configure.ac
+
 commit 3d1bbfe7b35326009d4e6c734ab57443fac303ff
 Author: Richard Hughes <rich...@hughsie.com>
-Date:   2015-01-15
+Date:  2015-01-15
 
     Release colord 1.2.8
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/colord-1.2.8/NEWS new/colord-1.2.9/NEWS
--- old/colord-1.2.8/NEWS       2015-01-15 10:17:23.000000000 +0100
+++ new/colord-1.2.9/NEWS       2015-02-20 20:38:24.000000000 +0100
@@ -1,3 +1,15 @@
+Version 1.2.9
+~~~~~~~~~~~~~
+Released: 2015-02-20
+
+New Features:
+ - colorhug: Add support for the ColorHug ALS device (Richard Hughes)
+ - colorhug: Return the exact address on verification failure (Richard Hughes)
+
+Bugfixes:
+ - Fix cd-test-private linking (Christopher James Halse Rogers)
+ - Fix reporting of logind errors (Christopher James Halse Rogers)
+
 Version 1.2.8
 ~~~~~~~~~~~~~
 Released: 2015-01-15
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/colord-1.2.8/config.h new/colord-1.2.9/config.h
--- old/colord-1.2.8/config.h   2014-12-15 12:14:44.000000000 +0100
+++ new/colord-1.2.9/config.h   2015-02-05 17:07:07.000000000 +0100
@@ -97,7 +97,7 @@
 #define PACKAGE_NAME "colord"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "colord 1.2.8"
+#define PACKAGE_STRING "colord 1.2.9"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "colord"
@@ -106,7 +106,7 @@
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.2.8"
+#define PACKAGE_VERSION "1.2.9"
 
 /* Define to 1 if you have the ANSI C header files. */
 #define STDC_HEADERS 1
@@ -118,4 +118,4 @@
 #define USE_POLKIT 1
 
 /* Version number of package */
-#define VERSION "1.2.8"
+#define VERSION "1.2.9"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/colord-1.2.8/configure new/colord-1.2.9/configure
--- old/colord-1.2.8/configure  2015-01-14 10:06:04.000000000 +0100
+++ new/colord-1.2.9/configure  2015-02-05 17:07:03.000000000 +0100
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for colord 1.2.8.
+# Generated by GNU Autoconf 2.69 for colord 1.2.9.
 #
 # Report bugs to <http://www.freedesktop.org/software/colord/>.
 #
@@ -590,8 +590,8 @@
 # Identity of this package.
 PACKAGE_NAME='colord'
 PACKAGE_TARNAME='colord'
-PACKAGE_VERSION='1.2.8'
-PACKAGE_STRING='colord 1.2.8'
+PACKAGE_VERSION='1.2.9'
+PACKAGE_STRING='colord 1.2.9'
 PACKAGE_BUGREPORT='http://www.freedesktop.org/software/colord/'
 PACKAGE_URL=''
 
@@ -1545,7 +1545,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 colord 1.2.8 to adapt to many kinds of systems.
+\`configure' configures colord 1.2.9 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1615,7 +1615,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of colord 1.2.8:";;
+     short | recursive ) echo "Configuration of colord 1.2.9:";;
    esac
   cat <<\_ACEOF
 
@@ -1809,7 +1809,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-colord configure 1.2.8
+colord configure 1.2.9
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2178,7 +2178,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by colord $as_me 1.2.8, which was
+It was created by colord $as_me 1.2.9, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3043,7 +3043,7 @@
 
 # Define the identity of the package.
  PACKAGE='colord'
- VERSION='1.2.8'
+ VERSION='1.2.9'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -12716,7 +12716,7 @@
 # use this in cd-version.h
 CD_MAJOR_VERSION=1
 CD_MINOR_VERSION=2
-CD_MICRO_VERSION=8
+CD_MICRO_VERSION=9
 
 
 
@@ -19373,7 +19373,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by colord $as_me 1.2.8, which was
+This file was extended by colord $as_me 1.2.9, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -19439,7 +19439,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-colord config.status 1.2.8
+colord config.status 1.2.9
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/colord-1.2.8/configure.ac 
new/colord-1.2.9/configure.ac
--- old/colord-1.2.8/configure.ac       2015-01-14 10:05:53.000000000 +0100
+++ new/colord-1.2.9/configure.ac       2015-01-15 13:27:39.000000000 +0100
@@ -3,7 +3,7 @@
 
 m4_define([cd_major_version], [1])
 m4_define([cd_minor_version], [2])
-m4_define([cd_micro_version], [8])
+m4_define([cd_micro_version], [9])
 m4_define([cd_version],
           [cd_major_version.cd_minor_version.cd_micro_version])
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/colord-1.2.8/doc/api/Makefile.in 
new/colord-1.2.9/doc/api/Makefile.in
--- old/colord-1.2.8/doc/api/Makefile.in        2015-01-14 10:06:03.000000000 
+0100
+++ new/colord-1.2.9/doc/api/Makefile.in        2015-02-05 17:07:01.000000000 
+0100
@@ -800,11 +800,11 @@
        @echo "This command is intended for maintainers to use"
        @echo "it deletes files that may require special tools to rebuild."
        -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
-@ENABLE_GTK_DOC_FALSE@distclean-local:
-@ENABLE_GTK_DOC_FALSE@maintainer-clean-local:
+@ENABLE_GTK_DOC_FALSE@install-data-local:
 @ENABLE_GTK_DOC_FALSE@uninstall-local:
+@ENABLE_GTK_DOC_FALSE@distclean-local:
 @ENABLE_GTK_DOC_FALSE@clean-local:
-@ENABLE_GTK_DOC_FALSE@install-data-local:
+@ENABLE_GTK_DOC_FALSE@maintainer-clean-local:
 clean: clean-recursive
 
 clean-am: clean-generic clean-libtool clean-local mostlyclean-am
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/colord-1.2.8/doc/api/html/index.html 
new/colord-1.2.9/doc/api/html/index.html
--- old/colord-1.2.8/doc/api/html/index.html    2015-01-15 10:19:54.000000000 
+0100
+++ new/colord-1.2.9/doc/api/html/index.html    2015-02-20 20:44:49.000000000 
+0100
@@ -22,7 +22,7 @@
             <code class="email">&lt;<a class="email" 
href="mailto:rich...@hughsie.com";>rich...@hughsie.com</a>&gt;</code><br>
           </p></div></div>
 </div></div></div>
-<div><p class="releaseinfo">Version 1.2.8
+<div><p class="releaseinfo">Version 1.2.9
 </p></div>
 <div><p class="copyright">Copyright © 2011 The colord authors</p></div>
 <div><div class="legalnotice">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/colord-1.2.8/doc/api/version.xml 
new/colord-1.2.9/doc/api/version.xml
--- old/colord-1.2.8/doc/api/version.xml        2015-01-14 10:06:07.000000000 
+0100
+++ new/colord-1.2.9/doc/api/version.xml        2015-02-05 17:07:06.000000000 
+0100
@@ -1 +1 @@
-1.2.8
+1.2.9
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/colord-1.2.8/lib/colord/Makefile.am 
new/colord-1.2.9/lib/colord/Makefile.am
--- old/colord-1.2.8/lib/colord/Makefile.am     2014-11-19 17:40:46.000000000 
+0100
+++ new/colord-1.2.9/lib/colord/Makefile.am     2015-02-16 10:40:03.000000000 
+0100
@@ -154,6 +154,7 @@
        $(GLIB_LIBS)                                            \
        $(GLIB_UNIX_LIBS)                                       \
        $(UDEV_LIBS)                                            \
+       $(LCMS_LIBS)                                            \
        $(lib_LTLIBRARIES)
 
 cd_test_private_CFLAGS = $(WARNINGFLAGS_C)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/colord-1.2.8/lib/colord/Makefile.in 
new/colord-1.2.9/lib/colord/Makefile.in
--- old/colord-1.2.8/lib/colord/Makefile.in     2015-01-14 10:06:04.000000000 
+0100
+++ new/colord-1.2.9/lib/colord/Makefile.in     2015-02-16 16:43:47.000000000 
+0100
@@ -200,7 +200,8 @@
        cd_test_private-cd-test-private.$(OBJEXT)
 cd_test_private_OBJECTS = $(am_cd_test_private_OBJECTS)
 cd_test_private_DEPENDENCIES = $(am__DEPENDENCIES_1) \
-       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) $(lib_LTLIBRARIES)
+       $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+       $(am__DEPENDENCIES_1) $(lib_LTLIBRARIES)
 cd_test_private_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
        $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
        $(cd_test_private_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
@@ -819,6 +820,7 @@
        $(GLIB_LIBS)                                            \
        $(GLIB_UNIX_LIBS)                                       \
        $(UDEV_LIBS)                                            \
+       $(LCMS_LIBS)                                            \
        $(lib_LTLIBRARIES)
 
 cd_test_private_CFLAGS = $(WARNINGFLAGS_C)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/colord-1.2.8/lib/colord/cd-version.h 
new/colord-1.2.9/lib/colord/cd-version.h
--- old/colord-1.2.8/lib/colord/cd-version.h    2015-01-14 10:06:08.000000000 
+0100
+++ new/colord-1.2.9/lib/colord/cd-version.h    2015-02-05 17:07:07.000000000 
+0100
@@ -55,7 +55,7 @@
  *
  * The compile-time micro version
  */
-#define CD_MICRO_VERSION                               (8)
+#define CD_MICRO_VERSION                               (9)
 
 /**
  * CD_CHECK_VERSION:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/colord-1.2.8/lib/colorhug/ch-common.c 
new/colord-1.2.9/lib/colorhug/ch-common.c
--- old/colord-1.2.8/lib/colorhug/ch-common.c   2014-09-12 16:40:44.000000000 
+0200
+++ new/colord-1.2.9/lib/colorhug/ch-common.c   2015-02-16 20:33:50.000000000 
+0100
@@ -141,6 +141,9 @@
        case CH_ERROR_I2C_SLAVE_CONFIG:
                str = "I2C set slave config failed";
                break;
+       case CH_ERROR_SELF_TEST_EEPROM:
+               str = "Self test failed: EEPROM";
+               break;
        default:
                str = "Unknown error, please report";
                break;
@@ -434,6 +437,8 @@
                        return CH_DEVICE_MODE_FIRMWARE2;
                if (memcmp (data + i, CH_FIRMWARE_ID_TOKEN_PLUS, 8) == 0)
                        return CH_DEVICE_MODE_FIRMWARE_PLUS;
+               if (memcmp (data + i, CH_FIRMWARE_ID_TOKEN_ALS, 8) == 0)
+                       return CH_DEVICE_MODE_FIRMWARE_ALS;
        }
        return CH_DEVICE_MODE_UNKNOWN;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/colord-1.2.8/lib/colorhug/ch-common.h 
new/colord-1.2.9/lib/colorhug/ch-common.h
--- old/colord-1.2.8/lib/colorhug/ch-common.h   2014-12-01 13:43:32.000000000 
+0100
+++ new/colord-1.2.9/lib/colorhug/ch-common.h   2015-02-20 13:55:41.000000000 
+0100
@@ -1,6 +1,6 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
  *
- * Copyright (C) 2011-2013 Richard Hughes <rich...@hughsie.com>
+ * Copyright (C) 2011-2015 Richard Hughes <rich...@hughsie.com>
  *
  * Licensed under the GNU General Public License Version 2
  *
@@ -35,13 +35,15 @@
 #define        CH_USB_VID                              0x273f
 #define        CH_USB_PID_BOOTLOADER                   0x1000
 #define        CH_USB_PID_BOOTLOADER2                  0x1005
+#define        CH_USB_PID_BOOTLOADER_ALS               0x1006  /* since 1.2.9 
*/
 #define        CH_USB_PID_BOOTLOADER_PLUS              0x1003
 #define        CH_USB_PID_FIRMWARE                     0x1001
 #define        CH_USB_PID_FIRMWARE2                    0x1004
+#define        CH_USB_PID_FIRMWARE_ALS                 0x1007  /* since 1.2.9 
*/
 #define        CH_USB_PID_FIRMWARE_PLUS                0x1002
 #define        CH_USB_CONFIG                           0x0001
 #define        CH_USB_INTERFACE                        0x0000
-#define        CH_USB_HID_EP                           0x0001
+#define        CH_USB_HID_EP                           0x01
 #define        CH_USB_HID_EP_IN                        (CH_USB_HID_EP | 0x80)
 #define        CH_USB_HID_EP_OUT                       (CH_USB_HID_EP | 0x00)
 #define        CH_USB_HID_EP_SIZE                      64
@@ -71,6 +73,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ×
  * ColorHug+      |      ×       |      ×
+ * ColorHugALS    |      ×       |      ✓
  *
  * Since: 0.1.29
  **/
@@ -91,6 +94,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ×
  * ColorHug+      |      ×       |      ×
+ * ColorHugALS    |      ×       |      ✓
  *
  * Since: 0.1.29
  **/
@@ -111,6 +115,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ×
  * ColorHug+      |      ×       |      ×
+ * ColorHugALS    |      ×       |      ✓
  *
  * Since: 0.1.29
  **/
@@ -131,6 +136,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ×
  * ColorHug+      |      ×       |      ×
+ * ColorHugALS    |      ×       |      ✓
  *
  * Since: 0.1.29
  **/
@@ -151,6 +157,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ×
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ✓
  *
  * Since: 0.1.29
  **/
@@ -171,6 +178,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ×
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ✓
  *
  * Since: 0.1.29
  **/
@@ -191,6 +199,7 @@
  * ColorHug       |      ✓       |      ✓
  * ColorHug2      |      ✓       |      ✓
  * ColorHug+      |      ✓       |      ✓
+ * ColorHugALS    |      ✓       |      ✓
  *
  * Since: 0.1.29
  **/
@@ -221,6 +230,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ✓
  * ColorHug+      |      ×       |      ×
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.29
  **/
@@ -241,6 +251,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ✓
  * ColorHug+      |      ×       |      ×
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.29
  **/
@@ -261,6 +272,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ✓
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ✓
  *
  * Since: 0.1.29
  **/
@@ -281,6 +293,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ✓
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ✓
  *
  * Since: 0.1.29
  **/
@@ -301,6 +314,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ✓
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ✓       |      ✓
  *
  * Since: 0.1.29
  **/
@@ -325,6 +339,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ✓
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ✓
  *
  * Since: 0.1.29
  **/
@@ -345,6 +360,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ×
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.29
  **/
@@ -367,6 +383,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ×
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.29
  **/
@@ -387,6 +404,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ✓
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.29
  **/
@@ -407,6 +425,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ✓
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.29
  **/
@@ -427,6 +446,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ✓
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.29
  **/
@@ -447,6 +467,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ✓
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.29
  **/
@@ -467,6 +488,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ✓
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ✓
  *
  * Since: 0.1.29
  **/
@@ -487,6 +509,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ×
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ✓
  *
  * Since: 0.1.29
  **/
@@ -510,6 +533,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ✓
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.29
  **/
@@ -539,6 +563,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ✓
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.29
  **/
@@ -562,6 +587,7 @@
  * ColorHug       |      ×       |      ×
  * ColorHug2      |      ×       |      ×
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.31
  **/
@@ -583,6 +609,7 @@
  * ColorHug       |      ×       |      ×
  * ColorHug2      |      ×       |      ×
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.31
  **/
@@ -604,6 +631,7 @@
  * ColorHug       |      ×       |      ×
  * ColorHug2      |      ×       |      ×
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.31
  **/
@@ -626,6 +654,7 @@
  * ColorHug       |      ×       |      ×
  * ColorHug2      |      ×       |      ×
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.31
  **/
@@ -646,6 +675,7 @@
  * ColorHug       |      ×       |      ×
  * ColorHug2      |      ×       |      ×
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.31
  **/
@@ -666,6 +696,7 @@
  * ColorHug       |      ✓       |      ✓
  * ColorHug2      |      ✓       |      ✓
  * ColorHug+      |      ✓       |      ✓
+ * ColorHugALS    |      ✓       |      ✓
  *
  * Since: 0.1.29
  **/
@@ -686,6 +717,7 @@
  * ColorHug       |      ✓       |      ×
  * ColorHug2      |      ✓       |      ×
  * ColorHug+      |      ✓       |      ×
+ * ColorHugALS    |      ✓       |      ×
  *
  * Since: 0.1.29
  **/
@@ -708,6 +740,7 @@
  * ColorHug       |      ✓       |      ×
  * ColorHug2      |      ✓       |      ×
  * ColorHug+      |      ✓       |      ×
+ * ColorHugALS    |      ✓       |      ×
  *
  * Since: 0.1.29
  **/
@@ -729,6 +762,7 @@
  * ColorHug       |      ✓       |      ×
  * ColorHug2      |      ✓       |      ×
  * ColorHug+      |      ✓       |      ×
+ * ColorHugALS    |      ✓       |      ×
  *
  * Since: 0.1.29
  **/
@@ -749,6 +783,7 @@
  * ColorHug       |      ✓       |      ×
  * ColorHug2      |      ✓       |      ×
  * ColorHug+      |      ✓       |      ×
+ * ColorHugALS    |      ✓       |      ×
  *
  * Since: 0.1.29
  **/
@@ -782,7 +817,8 @@
  * ColorHug       |      ✓       |      ✓
  * ColorHug2      |      ✓       |      ✓
  * ColorHug+      |      ✓       |      ✓
-
+ * ColorHugALS    |      ✓       |      ✓
+ *
  * Different values of @success are permitted in each mode.
  *
  * Since: 0.1.29
@@ -804,6 +840,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ×
  * ColorHug+      |      ×       |      ×
+ * ColorHugALS    |      ×       |      ✓
  *
  * Since: 0.1.29
  **/
@@ -824,6 +861,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ×
  * ColorHug+      |      ×       |      ×
+ * ColorHugALS    |      ×       |      ✓
  *
  * Since: 0.1.29
  **/
@@ -844,6 +882,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ×
  * ColorHug+      |      ×       |      ×
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.29
  **/
@@ -864,6 +903,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ×
  * ColorHug+      |      ×       |      ×
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.29
  **/
@@ -896,6 +936,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ✓
  * ColorHug+      |      ×       |      ×
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.29
  **/
@@ -916,6 +957,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ✓
  * ColorHug+      |      ×       |      ×
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.29
  **/
@@ -943,6 +985,7 @@
  * ColorHug       |      ✓       |      ✓
  * ColorHug2      |      ✓       |      ✓
  * ColorHug+      |      ✓       |      ✓
+ * ColorHugALS    |      ✓       |      ✓
  *
  * Since: 0.1.29
  **/
@@ -971,6 +1014,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ×
  * ColorHug+      |      ×       |      ×
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.29
  **/
@@ -998,6 +1042,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ✓
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.29
  **/
@@ -1018,6 +1063,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ✓
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.29
  **/
@@ -1040,6 +1086,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ✓
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.29
  **/
@@ -1061,6 +1108,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ✓
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.29
  **/
@@ -1083,6 +1131,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ×
  * ColorHug+      |      ×       |      ×
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.29
  **/
@@ -1103,6 +1152,7 @@
  * ColorHug       |      ×       |      ✓
  * ColorHug2      |      ×       |      ×
  * ColorHug+      |      ×       |      ×
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.29
  **/
@@ -1123,6 +1173,7 @@
  * ColorHug       |      ×       |      ×
  * ColorHug2      |      ×       |      ✓
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.29
  **/
@@ -1143,6 +1194,7 @@
  * ColorHug       |      ×       |      ×
  * ColorHug2      |      ×       |      ✓
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.29
  **/
@@ -1163,6 +1215,7 @@
  * ColorHug       |      ×       |      ×
  * ColorHug2      |      ×       |      ✓
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 0.1.29
  **/
@@ -1183,6 +1236,7 @@
  * ColorHug       |      ×       |      ×
  * ColorHug2      |      ×       |      ×
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 1.1.6
  **/
@@ -1203,6 +1257,7 @@
  * ColorHug       |      ×       |      ×
  * ColorHug2      |      ×       |      ×
  * ColorHug+      |      ×       |      ✓
+ * ColorHugALS    |      ×       |      ×
  *
  * Since: 1.1.6
  **/
@@ -1224,6 +1279,7 @@
  * ColorHug       |      ✓       |      ✓
  * ColorHug2      |      ✓       |      ✓
  * ColorHug+      |      ✓       |      ✓
+ * ColorHugALS    |      ✓       |      ×
  *
  * Since: 0.1.29
  **/
@@ -1233,6 +1289,7 @@
 #define        CH_WRITE_EEPROM_MAGIC                   "Un1c0rn2"
 #define        CH_FIRMWARE_ID_TOKEN1                   "40338ceb"
 #define        CH_FIRMWARE_ID_TOKEN2                   "2082b5e0"
+#define        CH_FIRMWARE_ID_TOKEN_ALS                "84f40464"      /* 
since 1.2.9 */
 #define        CH_FIRMWARE_ID_TOKEN_PLUS               "6d6f05a9"
 
 /* input and output buffer offsets */
@@ -1244,6 +1301,7 @@
 
 /* where the custom firmware is stored */
 #define CH_EEPROM_ADDR_RUNCODE                 0x4000
+#define CH_EEPROM_ADDR_RUNCODE_ALS             0x2000          /* since 1.2.9 
*/
 
 /* the number of useful samples from the the CCD */
 #define CH_CCD_SPECTRAL_RESOLUTION             3648
@@ -1342,6 +1400,8 @@
        CH_ERROR_SELF_TEST_ADC_VREF,
        CH_ERROR_I2C_SLAVE_ADDRESS,
        CH_ERROR_I2C_SLAVE_CONFIG,
+       CH_ERROR_SELF_TEST_EEPROM,      /* since 1.2.9 */
+       /*< private >*/
        CH_ERROR_LAST
 } ChError;
 
@@ -1356,6 +1416,7 @@
        CH_PCB_ERRATA_NONE              = 0,
        CH_PCB_ERRATA_SWAPPED_LEDS      = 1 << 0,
        CH_PCB_ERRATA_NO_WELCOME        = 1 << 1,
+       /*< private >*/
        CH_PCB_ERRATA_LAST              = 1 << 2
 } ChPcbErrata;
 
@@ -1368,6 +1429,9 @@
        CH_DEVICE_MODE_FIRMWARE_PLUS,
        CH_DEVICE_MODE_FIRMWARE2,       /* since 1.2.2 */
        CH_DEVICE_MODE_BOOTLOADER2,     /* since 1.2.3 */
+       CH_DEVICE_MODE_BOOTLOADER_ALS,  /* since 1.2.9 */
+       CH_DEVICE_MODE_FIRMWARE_ALS,    /* since 1.2.9 */
+       /*< private >*/
        CH_DEVICE_MODE_LAST
 } ChDeviceMode;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/colord-1.2.8/lib/colorhug/ch-device-queue.c 
new/colord-1.2.9/lib/colorhug/ch-device-queue.c
--- old/colord-1.2.8/lib/colorhug/ch-device-queue.c     2014-11-24 
14:57:12.000000000 +0100
+++ new/colord-1.2.9/lib/colorhug/ch-device-queue.c     2015-02-16 
20:33:50.000000000 +0100
@@ -1216,17 +1216,19 @@
 {
        gsize chunk_len;
        guint idx;
+       guint16 runcode_addr;
 
        g_return_if_fail (CH_IS_DEVICE_QUEUE (device_queue));
        g_return_if_fail (G_USB_IS_DEVICE (device));
        g_return_if_fail (data != NULL);
 
        /* erase flash */
+       runcode_addr = ch_device_get_runcode_address (device);
        g_debug ("Erasing at %04x size %" G_GSIZE_FORMAT,
-                CH_EEPROM_ADDR_RUNCODE, len);
+                runcode_addr, len);
        ch_device_queue_erase_flash (device_queue,
                                     device,
-                                    CH_EEPROM_ADDR_RUNCODE,
+                                    runcode_addr,
                                     len);
 
        /* just write in 32 byte chunks, as we're sure that the firmware
@@ -1238,11 +1240,11 @@
                if (idx + chunk_len > len)
                        chunk_len = len - idx;
                g_debug ("Writing at %04x size %" G_GSIZE_FORMAT,
-                        CH_EEPROM_ADDR_RUNCODE + idx,
+                        runcode_addr + idx,
                         chunk_len);
                ch_device_queue_write_flash (device_queue,
                                             device,
-                                            CH_EEPROM_ADDR_RUNCODE + idx,
+                                            runcode_addr + idx,
                                             (guint8 *) data + idx,
                                             chunk_len);
                idx += chunk_len;
@@ -1270,6 +1272,7 @@
 {
        gsize chunk_len;
        guint idx;
+       guint16 runcode_addr;
 
        g_return_if_fail (CH_IS_DEVICE_QUEUE (device_queue));
        g_return_if_fail (G_USB_IS_DEVICE (device));
@@ -1278,15 +1281,16 @@
        /* read in 60 byte chunks */
        idx = 0;
        chunk_len = 60;
+       runcode_addr = ch_device_get_runcode_address (device);
        do {
                if (idx + chunk_len > len)
                        chunk_len = len - idx;
                g_debug ("Verifying at %04x size %" G_GSIZE_FORMAT,
-                        CH_EEPROM_ADDR_RUNCODE + idx,
+                        runcode_addr + idx,
                         chunk_len);
                ch_device_queue_verify_flash (device_queue,
                                              device,
-                                             CH_EEPROM_ADDR_RUNCODE + idx,
+                                             runcode_addr + idx,
                                              data + idx,
                                              chunk_len);
                idx += chunk_len;
@@ -2533,6 +2537,7 @@
                                        GError **error)
 {
        ChDeviceQueueReadFlashHelper *helper = (ChDeviceQueueReadFlashHelper *) 
user_data;
+       guint16 i;
        guint8 expected_checksum;
 
        /* check buffer size */
@@ -2555,9 +2560,13 @@
 
        /* verify data */
        if (memcmp (helper->data, output_buffer + 1, helper->len) != 0) {
+               for (i = 0; i < helper->len; i++) {
+                       if (helper->data[i] != output_buffer[i + 1])
+                               break;
+               }
                g_set_error (error, 1, 0,
                             "Failed to verify at @0x%04x",
-                            helper->address);
+                            helper->address + i);
                return FALSE;
        }
        return TRUE;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/colord-1.2.8/lib/colorhug/ch-device.c 
new/colord-1.2.9/lib/colorhug/ch-device.c
--- old/colord-1.2.8/lib/colorhug/ch-device.c   2014-10-09 22:30:21.000000000 
+0200
+++ new/colord-1.2.9/lib/colorhug/ch-device.c   2015-02-16 10:40:03.000000000 
+0100
@@ -1,6 +1,6 @@
 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
  *
- * Copyright (C) 2011-2013 Richard Hughes <rich...@hughsie.com>
+ * Copyright (C) 2011-2015 Richard Hughes <rich...@hughsie.com>
  *
  * Licensed under the GNU General Public License Version 2
  *
@@ -112,6 +112,9 @@
        case CH_USB_PID_BOOTLOADER_PLUS:
                state = CH_DEVICE_MODE_BOOTLOADER_PLUS;
                break;
+       case CH_USB_PID_BOOTLOADER_ALS:
+               state = CH_DEVICE_MODE_BOOTLOADER_ALS;
+               break;
        case CH_USB_PID_FIRMWARE:
                state = CH_DEVICE_MODE_FIRMWARE;
                break;
@@ -121,6 +124,9 @@
        case CH_USB_PID_FIRMWARE_PLUS:
                state = CH_DEVICE_MODE_FIRMWARE_PLUS;
                break;
+       case CH_USB_PID_FIRMWARE_ALS:
+               state = CH_DEVICE_MODE_FIRMWARE_ALS;
+               break;
        default:
                state = CH_DEVICE_MODE_UNKNOWN;
                break;
@@ -571,6 +577,7 @@
        case CH_DEVICE_MODE_FIRMWARE:
                /* fw versions < 1.2.2 has no magic bytes */
                if (device_mode_fw == CH_DEVICE_MODE_FIRMWARE2 ||
+                   device_mode_fw == CH_DEVICE_MODE_FIRMWARE_ALS ||
                    device_mode_fw == CH_DEVICE_MODE_FIRMWARE_PLUS) {
                        g_set_error (error,
                                     CH_DEVICE_ERROR,
@@ -605,9 +612,52 @@
                        return FALSE;
                }
                break;
+       case CH_DEVICE_MODE_BOOTLOADER_ALS:
+       case CH_DEVICE_MODE_FIRMWARE_ALS:
+               if (device_mode_fw != CH_DEVICE_MODE_FIRMWARE_ALS) {
+                       g_set_error (error,
+                                    CH_DEVICE_ERROR,
+                                    CH_ERROR_INVALID_VALUE,
+                                    "This firmware is not designed for "
+                                    "ColorHug ALS (identifier is '%s')",
+                                    ch_device_mode_to_string (device_mode_fw));
+                       return FALSE;
+               }
+               break;
        default:
                g_assert_not_reached ();
                break;
        }
        return TRUE;
 }
+
+/**
+ * ch_device_get_runcode_address:
+ * @device:            A #GUsbDevice
+ *
+ * Returns the runcode address for the ColorHug device.
+ *
+ * Return value: the runcode address, or 0 for error
+ *
+ * Since: 1.2.9
+ **/
+guint16
+ch_device_get_runcode_address (GUsbDevice *device)
+{
+       switch (ch_device_get_mode (device)) {
+       case CH_DEVICE_MODE_LEGACY:
+       case CH_DEVICE_MODE_BOOTLOADER:
+       case CH_DEVICE_MODE_FIRMWARE:
+       case CH_DEVICE_MODE_BOOTLOADER2:
+       case CH_DEVICE_MODE_FIRMWARE2:
+       case CH_DEVICE_MODE_BOOTLOADER_PLUS:
+       case CH_DEVICE_MODE_FIRMWARE_PLUS:
+               return CH_EEPROM_ADDR_RUNCODE;
+       case CH_DEVICE_MODE_FIRMWARE_ALS:
+       case CH_DEVICE_MODE_BOOTLOADER_ALS:
+               return CH_EEPROM_ADDR_RUNCODE_ALS;
+       default:
+               break;
+       }
+       return 0;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/colord-1.2.8/lib/colorhug/ch-device.h 
new/colord-1.2.9/lib/colorhug/ch-device.h
--- old/colord-1.2.8/lib/colorhug/ch-device.h   2014-09-12 16:40:45.000000000 
+0200
+++ new/colord-1.2.9/lib/colorhug/ch-device.h   2015-02-16 10:40:03.000000000 
+0100
@@ -68,6 +68,7 @@
                                                 gsize           data_len,
                                                 GError         **error)
                                                 G_GNUC_WARN_UNUSED_RESULT;
+guint16                 ch_device_get_runcode_address  (GUsbDevice     
*device);
 
 G_END_DECLS
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/colord-1.2.8/lib/colorhug/ch-inhx32.c 
new/colord-1.2.9/lib/colorhug/ch-inhx32.c
--- old/colord-1.2.8/lib/colorhug/ch-inhx32.c   2014-06-04 10:15:54.000000000 
+0200
+++ new/colord-1.2.9/lib/colorhug/ch-inhx32.c   2015-02-16 20:33:50.000000000 
+0100
@@ -47,10 +47,11 @@
 }
 
 /**
- * ch_inhx32_to_bin:
+ * ch_inhx32_to_bin_full:
  * @in_buffer: A %NULL terminated Intel hex byte string
  * @out_buffer: The output byte buffer
  * @out_size: The size of @out_buffer
+ * @runcode_addr: The runcode address of the firmware
  * @error: A #GError or %NULL
  *
  * Converts the Intel hex byte string into a binary packed
@@ -58,13 +59,14 @@
  *
  * Return value: packed value to host byte order
  *
- * Since: 0.1.29
+ * Since: 1.2.9
  **/
 gboolean
-ch_inhx32_to_bin (const gchar *in_buffer,
-                 guint8 **out_buffer,
-                 gsize *out_size,
-                 GError **error)
+ch_inhx32_to_bin_full (const gchar *in_buffer,
+                      guint8 **out_buffer,
+                      gsize *out_size,
+                      guint16 runcode_addr,
+                      GError **error)
 {
        gboolean verbose;
        gchar *ptr;
@@ -83,6 +85,7 @@
        _cleanup_string_free_ GString *string = NULL;
 
        g_return_val_if_fail (in_buffer != NULL, FALSE);
+       g_return_val_if_fail (runcode_addr > 0, FALSE);
 
        /* only if set */
        verbose = g_getenv ("VERBOSE") != NULL;
@@ -122,7 +125,7 @@
 
                        /* Parse bytes from line into hexBuf */
                        for (i = offset + 9; i < end; i += 2) {
-                               if (addr32 >= CH_EEPROM_ADDR_RUNCODE &&
+                               if (addr32 >= runcode_addr &&
                                    addr32 < 0xfff0) {
 
                                        /* find out if there are any
@@ -134,7 +137,9 @@
                                                                g_debug 
("Filling address 0x%04x",
                                                                         
addr32_last + j);
                                                        }
-                                                       g_string_append_c 
(string, 0xff);
+                                                       /* although 0xff might 
be clearer,
+                                                        * we can't write 
0xffff to pic14 */
+                                                       g_string_append_c 
(string, 0x00);
                                                }
                                        }
                                        data_tmp = ch_inhx32_parse_uint8 
(in_buffer, i);
@@ -185,3 +190,28 @@
                *out_buffer = g_memdup (string->str, string->len);
        return TRUE;
 }
+
+/**
+ * ch_inhx32_to_bin:
+ * @in_buffer: A %NULL terminated Intel hex byte string
+ * @out_buffer: The output byte buffer
+ * @out_size: The size of @out_buffer
+ * @error: A #GError or %NULL
+ *
+ * Converts the Intel hex byte string into a binary packed
+ * representation suitable for direct flashing the ColorHug.
+ *
+ * Return value: packed value to host byte order
+ *
+ * Since: 0.1.29
+ **/
+gboolean
+ch_inhx32_to_bin (const gchar *in_buffer,
+                 guint8 **out_buffer,
+                 gsize *out_size,
+                 GError **error)
+{
+       return ch_inhx32_to_bin_full (in_buffer, out_buffer, out_size,
+                                     CH_EEPROM_ADDR_RUNCODE,
+                                     error);
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/colord-1.2.8/lib/colorhug/ch-inhx32.h 
new/colord-1.2.9/lib/colorhug/ch-inhx32.h
--- old/colord-1.2.8/lib/colorhug/ch-inhx32.h   2013-05-13 16:45:07.000000000 
+0200
+++ new/colord-1.2.9/lib/colorhug/ch-inhx32.h   2015-02-16 10:40:03.000000000 
+0100
@@ -37,6 +37,12 @@
                                                 gsize          *out_size,
                                                 GError         **error)
                                                 G_GNUC_WARN_UNUSED_RESULT;
+gboolean        ch_inhx32_to_bin_full          (const gchar    *in_buffer,
+                                                guint8         **out_buffer,
+                                                gsize          *out_size,
+                                                guint16         runcode_addr,
+                                                GError         **error)
+                                                G_GNUC_WARN_UNUSED_RESULT;
 
 G_END_DECLS
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/colord-1.2.8/rules/69-cd-sensors.rules.in 
new/colord-1.2.9/rules/69-cd-sensors.rules.in
--- old/colord-1.2.8/rules/69-cd-sensors.rules.in       2014-10-27 
18:01:40.000000000 +0100
+++ new/colord-1.2.9/rules/69-cd-sensors.rules.in       2015-02-16 
10:40:03.000000000 +0100
@@ -1,5 +1,5 @@
 ########################################################################
-# Copyright (C) 2009-2010 Richard Hughes <rich...@hughsie.com>
+# Copyright (C) 2009-2015 Richard Hughes <rich...@hughsie.com>
 #
 # Licensed under the GNU General Public License Version 2
 #
@@ -86,6 +86,10 @@
 ATTRS{idVendor}=="273f", ATTRS{idProduct}=="1003", 
ENV{COLORD_SENSOR_KIND}="colorhug-plus", ENV{COLORD_IGNORE}="1"
 ATTRS{idVendor}=="273f", ATTRS{idProduct}=="1002", 
ENV{COLORD_SENSOR_KIND}="colorhug-plus", ENV{COLORD_SENSOR_CAPS}="lcd"
 
+# ColorHug ALS
+ATTRS{idVendor}=="273f", ATTRS{idProduct}=="1006", 
ENV{COLORD_SENSOR_KIND}="colorhug-als", ENV{COLORD_IGNORE}="1"
+ATTRS{idVendor}=="273f", ATTRS{idProduct}=="1007", 
ENV{COLORD_SENSOR_KIND}="colorhug-als", ENV{COLORD_IGNORE}="1"
+
 # color calibration device
 ENV{COLORD_SENSOR_KIND}=="*?", ENV{COLOR_MEASUREMENT_DEVICE}="1"
 ENV{COLORD_SENSOR_KIND}=="*?", ENV{ID_MODEL}=="", IMPORT{builtin}="usb_id"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/colord-1.2.8/src/cd-main.c 
new/colord-1.2.9/src/cd-main.c
--- old/colord-1.2.8/src/cd-main.c      2014-11-19 17:40:46.000000000 +0100
+++ new/colord-1.2.9/src/cd-main.c      2015-02-19 10:25:37.000000000 +0100
@@ -536,7 +536,7 @@
        rc = sd_pid_get_session (pid, &sd_session);
        if (rc != 0) {
                g_warning ("failed to get session [pid %i]: %s",
-                          pid, strerror (rc));
+                          pid, strerror (-rc));
                goto out;
        }
 
@@ -544,7 +544,7 @@
        rc = sd_session_get_seat (sd_session, &sd_seat);
        if (rc != 0) {
                g_warning ("failed to get seat for session %s [pid %i]: %s",
-                          sd_session, pid, strerror (rc));
+                          sd_session, pid, strerror (-rc));
                goto out;
        }
        seat = g_strdup (sd_seat);

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to