commit 9915c625cd51120e06066ca6044a95e293135017 Author: CentOS Sources Date: Tue May 17 05:09:35 2022 -0400 import xorg-x11-drv-fbdev-0.5.0-11.el9 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..72f44ee --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/xf86-video-fbdev-0.5.0.tar.bz2 diff --git a/.xorg-x11-drv-fbdev.metadata b/.xorg-x11-drv-fbdev.metadata new file mode 100644 index 0000000..e470a78 --- /dev/null +++ b/.xorg-x11-drv-fbdev.metadata @@ -0,0 +1 @@ +8d79ec615cb54436ff96dc94b74775db6dc47aff SOURCES/xf86-video-fbdev-0.5.0.tar.bz2 diff --git a/SOURCES/0001-mustard-Enable-linking-with-z-now.patch b/SOURCES/0001-mustard-Enable-linking-with-z-now.patch new file mode 100644 index 0000000..a11fa20 --- /dev/null +++ b/SOURCES/0001-mustard-Enable-linking-with-z-now.patch @@ -0,0 +1,409 @@ +From 9a151d87fb084a914ad76f77be78f720448fa201 Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Tue, 25 Jan 2022 13:37:14 -0500 +Subject: [PATCH xf86-video-fbdev] mustard: Enable linking with -z now + +The xfree86 design loads the fb, fbdev, and shadow modules _after_ the +driver is loaded, which means we need to dlsym^WLoaderSymbol for the API +we need ourselves. +--- + src/fbdev.c | 152 ++++++++++++++++++++++++++++++++++++++-------------- + 1 file changed, 113 insertions(+), 39 deletions(-) + +diff --git a/src/fbdev.c b/src/fbdev.c +index e4f66a2..ee3a716 100644 +--- a/src/fbdev.c ++++ b/src/fbdev.c +@@ -77,6 +77,75 @@ static Bool FBDevDriverFunc(ScrnInfoPtr pScrn, xorgDriverFuncOp op, + + enum { FBDEV_ROTATE_NONE=0, FBDEV_ROTATE_CW=270, FBDEV_ROTATE_UD=180, FBDEV_ROTATE_CCW=90 }; + ++static typeof(fbdevHWAdjustFrame) *my_fbdevHWAdjustFrame; ++static typeof(fbdevHWDPMSSet) *my_fbdevHWDPMSSet; ++static typeof(fbdevHWEnterVT) *my_fbdevHWEnterVT; ++static typeof(fbdevHWGetDepth) *my_fbdevHWGetDepth; ++static typeof(fbdevHWGetLineLength) *my_fbdevHWGetLineLength; ++static typeof(fbdevHWGetName) *my_fbdevHWGetName; ++static typeof(fbdevHWGetType) *my_fbdevHWGetType; ++static typeof(fbdevHWGetVidmem) *my_fbdevHWGetVidmem; ++static typeof(fbdevHWInit) *my_fbdevHWInit; ++static typeof(fbdevHWLeaveVT) *my_fbdevHWLeaveVT; ++static typeof(fbdevHWLinearOffset) *my_fbdevHWLinearOffset; ++static typeof(fbdevHWLoadPalette) *my_fbdevHWLoadPalette; ++static typeof(fbdevHWMapVidmem) *my_fbdevHWMapVidmem; ++static typeof(fbdevHWModeInit) *my_fbdevHWModeInit; ++static typeof(fbdevHWProbe) *my_fbdevHWProbe; ++static typeof(fbdevHWRestore) *my_fbdevHWRestore; ++static typeof(fbdevHWSave) *my_fbdevHWSave; ++static typeof(fbdevHWSaveScreen) *my_fbdevHWSaveScreen; ++static typeof(fbdevHWSetVideoModes) *my_fbdevHWSetVideoModes; ++static typeof(fbdevHWSwitchMode) *my_fbdevHWSwitchMode; ++static typeof(fbdevHWUnmapVidmem) *my_fbdevHWUnmapVidmem; ++static typeof(fbdevHWUseBuildinMode) *my_fbdevHWUseBuildinMode; ++static typeof(fbdevHWValidMode) *my_fbdevHWValidMode; ++ ++static void ++bind_fbdevhw(void) ++{ ++ my_fbdevHWAdjustFrame = LoaderSymbol("fbdevHWAdjustFrame"); ++ my_fbdevHWDPMSSet = LoaderSymbol("fbdevHWDPMSSet"); ++ my_fbdevHWEnterVT = LoaderSymbol("fbdevHWEnterVT"); ++ my_fbdevHWGetDepth = LoaderSymbol("fbdevHWGetDepth"); ++ my_fbdevHWGetLineLength = LoaderSymbol("fbdevHWGetLineLength"); ++ my_fbdevHWGetName = LoaderSymbol("fbdevHWGetName"); ++ my_fbdevHWGetType = LoaderSymbol("fbdevHWGetType"); ++ my_fbdevHWGetVidmem = LoaderSymbol("fbdevHWGetVidmem"); ++ my_fbdevHWInit = LoaderSymbol("fbdevHWInit"); ++ my_fbdevHWLeaveVT = LoaderSymbol("fbdevHWLeaveVT"); ++ my_fbdevHWLinearOffset = LoaderSymbol("fbdevHWLinearOffset"); ++ my_fbdevHWLoadPalette = LoaderSymbol("fbdevHWLoadPalette"); ++ my_fbdevHWMapVidmem = LoaderSymbol("fbdevHWMapVidmem"); ++ my_fbdevHWModeInit = LoaderSymbol("fbdevHWModeInit"); ++ my_fbdevHWProbe = LoaderSymbol("fbdevHWProbe"); ++ my_fbdevHWRestore = LoaderSymbol("fbdevHWRestore"); ++ my_fbdevHWSave = LoaderSymbol("fbdevHWSave"); ++ my_fbdevHWSaveScreen = LoaderSymbol("fbdevHWSaveScreen"); ++ my_fbdevHWSetVideoModes = LoaderSymbol("fbdevHWSetVideoModes"); ++ my_fbdevHWSwitchMode = LoaderSymbol("fbdevHWSwitchMode"); ++ my_fbdevHWUnmapVidmem = LoaderSymbol("fbdevHWUnmapVidmem"); ++ my_fbdevHWUseBuildinMode = LoaderSymbol("fbdevHWUseBuildinMode"); ++ my_fbdevHWValidMode = LoaderSymbol("fbdevHWValidMode"); ++} ++ ++static typeof(shadowAdd) *my_shadowAdd; ++static typeof(shadowRemove) *my_shadowRemove; ++static typeof(shadowSetup) *my_shadowSetup; ++static typeof(shadowUpdate32to24) *my_shadowUpdate32to24; ++static typeof(shadowUpdatePacked) *my_shadowUpdatePacked; ++static typeof(shadowUpdateRotatePacked) *my_shadowUpdateRotatePacked; ++ ++static void ++bind_shadow(void) ++{ ++ my_shadowAdd = LoaderSymbol("shadowAdd"); ++ my_shadowRemove = LoaderSymbol("shadowRemove"); ++ my_shadowSetup = LoaderSymbol("shadowSetup"); ++ my_shadowUpdate32to24 = LoaderSymbol("shadowUpdate32to24"); ++ my_shadowUpdatePacked = LoaderSymbol("shadowUpdatePacked"); ++ my_shadowUpdateRotatePacked = LoaderSymbol("shadowUpdateRotatePacked"); ++} + + /* -------------------------------------------------------------------- */ + +@@ -235,31 +304,31 @@ FBDevIdentify(int flags) + static Bool + fbdevSwitchMode(ScrnInfoPtr pScrn, DisplayModePtr mode) + { +- return fbdevHWSwitchMode(pScrn, mode); ++ return my_fbdevHWSwitchMode(pScrn, mode); + } + + static void + fbdevAdjustFrame(ScrnInfoPtr pScrn, int x, int y) + { +- fbdevHWAdjustFrame(pScrn, x, y); ++ my_fbdevHWAdjustFrame(pScrn, x, y); + } + + static Bool + fbdevEnterVT(ScrnInfoPtr pScrn) + { +- return fbdevHWEnterVT(pScrn); ++ return my_fbdevHWEnterVT(pScrn); + } + + static void + fbdevLeaveVT(ScrnInfoPtr pScrn) + { +- fbdevHWLeaveVT(pScrn); ++ my_fbdevHWLeaveVT(pScrn); + } + + static ModeStatus + fbdevValidMode(ScrnInfoPtr pScrn, DisplayModePtr mode, Bool verbose, int flags) + { +- return fbdevHWValidMode(pScrn, mode, verbose, flags); ++ return my_fbdevHWValidMode(pScrn, mode, verbose, flags); + } + + #ifdef XSERVER_LIBPCIACCESS +@@ -270,6 +339,7 @@ static Bool FBDevPciProbe(DriverPtr drv, int entity_num, + + if (!xf86LoadDrvSubModule(drv, "fbdevhw")) + return FALSE; ++ bind_fbdevhw(); + + pScrn = xf86ConfigPciEntity(NULL, 0, entity_num, NULL, NULL, + NULL, NULL, NULL, NULL); +@@ -279,7 +349,7 @@ static Bool FBDevPciProbe(DriverPtr drv, int entity_num, + pScrn->entityInstanceList[0]); + + device = xf86FindOptionValue(devSection->options, "fbdev"); +- if (fbdevHWProbe(dev, device, NULL)) { ++ if (my_fbdevHWProbe(dev, device, NULL)) { + pScrn->driverVersion = FBDEV_VERSION; + pScrn->driverName = FBDEV_DRIVER_NAME; + pScrn->name = FBDEV_NAME; +@@ -332,7 +402,8 @@ FBDevProbe(DriverPtr drv, int flags) + + if (!xf86LoadDrvSubModule(drv, "fbdevhw")) + return FALSE; +- ++ bind_fbdevhw(); ++ + for (i = 0; i < numDevSections; i++) { + Bool isIsa = FALSE; + Bool isPci = FALSE; +@@ -355,7 +426,7 @@ FBDevProbe(DriverPtr drv, int flags) + 0; + + } +- if (fbdevHWProbe(NULL,dev,NULL)) { ++ if (my_fbdevHWProbe(NULL,dev,NULL)) { + pScrn = NULL; + if (isPci) { + #ifndef XSERVER_LIBPCIACCESS +@@ -459,11 +530,11 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags) + pci_dev = fPtr->pEnt->location.id.pci; + #endif + /* open device */ +- if (!fbdevHWInit(pScrn, pci_dev, ++ if (!my_fbdevHWInit(pScrn, pci_dev, + xf86FindOptionValue(fPtr->pEnt->device->options, + "fbdev"))) + return FALSE; +- default_depth = fbdevHWGetDepth(pScrn,&fbbpp); ++ default_depth = my_fbdevHWGetDepth(pScrn,&fbbpp); + + if (default_depth == 8) do { + /* trust the command line */ +@@ -531,10 +602,10 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags) + pScrn->progClock = TRUE; + pScrn->rgbBits = 8; + pScrn->chipset = "fbdev"; +- pScrn->videoRam = fbdevHWGetVidmem(pScrn); ++ pScrn->videoRam = my_fbdevHWGetVidmem(pScrn); + + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "hardware: %s (video memory:" +- " %dkB)\n", fbdevHWGetName(pScrn), pScrn->videoRam/1024); ++ " %dkB)\n", my_fbdevHWGetName(pScrn), pScrn->videoRam/1024); + + /* handle options */ + xf86CollectOptions(pScrn, NULL); +@@ -591,7 +662,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags) + /* select video modes */ + + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "checking modes against framebuffer device...\n"); +- fbdevHWSetVideoModes(pScrn); ++ my_fbdevHWSetVideoModes(pScrn); + + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "checking modes against monitor...\n"); + { +@@ -606,7 +677,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags) + } + + if (NULL == pScrn->modes) +- fbdevHWUseBuildinMode(pScrn); ++ my_fbdevHWUseBuildinMode(pScrn); + pScrn->currentMode = pScrn->modes; + + /* First approximation, may be refined in ScreenInit */ +@@ -618,7 +689,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags) + xf86SetDpi(pScrn, 0, 0); + + /* Load bpp-specific modules */ +- switch ((type = fbdevHWGetType(pScrn))) ++ switch ((type = my_fbdevHWGetType(pScrn))) + { + case FBDEVHW_PACKED_PIXELS: + switch (pScrn->bitsPerPixel) +@@ -671,6 +742,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags) + FBDevFreeRec(pScrn); + return FALSE; + } ++ bind_shadow(); + } + + TRACE_EXIT("PreInit"); +@@ -681,20 +753,20 @@ static void + fbdevUpdate32to24(ScreenPtr pScreen, shadowBufPtr pBuf) + { + #ifdef HAVE_SHADOW_3224 +- shadowUpdate32to24(pScreen, pBuf); ++ my_shadowUpdate32to24(pScreen, pBuf); + #endif + } + + static void + fbdevUpdateRotatePacked(ScreenPtr pScreen, shadowBufPtr pBuf) + { +- shadowUpdateRotatePacked(pScreen, pBuf); ++ my_shadowUpdateRotatePacked(pScreen, pBuf); + } + + static void + fbdevUpdatePacked(ScreenPtr pScreen, shadowBufPtr pBuf) + { +- shadowUpdatePacked(pScreen, pBuf); ++ my_shadowUpdatePacked(pScreen, pBuf); + } + + static Bool +@@ -722,7 +794,7 @@ FBDevCreateScreenResources(ScreenPtr pScreen) + else + update = fbdevUpdatePacked; + +- if (!shadowAdd(pScreen, pPixmap, update, FBDevWindowLinear, fPtr->rotate, ++ if (!my_shadowAdd(pScreen, pPixmap, update, FBDevWindowLinear, fPtr->rotate, + NULL)) { + return FALSE; + } +@@ -736,7 +808,7 @@ FBDevShadowInit(ScreenPtr pScreen) + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); + FBDevPtr fPtr = FBDEVPTR(pScrn); + +- if (!shadowSetup(pScreen)) { ++ if (!my_shadowSetup(pScreen)) { + return FALSE; + } + +@@ -749,19 +821,19 @@ FBDevShadowInit(ScreenPtr pScreen) + static void + fbdevLoadPalette(ScrnInfoPtr pScrn, int num, int *i, LOCO *col, VisualPtr pVis) + { +- fbdevHWLoadPalette(pScrn, num, i, col, pVis); ++ my_fbdevHWLoadPalette(pScrn, num, i, col, pVis); + } + + static void + fbdevDPMSSet(ScrnInfoPtr pScrn, int mode, int flags) + { +- fbdevHWDPMSSet(pScrn, mode, flags); ++ my_fbdevHWDPMSSet(pScrn, mode, flags); + } + + static Bool + fbdevSaveScreen(ScreenPtr pScreen, int mode) + { +- return fbdevHWSaveScreen(pScreen, mode); ++ return my_fbdevHWSaveScreen(pScreen, mode); + } + + static Bool +@@ -773,6 +845,8 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL) + int init_picture = 0; + int ret, flags; + int type; ++ typeof(fbScreenInit) *my_fbScreenInit = LoaderSymbol("fbScreenInit"); ++ typeof(fbPictureInit) *my_fbPictureInit = LoaderSymbol("fbPictureInit"); + + TRACE_ENTER("FBDevScreenInit"); + +@@ -786,21 +860,21 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL) + pScrn->offset.red,pScrn->offset.green,pScrn->offset.blue); + #endif + +- if (NULL == (fPtr->fbmem = fbdevHWMapVidmem(pScrn))) { ++ if (NULL == (fPtr->fbmem = my_fbdevHWMapVidmem(pScrn))) { + xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"mapping of video memory" + " failed\n"); + return FALSE; + } +- fPtr->fboff = fbdevHWLinearOffset(pScrn); ++ fPtr->fboff = my_fbdevHWLinearOffset(pScrn); + +- fbdevHWSave(pScrn); ++ my_fbdevHWSave(pScrn); + +- if (!fbdevHWModeInit(pScrn, pScrn->currentMode)) { ++ if (!my_fbdevHWModeInit(pScrn, pScrn->currentMode)) { + xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"mode initialization failed\n"); + return FALSE; + } +- fbdevHWSaveScreen(pScreen, SCREEN_SAVER_ON); +- fbdevHWAdjustFrame(ADJUST_FRAME_ARGS(pScrn, 0, 0)); ++ my_fbdevHWSaveScreen(pScreen, SCREEN_SAVER_ON); ++ my_fbdevHWAdjustFrame(ADJUST_FRAME_ARGS(pScrn, 0, 0)); + + /* mi layer */ + miClearVisualTypes(); +@@ -834,7 +908,7 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL) + } else if (!fPtr->shadowFB) { + /* FIXME: this doesn't work for all cases, e.g. when each scanline + has a padding which is independent from the depth (controlfb) */ +- pScrn->displayWidth = fbdevHWGetLineLength(pScrn) / ++ pScrn->displayWidth = my_fbdevHWGetLineLength(pScrn) / + (pScrn->bitsPerPixel / 8); + + if (pScrn->displayWidth != pScrn->virtualX) { +@@ -862,7 +936,7 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL) + } + } + +- switch ((type = fbdevHWGetType(pScrn))) ++ switch ((type = my_fbdevHWGetType(pScrn))) + { + case FBDEVHW_PACKED_PIXELS: + switch (pScrn->bitsPerPixel) { +@@ -870,7 +944,7 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL) + case 16: + case 24: + case 32: +- ret = fbScreenInit(pScreen, fPtr->shadowFB ? fPtr->shadow ++ ret = my_fbScreenInit(pScreen, fPtr->shadowFB ? fPtr->shadow + : fPtr->fbstart, pScrn->virtualX, + pScrn->virtualY, pScrn->xDpi, + pScrn->yDpi, pScrn->displayWidth, +@@ -935,7 +1009,7 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL) + } + + /* must be after RGB ordering fixed */ +- if (init_picture && !fbPictureInit(pScreen, NULL, 0)) ++ if (init_picture && !my_fbPictureInit(pScreen, NULL, 0)) + xf86DrvMsg(pScrn->scrnIndex, X_WARNING, + "Render extension initialisation failed\n"); + +@@ -966,7 +1040,7 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL) + miDCInitialize(pScreen, xf86GetPointerScreenFuncs()); + + /* colormap */ +- switch ((type = fbdevHWGetType(pScrn))) ++ switch ((type = my_fbdevHWGetType(pScrn))) + { + /* XXX It would be simpler to use miCreateDefColormap() in all cases. */ + case FBDEVHW_PACKED_PIXELS: +@@ -1032,10 +1106,10 @@ FBDevCloseScreen(CLOSE_SCREEN_ARGS_DECL) + ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen); + FBDevPtr fPtr = FBDEVPTR(pScrn); + +- fbdevHWRestore(pScrn); +- fbdevHWUnmapVidmem(pScrn); ++ my_fbdevHWRestore(pScrn); ++ my_fbdevHWUnmapVidmem(pScrn); + if (fPtr->shadow) { +- shadowRemove(pScreen, pScreen->GetScreenPixmap(pScreen)); ++ my_shadowRemove(pScreen, pScreen->GetScreenPixmap(pScreen)); + free(fPtr->shadow); + fPtr->shadow = NULL; + } +@@ -1070,7 +1144,7 @@ FBDevWindowLinear(ScreenPtr pScreen, CARD32 row, CARD32 offset, int mode, + if (fPtr->lineLength) + *size = fPtr->lineLength; + else +- *size = fPtr->lineLength = fbdevHWGetLineLength(pScrn); ++ *size = fPtr->lineLength = my_fbdevHWGetLineLength(pScrn); + + return ((CARD8 *)fPtr->fbstart + row * fPtr->lineLength + offset); + } +@@ -1225,7 +1299,7 @@ FBDevDGAAddModes(ScrnInfoPtr pScrn) + if (fPtr->lineLength) + pDGAMode->bytesPerScanline = fPtr->lineLength; + else +- pDGAMode->bytesPerScanline = fPtr->lineLength = fbdevHWGetLineLength(pScrn); ++ pDGAMode->bytesPerScanline = fPtr->lineLength = my_fbdevHWGetLineLength(pScrn); + + pDGAMode->imageWidth = pMode->HDisplay; + pDGAMode->imageHeight = pMode->VDisplay; +-- +2.34.1 + diff --git a/SOURCES/BGNoneRoot.patch b/SOURCES/BGNoneRoot.patch new file mode 100644 index 0000000..c22433f --- /dev/null +++ b/SOURCES/BGNoneRoot.patch @@ -0,0 +1,12 @@ +diff -up xf86-video-fbdev-0.4.3/src/fbdev.c.dma xf86-video-fbdev-0.4.3/src/fbdev.c +--- xf86-video-fbdev-0.4.3/src/fbdev.c.dma 2012-07-02 12:46:46.000000000 +0100 ++++ xf86-video-fbdev-0.4.3/src/fbdev.c 2012-07-02 13:02:40.545956779 +0100 +@@ -673,6 +673,8 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL) + pScrn->offset.red,pScrn->offset.green,pScrn->offset.blue); + #endif + ++ pScreen->canDoBGNoneRoot = 1; ++ + if (NULL == (fPtr->fbmem = my_fbdevHWMapVidmem(pScrn))) { + xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"mapping of video memory" + " failed\n"); diff --git a/SPECS/xorg-x11-drv-fbdev.spec b/SPECS/xorg-x11-drv-fbdev.spec new file mode 100644 index 0000000..cee1452 --- /dev/null +++ b/SPECS/xorg-x11-drv-fbdev.spec @@ -0,0 +1,327 @@ +%global tarball xf86-video-fbdev +%global moduledir %(pkg-config xorg-server --variable=moduledir ) +%global driverdir %{moduledir}/drivers + +Summary: Xorg X11 fbdev video driver +Name: xorg-x11-drv-fbdev +Version: 0.5.0 +Release: 11%{?dist} +URL: http://www.x.org +License: MIT + +Source0: https://www.x.org/pub/individual/driver/%{tarball}-%{version}.tar.bz2 + +ExcludeArch: s390 s390x + +Patch0: 0001-mustard-Enable-linking-with-z-now.patch +Patch2: BGNoneRoot.patch + +BuildRequires: make +BuildRequires: xorg-x11-server-devel >= 1.10.99.902 +BuildRequires: autoconf automake libtool + +Requires: Xorg %(xserver-sdk-abi-requires ansic) +Requires: Xorg %(xserver-sdk-abi-requires videodrv) + +%description +X.Org X11 fbdev video driver. + +%prep +%setup -q -n %{tarball}-%{version} +%patch0 -p1 +%patch2 -p1 + +%build +autoreconf -vif +%configure --disable-static +make + +%install +rm -rf $RPM_BUILD_ROOT + +make install DESTDIR=$RPM_BUILD_ROOT + +# FIXME: Remove all libtool archives (*.la) from modules directory. This +# should be fixed in upstream Makefile.am or whatever. +find $RPM_BUILD_ROOT -regex ".*\.la$" | xargs rm -f -- + +%files +%{driverdir}/fbdev_drv.so +%{_mandir}/man4/fbdev.4* + +%changelog +* Wed Feb 23 2022 Adam Jackson - 0.5.0-11 +- Enable hardened build + Resolves: rhbz#2044899 + +* Tue Aug 10 2021 Mohan Boddu - 0.5.0-10 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Fri Apr 16 2021 Mohan Boddu - 0.5.0-9 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Thu Jan 28 2021 Fedora Release Engineering - 0.5.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Nov 5 09:57:16 AEST 2020 Peter Hutterer - 0.5.0-7 +- Add BuildRequires for make + +* Wed Jul 29 2020 Fedora Release Engineering - 0.5.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jan 31 2020 Fedora Release Engineering - 0.5.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jul 27 2019 Fedora Release Engineering - 0.5.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Feb 03 2019 Fedora Release Engineering - 0.5.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 0.5.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed May 30 2018 Adam Jackson - 0.5.0-1 +- fbdev 0.5.0 + +* Mon Apr 02 2018 Adam Jackson - 0.4.3-30 +- Rebuild for xserver 1.20 + +* Fri Feb 09 2018 Fedora Release Engineering - 0.4.3-29 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Aug 03 2017 Fedora Release Engineering - 0.4.3-28 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 0.4.3-27 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Feb 11 2017 Fedora Release Engineering - 0.4.3-26 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Sep 29 2016 Hans de Goede - 0.4.3-25 +- Rebuild against xserver-1.19 + +* Fri Feb 05 2016 Fedora Release Engineering - 0.4.3-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Thu Jan 28 2016 Peter Hutterer +- Remove unnecessary defattr + +* Wed Jan 20 2016 Peter Hutterer +- s/define/global/ + +* Wed Jul 29 2015 Dave Airlie - 0.4.3-23 +- 1.15 ABI rebuild + +* Tue Jun 23 2015 Adam Jackson - 0.4.3-22 +- Undefine _hardened_build + +* Fri Jun 19 2015 Fedora Release Engineering - 0.4.3-21 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Wed Feb 11 2015 Hans de Goede - 0.4.3-20 +- xserver 1.17 ABI rebuild + +* Mon Aug 18 2014 Fedora Release Engineering - 0.4.3-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Mon Jun 16 2014 Hans de Goede - 0.4.3-18 +- xserver 1.15.99.903 ABI rebuild + +* Sun Jun 08 2014 Fedora Release Engineering - 0.4.3-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Mon Apr 28 2014 Hans de Goede - 0.4.3-16 +- xserver 1.15.99-20140428 git snapshot ABI rebuild + +* Mon Jan 13 2014 Adam Jackson - 0.4.3-15 +- 1.15 ABI rebuild + +* Tue Dec 17 2013 Adam Jackson - 0.4.3-14 +- 1.15RC4 ABI rebuild + +* Wed Nov 20 2013 Adam Jackson - 0.4.3-13 +- 1.15RC2 ABI rebuild + +* Wed Nov 06 2013 Adam Jackson - 0.4.3-12 +- 1.15RC1 ABI rebuild + +* Fri Oct 25 2013 Adam Jackson - 0.4.3-11 +- ABI rebuild + +* Sun Aug 04 2013 Fedora Release Engineering - 0.4.3-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu Mar 07 2013 Dave Airlie 0.4.3-9 +- autoreconf for aarch64 + +* Thu Mar 07 2013 Peter Hutterer - 0.4.3-8 +- require xorg-x11-server-devel, not -sdk + +* Thu Mar 07 2013 Peter Hutterer - 0.4.3-7 +- ABI rebuild + +* Fri Feb 15 2013 Peter Hutterer - 0.4.3-6 +- ABI rebuild + +* Fri Feb 15 2013 Peter Hutterer - 0.4.3-5 +- ABI rebuild + +* Thu Jan 10 2013 Adam Jackson - 0.4.3-4 +- ABI rebuild + +* Sun Jul 22 2012 Fedora Release Engineering - 0.4.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed Jul 18 2012 Dave Airlie - 0.4.3-2 +- ABI rebuild + +* Mon Jul 02 2012 Dave Airlie 0.4.3-1 +- upstream 0.4.3 release + +* Thu Apr 05 2012 Adam Jackson - 0.4.2-9 +- RHEL arch exclude updates + +* Sat Feb 11 2012 Peter Hutterer - 0.4.2-8 +- ABI rebuild + +* Fri Feb 10 2012 Peter Hutterer - 0.4.2-7 +- ABI rebuild + +* Tue Jan 24 2012 Peter Hutterer - 0.4.2-6 +- ABI rebuild + +* Wed Jan 04 2012 Peter Hutterer - 0.4.2-5 +- Rebuild for server 1.12 + +* Mon Nov 14 2011 Adam Jackson - 0.4.2-4 +- ABI rebuild + +* Wed Nov 09 2011 ajax - 0.4.2-3 +- ABI rebuild + +* Thu Aug 18 2011 Adam Jackson - 0.4.2-2 +- Rebuild for xserver 1.11 ABI + +* Tue Jun 21 2011 Adam Jackson 0.4.2-1 +- fbdev 0.4.2 + +* Wed May 11 2011 Peter Hutterer - 0.4.1-9 +- Rebuild for server 1.11 + +* Tue Mar 01 2011 Peter Hutterer - 0.4.1-8 +- Rebuild for server 1.10 + +* Tue Feb 08 2011 Fedora Release Engineering - 0.4.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Thu Dec 02 2010 Dave Airlie 0.4.1-6 +- fix bg none root + +* Wed Oct 27 2010 Adam Jackson 0.4.1-5 +- Add ABI requires magic. (#542742) + +* Mon Jul 05 2010 Peter Hutterer - 0.4.1-4 +- rebuild for X Server 1.9 + +* Thu Jan 21 2010 Peter Hutterer - 0.4.1-3 +- Rebuild for server 1.8 + +* Thu Jan 21 2010 Peter Hutterer - 0.4.1-2 +- Rebuild for server 1.8 + +* Tue Aug 04 2009 Dave Airlie 0.4.1-1 +- fbdev 0.4.1 + +* Mon Jul 27 2009 Fedora Release Engineering - 0.4.0-6.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Wed Jul 15 2009 Adam Jackson - 0.4.0-5.1 +- ABI bump + +* Mon Jun 22 2009 Peter Hutterer 0.4.0-5 +- fbdev-0.4.0-Make-ISA-optional.patch: to make next patch apply cleanly. +- fbdef-0.4.0-Remove-useless-loader-symbol-lists.patch: + fix linker error against X server >= 1.6.99.1 + +* Thu Feb 26 2009 Fedora Release Engineering - 0.4.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Dec 22 2008 Dave Airlie 0.4.0-3 +- rebuild for latest server API + +* Thu Oct 30 2008 Bill Nottingham 0.4.0-2 +- set canDoBGNoneRoot on driver startup + +* Thu Mar 20 2008 Dave Airlie 0.4.0-1 +- Update to latest upstream release + +* Wed Feb 20 2008 Fedora Release Engineering - 0.3.1-7 +- Autorebuild for GCC 4.3 + +* Fri Jan 18 2008 Dave Airlie 0.3.1-6 +- rebuild for abi change. + +* Tue Nov 13 2007 Adam Jackson 0.3.1-5.20071113 +- Update to git snapshot for pciaccess goodness. Don't ask why a driver + that doesn't touch PCI at all needs a PCI update. I don't know either, + and thinking about it makes me very sad. +- Require xserver 1.4.99.1 + +* Wed Aug 22 2007 Adam Jackson - 0.3.1-4 +- Rebuild for PPC toolchain bug + +* Mon Jun 18 2007 Adam Jackson 0.3.1-3 +- Update Requires and BuildRequires. Disown the module directories. + +* Fri Feb 16 2007 Adam Jackson 0.3.1-2 +- ExclusiveArch -> ExcludeArch + +* Fri Jan 05 2007 Adam Jackson 0.3.1-1 +- Update to 0.3.1 + +* Mon Aug 28 2006 Jeremy Katz - 0.3.0-2 +- adjust to prefer 32bpp over 24bpp for fbbpp (#204117) + +* Wed Jul 12 2006 Jesse Keating +- rebuild + +* Tue May 23 2006 Adam Jackson 0.3.0-1 +- Update to 0.3.0 from 7.1. + +* Tue May 16 2006 Adam Jackson 0.2.0-2 +- Move debugging output from compile-time option to run-time option. + +* Sun Apr 9 2006 Adam Jackson 0.2.0-1 +- Update to 0.2.0 from 7.1RC1. + +* Fri Feb 10 2006 Jesse Keating - 0.1.0.5-1.2 +- bump again for double-long bug on ppc(64) + +* Tue Feb 07 2006 Jesse Keating - 0.1.0.5-1.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Wed Jan 18 2006 Mike A. Harris 0.1.0.5-1 +- Updated xorg-x11-drv-fbdev to version 0.1.0.5 from X11R7.0 + +* Tue Dec 20 2005 Mike A. Harris 0.1.0.4-1 +- Updated xorg-x11-drv-fbdev to version 0.1.0.4 from X11R7 RC4 +- Removed 'x' suffix from manpage dirs to match RC4 upstream. + +* Wed Nov 16 2005 Mike A. Harris 0.1.0.2-1 +- Updated xorg-x11-drv-fbdev to version 0.1.0.2 from X11R7 RC2 + +* Fri Nov 4 2005 Mike A. Harris 0.1.0.1-1 +- Updated xorg-x11-drv-fbdev to version 0.1.0.1 from X11R7 RC1 +- Fix *.la file removal. + +* Mon Oct 3 2005 Mike A. Harris 0.1.0-1 +- Update BuildRoot to use Fedora Packaging Guidelines. +- Deglob file manifest. +- Add alpha/sparc/sparc64 to "ExclusiveArch" + +* Fri Sep 2 2005 Mike A. Harris 0.1.0-0 +- Initial spec file for fbdev video driver generated automatically + by my xorg-driverspecgen script.