rpms/gnome-desktop/devel add-randr-12.patch, 1.9, 1.10 gnome-desktop.spec, 1.122, 1.123

Soren Sandmann Pedersen (ssp) fedora-extras-commits at redhat.com
Wed Feb 13 15:48:45 UTC 2008


Author: ssp

Update of /cvs/pkgs/rpms/gnome-desktop/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv27634

Modified Files:
	add-randr-12.patch gnome-desktop.spec 
Log Message:
Update randrwrap

add-randr-12.patch:

Index: add-randr-12.patch
===================================================================
RCS file: /cvs/pkgs/rpms/gnome-desktop/devel/add-randr-12.patch,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- add-randr-12.patch	12 Feb 2008 17:06:32 -0000	1.9
+++ add-randr-12.patch	13 Feb 2008 15:48:32 -0000	1.10
@@ -1,6 +1,6 @@
 diff -up gnome-desktop-2.21.91/configure.in.add-randr-12 gnome-desktop-2.21.91/configure.in
 --- gnome-desktop-2.21.91/configure.in.add-randr-12	2008-02-11 13:38:20.000000000 -0500
-+++ gnome-desktop-2.21.91/configure.in	2008-02-12 11:55:35.000000000 -0500
++++ gnome-desktop-2.21.91/configure.in	2008-02-13 10:36:07.000000000 -0500
 @@ -51,10 +51,10 @@ AC_SUBST(GNOME_MICRO)
  AC_SUBST(GNOME_DISTRIBUTOR)
  AC_SUBST(GNOME_DATE)
@@ -18,7 +18,7 @@
  
 diff -up gnome-desktop-2.21.91/libgnome-desktop/libgnomeui/Makefile.am.add-randr-12 gnome-desktop-2.21.91/libgnome-desktop/libgnomeui/Makefile.am
 --- gnome-desktop-2.21.91/libgnome-desktop/libgnomeui/Makefile.am.add-randr-12	2008-02-11 13:35:11.000000000 -0500
-+++ gnome-desktop-2.21.91/libgnome-desktop/libgnomeui/Makefile.am	2008-02-12 11:55:35.000000000 -0500
++++ gnome-desktop-2.21.91/libgnome-desktop/libgnomeui/Makefile.am	2008-02-13 10:36:07.000000000 -0500
 @@ -2,4 +2,7 @@ libgnomeui_desktopdir = $(includedir)/gn
  libgnomeui_desktop_HEADERS = \
  	gnome-ditem-edit.h \
@@ -29,13 +29,16 @@
 +	monitor-db.h
 +
 diff -up /dev/null gnome-desktop-2.21.91/libgnome-desktop/libgnomeui/monitor-db.h
---- /dev/null	2008-02-12 08:56:47.229685651 -0500
-+++ gnome-desktop-2.21.91/libgnome-desktop/libgnomeui/monitor-db.h	2008-02-12 11:56:43.000000000 -0500
-@@ -0,0 +1,47 @@
+--- /dev/null	2008-02-13 09:53:53.228642516 -0500
++++ gnome-desktop-2.21.91/libgnome-desktop/libgnomeui/monitor-db.h	2008-02-13 10:36:07.000000000 -0500
+@@ -0,0 +1,51 @@
++#ifndef I_KNOW_THIS_IS_UNSTABLE_AND_ONLY_IN_FEDORA
++#error This is not for general consumption yet.
++#endif
++
 +#ifndef MONITOR_DB_H
 +#define MONITOR_DB_H
 +
-+#define I_KNOW_THIS_IS_UNSTABLE_AND_ONLY_IN_FEDORA
 +#include <libgnomeui/randrwrap.h>
 +#include <glib.h>
 +
@@ -61,6 +64,7 @@
 +    double	aspect;
 +    int		pref_width;
 +    int		pref_height;
++    char *      display_name;
 +};
 +
 +struct Configuration
@@ -80,8 +84,8 @@
 +
 +#endif
 diff -up /dev/null gnome-desktop-2.21.91/libgnome-desktop/libgnomeui/randrwrap.h
