.gear/rules | 2 + .../tags/00d6f1278d9139b40661653047c5ba5bc152c72f | 13 + .gear/tags/list | 1 + Makefile.am | 7 +- Xext/security.c | 42 +- composite/compwindow.c | 8 +- config/10-x11-input.fdi | 12 + config/Makefile.am | 4 +- config/hal.c | 4 +- configure.ac | 14 +- dix/events.c | 17 + dix/window.c | 4 +- drvswitch/Makefile.am | 3 + drvswitch/x11switch.c | 67 ++ glx/glxcmds.c | 39 +- glx/glxdrawable.h | 2 + glx/glxdri.c | 2 + glx/glxdri2.c | 35 + hw/kdrive/Makefile.am | 12 +- hw/xfree86/Makefile.am | 4 +- hw/xfree86/common/Makefile.am | 7 +- hw/xfree86/common/xdrvswitch.c | 60 ++ hw/xfree86/common/xdrvswitch.h | 6 + hw/xfree86/common/xf86AutoConfig.c | 4 +- hw/xfree86/common/xf86Config.c | 4 +- hw/xfree86/common/xf86Globals.c | 2 +- hw/xfree86/common/xf86Init.c | 35 +- hw/xfree86/doc/man/xorg.conf.man.pre | 2 +- hw/xfree86/loader/loadmod.c | 6 +- hw/xfree86/parser/Makefile.am | 19 +- hw/xfree86/parser/Module.c | 13 + hw/xfree86/parser/error.c | 20 + hw/xfree86/ramdac/xf86Cursor.c | 6 +- include/inputstr.h | 1 + include/xorg-config.h.in | 4 + xorg-sdk.rpmmacros | 7 + xorg-server.spec | 1030 ++++++++++++++++++++ xserver.pamd | 4 + 38 files changed, 1440 insertions(+), 82 deletions(-) diff --git a/.gear/rules b/.gear/rules new file mode 100644 index 0000000..f78a96e --- /dev/null +++ b/.gear/rules @@ -0,0 +1,2 @@ +tar: @name@-@version@:. +diff: @name@-@version@:. . diff --git a/.gear/tags/00d6f1278d9139b40661653047c5ba5bc152c72f b/.gear/tags/00d6f1278d9139b40661653047c5ba5bc152c72f new file mode 100644 index 0000000..239eac6 --- /dev/null +++ b/.gear/tags/00d6f1278d9139b40661653047c5ba5bc152c72f @@ -0,0 +1,13 @@ +object cd321badf0c185854b3e0c038f3851a3ac7864ea +type commit +tag xorg-server-1.6.1 +tagger Adam Jackson 1239739718 -0400 + +xorg-server 1.6.1 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.9 (GNU/Linux) + +iEYEABECAAYFAknk7UYACgkQW4otUKDs0NNXHACgk6dznDhFddqWT4Nknw5Iw6Rv +g0sAmwSA6S8mK3AuwsB5EMYm+2QXjFAq +=j/Du +-----END PGP SIGNATURE----- diff --git a/.gear/tags/list b/.gear/tags/list new file mode 100644 index 0000000..76a9ac7 --- /dev/null +++ b/.gear/tags/list @@ -0,0 +1 @@ +00d6f1278d9139b40661653047c5ba5bc152c72f xorg-server-1.6.1 diff --git a/Makefile.am b/Makefile.am index c605e87..38a34f4 100644 --- a/Makefile.am +++ b/Makefile.am @@ -17,6 +17,10 @@ if RECORD RECORD_DIR=record endif +if XDRVSWITCH +XDRVSWITCH_DIR=drvswitch +endif + SUBDIRS = \ doc \ include \ @@ -38,7 +42,8 @@ SUBDIRS = \ $(GLX_DIR) \ exa \ config \ - hw + hw \ + $(XDRVSWITCH_DIR) aclocaldir = $(datadir)/aclocal aclocal_DATA = xorg-server.m4 diff --git a/Xext/security.c b/Xext/security.c index e379063..b9f411e 100644 --- a/Xext/security.c +++ b/Xext/security.c @@ -61,10 +61,10 @@ typedef struct { } SecurityStateRec; /* Extensions that untrusted clients shouldn't have access to */ -static char *SecurityUntrustedExtensions[] = { - "RandR", - "SECURITY", - "XFree86-DGA", +static char *SecurityTrustedExtensions[] = { + "XC-MISC", + "BIG-REQUESTS", + "XpExtension", NULL }; @@ -74,6 +74,7 @@ static char *SecurityUntrustedExtensions[] = { static const Mask SecurityResourceMask = DixGetAttrAccess | DixReceiveAccess | DixListPropAccess | DixGetPropAccess | DixListAccess; +static const Mask SecurityWindowExtraMask = DixRemoveAccess; static const Mask SecurityRootWindowExtraMask = DixReceiveAccess | DixSendAccess | DixAddAccess | DixRemoveAccess; static const Mask SecurityDeviceMask = @@ -817,6 +818,10 @@ SecurityResource(CallbackListPtr *pcbl, pointer unused, pointer calldata) if (subj->haveState && subj->trustLevel != XSecurityClientTrusted) ((WindowPtr)rec->res)->forcedBG = TRUE; + /* additional permissions for specific resource types */ + if (rec->rtype == RT_WINDOW) + allowed |= SecurityWindowExtraMask; + /* special checks for server-owned resources */ if (cid == 0) { if (rec->rtype & RC_DRAWABLE) @@ -852,16 +857,18 @@ SecurityExtension(CallbackListPtr *pcbl, pointer unused, pointer calldata) subj = dixLookupPrivate(&rec->client->devPrivates, stateKey); - if (subj->haveState && subj->trustLevel != XSecurityClientTrusted) - while (SecurityUntrustedExtensions[i]) - if (!strcmp(SecurityUntrustedExtensions[i++], rec->ext->name)) { - SecurityAudit("Security: denied client %d access to extension " - "%s on request %s\n", - rec->client->index, rec->ext->name, - SecurityLookupRequestName(rec->client)); - rec->status = BadAccess; - return; - } + if (subj->haveState && subj->trustLevel == XSecurityClientTrusted) + return; + + while (SecurityTrustedExtensions[i]) + if (!strcmp(SecurityTrustedExtensions[i++], rec->ext->name)) + return; + + SecurityAudit("Security: denied client %d access to extension " + "%s on request %s\n", + rec->client->index, rec->ext->name, + SecurityLookupRequestName(rec->client)); + rec->status = BadAccess; } static void @@ -946,9 +953,10 @@ SecuritySend(CallbackListPtr *pcbl, pointer unused, pointer calldata) SecurityAudit("Security: denied client %d from sending event " "of type %s to window 0x%x of client %d\n", - rec->client->index, rec->pWin->drawable.id, - wClient(rec->pWin)->index, - LookupEventName(rec->events[i].u.u.type)); + rec->client->index, + LookupEventName(rec->events[i].u.u.type), + rec->pWin->drawable.id, + wClient(rec->pWin)->index); rec->status = BadAccess; return; } diff --git a/composite/compwindow.c b/composite/compwindow.c index 577fa73..f838a24 100644 --- a/composite/compwindow.c +++ b/composite/compwindow.c @@ -580,12 +580,15 @@ compCopyWindow (WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc) } else { + CompWindowPtr cw = GetCompWindow(pWin); + ptOldOrg.x -= dx; ptOldOrg.y -= dy; REGION_TRANSLATE (prgnSrc, prgnSrc, pWin->drawable.x - ptOldOrg.x, pWin->drawable.y - ptOldOrg.y); - DamageRegionAppend(&pWin->drawable, prgnSrc); + if (pWin->redirectDraw && cw->update == CompositeRedirectAutomatic) + DamageRegionAppend(&pWin->drawable, prgnSrc); } cs->CopyWindow = pScreen->CopyWindow; pScreen->CopyWindow = compCopyWindow; @@ -664,7 +667,8 @@ compSetRedirectBorderClip (WindowPtr pWin, RegionPtr pRegion) /* * Report that as damaged so it will be redrawn */ - DamageRegionAppend(&pWin->drawable, &damage); + if (pWin->redirectDraw && cw->update == CompositeRedirectAutomatic) + DamageRegionAppend(&pWin->drawable, &damage); REGION_UNINIT (pScreen, &damage); /* * Save the new border clip region diff --git a/config/10-x11-input.fdi b/config/10-x11-input.fdi new file mode 100644 index 0000000..cbf0b0d --- /dev/null +++ b/config/10-x11-input.fdi @@ -0,0 +1,12 @@ + + + + + + us + + + + + + diff --git a/config/Makefile.am b/config/Makefile.am index 1e7c501..0e53874 100644 --- a/config/Makefile.am +++ b/config/Makefile.am @@ -17,6 +17,8 @@ endif if CONFIG_HAL libconfig_a_SOURCES += hal.c +halconfigdir = $(sysconfdir)/hal/fdi/policy +halconfig_DATA = 10-x11-input.fdi endif -EXTRA_DIST = xorg-server.conf x11-input.fdi +EXTRA_DIST = xorg-server.conf 10-x11-input.fdi diff --git a/config/hal.c b/config/hal.c index 36fa839..8176a35 100644 --- a/config/hal.c +++ b/config/hal.c @@ -69,7 +69,8 @@ remove_device(DeviceIntPtr dev) * already been removed. */ OsBlockSignals(); ProcessInputEvents(); - DeleteInputDeviceRequest(dev); + if (strcasecmp(dev->config_driver, "kbd") != 0) + DeleteInputDeviceRequest(dev); OsReleaseSignals(); } @@ -410,6 +411,7 @@ device_added(LibHalContext *hal_ctx, const char *udi) if (dev->config_info) xfree(dev->config_info); dev->config_info = xstrdup(config_info); + dev->config_driver = xstrdup(driver); } unwind: diff --git a/configure.ac b/configure.ac index 4c4c797..baf088e 100644 --- a/configure.ac +++ b/configure.ac @@ -566,6 +566,10 @@ AC_ARG_ENABLE(xsdl, AS_HELP_STRING([--enable-xsdl], [Build the kdrive AC_ARG_ENABLE(xfake, AS_HELP_STRING([--enable-xfake], [Build the kdrive 'fake' server (default: auto)]), [XFAKE=$enableval], [XFAKE=auto]) AC_ARG_ENABLE(xfbdev, AS_HELP_STRING([--enable-xfbdev], [Build the kdrive framebuffer device server (default: auto)]), [XFBDEV=$enableval], [XFBDEV=auto]) +AC_ARG_ENABLE(drv-switch, AS_HELP_STRING([--enable-drv-switch], [Build drivers switch (default: no)]), [XDRVSWITCH=$enableval], [XDRVSWITCH=no]) +AC_ARG_WITH(drv-switch-path, AS_HELP_STRING([--with-drv-switch-path=PATH], [Path to drivers switch (default: ${libexec}/X11/drv.d)]), + [ DRV_SWITCH_PATH="$withval" ], + [ DRV_SWITCH_PATH="${libexec}/X11/drv.d" ]) dnl chown/chmod to be setuid root as part of build dnl Replaces InstallXserverSetUID in imake @@ -1415,7 +1419,7 @@ if test "x$XORG" = xyes; then dnl these only go in xorg-config.h XF86CONFIGFILE="xorg.conf" - CONFIGFILE="$sysconfdir/$XF86CONFIGFILE" + CONFIGFILE="$sysconfdir/X11/$XF86CONFIGFILE" LOGPREFIX="$logdir/Xorg." AC_DEFINE(XORG_SERVER, 1, [Building Xorg server]) AC_DEFINE(XORGSERVER, 1, [Building Xorg server]) @@ -1770,6 +1774,13 @@ AC_DEFINE_DIR(XKM_OUTPUT_DIR, XKBOUTPUT, [Path to XKB output dir]) AC_SUBST(XKB_COMPILED_DIR) +AM_CONDITIONAL(XDRVSWITCH, [test "x$XDRVSWITCH" = xyes]) +if test "x$XDRVSWITCH" != "xno"; then + AC_DEFINE(XDRVSWITCH, 1, [Support drivers switch]) + AC_DEFINE_DIR(DRV_SWITCH_PATH, DRV_SWITCH_PATH, [Default driver switch path]) + AC_SUBST([DRV_SWITCH_PATH]) +fi + dnl and the rest of these are generic, so they're in config.h dnl dnl though, thanks to the passing of some significant amount of time, the @@ -1892,4 +1903,5 @@ hw/kdrive/linux/Makefile hw/kdrive/sdl/Makefile hw/kdrive/src/Makefile xorg-server.pc +drvswitch/Makefile ]) diff --git a/dix/events.c b/dix/events.c index 6743cae..63b0674 100644 --- a/dix/events.c +++ b/dix/events.c @@ -625,6 +625,23 @@ XineramaCheckMotion(xEvent *xE, DeviceIntPtr pDev) if (xE && !syncEvents.playingEvents) { + /* GetPointerEvents() guarantees that pointer events have the correct + rootX/Y set already. */ + switch(xE->u.u.type) + { + case ButtonPress: + case ButtonRelease: + case MotionNotify: + break; + default: + if (xE->u.u.type == DeviceButtonPress || + xE->u.u.type == DeviceButtonRelease || + xE->u.u.type == DeviceMotionNotify) + break; + /* all other events return FALSE */ + return FALSE; + } + /* Motion events entering DIX get translated to Screen 0 coordinates. Replayed events have already been translated since they've entered DIX before */ diff --git a/dix/window.c b/dix/window.c index c19990a..62f3317 100644 --- a/dix/window.c +++ b/dix/window.c @@ -138,8 +138,8 @@ Equipment Corporation. * ChangeWindowDeviceCursor ******/ -static unsigned char _back_lsb[4] = {0x88, 0x22, 0x44, 0x11}; -static unsigned char _back_msb[4] = {0x11, 0x44, 0x22, 0x88}; +static unsigned char _back_lsb[4] = {0x00, 0x00, 0x00, 0x00}; +static unsigned char _back_msb[4] = {0x00, 0x00, 0x00, 0x00}; static Bool WindowParentHasDeviceCursor(WindowPtr pWin, DeviceIntPtr pDev, diff --git a/drvswitch/Makefile.am b/drvswitch/Makefile.am new file mode 100644 index 0000000..5fd73b6 --- /dev/null +++ b/drvswitch/Makefile.am @@ -0,0 +1,3 @@ +drvswitchdir=@DRV_SWITCH_PATH@ +drvswitch_PROGRAMS = x11 +x11_SOURCES = x11switch.c diff --git a/drvswitch/x11switch.c b/drvswitch/x11switch.c new file mode 100644 index 0000000..c13ab28 --- /dev/null +++ b/drvswitch/x11switch.c @@ -0,0 +1,67 @@ +#include +#include +#include +#include + +#define PREFIX "/usr" +#define ETCDIR "/etc" +#define SUFFIX "/X11" +#define LIBDIR "/lib" +#define LIB64DIR "/lib64" +#define LIBGL "/libGL.so.1" +#define LIBGLX "/libglx.so" +#define LIBDRI "/libdri.so" + +struct XLStruct { + char* srcname; + char* dstname; +}; + +static struct XLStruct XORGLib[] = { + {PREFIX LIBDIR SUFFIX LIBGL ".2", ETCDIR SUFFIX LIBDIR LIBGL}, + {PREFIX LIBDIR SUFFIX LIBGLX, ETCDIR SUFFIX LIBDIR LIBGLX}, + {PREFIX LIBDIR SUFFIX LIBDRI, ETCDIR SUFFIX LIBDIR LIBDRI}, + {PREFIX LIB64DIR SUFFIX LIBGL ".2", ETCDIR SUFFIX LIB64DIR LIBGL}, + {PREFIX LIB64DIR SUFFIX LIBGLX, ETCDIR SUFFIX LIB64DIR LIBGLX}, + {PREFIX LIB64DIR SUFFIX LIBDRI, ETCDIR SUFFIX LIB64DIR LIBDRI}, + {NULL, NULL}, +}; + +static int check_link(char *src, char *dst) +{ + if (access(src, F_OK) == 0) { + if (access(dst, F_OK) == 0) { + if (strcmp(src, realpath(dst, NULL)) != 0) { + if (access(dst, W_OK) == 0) { + if (unlink(dst) == 0) { + if (symlink(src, dst) != 0) + return 1; + } else { + return 1; + } + } else { + return 1; + } + } + } else { + unlink(dst); + if (symlink(src, dst) != 0) + return 1; + } + } else { + return 1; + } + + return 0; +} + +int main(int argc, char *argv[]) { + + struct XLStruct *l; + + for (l = XORGLib; l->srcname; l++) { + check_link(l->srcname, l->dstname); + } + + return 0; +} diff --git a/glx/glxcmds.c b/glx/glxcmds.c index 24ef893..c38a641 100644 --- a/glx/glxcmds.c +++ b/glx/glxcmds.c @@ -748,29 +748,46 @@ int __glXDisp_QueryVersion(__GLXclientState *cl, GLbyte *pc) int __glXDisp_WaitGL(__GLXclientState *cl, GLbyte *pc) { xGLXWaitGLReq *req = (xGLXWaitGLReq *)pc; + GLXContextTag tag = req->contextTag; + __GLXcontext *glxc = NULL; int error; + + if (tag) { + glxc = __glXLookupContextByTag(cl, tag); + if (!glxc) + return __glXError(GLXBadContextTag); - if (!__glXForceCurrent(cl, req->contextTag, &error)) { - return error; + if (!__glXForceCurrent(cl, req->contextTag, &error)) + return error; + + CALL_Finish( GET_DISPATCH(), () ); } - CALL_Finish( GET_DISPATCH(), () ); + + if (glxc && glxc->drawPriv->waitGL) + (*glxc->drawPriv->waitGL)(glxc->drawPriv); + return Success; } int __glXDisp_WaitX(__GLXclientState *cl, GLbyte *pc) { xGLXWaitXReq *req = (xGLXWaitXReq *)pc; + GLXContextTag tag = req->contextTag; + __GLXcontext *glxc = NULL; int error; + + if (tag) { + glxc = __glXLookupContextByTag(cl, tag); + if (!glxc) + return __glXError(GLXBadContextTag); - if (!__glXForceCurrent(cl, req->contextTag, &error)) { - return error; + if (!__glXForceCurrent(cl, req->contextTag, &error)) + return error; } - /* - ** In a multithreaded server that had separate X and GL threads, we would - ** have to wait for the X thread to finish before returning. As it stands, - ** this sample implementation only supports singlethreaded servers, and - ** nothing needs to be done here. - */ + + if (glxc && glxc->drawPriv->waitGL) + (*glxc->drawPriv->waitGL)(glxc->drawPriv); + return Success; } diff --git a/glx/glxdrawable.h b/glx/glxdrawable.h index 60aacd7..4be09ca 100644 --- a/glx/glxdrawable.h +++ b/glx/glxdrawable.h @@ -49,6 +49,8 @@ struct __GLXdrawable { GLboolean (*swapBuffers)(__GLXdrawable *); void (*copySubBuffer)(__GLXdrawable *drawable, int x, int y, int w, int h); + void (*waitX)(__GLXdrawable *); + void (*waitGL)(__GLXdrawable *); DrawablePtr pDraw; XID drawId; diff --git a/glx/glxdri.c b/glx/glxdri.c index 8d614d0..64606ab 100644 --- a/glx/glxdri.c +++ b/glx/glxdri.c @@ -706,6 +706,8 @@ __glXDRIscreenCreateDrawable(__GLXscreen *screen, private->base.destroy = __glXDRIdrawableDestroy; private->base.swapBuffers = __glXDRIdrawableSwapBuffers; private->base.copySubBuffer = __glXDRIdrawableCopySubBuffer; + private->base.waitX = NULL; + private->base.waitGL = NULL; __glXenterServer(GL_FALSE); retval = DRICreateDrawable(screen->pScreen, serverClient, diff --git a/glx/glxdri2.c b/glx/glxdri2.c index 4544a2c..cdebcd3 100644 --- a/glx/glxdri2.c +++ b/glx/glxdri2.c @@ -141,6 +141,39 @@ __glXDRIdrawableSwapBuffers(__GLXdrawable *drawable) return TRUE; } +static void +__glXDRIdrawableWaitX(__GLXdrawable *drawable) +{ + __GLXDRIdrawable *private = (__GLXDRIdrawable *) drawable; + BoxRec box; + RegionRec region; + + box.x1 = 0; + box.y1 = 0; + box.x2 = private->width; + box.y2 = private->height; + REGION_INIT(drawable->pDraw->pScreen, ®ion, &box, 0); + + DRI2CopyRegion(drawable->pDraw, ®ion, + DRI2BufferFakeFrontLeft, DRI2BufferFrontLeft); +} + +static void +__glXDRIdrawableWaitGL(__GLXdrawable *drawable) +{ + __GLXDRIdrawable *private = (__GLXDRIdrawable *) drawable; + BoxRec box; + RegionRec region; + + box.x1 = 0; + box.y1 = 0; + box.x2 = private->width; + box.y2 = private->height; + REGION_INIT(drawable->pDraw->pScreen, ®ion, &box, 0); + + DRI2CopyRegion(drawable->pDraw, ®ion, + DRI2BufferFrontLeft, DRI2BufferFakeFrontLeft); +} static int __glXDRIdrawableSwapInterval(__GLXdrawable *drawable, int interval) @@ -339,6 +372,8 @@ __glXDRIscreenCreateDrawable(__GLXscreen *screen, private->base.destroy = __glXDRIdrawableDestroy; private->base.swapBuffers = __glXDRIdrawableSwapBuffers; private->base.copySubBuffer = __glXDRIdrawableCopySubBuffer; + private->base.waitGL = __glXDRIdrawableWaitGL; + private->base.waitX = __glXDRIdrawableWaitX; if (DRI2CreateDrawable(pDraw)) { xfree(private); diff --git a/hw/kdrive/Makefile.am b/hw/kdrive/Makefile.am index e20d4d6..4f837c5 100644 --- a/hw/kdrive/Makefile.am +++ b/hw/kdrive/Makefile.am @@ -1,15 +1,7 @@ -if BUILD_KDRIVEFBDEVLIB -FBDEV_SUBDIRS = fbdev -endif - if XFAKESERVER XFAKE_SUBDIRS = fake endif -if XSDLSERVER -XSDL_SUBDIRS = sdl -endif - if XEPHYR XEPHYR_SUBDIRS = ephyr endif @@ -19,8 +11,6 @@ LINUX_SUBDIRS = linux endif SERVER_SUBDIRS = \ - $(XSDL_SUBDIRS) \ - $(FBDEV_SUBDIRS) \ $(XEPHYR_SUBDIRS) \ $(XFAKE_SUBDIRS) @@ -29,7 +19,7 @@ SUBDIRS = \ $(LINUX_SUBDIRS) \ $(SERVER_SUBDIRS) -DIST_SUBDIRS = fbdev sdl ephyr src linux fake +DIST_SUBDIRS = ephyr src linux fake relink: @for i in $(SERVER_SUBDIRS) ; do make -C $$i relink ; done diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am index 98d7ec8..9e2d0fd 100644 --- a/hw/xfree86/Makefile.am +++ b/hw/xfree86/Makefile.am @@ -48,7 +48,7 @@ XORG_LIBS = \ common/libinit.a \ loader/libloader.a \ libosandcommon.la \ - parser/libxf86config.a \ + parser/libxf86config.la \ dixmods/libdixmods.la \ modes/libxf86modes.a \ ramdac/libramdac.a \ @@ -91,7 +91,7 @@ if INSTALL_SETUID chmod u+s $(DESTDIR)$(bindir)/Xorg endif -optionsdir = $(libdir)/X11 +optionsdir = $(datadir)/X11 dist_options_DATA = Options CPP_FILES_FLAGS = \ diff --git a/hw/xfree86/common/Makefile.am b/hw/xfree86/common/Makefile.am index 77ab4c3..cb43f33 100644 --- a/hw/xfree86/common/Makefile.am +++ b/hw/xfree86/common/Makefile.am @@ -34,7 +34,12 @@ libcommon_la_SOURCES = xf86Configure.c xf86ShowOpts.c xf86Bus.c xf86Config.c \ xf86Mode.c xorgHelper.c \ $(XVSOURCES) $(BUSSOURCES) $(RANDRSOURCES) nodist_libcommon_la_SOURCES = xf86DefModeSet.c -libinit_a_SOURCES = xf86Init.c + +if XDRVSWITCH +XDRVSWITCHSOURCES = xdrvswitch.c +endif + +libinit_a_SOURCES = xf86Init.c $(XDRVSWITCHSOURCES) nodist_libinit_a_SOURCES = xf86Build.h INCLUDES = $(XORG_INCS) -I$(srcdir)/../ddc -I$(srcdir)/../i2c \ diff --git a/hw/xfree86/common/xdrvswitch.c b/hw/xfree86/common/xdrvswitch.c new file mode 100644 index 0000000..566d709 --- /dev/null +++ b/hw/xfree86/common/xdrvswitch.c @@ -0,0 +1,60 @@ +#ifdef HAVE_XORG_CONFIG_H +#include +#endif + +#include +#include +#include +#include +#include +#include + +/* This is based on the code in os/utils.c */ + +int xdrvswitch(char *cmd) +{ + int pid, p; +#ifdef SIGCHLD + void (*csig)(int); +#endif + int status; + char cmd_path[PATH_MAX]; + + sprintf(cmd_path, DRV_SWITCH_PATH "/%s", cmd); + if (access(cmd_path, X_OK) != 0) + return 1; + +#ifdef SIGCHLD + csig = signal(SIGCHLD, SIG_DFL); + if (csig == SIG_ERR) { + perror("signal"); + return -1; + } +#endif + + switch (pid = fork()) { + case -1: /* error */ + p = -1; + case 0: /* child */ + if (setgid(getegid()) == -1) + _exit(127); + if (setuid(geteuid()) == -1) + _exit(127); + execle(cmd_path, cmd_path, NULL, NULL); + _exit(127); + default: /* parent */ + do { + p = waitpid(pid, &status, 0); + } while (p == -1 && errno == EINTR); + + } + +#ifdef SIGCHLD + if (signal(SIGCHLD, csig) == SIG_ERR) { + perror("signal"); + return -1; + } +#endif + + return p == -1 ? -1 : status; +} diff --git a/hw/xfree86/common/xdrvswitch.h b/hw/xfree86/common/xdrvswitch.h new file mode 100644 index 0000000..5dd102d --- /dev/null +++ b/hw/xfree86/common/xdrvswitch.h @@ -0,0 +1,6 @@ +#ifndef XDRVSWITCH_H +#define XDRVSWITCH_H + +int xdrvswitch(char *cmd); + +#endif diff --git a/hw/xfree86/common/xf86AutoConfig.c b/hw/xfree86/common/xf86AutoConfig.c index a9a1fd2..8fe2d53 100644 --- a/hw/xfree86/common/xf86AutoConfig.c +++ b/hw/xfree86/common/xf86AutoConfig.c @@ -521,10 +521,8 @@ listPossibleVideoDrivers(char *matches[], int nmatches) /* Fallback to platform default frame buffer driver */ if (i < (nmatches - 1)) { -#if !defined(__linux__) && defined(__sparc__) +#if defined(__sparc__) matches[i++] = xnfstrdup("wsfb"); -#else - matches[i++] = xnfstrdup("fbdev"); #endif } } diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c index 17223a1..4785cc4 100644 --- a/hw/xfree86/common/xf86Config.c +++ b/hw/xfree86/common/xf86Config.c @@ -763,7 +763,7 @@ static OptionInfoRec FlagOptions[] = { { FLAG_PC98, "PC98", OPTV_BOOLEAN, {0}, FALSE }, { FLAG_NOPM, "NoPM", OPTV_BOOLEAN, - {0}, FALSE }, + {0}, TRUE }, { FLAG_XINERAMA, "Xinerama", OPTV_BOOLEAN, {0}, FALSE }, { FLAG_LOG, "Log", OPTV_STRING, @@ -911,7 +911,7 @@ configServerFlags(XF86ConfFlagsPtr flagsconf, XF86OptionPtr layoutopts) #endif } - xf86Info.pmFlag = TRUE; + xf86Info.pmFlag = FALSE; if (xf86GetOptValBool(FlagOptions, FLAG_NOPM, &value)) xf86Info.pmFlag = !value; { diff --git a/hw/xfree86/common/xf86Globals.c b/hw/xfree86/common/xf86Globals.c index 04a96cb..f911ff6 100644 --- a/hw/xfree86/common/xf86Globals.c +++ b/hw/xfree86/common/xf86Globals.c @@ -124,7 +124,7 @@ xf86InfoRec xf86Info = { #ifdef __i386__ .pc98 = FALSE, #endif - .pmFlag = TRUE, + .pmFlag = FALSE, .log = LogNone, .kbdCustomKeycodes = FALSE, .disableRandR = FALSE, diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c index f029915..7374204 100644 --- a/hw/xfree86/common/xf86Init.c +++ b/hw/xfree86/common/xf86Init.c @@ -92,6 +92,10 @@ #include "Pci.h" #include "xf86Bus.h" +#ifdef XDRVSWITCH +#include "xdrvswitch.h" +#endif + /* forward declarations */ static Bool probe_devices_from_device_sections(DriverPtr drvp); static Bool add_matching_devices_to_configure_list(DriverPtr drvp); @@ -134,7 +138,7 @@ static Bool formatsDone = FALSE; static void xf86PrintBanner(void) { -#if PRE_RELEASE +#if 0 ErrorF("\n" "This is a pre-release version of the X server from " XVENDORNAME ".\n" "It is not supported in any way.\n" @@ -814,13 +818,6 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) /* Initialise the resource broker */ xf86ResourceBrokerInit(); - /* Load all modules specified explicitly in the config file */ - if ((modulelist = xf86ModulelistFromConfig(&optionlist))) { - xf86LoadModules(modulelist, optionlist); - xfree(modulelist); - xfree(optionlist); - } - /* Load all driver modules specified in the config file */ /* If there aren't any specified in the config file, autoconfig them */ /* FIXME: Does not handle multiple active screen sections, but I'm not @@ -832,6 +829,28 @@ InitOutput(ScreenInfo *pScreenInfo, int argc, char **argv) return ; } } + +#ifdef XDRVSWITCH + int exit_status = 1; + if ((configured_device) && (configured_device->driver)) { + exit_status = xdrvswitch(configured_device->driver); + if (exit_status == 0) + xf86Msg(X_INFO, "Executed %s/%s\n", DRV_SWITCH_PATH, configured_device->driver); + } + if (exit_status != 0) { + exit_status = xdrvswitch("x11"); + if (exit_status == 0) + xf86Msg(X_INFO, "Executed %s/%s\n", DRV_SWITCH_PATH, "x11"); + } +#endif + + /* Load all modules specified explicitly in the config file */ + if ((modulelist = xf86ModulelistFromConfig(&optionlist))) { + xf86LoadModules(modulelist, optionlist); + xfree(modulelist); + xfree(optionlist); + } + if ((modulelist = xf86DriverlistFromConfig())) { xf86LoadModules(modulelist, NULL); xfree(modulelist); diff --git a/hw/xfree86/doc/man/xorg.conf.man.pre b/hw/xfree86/doc/man/xorg.conf.man.pre index b6288b6..82eea9c 100644 --- a/hw/xfree86/doc/man/xorg.conf.man.pre +++ b/hw/xfree86/doc/man/xorg.conf.man.pre @@ -610,7 +610,7 @@ Default: 0. .TP 7 .BI "Option \*qNoPM\*q \*q" boolean \*q Disables something to do with power management events. -Default: PM enabled on platforms that support it. +Default: PM disabled on platforms that support it. .TP 7 .BI "Option \*qXinerama\*q \*q" boolean \*q enable or disable XINERAMA extension. diff --git a/hw/xfree86/loader/loadmod.c b/hw/xfree86/loader/loadmod.c index e98f013..694a4fa 100644 --- a/hw/xfree86/loader/loadmod.c +++ b/hw/xfree86/loader/loadmod.c @@ -411,21 +411,21 @@ FindModuleInSubdir(const char *dirpath, const char *module) snprintf(tmpBuf, PATH_MAX, "lib%s.so", module); if (strcmp(direntry->d_name, tmpBuf) == 0) { ret = malloc(strlen(tmpBuf) + strlen(dirpath) + 2); - sprintf(ret, "%s/%s", dirpath, tmpBuf); + sprintf(ret, "%s%s", dirpath, tmpBuf); break; } snprintf(tmpBuf, PATH_MAX, "%s_drv.so", module); if (strcmp(direntry->d_name, tmpBuf) == 0) { ret = malloc(strlen(tmpBuf) + strlen(dirpath) + 2); - sprintf(ret, "%s/%s", dirpath, tmpBuf); + sprintf(ret, "%s%s", dirpath, tmpBuf); break; } snprintf(tmpBuf, PATH_MAX, "%s.so", module); if (strcmp(direntry->d_name, tmpBuf) == 0) { ret = malloc(strlen(tmpBuf) + strlen(dirpath) + 2); - sprintf(ret, "%s/%s", dirpath, tmpBuf); + sprintf(ret, "%s%s", dirpath, tmpBuf); break; } } diff --git a/hw/xfree86/parser/Makefile.am b/hw/xfree86/parser/Makefile.am index 7f599f9..4ed7c78 100644 --- a/hw/xfree86/parser/Makefile.am +++ b/hw/xfree86/parser/Makefile.am @@ -1,13 +1,11 @@ -if INSTALL_LIBXF86CONFIG -lib_LIBRARIES = libxf86config.a +lib_LTLIBRARIES = libxf86config.la LIBHEADERS = \ xf86Optrec.h \ xf86Parser.h -else -noinst_LIBRARIES = libxf86config.a -endif -libxf86config_a_SOURCES = \ +libxf86config_la_LDFLAGS = -version-number 6:9:99 +libxf86config_la_LIBADD = $(XF86CONFIG_LIBS) -lm +libxf86config_la_SOURCES = \ Device.c \ Files.c \ Flags.c \ @@ -23,7 +21,8 @@ libxf86config_a_SOURCES = \ scan.c \ write.c \ DRI.c \ - Extensions.c + Extensions.c \ + error.c AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) @@ -34,7 +33,5 @@ EXTRA_DIST = \ xf86Parser.h \ xf86tokens.h -sdk_HEADERS = \ - $(LIBHEADERS) \ - xf86Parser.h \ - xf86Optrec.h +xf86configincludedir=$(includedir) +xf86configinclude_HEADERS = $(LIBHEADERS) diff --git a/hw/xfree86/parser/Module.c b/hw/xfree86/parser/Module.c index 2012ce6..b62bf62 100644 --- a/hw/xfree86/parser/Module.c +++ b/hw/xfree86/parser/Module.c @@ -225,6 +225,19 @@ xf86printModuleSection (FILE * cf, XF86ConfModulePtr ptr) #endif } } + for (lptr = ptr->mod_disable_lst; lptr; lptr = lptr->list.next) + { + switch (lptr->load_type) + { + case XF86_DISABLE_MODULE: + fprintf (cf, "\tDisable \"%s\"", lptr->load_name); + if (lptr->load_comment) + fprintf(cf, "%s", lptr->load_comment); + else + fputc('\n', cf); + break; + } + } } XF86LoadPtr diff --git a/hw/xfree86/parser/error.c b/hw/xfree86/parser/error.c new file mode 100644 index 0000000..b00b380 --- /dev/null +++ b/hw/xfree86/parser/error.c @@ -0,0 +1,20 @@ +#include +#include +#include "xf86Parser.h" + +/* Functions that the parser requires */ + +void +VErrorF(const char *f, va_list args) +{ + vfprintf(stderr, f, args); +} + +void +ErrorF(const char *f, ...) +{ + va_list args; + va_start(args, f); + vfprintf(stderr, f, args); + va_end(args); +} diff --git a/hw/xfree86/ramdac/xf86Cursor.c b/hw/xfree86/ramdac/xf86Cursor.c index 2b73b16..896ed37 100644 --- a/hw/xfree86/ramdac/xf86Cursor.c +++ b/hw/xfree86/ramdac/xf86Cursor.c @@ -302,9 +302,9 @@ xf86CursorSetCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCurs, if (pCurs == NullCursor) { /* means we're supposed to remove the cursor */ - if (ScreenPriv->SWCursor || pDev != inputInfo.pointer) - (*ScreenPriv->spriteFuncs->SetCursor)(pDev, pScreen, NullCursor, - x, y); + if (ScreenPriv->SWCursor || + !(pDev == inputInfo.pointer || !pDev->isMaster && pDev->u.master == inputInfo.pointer)) + (*ScreenPriv->spriteFuncs->SetCursor)(pDev, pScreen, NullCursor, x, y); else if (ScreenPriv->isUp) { xf86SetCursor(pScreen, NullCursor, x, y); ScreenPriv->isUp = FALSE; diff --git a/include/inputstr.h b/include/inputstr.h index a6f823c..f25a13f 100644 --- a/include/inputstr.h +++ b/include/inputstr.h @@ -454,6 +454,7 @@ typedef struct _DeviceIntRec { void *pad0; #endif char *config_info; /* used by the hotplug layer */ + char *config_driver; PrivateRec *devPrivates; int nPrivates; DeviceUnwrapProc unwrapProc; diff --git a/include/xorg-config.h.in b/include/xorg-config.h.in index f9b77d0..1309339 100644 --- a/include/xorg-config.h.in +++ b/include/xorg-config.h.in @@ -121,4 +121,8 @@ /* Path to text files containing PCI IDs */ #undef PCI_TXT_IDS_PATH +/* Build drivers switch */ +#undef XDRVSWITCH +#undef DRV_SWITCH_PATH + #endif /* _XORG_CONFIG_H_ */ diff --git a/xorg-sdk.rpmmacros b/xorg-sdk.rpmmacros new file mode 100644 index 0000000..0d955f8 --- /dev/null +++ b/xorg-sdk.rpmmacros @@ -0,0 +1,7 @@ +%get_xorg_abi_videodrv() %( \ + pkg-config --variable=abi_videodrv xorg-server 2>/dev/null \ +) + +%get_xorg_abi_xinput() %( \ + pkg-config --variable=abi_xinput xorg-server 2>/dev/null \ +) diff --git a/xorg-server.spec b/xorg-server.spec new file mode 100644 index 0000000..150c5b7 --- /dev/null +++ b/xorg-server.spec @@ -0,0 +1,1030 @@ +%define xf86 XFree86 + +%define mesaversion 7.4 +%define xorgversion 7.4.3 + +%define _libexecdir /usr/libexec +%define _modulesdir %_libdir/X11/modules +%define _fontsdir %_datadir/fonts +%define _deffontdir catalogue:%_sysconfdir/X11/fontpath.d + +%def_enable dmx +%def_enable xnest +%def_disable ipv6 + +%def_enable xephyr +%if_enabled xephyr +%def_enable kdrive +%else +%def_disable kdrive +%endif + +Name: xorg-server +Version: 1.6.1 +Release: alt3 +Serial: 2 +License: MIT/X11 +Summary: Xserver - X Window System display server +Group: System/X11 +Url: http://xorg.freedesktop.org +Packager: Valery Inozemtsev + +Obsoletes: %xf86-server xorg-x11-server +Provides: %xf86-server = 4.4 xserver-wrapper xorg-x11-server = %serial:%version-%release +PreReq: xorg-server-control >= 1.3-alt1 %name-common = %version-%release +Conflicts: xorg-x11-xfs <= 1:1.0.1-alt3 + +Provides: XORG_ABI_VIDEODRV = 5.0 +Provides: XORG_ABI_XINPUT = 4.0 + +PreReq: libGL >= %mesaversion +Requires: libxorgconfig = %version-%release xorg-dri-swrast >= %mesaversion +Requires: xset iceauth xdpyinfo glxinfo xdriinfo +Requires: xorg-drv-vesa xorg-drv-mouse xorg-drv-keyboard xorg-drv-evdev +Provides: xorg-x11-extensions-dri = %serial:%version-%release +Provides: xorg-x11-extensions-glx = %serial:%version-%release xorg-extensions-glx = %serial:%version-%release +Obsoletes: xorg-x11-extensions-dri xorg-x11-extensions-glx xorg-extensions-glx + +Source: %name-%version.tar +Patch: %name-%version-%release.patch + +BuildRequires: flex libSDL-devel libXau-devel libXaw-devel libXdmcp-devel libXfixes-devel libXfont-devel libXi-devel libXrender-devel +BuildRequires: libXext-devel libXres-devel libXtst-devel libXv-devel libdmx-devel libGL-devel libpciaccess-devel libpixman-devel +BuildRequires: libXpm-devel libXinerama-devel libssl-devel libxkbfile-devel xorg-bigreqsproto-devel xorg-compositeproto-devel +BuildRequires: xorg-dri2proto-devel xorg-damageproto-devel xorg-dmxproto-devel xorg-evieproto-devel xorg-glproto-devel xorg-randrproto-devel +BuildRequires: xorg-resourceproto-devel xorg-scrnsaverproto-devel xorg-xcmiscproto-devel xorg-xf86dgaproto-devel +BuildRequires: xorg-xf86driproto-devel xorg-xf86miscproto-devel xorg-xf86vidmodeproto-devel xorg-xineramaproto-devel +BuildRequires: xorg-util-macros libhal-devel libfontenc-devel xorg-xtrans-devel >= 1.2.1-alt2 + +%description +X is the generic name for the X Window System display server. It is +frequently a link or a copy of the appropriate server binary for driving +the most frequently used server on a given machine. + +%package common +Summary: The X server common files +Group: System/X11 +PreReq: startup >= 0.9.2-alt1 +Requires: xorg-x11-rgb xauth fonts-bitmap-misc >= 7.0.0-alt2 +Requires: xkbcomp xkeyboard-config +Provides: xorg-x11-server-common = %serial:%version-%release libXiconfig +Obsoletes: xorg-x11-server-common libXiconfig + +%description common +%name-common is common files for X.Org. + +%package -n xorg-drv-multimedia +Summary: Multimedia drivers +Group: System/X11 +Requires: %name = %version-%release +Provides: xorg-x11-drv-multimedia = %serial:%version-%release +Obsoletes: xorg-x11-drv-multimedia + +%description -n xorg-drv-multimedia +Multimedia drivers for X server + +%package -n xorg-xvfb +Summary: A virtual framebuffer X Windows System server for X.Org +Group: System/X11 +Requires: %name-common = %version-%release xorg-dri-swrast >= %mesaversion +Provides: %xf86-Xvfb = 4.4 xorg-x11-Xvfb = %xorgversion-%release +Provides: xorg-x11-xvfb = %serial:%version-%release +Obsoletes: %xf86-Xvfb xorg-x11-Xvfb xorg-x11-xvfb + +%description -n xorg-xvfb +Xvfb (X Virtual Frame Buffer) is an X Windows System server +that is capable of running on machines with no display hardware and no +physical input devices. Xvfb emulates a dumb framebuffer using virtual +memory. Xvfb doesn't open any devices, but behaves otherwise as an X +display. Xvfb is normally used for testing servers. Using Xvfb, the mfb +or cfb code for any depth can be exercised without using real hardware +that supports the desired depths. Xvfb has also been used to test X +clients against unusual depths and screen configurations, to do batch +processing with Xvfb as a background rendering engine, to do load testing, +to help with porting an X server to a new platform, and to provide an +unobtrusive way of running applications which really don't need an X +server but insist on having one. + +If you need to test your X server or your X clients, you may want to +install Xvfb for that purpose. + +%package -n xorg-xnest +Summary: A nested X.Org server +Group: System/X11 +Requires: %name-common = %version-%release xorg-dri-swrast >= %mesaversion +Provides: %xf86-Xnest = 4.4 xorg-x11-Xnest = %xorgversion-%release +Provides: xorg-x11-xnest = %serial:%version-%release +Obsoletes: %xf86-Xnest xorg-x11-Xnest xorg-x11-xnest + +%description -n xorg-xnest +Xnest is an X Window System server which runs in an X window. +Xnest is a 'nested' window server, actually a client of the +real X server, which manages windows and graphics requests +for Xnest, while Xnest manages the windows and graphics +requests for its own clients. + +You will need to install Xnest if you require an X server which +will run as a client of your real X server (perhaps for +testing purposes). + +%package -n xorg-xephyr +Summary: A kdrive-based X server +Group: System/X11 +Requires: %name = %version-%release +Provides: xorg-x11-xephyr = %serial:%version-%release +Obsoletes: xorg-x11-xephyr + +%description -n xorg-xephyr +Xephyr is a kdrive based X Server which targets a window on +a host X Server as its framebuffer. Unlike Xnest it supports +modern X extensions (even if host server doesn't) such as Composite, +Damage, randr etc. + +It uses SHM Images and shadow framebuffer updates to provide +good performance. +It also has a visual debugging mode for observing screen updates. + +%package -n xorg-xdmx +Summary: Multi-head X server +Group: System/X11 +Requires: %name = %version-%release +Provides: xorg-x11-Xdmx = %xorgversion-%release +Provides: xorg-x11-xdmx = %serial:%version-%release +Obsoletes: xorg-x11-Xdmx xorg-x11-xdmx + +%description -n xorg-xdmx +Xdmx is a proxy X server that uses one or more other X servers as its +display devices. It provides multi-head X functionality for displays +that might be located on different machines. Xdmx functions as a +front-end X server that acts as a proxy to a set of back-end X servers. +All of the visible rendering is passed to the back-end X servers. +Clients connect to the Xdmx front-end, and everything appears as it +would in a regular multi-head configuration. If Xinerama is enabled +(e.g., with +xinerama on the command line), the clients see a single +large screen. + +Xdmx communicates to the back-end X servers using the standard X11 pro- +tocol, and standard and/or commonly available X server extensions. + +%package -n libxorgconfig +Summary: Shared libraries for read and write XOrg configuration files +Group: System/Libraries + +%description -n libxorgconfig +This package contains the shared libraries for read and write XOrg configuration +files. + +%package -n libxorgconfig-devel +Summary: xf86config Library and Header Files +Group: Development/C +Requires: libxorgconfig = %version-%release +Conflicts: XFree86-devel < 4.4 xorg-x11-devel <= 0:6.9.0 + +%description -n libxorgconfig-devel +libxorgconfig-devel contains the libraries and header files needed to +develop programs which make use of libxorgconfig. + +%package -n xorg-sdk +Summary: SDK for X server driver module development +Group: Development/C +Provides: xorg-x11-sdk = %serial:%version-%release +Obsoletes: xorg-x11-sdk +Requires: libdrm-devel libpciaccess-devel libpixman-devel libxorgconfig-devel xorg-util-macros +# sed -ne "s|^#include[[:space:]]*<\(X11/.*\)>.*|/usr/include/\1|p" /usr/include/xorg/* | xargs rpmquery -f | sort -u +Requires: libxkbfile-devel xorg-dri2proto-devel xorg-fontsproto-devel xorg-inputproto-devel xorg-kbproto-devel +Requires: xorg-randrproto-devel xorg-renderproto-devel xorg-videoproto-devel xorg-xextproto-devel xorg-xproto-devel + +%description -n xorg-sdk +The SDK package provides the developmental files which are necessary for +developing X server driver modules, and for compiling driver modules +outside of the standard X11 source code tree. Developers writing video +drivers, input drivers, or other X modules should install this package. + +%prep +%setup -q +%patch -p1 + +%build +%autoreconf +%configure \ + --with-os-name="%(cat %_sysconfdir/altlinux-release)" \ + --with-os-vendor="%(uname -m)" \ + --with-builder-addr="%packager" \ + --with-vendor-web=https://bugzilla.altlinux.org/ \ + --with-serverconfig-path=%_datadir/X11 \ + --with-module-dir=%_modulesdir \ + --with-dri-driver-path=%_modulesdir/dri \ + --with-log-dir=%_logdir \ + --with-xkb-path=%_datadir/X11/xkb \ + --with-xkb-output=%_localstatedir/xkb \ + --with-default-font-path=%_deffontdir \ + --with-fontdir=%_datadir/X11/fonts \ + --enable-xcsecurity \ + --enable-config-hal \ + --enable-drv-switch \ + --with-drv-switch-path=%_libexecdir/X11/drv.d \ + --disable-config-dbus \ + --disable-record \ + --enable-dri2 \ + %{subst_enable dmx} \ + %{subst_enable xnest} \ + --enable-glx-tls \ + %{subst_enable xephyr} \ + %{subst_enable kdrive} \ + --enable-aiglx \ + %{subst_enable ipv6} \ + --disable-static +%make_build + +%install +%make DESTDIR=%buildroot install + +find %buildroot%_modulesdir -name \*.la -delete + +mkdir -p %buildroot%_modulesdir/{drivers,input} + +mkdir -p %buildroot%_datadir/X11 +mkdir -p %buildroot%_sysconfdir/X11/app-defaults + +mkdir -p %buildroot%_sysconfdir/X11/%_lib + +touch %buildroot%_sysconfdir/X11/xorg.conf + +# move GLX +mv %buildroot%_modulesdir/extensions/libglx.so %buildroot%_libdir/X11/libglx.so +ln -sf ../../..%_libdir/X11/libglx.so %buildroot%_sysconfdir/X11/%_lib/libglx.so +ln -sf ../../../../..%_sysconfdir/X11/%_lib/libglx.so %buildroot%_modulesdir/extensions/libglx.so +mv %buildroot%_modulesdir/extensions/libdri.so %buildroot%_libdir/X11/libdri.so +ln -sf ../../..%_libdir/X11/libdri.so %buildroot%_sysconfdir/X11/%_lib/libdri.so +ln -sf ../../../../..%_sysconfdir/X11/%_lib/libdri.so %buildroot%_modulesdir/extensions/libdri.so + +install -pD -m644 xserver.pamd %buildroot%_sysconfdir/pam.d/xserver +mkdir -p %buildroot%_sysconfdir/security/console.apps +touch %buildroot%_sysconfdir/security/console.apps/xserver + +# rpm macros +install -pD -m644 xorg-sdk.rpmmacros %buildroot%_rpmmacrosdir/xorg-sdk + +%pre +%_sbindir/groupadd -r -f xgrp +%pre_control xorg-server + +%post +%post_control xorg-server +[ -r %_sysconfdir/X11/%_lib/libglx.so ] || \ + ln -sf ../../..%_libdir/X11/libglx.so %_sysconfdir/X11/%_lib/libglx.so +[ -r %_sysconfdir/X11/%_lib/libdri.so ] || \ + ln -sf ../../..%_libdir/X11/libdri.so %_sysconfdir/X11/%_lib/libdri.so + +%triggerin -- %xf86-server, xorg-x11-server, xorg-server <= 2:1.5.0-alt1 +cd %_sysconfdir/X11 +for d in xorg.conf XF86Config XF86Config-4; do + if [ -r $d -a -w $d ]; then + subst '/^.*Load.*\"\(pex5\|xie\|xtt\|drm\|type1\|record\).*\"/d' $d + subst 's,Load\(.*\)\"\/usr\/X11R6\/lib\/modules\/extensions\/libglx.\(a\|so\)\",Load\1"glx",' $d + subst 's/^.*RgbPath/#&/' $d + subst 's/^.*ModulePath/#&/' $d + subst 's/^.*FontPath/#&/' $d + subst '/^.*Option.*\"XkbRules\".*/d' $d + subst 's,Option\(.*\"XkbOptions\".*grp:\)ctrl_toggle\(.*\),Option\1rctrl_toggle\2,' $d + subst 's,Option\(.*\"XkbOptions\".*grp:\)rctrl_shift_toggle\(.*\),Option\1ctrl_shift_toggle\2,' $d + subst 's,Driver\(.*\)\"[kK]eyboard\",Driver\1"kbd",' $d + subst 's,Driver\(.*\)\"\(.*_gatos\)\",Driver\1"ati",' $d + subst 's,Driver\(.*\)\"via.*\",Driver\1"openchrome",' $d + fi +done +for d in XF86Config-4 XF86Config ; do + if [ -r $d ]; then + if [ -r xorg.conf ]; then + mv -f $d $d.obsoleted + else + mv -f $d xorg.conf + fi + fi +done + +%files +%config(noreplace) %_sysconfdir/pam.d/xserver +%config(missingok noreplace) %_sysconfdir/security/console.apps/xserver +%dir %_sysconfdir/X11/%_lib +%ghost %_sysconfdir/X11/%_lib/libglx.so +%ghost %_sysconfdir/X11/%_lib/libdri.so +%ghost %_sysconfdir/X11/xorg.conf +%_bindir/X +%attr(0700,root,root) %_bindir/Xorg +%_bindir/gtf +%_bindir/cvt +%_libdir/X11/lib* +%dir %_modulesdir/drivers +%dir %_modulesdir/input +%dir %_modulesdir/linux +%_modulesdir/linux/libfbdevhw.so +%dir %_modulesdir/extensions +%_modulesdir/extensions/libdbe.so +%_modulesdir/extensions/libextmod.so +%_modulesdir/extensions/libglx.so +%_modulesdir/extensions/libdri.so +%_modulesdir/extensions/libdri2.so +%_modulesdir/*.so +%dir %_libexecdir/X11 +%_libexecdir/X11/drv.d +%_man1dir/Xorg.1* +%_man1dir/gtf.1* +%_man1dir/cvt.1* +%_man1dir/Xserver.1* +%_man4dir/fbdevhw.4* +%_man4dir/exa.4* +%_man5dir/xorg.conf.5* + +%files common +%dir %_sysconfdir/X11/app-defaults +%config(noreplace, missingok) %_sysconfdir/hal/fdi/policy/10-x11-input.fdi +%dir %_libdir/X11 +%dir %_datadir/X11 +%_datadir/X11/protocol.txt +%dir %_modulesdir +%_localstatedir/xkb + +%files -n xorg-drv-multimedia +%_modulesdir/multimedia + +%files -n xorg-xvfb +%_bindir/Xvfb +%_man1dir/Xvfb.1* + +%if_enabled xnest +%files -n xorg-xnest +%_bindir/Xnest +%_man1dir/Xnest.1* +%endif + +%if_enabled xephyr +%files -n xorg-xephyr +%_bindir/Xephyr +%_man1dir/Xephyr.1* +%endif + +%if_enabled dmx +%files -n xorg-xdmx +%_bindir/*dmx* +%_man1dir/*dmx*.1* +%endif + +%files -n libxorgconfig +%_libdir/*.so.* + +%files -n libxorgconfig-devel +%_includedir/*.h +%_libdir/libx*.so + +%files -n xorg-sdk +%_includedir/xorg +%_pkgconfigdir/*.pc +%_datadir/aclocal/*.m4 +%_rpmmacrosdir/xorg-sdk + +%changelog +* Fri Apr 24 2009 Valery Inozemtsev 2:1.6.1-alt3 +- merged xorg-x11-server-1.5 branch + +* Fri Apr 17 2009 Valery Inozemtsev 2:1.6.1-alt2 +- security: + + Grant untrusted windows remove access on all windows + + Fix a crash caused by wrong ordering of format arguments + + Revert behavior of extension access for compatibility + +* Wed Apr 15 2009 Valery Inozemtsev 2:1.6.1-alt1 +- 1.6.1 + +* Tue Apr 14 2009 Valery Inozemtsev 2:1.6.0-alt5 +- Xext: set POINTER_SCREEN flag in XTestFakeInput if necessary + +* Mon Apr 13 2009 Valery Inozemtsev 2:1.6.0-alt4 +- fixed DRI2 memory leak +- correct access mode in call to dixLookupWindow() within RRSelectInput + +* Sat Mar 28 2009 Valery Inozemtsev 2:1.6.0-alt3 +- don't crash on key repeats in xinerama setups (close #19308) + +* Tue Mar 03 2009 Valery Inozemtsev 2:1.6.0-alt2 +- randr: fixed a thinko in output setup when only one head is attached + +* Thu Feb 26 2009 Valery Inozemtsev 2:1.6.0-alt1 +- 1.6.0 + +* Fri Feb 20 2009 Valery Inozemtsev 2:1.5.3-alt14 +- xdrvswitch: added dri symlink + +* Wed Feb 04 2009 Valery Inozemtsev 2:1.5.3-alt12.M50.1 +- build for branch 5.0 + +* Mon Jan 05 2009 Valery Inozemtsev 2:1.5.3-alt13 +- xdrvswitch: fixed created symlinks if start X server from user + +* Sun Jan 04 2009 Valery Inozemtsev 2:1.5.3-alt12 +- enabled Security extension + +* Sat Jan 03 2009 Valery Inozemtsev 2:1.5.3-alt11 +- xdrvswitch: used internal function + +* Sat Jan 03 2009 Valery Inozemtsev 2:1.5.3-alt10 +- Xorg: fixed segfault (close #18406) + +* Wed Dec 24 2008 Valery Inozemtsev 2:1.5.3-alt9 +- integrated x11setupdrv to X server + +* Thu Dec 18 2008 Valery Inozemtsev 2:1.5.3-alt8 +- xkb: removed soft repeat +- server-1.5-branch 2008-12-16 + +* Tue Dec 02 2008 Valery Inozemtsev 2:1.5.3-alt7 +- autorepeat: delay = 350, rate = 34 + +* Mon Dec 01 2008 Valery Inozemtsev 2:1.5.3-alt6 +- rebuild with libXi-1.1.4 + +* Thu Nov 27 2008 Valery Inozemtsev 2:1.5.3-alt5 +- updated build dependencies + +* Tue Nov 25 2008 Valery Inozemtsev 2:1.5.3-alt4 +- updated build dependencies + +* Sat Nov 22 2008 Valery Inozemtsev 2:1.5.3-alt3 +- removed obsolete %%post_ldconfig/%%postun_ldconfig calls + +* Wed Nov 12 2008 Valery Inozemtsev 2:1.5.3-alt2 +- config: don't removed keyboard if use driver kbd + +* Thu Nov 06 2008 Valery Inozemtsev 2:1.5.3-alt1 +- 1.5.3 + +* Tue Oct 28 2008 Valery Inozemtsev 2:1.5.2-alt3 +- EDID: Catch even more cases of encoding aspect as size +- mieq: Backtrace when the queue overflows +- dri: don't set the dixPrivate key to NULL, as this is a staticly set variable + +* Mon Oct 20 2008 Valery Inozemtsev 2:1.5.2-alt2 +- config: don't add duplicate devices through HAL + +* Sat Oct 11 2008 Valery Inozemtsev 2:1.5.2-alt1 +- 1.5.2 + +* Thu Oct 09 2008 Valery Inozemtsev 2:1.5.1-alt3 +- server-1.5-branch 2008-10-08 + +* Fri Sep 26 2008 Valery Inozemtsev 2:1.5.1-alt2 +- disabled abstract socket support + +* Tue Sep 23 2008 Valery Inozemtsev 2:1.5.1-alt1 +- 1.5.1 + +* Thu Sep 18 2008 Valery Inozemtsev 2:1.5.0-alt6 +- exa: disabled shared pixmaps +- XAA: enabled offscreen pixmaps by default +- libglx.so: fixed undefined symbols + +* Sun Sep 14 2008 Valery Inozemtsev 2:1.5.0-alt5 +- fixed create symlink to libGL.so.1 for x86_64 (close #17127) + +* Fri Sep 12 2008 Valery Inozemtsev 2:1.5.0-alt4 +- enabled AIGLX by default + +* Tue Sep 09 2008 Valery Inozemtsev 2:1.5.0-alt3 +- added requires xorg-dri-swrast for xorg-xnest, xorg-xvfb + +* Fri Sep 05 2008 Valery Inozemtsev 2:1.5.0-alt2 +- join xorg-server and xorg-extensions-glx + +* Thu Sep 04 2008 Valery Inozemtsev 2:1.5.0-alt1 +- Xorg-7.4.0 release + +* Fri Aug 29 2008 Valery Inozemtsev 2:1.4.99.906-alt3 +- disabled dri2, xtrap + +* Fri Aug 29 2008 Valery Inozemtsev 2:1.4.99.906-alt2 +- update libGL.so.1 and libglx.so links for both architectures (close #16195 #16227) + +* Wed Aug 27 2008 Valery Inozemtsev 2:1.4.99.906-alt1 +- 1.5 RC6 + +* Fri Aug 01 2008 Valery Inozemtsev 2:1.4.2-alt7 +- server-1.4-branch 2008-07-29 + +* Mon Jun 23 2008 Valery Inozemtsev 2:1.4.2-alt6 +- 10-x11-input.fdi: drop XkbRules & XkbModel, requires hal > 0.5.11-alt8 + +* Sat Jun 21 2008 Valery Inozemtsev 2:1.4.2-alt5 +- cleanup 10-x11-input.fdi, requires hal >= 0.5.11-alt8 + +* Sat Jun 21 2008 Valery Inozemtsev 2:1.4.2-alt4 +- build with hal, input-hotplug disable by default + +* Fri Jun 20 2008 Valery Inozemtsev 2:1.4.2-alt3 +- AllowEmptyInput, AllowMouseOpenFail, NoPM enable by defaults + +* Mon Jun 16 2008 Valery Inozemtsev 2:1.4.2-alt2 +- Mesa-7.0.4 + +* Wed Jun 11 2008 Valery Inozemtsev 2:1.4.2-alt1 +- Xorg-7.3.2 + +* Tue Jun 10 2008 Valery Inozemtsev 2:1.4.1-alt2 +- Xorg-7.3.1 + +* Mon Jun 09 2008 Valery Inozemtsev 2:1.4.0.90-alt23 +- renamed xorg-x11-* to xorg-* +- CVE-2008-1377 - RECORD and Security extensions memory corruption +- CVE-2008-1379 - MIT-SHM arbitrary memory read +- CVE-2008-2360 - RENDER Extension heap buffer overflow +- CVE-2008-2361 - RENDER Extension crash +- CVE-2008-2362 - RENDER Extension memory corruption + +* Mon Jun 02 2008 Valery Inozemtsev 2:1.4.0.90-alt21 +- added rpm macros in xorg-x11-sdk: + + %get_xorg_abi_videodrv return XORG_ABI_VIDEODRV + + %get_xorg_abi_xinput return XORG_ABI_XINPUT +- added provides XORG_ABI_VIDEODRV = 2.0, XORG_ABI_XINPUT = 2.0 + +* Tue May 27 2008 Valery Inozemtsev 2:1.4.0.90-alt20 +- server-1.4-branch 2008-05-17 + +* Thu May 08 2008 Valery Inozemtsev 2:1.4.0.90-alt19 +- server-1.4-branch 2008-05-07 + +* Wed May 07 2008 Valery Inozemtsev 2:1.4.0.90-alt18 +- enabled Composite extension by defaults +- load glx and dri modules by defaults +- AutoConfig: disable vga +- AutoConfig: add geode + +* Tue Apr 10 2008 Valery Inozemtsev 2:1.4.0.90-alt17 +- Xext: fixed memory corruption in ProcXResQueryClients() +- X86EMU: fixing X for GeodeLX (close #15300) + +* Sat Apr 05 2008 Valery Inozemtsev 2:1.4.0.90-alt16 +- Mesa-7.0.3 release +- fixed key gets stuck (close #13926) + +* Fri Apr 04 2008 Valery Inozemtsev 2:1.4.0.90-alt15 +- AutoConfig: replace via to openchrome +- libxf86config: fixed parse "Disable" parameters from Section Module (close #15242) + +* Wed Apr 02 2008 Valery Inozemtsev 2:1.4.0.90-alt14 +- Mesa-7.0.3-rc3 + +* Mon Mar 31 2008 Valery Inozemtsev 2:1.4.0.90-alt13 +- disable legacy mono, color, advanced framebuffer + +* Fri Mar 28 2008 Valery Inozemtsev 2:1.4.0.90-alt12 +- disable load Record exstension by default +- fontpath.d updated documentation (close #14933) + +* Wed Feb 27 2008 Valery Inozemtsev 2:1.4.0.90-alt11 +- merged server-1.4-branch: + + security: Fix for Bug #14480: untrusted access broken in 7.3 + + Fix rotation for multi-monitor situation + + Don't break grab and focus state for a window when redirecting it + + Fix context sharing between direct/indirect contexts +- dix: set dev->key to NULL after freeing it in CloseDevice +- fix %%bx in VBEGetPixelClock to match spec + +* Fri Feb 22 2008 Valery Inozemtsev 2:1.4.0.90-alt10 +- Mesa-7.0.3-rc2 +- resize composite overlay window when the root window changes +- xfree86: fix plug memory leak + +* Fri Feb 15 2008 Valery Inozemtsev 2:1.4.0.90-alt9 +- merged server-1.4-branch: + + xkb: don't update LEDs if they don't exist + + xkb: when copying sections, make sure num_rows is set too + + xfree86: don't call xalloc from signal handlers when posting events + + xfree86: stick two more checks in for num_valuators < MAX_VALUATORS + + dix: Always add valuator information if present + + dix: Allow arbitrary value ranges in GetPointerEvents + + dix: Add scaling of X and Y on the reported pointer-events + + dix: Skip call to clipAxis for relative core-events + + dix: Move motion history update until after screen crossing and clipping + + X86EMU: handle CPUID instruction + + xkb: when copying the keymap, make sure the structs default to 0/NULL + + XkbCopyKeymap: Don't leak all the sections + + dix: set the correct number of valuators in valuator events + + Xephyr: Don't leak screen damage structure + + Xephyr: One-time keyboard leak fix + + OS: IO: Zero out client buffers + + bgPixel (unsigned long) is 64-bit on x86_64, so -1 != 0xffffffff + +* Tue Jan 29 2008 Valery Inozemtsev 2:1.4.0.90-alt8 +- there is no such thing as /dev/cpu/mtrr +- fix AlwaysCore handling + +* Mon Jan 21 2008 Valery Inozemtsev 2:1.4.0.90-alt7 +- update last security patch + +* Fri Jan 18 2008 Valery Inozemtsev 2:1.4.0.90-alt6 +- CVE-2007-6429: Don't spuriously reject <8bpp shm pixmaps + +* Thu Jan 17 2008 Valery Inozemtsev 2:1.4.0.90-alt5 +- fixed CVE-2007-5760, CVE-2007-6427, CVE-2007-6428, CVE-2007-6429, CVE-2008-0006 + +* Wed Jan 16 2008 Valery Inozemtsev 2:1.4.0.90-alt4 +- yet another Xv extension byte swapping fix + +* Mon Jan 14 2008 Valery Inozemtsev 2:1.4.0.90-alt3 +- Don't leak connection translation table on regeneration +- Don't reinit devices +- Fix potential crasher in xf86CrtcRotate() +- Xv extension not byte-swapping properly + +* Tue Jan 01 2008 Valery Inozemtsev 2:1.4.0.90-alt2 +- fixed requires (close #13808) +- never overwrite realInputProc with enqueueInputProc (close #13843) + +* Sat Dec 22 2007 Valery Inozemtsev 2:1.4.0.90-alt1 +- 1.4.1 pre-release + +* Mon Dec 10 2007 Valery Inozemtsev 2:1.4-alt12 +- fixed keyboard leds reflect modifier state (close #13024) + +* Sat Dec 08 2007 Valery Inozemtsev 2:1.4-alt11 +- verify and reject obviously broken modes +- fixes memory corruption if a too small "Virtual" was specified in xorg.conf + for the selected multi-monitor configuration +- make config file preferred mode override monitor preferred mode + +* Sat Dec 01 2007 Valery Inozemtsev 2:1.4-alt10 +- fix a hang in OpenOffice.org when opening menus (close #13566) + +* Sun Nov 25 2007 Valery Inozemtsev 2:1.4-alt9 +- Mesa-7.0.2-git-GLX_BIND_TO_MIPMAP_TEXTURE_EXT-bug9264.patch + +* Sun Nov 11 2007 Valery Inozemtsev 2:1.4-alt8 +- Mesa-7.0.2 + +* Mon Nov 05 2007 Valery Inozemtsev 2:1.4-alt7 +- drop XKB patches (close #13298, reopen #13024) +- added Mesa-7.0.1-git-memleak-in-SSE.patch + +* Wed Oct 30 2007 Valery Inozemtsev 2:1.4-alt6 +- fixed keyboard leds reflect modifier state (close #5712, #13024) + +* Thu Oct 25 2007 Valery Inozemtsev 2:1.4-alt5 +- fixed vga driver crash +- disable optimization (introduced by ajax) due to a general vesa + driver crash later in memcpy +- only issue XF86_APM_CAPABILITY_CHANGED for video change ACPI events + (not e.g. brightness etc.) +- fixed key down test + +* Sun Oct 14 2007 Valery Inozemtsev 2:1.4-alt4 +- rebuild + +* Fri Sep 14 2007 Valery Inozemtsev 2:1.4-alt3 +- disable Composite exstension by default + +* Sat Sep 08 2007 Valery Inozemtsev 2:1.4-alt2 +- disable dbus/hal +- fixed build Xdmx + +* Thu Sep 06 2007 Valery Inozemtsev 2:1.4-alt1 +- 1.4 +- drop upstream patches + +* Sat Sep 01 2007 Valery Inozemtsev 2:1.3.0.0-alt24 +- rebuild with renderproto-0.9.3 + +* Fri Aug 31 2007 Valery Inozemtsev 2:1.3.0.0-alt23 +- drop %_sysconfdir/X11/xinit.d/xfonts, adieu chkfontpath + +* Tue Aug 28 2007 Valery Inozemtsev 2:1.3.0.0-alt22 +- xorg-x11-xtrans-devel to pull in abstract socket support +- set default font path to "catalogue:%_sysconfdir/X11/fontpath.d" +- requires libXfont >= 1.3.0, fonts-bitmap-misc >= 7.0.0-alt2 + +* Fri Aug 24 2007 Valery Inozemtsev 2:1.3.0.0-alt21 +- get rid of the type1 font module +- added xorg-server-1.3.0.0-idletime.patch +- update offscreen pixmaps patch +- update patch for Mesa-7.0.1 + +* Thu Aug 16 2007 Valery Inozemtsev 2:1.3.0.0-alt20 +- update pci.ids to 2007-08-15 snapshot + +* Tue Aug 14 2007 Valery Inozemtsev 2:1.3.0.0-alt19 +- Backported many randr 1.2 fixes and additions from xserver git + +* Tue Aug 14 2007 Valery Inozemtsev 2:1.3.0.0-alt18 +- drop obsolete "-scanpci" option (close #12544) + +* Sat Aug 11 2007 Valery Inozemtsev 2:1.3.0.0-alt17 +- Mesa-7.0.1 + +* Wed Aug 01 2007 Valery Inozemtsev 2:1.3.0.0-alt16 +- added Mesa-7.0-git-function-call-bug11731.patch, + Mesa-7.0-git-fragment-program-bug11733.patch, + Mesa-7.0-git-glPointParameteriv-bug11754.patch, + Mesa-7.0-git-failure-caused-by-undeclared-variable-bug11783.patch, + Mesa-7.0-git-glGetAttribLocation-bug11774.patch + +* Tue Jul 17 2007 Valery Inozemtsev 2:1.3.0.0-alt15 +- update pci.ids to 2007-07-16 snapshot + +* Mon Jul 16 2007 Valery Inozemtsev 2:1.3.0.0-alt14 +- added xorg-server-1.3.0.0-git-domain-support-bug5000.patch, + Mesa-7.0-git-depth-mix-up-bug11577.patch, + Mesa-7.0-git-swizzle-related-bug11534.patch, + Mesa-7.0-git-shader-info-bug11588.patch + +* Tue Jul 03 2007 Valery Inozemtsev 2:1.3.0.0-alt13 +- added xorg-server-1.3.0.0-git-xf86XVReputVideo.patch (close #12201), + Mesa-7.0-git-image-bug11448.patch, + Mesa-7.0-git-GL_DOT3_RGBA-bug11030.patch + +* Mon Jun 25 2007 Valery Inozemtsev 2:1.3.0.0-alt12 +- added xorg-server-1.3.0.0-git-DRIScreenPrivIndex-bug11340.patch: + fixed Xorg crashes when last client disconnects and DRI is not available + +* Sat Jun 23 2007 Valery Inozemtsev 2:1.3.0.0-alt11 +- Mesa-7.0 + +* Thu Jun 21 2007 Valery Inozemtsev 2:1.3.0.0-alt10 +- fixed XKEYBOARD extension for Xnest (close #12095) + +* Sat Jun 09 2007 Valery Inozemtsev 2:1.3.0.0-alt9 +- add libwfb.so module ownership for future compatibility + +* Mon Jun 04 2007 Valery Inozemtsev 2:1.3.0.0-alt8 +- added Mesa-6.5.3-git-GL_TEXTURE_LOD_BIAS-bug11049.patch, + Mesa-6.5.3-git-point-attentuation-bug11042.patch, + xserver-1.2.0-honor-displaysize.patch + +* Tue May 22 2007 Valery Inozemtsev 2:1.3.0.0-alt7 +- build GLX without USE_XCB + +* Sat May 19 2007 Valery Inozemtsev 2:1.3.0.0-alt6 +- added Mesa-6.5.3-git-STATE_HALF_VECTOR-bug10987.patch +- build GLX with USE_XCB + +* Thu May 17 2007 Valery Inozemtsev 2:1.3.0.0-alt5 +- added xorg-x11-server-Red-Hat-extramodes.patch + +* Tue May 15 2007 Valery Inozemtsev 2:1.3.0.0-alt4 +- build xephyr server +- added Mesa-6.5.3-git-glXGetArrayType-return-type-bug10938.patch + +* Wed May 09 2007 Valery Inozemtsev 2:1.3.0.0-alt3 +- rebuild with libX11 & Mesa with xcb + +* Mon Apr 30 2007 Valery Inozemtsev 2:1.3.0.0-alt2 +- Mesa-6.5.3 +- fixed CVE-2007-1356 + +* Fri Apr 20 2007 Valery Inozemtsev 2:1.3.0.0-alt1 +- Xorg-7.3 release +- drop upstream patches + +* Wed Apr 11 2007 Valery Inozemtsev 2:1.2.99.905-alt4 +- added xorg-server-1.2.99.905-git-optparsing-memleak.patch: Fix memory leak in option parsing + +* Tue Apr 10 2007 Valery Inozemtsev 2:1.2.99.905-alt3 +- added xorg-server-1.2.99.905-git-AIGLX-enterVT.patch: In AIGLX EnterVT processing, + invoke driver EnterVT before resuming glx +- added xorg-server-1.2.99.905-git-parcer.patch: Don't write out empty sections from the parser +- added xorg-server-1.2.99.905-git-linuxPci-sysfs.patch: Look for the PCI ROM file elsewhere in sysfs + +* Mon Apr 09 2007 Valery Inozemtsev 2:1.2.99.905-alt2 +- fixed release-major + +* Fri Apr 06 2007 Valery Inozemtsev 2:1.2.99.905-alt1 +- Xorg-7.3RC5 + +* Fri Apr 06 2007 Valery Inozemtsev 2:1.2.99.904-alt1 +- Xorg-7.3RC4 + +* Tue Apr 03 2007 Valery Inozemtsev 2:1.2.99.903-alt3 +- fixed CVE-2007-1003: XC-MISC Extension ProcXCMiscGetXIDList() Memory Corruption + +* Thu Mar 29 2007 Valery Inozemtsev 2:1.2.99.903-alt2 +- added xorg-server-1.2.99.903-git-timer-rescheduling-bug10296.patch + +* Tue Mar 27 2007 Valery Inozemtsev 2:1.2.99.903-alt1 +- Xorg-7.3RC3 +- set black background on startup + +* Wed Mar 21 2007 Valery Inozemtsev 2:1.2.99.902-alt5 +- added xorg-server-1.2.99.902-git-xf86_reload_cursors.patch, + xorg-server-1.2.99.902-alt-loader-typo.patch +- spec cleanup + +* Wed Mar 14 2007 Valery Inozemtsev 2:1.2.99.902-alt2 +- added xorg-server-1.2.99.902-git-CRTC-based-cursor.patch + +* Wed Mar 14 2007 Valery Inozemtsev 2:1.2.99.902-alt1 +- Xorg-7.3RC2 +- drop xorg-server-1.1.99.903-revert-int10.patch + +* Tue Mar 13 2007 Valery Inozemtsev 2:1.2.99.901-alt1 +- Xorg-7.3RC1 +- added Mesa-6.5.2-git-n_dot_h-bug9977.patch + +* Wed Feb 21 2007 Valery Inozemtsev 2:1.2.0-alt6 +- added Mesa-6.5.2-git-tnl-bug9856.patch, + xorg-server-1.2.0-git-8888x0565mmx-bug9682.patch, + xorg-server-1.2.0-git-use-8888x0565mmx.patch, + Mesa-6.5.2-git-fd-bug9684.patch, + xorg-server-1.2.0-git-xf86_libc_h-typo.patch, + xorg-server-1.2.0-git-client-privates-leak.patch, + xorg-server-1.2.0-git-security-bug6988.patch, + xorg-server-1.2.0-git-clientGone-XFixes-bug1753.patch + +* Mon Feb 05 2007 Valery Inozemtsev 2:1.2.0-alt5 +- added Mesa-6.5.2-git-main-mem-leak.patch, + Mesa-6.5.2-git-glxext-mem-leak.patch + +* Mon Feb 05 2007 Valery Inozemtsev 2:1.2.0-alt4 +- added xorg-server-1.2.0-git-linuxPCIOpenFile-bug9692.patch, + Mesa-6.5.2-git-CheckArrayBounds-bug9285.patch, + Mesa-6.5.2-git-GetVertexAttribPointerv-bug9628.patch, + xorg-server-1.2.0-git-length-limiting-bug9680.patch +- added requires iceauth for %name + +* Thu Jan 25 2007 Valery Inozemtsev 2:1.2.0-alt3 +- added xorg-server-1.2.0-git-EXA-bug7639.patch, + xorg-server-1.2.0-git-plugmemoryleak.patch + +* Wed Jan 24 2007 Valery Inozemtsev 2:1.2.0-alt2 +- fixed typo in obsoletes xorg-x11-extensions-dri + +* Tue Jan 23 2007 Valery Inozemtsev 2:1.2.0-alt1 +- Xorg-7.2.0 release +- drop upstream patches + +* Mon Jan 22 2007 Valery Inozemtsev 2:1.1.99.903-alt6.2 +- added xorg-server-1.1.99.903-git-drmOpen-bug9275.patch, + xorg-server-1.1.99.903-git-optimized-render-cases.patch, + xorg-server-1.1.99.903-git-real-optimized-render-cases.patch, + xorg-server-1.1.99.903-alt-libglx-link.patch + +* Fri Jan 19 2007 Valery Inozemtsev 2:1.1.99.903-alt6 +- update pci.ids to 2007-01-18 snapshot + +* Tue Jan 09 2007 Valery Inozemtsev 2:1.1.99.903-alt5 +- security fix CVE-2006-6101, CVE-2006-6102, CVE-2006-6103 +- added Mesa-6.5.2-git-PolygonMode-bug9578.patch, + xorg-server-1.1.99.901-glXDRIbindTexImage-target.patch, + xorg-server-1.1.99.903-dont-backfill-bg-none.patch, + xorg-server-1.1.99.903-offscreen-pixmaps.patch, + xorg-server-1.1.99.903-no-move-damage.patch, + xorg-server-1.1.99.903-git-ARGB-GLcore.patch, + Mesa-6.5.2-git-VBO-state-bug9445.patch, + Mesa-6.5.2-git-32bit-Z-buffer.patch + +* Mon Jan 01 2007 Valery Inozemtsev 2:1.1.99.903-alt4 +- added Mesa-6.5.2-git-swrast-bug9345.patch, + xorg-server-1.1.99.903-git-exa-disable-SHM-pixmaps.patch, + xorg-server-1.1.99.903-git-exa-dxdy.patch, + xorg-server-1.1.99.903-git-exa-driver-limits.patch, + xorg-server-1.1.99.903-git-fbdevhw.patch + +* Thu Dec 14 2006 Valery Inozemtsev 2:1.1.99.903-alt3 +- added xorg-server-1.1.99.903-revert-int10.patch, fixed i9xx problems +- added xorg-server-1.1.99.903-ignore-libdrm.patch to ignore requests + for loading obsolete drm module + +* Wed Dec 06 2006 Valery Inozemtsev 2:1.1.99.903-alt2.1 +- added xorg-server-1.1.99.903-git-composite-viewable.patch, + xorg-server-1.1.99.903-git-pci_ids.patch + +* Sun Dec 03 2006 Valery Inozemtsev 2:1.1.99.903-alt2 +- Mesa-6.5.2 release +- added xorg-server-1.1.99.903-render-size-overflow.patch + +* Sat Dec 02 2006 Valery Inozemtsev 2:1.1.99.903-alt1 +- Xorg-7.2RC3 +- Mesa-6.5.2 CVS snapshot 2006-12-01 +- removed xorg-x11-extensions-dri subpackage +- moved libglx-x11.so to %_libdir/X11/mesa_gl +- added xorg-server-1.1.99.902-git-xf86MapDomainMemory.patch, + xorg-server-1.1.99.902-git-latest_gl_API.patch, + xorg-server-1.1.99.902-xdmx-RENDER.patch, + xorg-server-1.1.99.901-GetDrawableAttributes.patch + +* Thu Nov 16 2006 Valery Inozemtsev 2:1.1.99.902-alt2 +- fixed undefined symbol in libxf86config.so +- removed xorg-server-1.1.99.3-alt-extmod-fontcache.patch and disabled fontcache +- Mesa-6.5.2 CVS snapshot 2006-11-15 + +* Tue Nov 14 2006 Valery Inozemtsev 2:1.1.99.902-alt1 +- Xorg-7.2RC2 +- Mesa-6.5.2 CVS snapshot 2006-11-14 +- removed xorg-x11-server-1.1.1-offscreen-pixmaps.patch + +* Wed Oct 18 2006 Valery Inozemtsev 2:1.1.99.901-alt1 +- Xorg-7.2RC1 +- Mesa-6.5.2 CVS snapshot 2006-10-18 + +* Wed Oct 11 2006 Valery Inozemtsev 2:1.1.1-alt6 +- build with --enable-glx-tls to enable TLS support. + +* Wed Oct 04 2006 Valery Inozemtsev 2:1.1.1-alt5 +- rebuild with glibc-2.5 +- remove linux-libc-headers from build dependencies, build with glibc-kernheaders + +* Thu Sep 14 2006 Valery Inozemtsev 2:1.1.1-alt4 +- rollback to older GL API (xorg-server-1.1.1 2006-03-12, since 2006-08-31 broke fglrx) +- added %%_optlevel 3 and call me a gentooist + +* Mon Sep 11 2006 Valery Inozemtsev 2:1.1.1-alt3 +- fix AIGLX VT switching +- probe xorg-server-1.1.1-mdk-Blue-background-on-startup.patch + +* Fri Sep 01 2006 Valery Inozemtsev 2:1.1.1-alt2 +- fix problems with vertex program protocol + +* Wed Aug 30 2006 Valery Inozemtsev 2:1.1.1-alt1.1 +- Xorg-7.1.1 +- Mesa-6.5.1 +- build AIGLX, disabled by defaults +- build with APM/ACPI, PM support disabled by defaults + +* Wed Aug 23 2006 Valery Inozemtsev 1:1.0.2-alt6 +- xorg-server-1.1.0-setuid.patch +- removed x-cursor-theme-bluecurve +- fixed requires for %name + +* Wed May 03 2006 Valery Inozemtsev 1:1.0.2-alt5 +- xorg-x11-6.9.0-CVE-2006-1526.patch + +* Sun Apr 16 2006 Valery Inozemtsev 1:1.0.2-alt4 +- removed patch for support APM/ACPI (since not used) + +* Sat Apr 01 2006 Valery Inozemtsev 1:1.0.2-alt3 +- removed shadow patch + +* Fri Mar 24 2006 Valery Inozemtsev 1:1.0.2-alt2 +- added fonts loader script +- removed layer extension +- fixed build glx extension for x86_64 + +* Tue Mar 21 2006 Valery Inozemtsev 1:1.0.2-alt1 +- 1.0.2 security bugfix +- updated shadow to 1.1.0 from CVS + +* Tue Mar 14 2006 Valery Inozemtsev 1:1.0.1-alt15 +- Xfixes Version 4.0 +- Composite Version 0.3 +- disabled RH die-ugly-pattern-die-die-die patch + +* Sun Mar 05 2006 Valery Inozemtsev 1:1.0.1-alt14 +- added render2swap patch from CVS +- added RRGetRotation patch from CVS +- added mesa-6.4.2-dix-config patch + +* Fri Mar 03 2006 Valery Inozemtsev 1:1.0.1-alt13 +- fixed update from XFree86 +- added xkb maprules patch from CVS + +* Tue Feb 14 2006 Valery Inozemtsev 1:1.0.1-alt12 +- build with linux-libc-headers +- removed requires libmesa-%%mesaversion to xorg-x11-extensions-glx, requires libmesa + +* Fri Feb 10 2006 Valery Inozemtsev 1:1.0.1-alt11 +- Added xorg-server-1.0.1-SEGV-on-null-interface.patch which prevents a + SEGV on null interfaces (#9023) + +* Thu Feb 09 2006 Valery Inozemtsev 1:1.0.1-alt10 +- rebuild with Mesa-6.4.2 + +* Fri Feb 03 2006 Valery Inozemtsev 1:1.0.1-alt9 +- removed xkb script (#9012, #7787) +- added requires xorg-x11-xdm + +* Tue Jan 31 2006 Valery Inozemtsev 1:1.0.1-alt8 +- added randrstr.h to sdk subpackage + +* Mon Jan 23 2006 Valery Inozemtsev 1:1.0.1-alt7 +- fixed ACPI support + +* Wed Jan 18 2006 Valery Inozemtsev 1:1.0.1-alt6 +- fixed requires + +* Thu Jan 12 2006 Valery Inozemtsev 1:1.0.1-alt5 +- set drvdir to /usr/libexec/X11/drv.d +- fixed build FontCache extensions + +* Sun Jan 08 2006 Valery Inozemtsev 1:1.0.1-alt4 +- fixed conflicts version + +* Thu Jan 05 2006 Valery Inozemtsev 1:1.0.1-alt3 +- enabled APM/ACPI support + +* Sun Jan 01 2006 Valery Inozemtsev 1:1.0.1-alt2 +- fixed requires + +* Mon Dec 26 2005 Valery Inozemtsev 1:1.0.1-alt1 +- Xorg-7.0 + +* Sun Dec 04 2005 Valery Inozemtsev 1:0.99.4-alt1 +- Xorg-7.0RC3 + +* Fri Nov 25 2005 Valery Inozemtsev 1:0.99.3-alt0.1 +- 7.0-RC2 diff --git a/xserver.pamd b/xserver.pamd new file mode 100644 index 0000000..76609d7 --- /dev/null +++ b/xserver.pamd @@ -0,0 +1,4 @@ +#%PAM-1.0 +auth sufficient pam_rootok.so +auth required pam_console.so +account required pam_permit.so