Git snapshot 20140428

- This fixes the silent hardware cursor API break in 1.15.99.902 (#1090897)
This commit is contained in:
Hans de Goede 2014-04-25 16:14:45 +02:00
parent af523655f8
commit cec8696bb8
9 changed files with 14 additions and 318 deletions

View File

@ -35,7 +35,7 @@ index 90c8c11..539bfe4 100644
- int needs_root_rights = -1;
+ int needs_root_rights = 1;
parse_config(&allowed, &needs_root_rights);
progname = argv[0];
--
1.9.0

View File

@ -1,67 +0,0 @@
.\" Xwrapper.wrap.1
.\"
.\" Copyright 2014 Red Hat, Inc.
.\"
.\" Permission to use, copy, modify, distribute, and sell this software and its
.\" documentation for any purpose is hereby granted without fee, provided that
.\" the above copyright notice appear in all copies and that both that
.\" copyright notice and this permission notice appear in supporting
.\" documentation.
.\"
.\" The above copyright notice and this permission notice 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 NONINFRINGEMENT.
.\" IN NO EVENT SHALL THE OPEN GROUP 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.
.\"
.\" Except as contained in this notice, the name of The Open Group shall
.\" not be used in advertising or otherwise to promote the sale, use or
.\" other dealings in this Software without prior written authorization
.\" from The Open Group.
.\"
.\" shorthand for double quote that works everywhere.
.ds q \N'34'
.TH Xorg.wrap 1 __xorgversion__
.SH NAME
Xorg.wrap \- Xorg X server binary wrapper
.SH DESCRIPTION
The Xorg X server may need root rights to function properly. To start the
Xorg X server with these rights your system is using a suid root wrapper
installed as __suid_wrapper_dir__/Xorg.wrap which will execute the real
X server which is installed as __suid_wrapper_dir__/Xorg.bin .
.PP
By default Xorg.wrap will autodetect if root rights are necessary, and
if not it will drop its elevated rights before starting the real X server.
By default Xorg.wrap will only allow executing the real X server from login
sessions on a physical console.
.SH CONFIG FILE
Xorg.wrap's default behavior can be overridden from the
\fI__sysconfdir__/X11/Xwrapper.config\fP config file. Lines starting with a
\fB#\fP in Xwrapper.config are considered comments and will be ignored. Any
other non empty lines must take the form of \fBkey\fP = \fIvalue\fP.
.TP 8
\fBallowed_users\fP = \fIrootonly\fP|\fIconsole\fP|\fIanybody\fP
Specify which users may start the X server through the wrapper. Use
\fIrootonly\fP to only allow root, use \fIconsole\fP to only allow users
logged into a physical console, and use \fIanybody\fP to allow anybody.
The default is \fIconsole\fP.
.TP 8
\fBneeds_root_rights\fP = \fIyes\fP|\fIno\fP|\fIauto\fP
Configure if the wrapper should drop its elevated (root) rights before starting
the X server. Use \fIyes\fP to force execution as root, \fIno\fP to force
execution with all suid rights dropped, and \fIauto\fP to letter the wrapper
auto-detect. The default is \fIauto\fP.
.PP
When auto-detecting the wrapper will drop rights if kms graphics are available
and not drop them if no kms graphics are detected. If a system has multiple
graphics cards and some are not kms capable auto-detection may fail,
in this case manual configuration should be used.
.SH "SEE ALSO"
Xorg X server information: \fIXorg\fP(1)

View File

@ -1 +0,0 @@
.so man1/Xorg.wrap.1

View File

@ -1 +1 @@
90642948cc78834d95f7a3bddaac7ff77b68ed7e
4c3932620c29c91dfbbc8eb09c84efcaa7ec873e

View File

@ -1,49 +0,0 @@
/*
* Copyright © 2014 Keith Packard
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that copyright
* notice and this permission notice appear in supporting documentation, and
* that the name of the copyright holders not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. The copyright holders make no representations
* about the suitability of this software for any purpose. It is provided "as
* is" without express or implied warranty.
*
* THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
* EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*/
#ifndef _GLAMOR_FONT_H_
#define _GLAMOR_FONT_H_
typedef struct {
Bool realized;
CharInfoPtr default_char;
CARD8 default_row;
CARD8 default_col;
GLuint texture_id;
CARD16 glyph_width_bytes;
CARD16 glyph_width_pixels;
CARD16 glyph_height;
} glamor_font_t;
glamor_font_t *
glamor_font_get(ScreenPtr screen, FontPtr font);
Bool
glamor_font_init(ScreenPtr screen);
void
glamor_fini_glyph_shader(ScreenPtr screen);
#endif /* _GLAMOR_FONT_H_ */

View File

@ -1,94 +0,0 @@
/*
* Copyright © 2014 Keith Packard
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that copyright
* notice and this permission notice appear in supporting documentation, and
* that the name of the copyright holders not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. The copyright holders make no representations
* about the suitability of this software for any purpose. It is provided "as
* is" without express or implied warranty.
*
* THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
* EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*/
#ifndef _GLAMOR_PROGRAM_H_
#define _GLAMOR_PROGRAM_H_
typedef enum {
glamor_program_location_none = 0,
glamor_program_location_fg = 1,
glamor_program_location_bg = 2,
glamor_program_location_fill = 4,
glamor_program_location_font = 8,
} glamor_program_location;
typedef enum {
glamor_program_flag_none = 0,
} glamor_program_flag;
typedef struct _glamor_program glamor_program;
typedef Bool (*glamor_use) (PixmapPtr pixmap, GCPtr gc, glamor_program *prog, void *arg);
typedef struct {
const char *name;
const int version;
const char *vs_vars;
const char *vs_exec;
const char *fs_vars;
const char *fs_exec;
const glamor_program_location locations;
const glamor_program_flag flags;
const char *source_name;
glamor_use use;
} glamor_facet;
struct _glamor_program {
GLint prog;
GLint failed;
GLint matrix_uniform;
GLint fg_uniform;
GLint bg_uniform;
GLint fill_size_uniform;
GLint fill_offset_uniform;
GLint font_uniform;
glamor_program_location locations;
glamor_program_flag flags;
glamor_use prim_use;
glamor_use fill_use;
};
typedef struct {
glamor_program progs[4];
} glamor_program_fill;
extern const glamor_facet glamor_fill_solid;
Bool
glamor_build_program(ScreenPtr screen,
glamor_program *prog,
const glamor_facet *prim,
const glamor_facet *fill);
Bool
glamor_use_program(PixmapPtr pixmap,
GCPtr gc,
glamor_program *prog,
void *arg);
glamor_program *
glamor_use_program_fill(PixmapPtr pixmap,
GCPtr gc,
glamor_program_fill *program_fill,
const glamor_facet *prim);
#endif /* _GLAMOR_PROGRAM_H_ */

View File

@ -1,87 +0,0 @@
/*
* Copyright © 2014 Keith Packard
*
* Permission to use, copy, modify, distribute, and sell this software and its
* documentation for any purpose is hereby granted without fee, provided that
* the above copyright notice appear in all copies and that both that copyright
* notice and this permission notice appear in supporting documentation, and
* that the name of the copyright holders not be used in advertising or
* publicity pertaining to distribution of the software without specific,
* written prior permission. The copyright holders make no representations
* about the suitability of this software for any purpose. It is provided "as
* is" without express or implied warranty.
*
* THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
* EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
* OF THIS SOFTWARE.
*/
#ifndef _GLAMOR_TRANSFORM_H_
#define _GLAMOR_TRANSFORM_H_
void
glamor_set_destination_drawable(DrawablePtr drawable,
int box_x,
int box_y,
Bool do_drawable_translate,
Bool center_offset,
GLint matrix_uniform_location,
int *p_off_x,
int *p_off_y);
void
glamor_set_color(PixmapPtr pixmap,
CARD32 pixel,
GLint uniform);
Bool
glamor_set_texture(PixmapPtr pixmap,
PixmapPtr texture,
int off_x,
int off_y,
GLint offset_uniform,
GLint size_uniform);
Bool
glamor_set_solid(PixmapPtr pixmap,
GCPtr gc,
Bool use_alu,
GLint uniform);
Bool
glamor_set_tiled(PixmapPtr pixmap,
GCPtr gc,
GLint offset_uniform,
GLint size_uniform);
Bool
glamor_set_stippled(PixmapPtr pixmap,
GCPtr gc,
GLint fg_uniform,
GLint offset_uniform,
GLint size_uniform);
/*
* Vertex shader bits that transform X coordinates to pixmap
* coordinates using the matrix computed above
*/
#define GLAMOR_DECLARE_MATRIX "uniform vec4 v_matrix;\n"
#define GLAMOR_X_POS(x) #x " *v_matrix.x + v_matrix.y"
#define GLAMOR_Y_POS(y) #y " *v_matrix.z + v_matrix.w"
#if 0
#define GLAMOR_POS(dst,src) \
" " #dst ".x = " #src ".x * v_matrix.x + v_matrix.y;\n" \
" " #dst ".y = " #src ".y * v_matrix.z + v_matrix.w;\n" \
" " #dst ".z = 0.0;\n" \
" " #dst ".w = 1.0;\n"
#endif
#define GLAMOR_POS(dst,src) \
" " #dst ".xy = " #src ".xy * v_matrix.xz + v_matrix.yw;\n" \
" " #dst ".zw = vec2(0.0,1.0);\n"
#endif /* _GLAMOR_TRANSFORM_H_ */

View File

@ -1 +1 @@
180e40ae77dd163452f6e8fcf1fc8b18 xorg-server-1.15.99.902.tar.bz2
2c67326a5a3cd84d3d554a7b3c947f8d xorg-server-20140428.tar.xz

View File

@ -8,7 +8,7 @@
# format, and add a PatchN: line. If you want to push something upstream,
# check out the master branch, pull, cherry-pick, and push.
#global gitdate 20131118
%global gitdate 20140428
%global stable_abi 1
%if !0%{?gitdate} || %{stable_abi}
@ -42,7 +42,7 @@
Summary: X.Org X11 X server
Name: xorg-x11-server
Version: 1.15.99.902
Release: 3%{?gitdate:.%{gitdate}}%{dist}
Release: 4%{?gitdate:.%{gitdate}}%{dist}
URL: http://www.x.org
License: MIT
Group: User Interface/X
@ -51,8 +51,8 @@ Group: User Interface/X
%if 0%{?gitdate}
# git snapshot. to recreate, run:
# ./make-git-snapshot.sh `cat commitid`
#Source0: xorg-server-%{gitdate}.tar.xz
Source0: http://www.x.org/pub/individual/xserver/%{pkgname}-%{version}.tar.bz2
Source0: xorg-server-%{gitdate}.tar.xz
#Source0: http://www.x.org/pub/individual/xserver/%{pkgname}-%{version}.tar.bz2
Source1: make-git-snapshot.sh
Source2: commitid
%else
@ -74,13 +74,7 @@ Source31: xserver-sdk-abi-requires.git
# maintainer convenience script
Source40: driver-abi-rebuild.sh
# workaround for make dist bug in 1.15.99.902, remove once fixed
Source50: Xorg.wrap.man
Source51: Xwrapper.config.man
Source52: glamor_font.h
Source53: glamor_program.h
Source54: glamor_transform.h
# Fix pending upstream
Patch1: 0001-Fix-compilation-of-int10-module-on-arm.patch
# Trivial things to never merge upstream ever:
@ -341,8 +335,8 @@ Xserver source code needed to build VNC server (Xvnc)
%prep
#setup -q -n %{pkgname}-%{?gitdate:%{gitdate}}%{!?gitdate:%{version}}
%setup -q -n %{pkgname}-%{version}
%setup -q -n %{pkgname}-%{?gitdate:%{gitdate}}%{!?gitdate:%{version}}
#setup -q -n %{pkgname}-%{version}
#if 0%{?gitdate}
%if 0
@ -363,10 +357,6 @@ git add .
git commit -a -q -m "%{version} baseline."
%endif
# workaround for make dist bug in 1.15.99.902, remove once fixed
cp %{SOURCE50} %{SOURCE51} hw/xfree86/man
cp %{SOURCE52} %{SOURCE53} %{SOURCE54} glamor
# Apply all the patches.
git am -p1 %{patches} < /dev/null
@ -617,6 +607,10 @@ find %{inst_srcdir}/hw/xfree86 -name \*.c -delete
%changelog
* Mon Apr 28 2014 Hans de Goede <hdegoede@redhat.com> - 1.15.99.902-4.20140428
- Git snapshot 20140428
- This fixes the silent hardware cursor API break in 1.15.99.902 (#1090897)
* Fri Apr 25 2014 Hans de Goede <hdegoede@redhat.com> - 1.15.99.902-3
- Add missing BuildRequires for dbus-devel, libepoxy-devel, mesa-libEGL-devel,
mesa-libgbm-devel and systemd-devel