---- /dev/null	2008-02-12 08:56:47.229685651 -0500
-+++ gnome-desktop-2.21.91/libgnome-desktop/libgnomeui/randrwrap.h	2008-02-12 11:56:43.000000000 -0500
+--- /dev/null	2008-02-13 09:53:53.228642516 -0500
++++ gnome-desktop-2.21.91/libgnome-desktop/libgnomeui/randrwrap.h	2008-02-13 10:36:07.000000000 -0500
 @@ -0,0 +1,100 @@
 +#ifndef I_KNOW_THIS_IS_UNSTABLE_AND_ONLY_IN_FEDORA
 +#error This is not yet for general consumption.
@@ -184,48 +188,16 @@
 +
 +#endif
 diff -up /dev/null gnome-desktop-2.21.91/libgnome-desktop/monitor-db.c
---- /dev/null	2008-02-12 08:56:47.229685651 -0500
-+++ gnome-desktop-2.21.91/libgnome-desktop/monitor-db.c	2008-02-12 11:56:43.000000000 -0500
-@@ -0,0 +1,1200 @@
+--- /dev/null	2008-02-13 09:53:53.228642516 -0500
++++ gnome-desktop-2.21.91/libgnome-desktop/monitor-db.c	2008-02-13 10:36:07.000000000 -0500
+@@ -0,0 +1,1174 @@
 +#include <stdlib.h>
 +#include <string.h>
 +#include <glib.h>
++#define I_KNOW_THIS_IS_UNSTABLE_AND_ONLY_IN_FEDORA
 +#include "libgnomeui/monitor-db.h"
 +#include "edid.h"
 +
-+/* Code to load and save monitor configurations
-+ *
-+ * A monitor configuration is a list of monitors and associated
-+ * outputs, along with information about mode and rotation.
-+ *
-+ * A monitor is identified by a string like EDID-SUN-0x0567
-+ * which is decoded as "We got this information from EDID" - the manufacturer
-+ * was "SUN" and the product code was 0x0567.
-+ *
-+ * Do we put this in gconf?
-+ *
-+ * The database itself is an XML file with entries like this:
-+ *
-+ *     <configuration>
-+ *          <output name="VGA0">
-+ *               <monitor>EDID-SUN-0x0567-12341234</monitor>
-+ *               <mode>
-+ *                      <state>on</state>
-+ *                      <width>1024</width>
-+ *                      <height>768</height>
-+ *                      <rotation>0</rotation>
-+ *               </mode>
-+ *          </output>
-+ *          <output name="LVDS">
-+ *               <monitor>EDID-CMO-0x1210</monitor>
-+ *               <mode>
-+ *                    <...>
-+ *               </mode>
-+ *          <output>
-+ *     </configuration>    
-+ *         
-+ */
-+
 +/* A helper wrapper around the GMarkup parser stuff */
 +static gboolean parse_file_gmarkup (const gchar *file,
 +				    const GMarkupParser *parser,
@@ -238,7 +210,7 @@
 +static CrtcAssignment *crtc_assignment_new   (RWScreen       *screen,
 +					      Output        **outputs);
 +static void            crtc_assignment_free  (CrtcAssignment *assign);
-+
++static void            output_free           (Output         *output);
 +
 +typedef struct Parser Parser;
 +
@@ -477,21 +449,6 @@
 +}
 +
 +static void
-+output_free (Output *output)
-+{
-+    g_free (output);
-+}
-+
-+void
-+configuration_free (Configuration *config)
-+{
-+    int i;
-+
-+    for (i = 0; config->outputs[i] != NULL; ++i)
-+	output_free (config->outputs[i]);
-+}
-+
-+static void
 +parser_free (Parser *parser)
 +{
 +    int i;
@@ -608,6 +565,8 @@
 +		output->product = info->product_code;
 +		output->serial = info->serial_number;
 +		output->aspect = info->aspect_ratio;
++		output->display_name = make_display_name (
++		    rw_output_get_name (rw_output), info);
 +		
 +		g_free (info);
 +	    }
@@ -616,6 +575,7 @@
 +		strcpy (output->vendor, "???");
 +		output->product = 0;
 +		output->serial = 0;
++		output->display_name = g_strdup ("Unknown");
 +	    }
 +	    
 +	    crtc = rw_output_get_crtc (rw_output);
@@ -684,6 +644,24 @@
 +}
 +
 +static void
