Hello community, here is the log from the commit of package xiccd for openSUSE:Factory checked in at 2017-05-16 14:43:10 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/xiccd (Old) and /work/SRC/openSUSE:Factory/.xiccd.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xiccd" Tue May 16 14:43:10 2017 rev:4 rq:494393 version:0.2.4 Changes: -------- --- /work/SRC/openSUSE:Factory/xiccd/xiccd.changes 2014-11-02 16:46:24.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.xiccd.new/xiccd.changes 2017-05-16 14:44:21.865796024 +0200 @@ -1,0 +2,13 @@ +Wed May 10 16:55:58 UTC 2017 - jeng...@inai.de + +- Update description, improve write style a bit. + +------------------------------------------------------------------- +Tue May 9 16:45:47 UTC 2017 - sor.ale...@meowr.ru + +- Update to version 0.2.4 (changes since 0.2.2): + * Removed obsolete DMI support. + * xiccd now registers OutputEdidMd5 property for devices. + * edid: Don't automatically generate edid profiles by default. + +------------------------------------------------------------------- Old: ---- xiccd-0.2.2.tar.gz New: ---- xiccd-0.2.4.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xiccd.spec ++++++ --- /var/tmp/diff_new_pack.geqt43/_old 2017-05-16 14:44:22.405720161 +0200 +++ /var/tmp/diff_new_pack.geqt43/_new 2017-05-16 14:44:22.413719037 +0200 @@ -1,7 +1,7 @@ # # spec file for package xiccd # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2017 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 @@ -17,7 +17,7 @@ Name: xiccd -Version: 0.2.2 +Version: 0.2.4 Release: 0 Summary: X11 ICC Daemon License: GPL-3.0+ @@ -26,56 +26,64 @@ Source: https://github.com/agalakhov/%{name}/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz BuildRequires: autoconf BuildRequires: automake -BuildRequires: pkg-config +BuildRequires: pkgconfig BuildRequires: pkgconfig(colord) BuildRequires: pkgconfig(xrandr) %description -xiccd is a simple bridge between colord and X. It does the following tasks: - * Enumerates displays and register them in colord; - * Creates default ICC profiles based on EDID data; - * Applies ICC profiles provided by colord; - * Maintains user's private ICC storage directory. - -It does basically the same as gnome-settings-daemon color plugin or -colord-kde but does not depend on any particular desktop. It even doesn't -depend on Gtk so it doesn't create useless Gtk3 dependency if the desktop -environment is Gtk2-based or vice versa. The primary goal of xiccd is -providing color profile support for desktop environments other than GNOME -and KDE (MATE, Xfce, LXDE and probably others) that do not support native -color management yet. It is however not meant to be excuse of not adding -native color management to the session daemons of them. +xiccd is a bridge between colord and the X server. Its tasks are: + + * to enumerate displays and register them in colord, + * to create default ICC profiles based on EDID data, + * to apply ICC profiles provided by colord, + * and to maintain user's private ICC storage directory. + +It does basically the same as the gnome-settings-daemon colour plugin +or colord-kde without depending on any particular desktop nor the +GTK+ libraries. + +The primary goal of xiccd is providing colour profile support for +desktop environments other than GNOME and KDE that do not support +native colour management yet, such as MATE, Xfce, LXDE, to name a +few. %prep %setup -q # XDG autostart. cat > %{name}.desktop << EOF -#!/usr/bin/env xdg-open [Desktop Entry] Version=1.0 Type=Application Name=X11 ICC Daemon -Comment=Start the XICCD +GenericName=X color management daemon +GenericName[en_GB]=X colour management daemon +Comment=Applies color management profiles to your session +Comment[en_GB]=Applies colour management profiles to your session Categories=Utility; Exec=%{name} Icon=preferences-system StartupNotify=false +Terminal=false NoDisplay=true EOF %build autoreconf -fi %configure -make %{?_smp_mflags} +make %{?_smp_mflags} V=1 %install %make_install -install -Dm 0644 %{name}.desktop %{buildroot}%{_sysconfdir}/xdg/autostart/%{name}.desktop + +rm %{buildroot}%{_datadir}/applications/%{name}.desktop +install -Dpm 0644 %{name}.desktop \ + %{buildroot}%{_sysconfdir}/xdg/autostart/%{name}.desktop %files %defattr(-,root,root) %doc AUTHORS ChangeLog COPYING NEWS README -%{_bindir}/%{name} %{_sysconfdir}/xdg/autostart/ +%{_bindir}/%{name} +%{_mandir}/man8/%{name}.8%{?ext_man} %changelog ++++++ xiccd-0.2.2.tar.gz -> xiccd-0.2.4.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xiccd-0.2.2/ChangeLog new/xiccd-0.2.4/ChangeLog --- old/xiccd-0.2.2/ChangeLog 2013-11-28 11:50:14.000000000 +0100 +++ new/xiccd-0.2.4/ChangeLog 2017-02-22 14:47:48.000000000 +0100 @@ -1,3 +1,8 @@ +xiccd 0.2.3 + + * Removed obsolete DMI support + * xiccd now registers OutputEdidMd5 property for devices + xiccd 0.2.2 * Coredump fix diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xiccd-0.2.2/Makefile.am new/xiccd-0.2.4/Makefile.am --- old/xiccd-0.2.2/Makefile.am 2013-11-28 11:50:14.000000000 +0100 +++ new/xiccd-0.2.4/Makefile.am 2017-02-22 14:47:48.000000000 +0100 @@ -1,2 +1,6 @@ - SUBDIRS = src + +dist_man_MANS = xiccd.8 + +desktopdir = $(datadir)/applications +desktop_DATA = xiccd.desktop diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xiccd-0.2.2/configure.ac new/xiccd-0.2.4/configure.ac --- old/xiccd-0.2.2/configure.ac 2013-11-28 11:50:14.000000000 +0100 +++ new/xiccd-0.2.4/configure.ac 2017-02-22 14:47:48.000000000 +0100 @@ -1,5 +1,5 @@ AC_PREREQ([2.69]) -AC_INIT([xiccd], [0.2.2]) +AC_INIT([xiccd], [0.2.4]) AC_CONFIG_SRCDIR([src/xiccd.c]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xiccd-0.2.2/src/Makefile.am new/xiccd-0.2.4/src/Makefile.am --- old/xiccd-0.2.2/src/Makefile.am 2013-11-28 11:50:14.000000000 +0100 +++ new/xiccd-0.2.4/src/Makefile.am 2017-02-22 14:47:48.000000000 +0100 @@ -1,7 +1,6 @@ bin_PROGRAMS = xiccd xiccd_SOURCES = xiccd.c \ - dmi.h dmi.c \ edid.h edid.c \ icc.h icc.c \ randr-conn.h randr-conn.c \ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xiccd-0.2.2/src/dmi.c new/xiccd-0.2.4/src/dmi.c --- old/xiccd-0.2.2/src/dmi.c 2013-11-28 11:50:14.000000000 +0100 +++ new/xiccd-0.2.4/src/dmi.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,76 +0,0 @@ -/* - * Copyright (C) 2013 Alexey Galakhov <agalak...@gmail.com> - * - * Licensed under the GNU General Public License Version 3 - * - * 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; either version 3 of the License, or - * (at your option) any later version. - * - * 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, see <http://www.gnu.org/licenses/>. - */ - -#include "dmi.h" - -#include <glib.h> - -static const gchar * const -sysfs_path = "/sys/class/dmi/id/"; - -static const gchar * const -vendor_table[] = { - "sys_vendor", - "chassis_vendor", - "board_vendor", - NULL -}; - -static const gchar * const -product_table[] = { - "product_name", - "board_name", - NULL -}; - -static const gchar * -probe_sysfs (const gchar * const table[]) -{ - const gchar * const *name = table; - gchar *retval = NULL; - for (; name; ++name) { - gsize len = 0; - gchar *path = g_strconcat (sysfs_path, *name, NULL); - g_file_get_contents (path, &retval, &len, NULL); - g_free (path); - if (retval) { - retval[len - 1] = '\0'; - break; - } - } - if (retval) { - g_strdelimit (retval, "\n", '\0'); - g_strstrip (retval); - } - return retval; -} - -const gchar * -dmi_query_vendor (void) -{ - return probe_sysfs (vendor_table); -} - -const gchar * -dmi_query_product (void) -{ - return probe_sysfs (product_table); -} - -/* vim: set ts=8 sw=8 tw=0 : */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xiccd-0.2.2/src/dmi.h new/xiccd-0.2.4/src/dmi.h --- old/xiccd-0.2.2/src/dmi.h 2013-11-28 11:50:14.000000000 +0100 +++ new/xiccd-0.2.4/src/dmi.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,31 +0,0 @@ -/* - * Copyright (C) 2013 Alexey Galakhov <agalak...@gmail.com> - * - * Licensed under the GNU General Public License Version 3 - * - * 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; either version 3 of the License, or - * (at your option) any later version. - * - * 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, see <http://www.gnu.org/licenses/>. - */ - -#ifndef __DMI_H__ -#define __DMI_H__ - -#include <glib.h> - -/* free with g_free() */ -const gchar * dmi_query_vendor (void); -const gchar * dmi_query_product (void); - -#endif /* __DMI_H__ */ - -/* vim: set ts=8 sw=8 tw=0 : */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xiccd-0.2.2/src/edid.c new/xiccd-0.2.4/src/edid.c --- old/xiccd-0.2.2/src/edid.c 2013-11-28 11:50:14.000000000 +0100 +++ new/xiccd-0.2.4/src/edid.c 2017-02-22 14:47:48.000000000 +0100 @@ -18,7 +18,6 @@ */ #include "edid.h" -#include "dmi.h" #include <errno.h> #include <stdlib.h> @@ -113,7 +112,7 @@ } void -edid_parse (struct edid *edid, gconstpointer edid_data, gsize edid_size, gboolean use_dmi) +edid_parse (struct edid *edid, gconstpointer edid_data, gsize edid_size) { const guint8 *d = (const guchar *) edid_data; guint i; @@ -185,14 +184,9 @@ edid->white.Y = 1.0; /* Extended info */ - if (use_dmi) { - edid->vendor = dmi_query_vendor (); - edid->model = dmi_query_product (); - g_debug ("DMI: vendor='%s' product='%s'", edid->vendor, edid->model); - } else { - edid->vendor = edid_resolve_pnpid (edid->pnpid); - g_debug ("PNP: vendor=[%s]'%s'", edid->pnpid, edid->vendor); - } + edid->vendor = edid_resolve_pnpid (edid->pnpid); + g_debug ("PNP: vendor=[%s]'%s'", edid->pnpid, edid->vendor); + /* start of first descriptor = 54 */ /* end of descriptor block = 126 */ /* size of each descriptor = 18 */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xiccd-0.2.2/src/edid.h new/xiccd-0.2.4/src/edid.h --- old/xiccd-0.2.2/src/edid.h 2013-11-28 11:50:14.000000000 +0100 +++ new/xiccd-0.2.4/src/edid.h 2017-02-22 14:47:48.000000000 +0100 @@ -41,7 +41,7 @@ double gamma; }; -void edid_parse (struct edid *edid, gconstpointer edid_data, gsize edid_size, gboolean use_dmi); +void edid_parse (struct edid *edid, gconstpointer edid_data, gsize edid_size); void edid_free (struct edid *edid); #endif /* __EDID_H__ */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xiccd-0.2.2/src/randr-conn-private.c new/xiccd-0.2.4/src/randr-conn-private.c --- old/xiccd-0.2.2/src/randr-conn-private.c 2013-11-28 11:50:14.000000000 +0100 +++ new/xiccd-0.2.4/src/randr-conn-private.c 2017-02-22 14:47:48.000000000 +0100 @@ -100,14 +100,11 @@ } static inline const gchar * -make_name (struct randr_display_priv *disp, - struct edid *edid, gboolean use_edid) +make_name (struct randr_display_priv *disp, struct edid *edid, gboolean use_edid) { int i = 0; const gchar *arr[16]; const gchar *retval; - const gchar *dmi_vendor = NULL; - const gchar *dmi_product = NULL; memset (arr, 0, sizeof(arr)); arr[i++] = "xrandr"; @@ -127,11 +124,6 @@ retval = g_strjoinv ("-", (gchar**)arr); - if (dmi_vendor) - g_free ((gpointer) dmi_vendor); - if (dmi_product) - g_free ((gpointer) dmi_product); - return retval; } @@ -164,7 +156,7 @@ disp->pub.is_laptop = is_laptop_conn (disp->conn, out) || is_laptop_name (disp->pub.xrandr_name); - edid_parse (&disp->pub.edid, edid_data, edid_size, FALSE); + edid_parse (&disp->pub.edid, edid_data, edid_size); disp->pub.name = make_name (disp, &disp->pub.edid, (edid_size != 0)); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xiccd-0.2.2/src/xiccd.c new/xiccd-0.2.4/src/xiccd.c --- old/xiccd-0.2.2/src/xiccd.c 2013-11-28 11:50:14.000000000 +0100 +++ new/xiccd-0.2.4/src/xiccd.c 2017-02-22 14:47:48.000000000 +0100 @@ -42,6 +42,7 @@ static struct { const gchar *display; + gboolean edid; } config; static GOptionEntry config_entries[] = { @@ -50,6 +51,8 @@ "Show version", NULL }, { "display", 'd', 0, G_OPTION_ARG_STRING, &config.display, "X server to contact", NULL }, + { "edid", 'e', 0, G_OPTION_ARG_NONE, &config.edid, + "Generate EDID profile", NULL }, { NULL } }; @@ -324,7 +327,9 @@ g_debug ("added display: '%s'", disp->name); - create_profile_from_edid (daemon->stor, &disp->edid); + if (config.edid) { + create_profile_from_edid (daemon->stor, &disp->edid); + } g_hash_table_insert (props, CD_DEVICE_PROPERTY_KIND, (gchar *) cd_device_kind_to_string (CD_DEVICE_KIND_DISPLAY)); @@ -343,6 +348,10 @@ disp->is_primary ? CD_DEVICE_METADATA_OUTPUT_PRIORITY_PRIMARY : CD_DEVICE_METADATA_OUTPUT_PRIORITY_SECONDARY); + if (disp->edid.cksum) + g_hash_table_insert (props, CD_DEVICE_METADATA_OUTPUT_EDID_MD5, + (gchar *) disp->edid.cksum); + if (disp->is_laptop) g_hash_table_insert (props, CD_DEVICE_PROPERTY_EMBEDDED, NULL); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xiccd-0.2.2/xiccd.8 new/xiccd-0.2.4/xiccd.8 --- old/xiccd-0.2.2/xiccd.8 1970-01-01 01:00:00.000000000 +0100 +++ new/xiccd-0.2.4/xiccd.8 2017-02-22 14:47:48.000000000 +0100 @@ -0,0 +1,39 @@ +.TH XICCD "8" "March 2016" "xiccd" "System Administration Utilities" +.SH NAME +xiccd \- X color management daemon +.SH SYNOPSIS +.B xiccd [OPTION...] +.SH DESCRIPTION +xiccd is a simple bridge between colord and X. It performs the following +tasks: +.PP + * Enumerating displays and registering them in colord; + * Creating default ICC profiles based on EDID data; + * Applying ICC profiles provided by colord; + * Maintaining the user's private ICC storage directory. +.PP +It does not depend on any particular desktop environment nor toolkit and it +should not be used in desktop environments that support color management +natively, like GNOME and KDE do. +.PP +xiccd is usually automatically invoked by your desktop environment via +.B /etc/xdg/autostart +and there should not be any need to invoke this binary manually. +.SS "Help Options:" +.TP +\fB\-h\fR, \fB\-\-help\fR +Show help options +.SS "Application Options:" +.TP +\fB\-V\fR, \fB\-\-version\fR +Show version +.TP +\fB\-d\fR DISPLAY, \fB\-\-display\fR DISPLAY +X server to contact +.TP +\fB\-e\fR, \fB\-\-edid\fR +Generate profiles by monitor EDID +.SH AUTHORS +.B xiccd +was primarily written by Alexey Galakhov <agalak...@gmail.com>. This manual page +was written by Faidon Liambotis <parav...@debian.org> for the Debian project. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xiccd-0.2.2/xiccd.desktop new/xiccd-0.2.4/xiccd.desktop --- old/xiccd-0.2.2/xiccd.desktop 1970-01-01 01:00:00.000000000 +0100 +++ new/xiccd-0.2.4/xiccd.desktop 2017-02-22 14:47:48.000000000 +0100 @@ -0,0 +1,10 @@ +[Desktop Entry] +Encoding=UTF-8 +Name=xiccd +GenericName=X color management daemon +Comment=Applies color management profiles to your session +Exec=xiccd +Terminal=false +Type=Application +Categories= +OnlyShowIn=XFCE;MATE;LXDE;