++output_free (Output *output)
++{
++    if (output->display_name)
++	g_free (output->display_name);
++    
++    g_free (output);
++}
++
++void
++configuration_free (Configuration *config)
++{
++    int i;
++
++    for (i = 0; config->outputs[i] != NULL; ++i)
++	output_free (config->outputs[i]);
++}
++
++static void
 +configurations_free (Configuration **configurations)
 +{
 +    int i;
@@ -1388,8 +1366,8 @@
 +    }
 +}
 diff -up /dev/null gnome-desktop-2.21.91/libgnome-desktop/randrwrap.c
---- /dev/null	2008-02-12 08:56:47.229685651 -0500
-+++ gnome-desktop-2.21.91/libgnome-desktop/randrwrap.c	2008-02-12 11:56:43.000000000 -0500
+--- /dev/null	2008-02-13 09:53:53.228642516 -0500
++++ gnome-desktop-2.21.91/libgnome-desktop/randrwrap.c	2008-02-13 10:36:07.000000000 -0500
 @@ -0,0 +1,1042 @@
 +#define I_KNOW_THIS_IS_UNSTABLE_AND_ONLY_IN_FEDORA
 +#include "libgnomeui/randrwrap.h"
@@ -2435,13 +2413,14 @@
 +#endif
 diff -up gnome-desktop-2.21.91/libgnome-desktop/Makefile.am.add-randr-12 gnome-desktop-2.21.91/libgnome-desktop/Makefile.am
 --- gnome-desktop-2.21.91/libgnome-desktop/Makefile.am.add-randr-12	2008-02-11 13:35:11.000000000 -0500
-+++ gnome-desktop-2.21.91/libgnome-desktop/Makefile.am	2008-02-12 11:58:06.000000000 -0500
-@@ -20,7 +20,11 @@ libgnome_desktop_2_la_SOURCES = \
++++ gnome-desktop-2.21.91/libgnome-desktop/Makefile.am	2008-02-13 10:37:10.000000000 -0500
+@@ -20,7 +20,12 @@ libgnome_desktop_2_la_SOURCES = \
  	gnome-desktop-item.c	\
  	gnome-ditem-edit.c	\
  	gnome-hint.c		\
 -	gnome-bg.c
 +	gnome-bg.c		\
++	display-name.c		\
 +	randrwrap.c		\
 +	monitor-db.c		\
 +	edid-parse.c		\
@@ -2449,9 +2428,9 @@
  
  libgnome_desktop_2_la_LIBADD =	\
  	$(XLIB_LIBS)		\
-diff -up gnome-desktop-2.21.91/libgnome-desktop/edid-parse.c.add-randr-12 gnome-desktop-2.21.91/libgnome-desktop/edid-parse.c
---- gnome-desktop-2.21.91/libgnome-desktop/edid-parse.c.add-randr-12	2008-02-12 11:57:54.000000000 -0500
-+++ gnome-desktop-2.21.91/libgnome-desktop/edid-parse.c	2008-02-12 11:56:43.000000000 -0500
+diff -up /dev/null gnome-desktop-2.21.91/libgnome-desktop/edid-parse.c
+--- /dev/null	2008-02-13 09:53:53.228642516 -0500
++++ gnome-desktop-2.21.91/libgnome-desktop/edid-parse.c	2008-02-13 10:36:07.000000000 -0500
 @@ -0,0 +1,551 @@
 +/*
 + * Copyright 2007 Red Hat, Inc.
@@ -3004,10 +2983,10 @@
 +    
 +    return info;
 +}
-diff -up gnome-desktop-2.21.91/libgnome-desktop/edid.h.add-randr-12 gnome-desktop-2.21.91/libgnome-desktop/edid.h
---- gnome-desktop-2.21.91/libgnome-desktop/edid.h.add-randr-12	2008-02-12 11:57:47.000000000 -0500
-+++ gnome-desktop-2.21.91/libgnome-desktop/edid.h	2008-02-12 11:56:43.000000000 -0500
-@@ -0,0 +1,169 @@
+diff -up /dev/null gnome-desktop-2.21.91/libgnome-desktop/edid.h
+--- /dev/null	2008-02-13 09:53:53.228642516 -0500
++++ gnome-desktop-2.21.91/libgnome-desktop/edid.h	2008-02-13 10:36:07.000000000 -0500
+@@ -0,0 +1,170 @@
 +typedef unsigned char uchar;
 +typedef struct MonitorInfo MonitorInfo;
 +typedef struct Timing Timing;
@@ -3176,4 +3155,202 @@
 +};
 +
 +MonitorInfo *decode_edid (const uchar *data);
-+char *       make_display_name (const MonitorInfo *info);
++char *       make_display_name (const char        *output_name,
++				const MonitorInfo *info);
+diff -up /dev/null gnome-desktop-2.21.91/libgnome-desktop/display-name.c
+--- /dev/null	2008-02-13 09:53:53.228642516 -0500
++++ gnome-desktop-2.21.91/libgnome-desktop/display-name.c	2008-02-13 10:36:07.000000000 -0500
+@@ -0,0 +1,193 @@
++/*
++ * Copyright 2007 Red Hat, Inc.
++ *
++ * Permission is hereby granted, free of charge, to any person obtaining a
++ * copy of this software and associated documentation files (the "Software"),
++ * to deal in the Software without restriction, including without limitation
++ * on the rights to use, copy, modify, merge, publish, distribute, sub
++ * license, and/or sell copies of the Software, and to permit persons to whom
++ * the Software is furnished to do so, subject to the following conditions:
++ *
++ * The above copyright notice and this permission notice (including the next
++ * paragraph) shall be included in all copies or substantial portions of the
++ * Software.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
++ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
++ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
++ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
++ */
++
++/* Author: Soren Sandmann <sandmann at redhat.com> */
++
++#include <stdlib.h>
++#include <math.h>
++#include <stdio.h>
++#include <string.h>
++#include <glib.h>
++#include "edid.h"
++
++typedef struct Vendor Vendor;
++struct Vendor
++{
++    const char vendor_id[4];
++    const char vendor_name[28];
++};
++
++/* This list of vendor codes derived from lshw
++ * 
++ * http://ezix.org/project/wiki/HardwareLiSter
++ */
++static const struct Vendor vendors[] = 
++{
++    { "AIC", "AG Neovo" },
++    { "ACR", "Acer" },
++    { "DEL", "DELL" },
++    { "SAM", "SAMSUNG" },
++    { "SNY", "SONY" },
++    { "SEC", "Epson" },
++    { "WAC", "Wacom" },
++    { "NEC", "NEC" },
++    { "CMO", "CMO" },	/* Chi Mei */
++
++    { "ABP", "Advansys" },
++    { "ACC", "Accton" },
++    { "ACE", "Accton" },
++    { "ADP", "Adaptec" },
++    { "ADV", "AMD" },
++    { "AIR", "AIR" },
++    { "AMI", "AMI" },
++    { "ASU", "ASUS" },
++    { "ATI", "ATI" },
++    { "ATK", "Allied Telesyn" },
++    { "AZT", "Aztech" },
++    { "BAN", "Banya" },
++    { "BRI", "Boca Research" },
++    { "BUS", "Buslogic" },
++    { "CCI", "Cache Computers Inc." },
++    { "CHA", "Chase" },
++    { "CMD", "CMD Technology, Inc." },
++    { "COG", "Cogent" },
++    { "CPQ", "Compaq" },
++    { "CRS", "Crescendo" },
++    { "CSC", "Crystal" },
++    { "CSI", "CSI" },
++    { "CTL", "Creative Labs" },
++    { "DBI", "Digi" },
++    { "DEC", "Digital Equipment" },
++    { "DBK", "Databook" },
++    { "EGL", "Eagle Technology" },
++    { "ELS", "ELSA" },
++    { "ESS", "ESS" },
++    { "FAR", "Farallon" },
++    { "FDC", "Future Domain" },
++    { "HWP", "Hewlett-Packard" },
++    { "IBM", "IBM" },
++    { "INT", "Intel" },
++    { "ISA", "Iomega" },
++    { "MDG", "Madge" },
++    { "MDY", "Microdyne" },
++    { "MET", "Metheus" },
++    { "MIC", "Micronics" },
++    { "MLX", "Mylex" },
++    { "NVL", "Novell" },
++    { "OLC", "Olicom" },
++    { "PRO", "Proteon" },
++    { "RII", "Racal" },
++    { "RTL", "Realtek" },
++    { "SCM", "SCM" },
++    { "SKD", "SysKonnect" },
++    { "SGI", "SGI" },
++    { "SMC", "SMC" },
++    { "SNI", "Siemens Nixdorf" },
++    { "STL", "Stallion Technologies" },
++    { "SUN", "Sun" },
++    { "SUP", "SupraExpress" },
++    { "SVE", "SVEC" },
++    { "TCC", "Thomas-Conrad" },
++    { "TCI", "Tulip" },
++    { "TCM", "3Com" },
++    { "TCO", "Thomas-Conrad" },
++    { "TEC", "Tecmar" },
++    { "TRU", "Truevision" },
++    { "TOS", "Toshiba" },
++    { "TYN", "Tyan" },
++    { "UBI", "Ungermann-Bass" },
++    { "USC", "UltraStor" },
++    { "VDM", "Vadem" },
++    { "VMI", "Vermont" },
++    { "WDC", "Western Digital" },
++    { "ZDS", "Zeos" },
++    { "???", "Unknown" },
++};
++
++static const char *
++find_vendor (const char *code)
++{
++    int i;
++
++    for (i = 0; i < sizeof (vendors) / sizeof (vendors[0]); ++i)
++    {
++	const Vendor *v = &(vendors[i]);
++	
++	if (strcmp (v->vendor_id, code) == 0)
++	    return v->vendor_name;
++    }
++
++    return code;
++};
++
++char *
++make_display_name (const char *output_name,
++		   const MonitorInfo *info)
++{
++    const char *vendor = find_vendor (info->manufacturer_code);
++    int width_mm, height_mm, inches;
++
++    /* This is a bit of a hack - it would be better to have X
++     * just report whether the output is a laptop panel
++     */
++    if (output_name)
++    {
++	if (strstr ("lvds", output_name)	||
++	    strstr ("LVDS", output_name)	||
++	    strstr ("Lvds", output_name))
++	{
++	    vendor = "Laptop";
++	}
++    }
++    
++    if (info->width_mm != -1 && info->height_mm)
++    {
++	width_mm = info->width_mm;
++	height_mm = info->height_mm;
++    }
++    else if (info->n_detailed_timings)
++    {
++	width_mm = info->detailed_timings[0].width_mm;
++	height_mm = info->detailed_timings[0].height_mm;
++    }
++    else
++    {
++	width_mm = -1;
++	height_mm = -1;
++    }
++
++    if (width_mm != -1 && height_mm != -1)
++    {
++	double d = sqrt (width_mm * width_mm + height_mm * height_mm);
++
++	inches = (int)(d / 25.4 + 0.5);
++    }
++    else
++    {
++	inches = -1;
++    }
++
++    if (inches > 0)
++	return g_strdup_printf ("%s %d\"", vendor, inches);
++    else
++	return g_strdup_printf ("%s\n", vendor);
++}


Index: gnome-desktop.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gnome-desktop/devel/gnome-desktop.spec,v
retrieving revision 1.122
retrieving revision 1.123
diff -u -r1.122 -r1.123
--- gnome-desktop.spec	13 Feb 2008 15:13:00 -0000	1.122
+++ gnome-desktop.spec	13 Feb 2008 15:48:32 -0000	1.123
@@ -13,7 +13,7 @@
 Summary: Package containing code shared among gnome-panel, gnome-session, nautilus, etc
 Name: gnome-desktop
 Version: 2.21.91
-Release: 3%{?dist}
+Release: 4%{?dist}
 URL: http://www.gnome.org
 Source0: http://download.gnome.org/sources/gnome-desktop/2.21/%{name}-%{version}.tar.bz2
 License: GPLv2+ and LGPLv2+
@@ -120,6 +120,9 @@
 %doc %{_datadir}/gtk-doc/html/gnome-desktop/
 
 %changelog
+* Wed Feb 13 2008 Soren Sandmann <sandmann at redhat.com> - 2.21.91-4
+- Update randrwrap
+
 * Wed Feb 13 2008 Ray Strode <rstrode at redhat.com> - 2.21.91-3
 - Get rid of gnome-vfs BuildRequires
 




More information about the fedora-extras-commits mailing list