upg devtools xf86-video-vesa

This commit is contained in:
joborun linux 2022-06-22 23:19:15 +03:00
parent ee1f6bc0f4
commit 9ac696e6ab
6 changed files with 134 additions and 38 deletions

View File

@ -6,7 +6,7 @@
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgname=devtools
pkgver=20220620
pkgver=20220621
pkgrel=01
pkgdesc='Tools for Arch and Joborun Linux package maintainers'
arch=('any')
@ -15,8 +15,10 @@ depends=('bash' 'openssh' 'subversion' 'rsync' 'arch-install-scripts'
'git' 'breezy' 'mercurial' 'diffutils' 'util-linux' 'awk')
makedepends=('asciidoc')
optdepends=('btrfs-progs: btrfs support')
source=(${url}/uploads/e5c70713e106deeae1fc9c939fe298bc/devtools-${pkgver}.tar.gz
${url}/uploads/9843defd5b827a31b6652cb03969416a/devtools-${pkgver}.tar.gz.sig)
source=(${url}/uploads/8217baae0afcdb540bde9f5b030f05a9/devtools-${pkgver}.tar.gz
${url}/uploads/8570458d06b07d5a3ff8d30a1fc392d4/devtools-${pkgver}.tar.gz.sig)
# makepkg.conf-set-LTOFLAGS-flto-auto.patch)
#prepare() {
@ -39,16 +41,13 @@ package() {
license=('GPL')
validpgpkeys=('487EACC08557AD082088DABA1EB2638FF56C0C53'
'4AA4767BBC9C4B1D18AE28B77F2D434B9741E8AC'
'86CFFCA918CF3AF47147588051E8B148A9999C34'
'8FC15A064950A99DD1BD14DD39E4B877E62EB915'
'8218F88849AAC522E94CF470A5E9288C4FA415FA'
'B81B051F2D7FC867AAFF35A58DBD63B82072D77A'
'F3691687D867B81B51CE07D9BBE43771487328A9'
'6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD'
'E240B57E2C4630BA768E2F26FC1B547C8D8172C8')
sha256sums=(30daf602260db85f26456b70f5d06e11f2d492be7880a6e06a1c0bc58e8f7374 # devtools-20220620.tar.gz
e94611e9853a16589bceab16953f9b7a680d260d6950fa99118c3aabde8a9d54) # devtools-20220620.tar.gz.sig
validpgpkeys=('4AA4767BBC9C4B1D18AE28B77F2D434B9741E8AC' # Pierre Schmitz <pierre@archlinux.org>
'86CFFCA918CF3AF47147588051E8B148A9999C34' # Evangelos Foutras <foutrelis@archlinux.org>
'8FC15A064950A99DD1BD14DD39E4B877E62EB915' # Sven-Hendrik Haase <svenstaro@archlinux.org>
'A2FF3A36AAA56654109064AB19802F8B0D70FC30' # Jan Alexander Steffens (heftig) <heftig@archlinux.org>
'B81B051F2D7FC867AAFF35A58DBD63B82072D77A' # Sébastien Luttringer <seblu@archlinux.org>
'6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD' # Allan McRae (Developer) <allan@archlinux.org>
'E240B57E2C4630BA768E2F26FC1B547C8D8172C8') # Levente Polyak <anthraxx@archlinux.org>
sha256sums=(0938d41b4bc469e62d86d2a287612a090640f6eebde92137b8bd7727b89e95dd # devtools-20220621.tar.gz
3940f24c9c44d74136b495a015146a4b61df5b93db67db8a6bdf6853b4b1cfa9) # devtools-20220621.tar.gz.sig

View File

@ -2,7 +2,7 @@
# Maintainer: Pierre Schmitz <pierre@archlinux.de>
pkgname=devtools
pkgver=20220620
pkgver=20220621
pkgrel=1
pkgdesc='Tools for Arch Linux package maintainers'
arch=('any')
@ -12,20 +12,20 @@ depends=('bash' 'openssh' 'subversion' 'rsync' 'arch-install-scripts'
'git' 'bzr' 'mercurial' 'diffutils' 'util-linux' 'awk')
makedepends=('asciidoc')
optdepends=('btrfs-progs: btrfs support')
source=(${url}/uploads/e5c70713e106deeae1fc9c939fe298bc/devtools-${pkgver}.tar.gz
${url}/uploads/9843defd5b827a31b6652cb03969416a/devtools-${pkgver}.tar.gz.sig)
validpgpkeys=('487EACC08557AD082088DABA1EB2638FF56C0C53'
'4AA4767BBC9C4B1D18AE28B77F2D434B9741E8AC'
'86CFFCA918CF3AF47147588051E8B148A9999C34'
'8FC15A064950A99DD1BD14DD39E4B877E62EB915'
'8218F88849AAC522E94CF470A5E9288C4FA415FA'
'B81B051F2D7FC867AAFF35A58DBD63B82072D77A'
'F3691687D867B81B51CE07D9BBE43771487328A9'
'6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD'
'E240B57E2C4630BA768E2F26FC1B547C8D8172C8')
sha256sums=('30daf602260db85f26456b70f5d06e11f2d492be7880a6e06a1c0bc58e8f7374'
source=(${url}/uploads/8217baae0afcdb540bde9f5b030f05a9/devtools-${pkgver}.tar.gz
${url}/uploads/8570458d06b07d5a3ff8d30a1fc392d4/devtools-${pkgver}.tar.gz.sig)
validpgpkeys=(
'4AA4767BBC9C4B1D18AE28B77F2D434B9741E8AC' # Pierre Schmitz <pierre@archlinux.org>
'86CFFCA918CF3AF47147588051E8B148A9999C34' # Evangelos Foutras <foutrelis@archlinux.org>
'8FC15A064950A99DD1BD14DD39E4B877E62EB915' # Sven-Hendrik Haase <svenstaro@archlinux.org>
'A2FF3A36AAA56654109064AB19802F8B0D70FC30' # Jan Alexander Steffens (heftig) <heftig@archlinux.org>
'B81B051F2D7FC867AAFF35A58DBD63B82072D77A' # Sébastien Luttringer <seblu@archlinux.org>
'6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD' # Allan McRae (Developer) <allan@archlinux.org>
'E240B57E2C4630BA768E2F26FC1B547C8D8172C8' # Levente Polyak <anthraxx@archlinux.org>
)
sha256sums=('0938d41b4bc469e62d86d2a287612a090640f6eebde92137b8bd7727b89e95dd'
'SKIP')
b2sums=('dcec646f8004eacf30087c789573a524595fd1e576d4b8e42c42a38ea3ae892156663e42956799f9452413806de91462155a81a8ee24c3ebecbd720ef6c9efef'
b2sums=('007f62b6cb3f06904fcafec4869a43136643bd364a7f0f314c792c08fbdafafaf8a268f8a372f78402deaa1f87bfc3f2fc7099f78742c6776d4ac49fe4884d58'
'SKIP')
build() {

View File

@ -0,0 +1,88 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jocelyn Falempe <jfalempe@redhat.com>
Date: Thu, 14 Apr 2022 14:39:37 +0200
Subject: [PATCH] Refuse to run if framebuffer or dri devices are present
The simpledrm driver, introduced in kernel 5.14,
can replace efifb to provide the efi framebuffer.
This fixes a bug on Fedora 36 (first version to use simpledrm driver):
https://bugzilla.redhat.com/show_bug.cgi?id=2074789
v2: check for framebuffer or dri devices instead of efi framebuffer interface.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Signed-off-by: Jocelyn Falempe <jfalempe@redhat.com>
---
src/vesa.c | 39 ++++++++++++++++++++++++++++++++++-----
1 file changed, 34 insertions(+), 5 deletions(-)
diff --git a/src/vesa.c b/src/vesa.c
index b2a1922c2332..2bf18e9f278c 100644
--- a/src/vesa.c
+++ b/src/vesa.c
@@ -44,6 +44,7 @@
#include <string.h>
#include <unistd.h>
+#include <dirent.h>
#include "vesa.h"
/* All drivers initialising the SW cursor need this */
@@ -439,22 +440,50 @@ VESAInitScrn(ScrnInfoPtr pScrn)
pScrn->FreeScreen = VESAFreeScreen;
}
+#ifdef XSERVER_LIBPCIACCESS
+#ifdef __linux__
+/*
+ * check if a file exist in directory
+ * should be equivalent to a glob ${directory}/${prefix}*
+ */
+
+static Bool
+VESAFileExistsPrefix(const char *directory, const char *prefix) {
+ DIR *dir;
+ struct dirent *entry;
+ Bool found = FALSE;
+ int len = strlen(prefix);
+
+ dir = opendir(directory);
+ if (!dir)
+ return FALSE;
+
+ while ((entry = readdir(dir)) != NULL) {
+ if (strlen(entry->d_name) > len &&
+ !memcmp(entry->d_name, prefix, len)) {
+ found = TRUE;
+ break;
+ }
+ }
+ closedir(dir);
+ return found;
+}
+#endif
+
/*
* This function is called once, at the start of the first server generation to
* do a minimal probe for supported hardware.
*/
-
-#ifdef XSERVER_LIBPCIACCESS
static Bool
VESAPciProbe(DriverPtr drv, int entity_num, struct pci_device *dev,
intptr_t match_data)
{
ScrnInfoPtr pScrn;
#ifdef __linux__
- if (access("/sys/devices/platform/efi-framebuffer.0", F_OK) == 0 ||
- access("/sys/devices/platform/efifb.0", F_OK) == 0) {
- ErrorF("vesa: Refusing to run on UEFI\n");
+ if (VESAFileExistsPrefix("/dev", "fb") ||
+ VESAFileExistsPrefix("/dev/dri", "card")) {
+ ErrorF("vesa: Refusing to run, Framebuffer or dri device present\n");
return FALSE;
}
#endif

View File

@ -1,25 +1,28 @@
#!/usr/bin/bash
# JOBoRun : Jwm OpenBox Obarun RUNit
# Maintainer : Joe Bo Run <joborun@disroot.org>
# Maintainer : Joe Bo Run <joborun@disroot.org>
# PkgSource : url="https://gittea.disroot.org/joborun-pkg/jobextra/$pkgname"
# Website : https://pozol.eu
#-----------------------------------------| DESCRIPTION |---------------------------------------
pkgname=xf86-video-vesa
pkgver=2.5.0
pkgrel=02
pkgrel=03
pkgdesc="X.org vesa video driver"
arch=(x86_64)
url="https://xorg.freedesktop.org/"
depends=('glibc')
makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=25.2')
conflicts=('xorg-server<21.1.1' 'X-ABI-VIDEODRV_VERSION<25' 'X-ABI-VIDEODRV_VERSION>=26')
#options=('debug') ### uncomment this to also build the debug pkg
groups=('xorg-drivers' 'xorg')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2{,.sig}
revert-kernelcheck.patch)
0001-Refuse-to-run-if-framebuffer-or-dri-devices-are-pres.patch)
prepare() {
cd ${pkgname}-${pkgver}
patch -Np1 -R -i "${srcdir}/revert-kernelcheck.patch"
# https://gitlab.freedesktop.org/xorg/driver/xf86-video-vesa/-/merge_requests/5
patch -Np1 -i ../0001-Refuse-to-run-if-framebuffer-or-dri-devices-are-pres.patch
}
build() {
@ -52,4 +55,5 @@ validpgpkeys+=('995ED5C8A6138EB0961F18474C09DD83CAAA50B2') # "Adam Jackson <ajax
sha256sums=(1f1624f3c73906801ad1bc98335a2cb5676a7a4d18e5374d9a1d18464e54c659 # xf86-video-vesa-2.5.0.tar.bz2
573a90567db5d697c644565b86f7a4b6d1070438b4c6985e6810d4fdd0ae955d # xf86-video-vesa-2.5.0.tar.bz2.sig
ef591a342cea65f1b08e84771ae0de84395c98ac8a71739dbf5c0a7f7a36543c) # revert-kernelcheck.patch
ee8e4011cc11880f4ef651d9bd4b26c7f5d13554c76d883d70d12a98908898cb) # 0001-Refuse-to-run-if-framebuffer-or-dri-devices-are-pres.patch

View File

@ -2,7 +2,7 @@
pkgname=xf86-video-vesa
pkgver=2.5.0
pkgrel=2
pkgrel=3
pkgdesc="X.org vesa video driver"
arch=(x86_64)
license=('custom')
@ -11,17 +11,20 @@ depends=('glibc')
makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=25.2')
conflicts=('xorg-server<21.1.1' 'X-ABI-VIDEODRV_VERSION<25' 'X-ABI-VIDEODRV_VERSION>=26')
groups=('xorg-drivers' 'xorg')
options=('debug')
source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2{,.sig}
revert-kernelcheck.patch)
0001-Refuse-to-run-if-framebuffer-or-dri-devices-are-pres.patch)
sha512sums=('36fd921f54f33eb25966b5f9ea1e1b3e9009965c012c8b9c676686b472111719921b80cf62dafc746058878253e21f0ef341a2ff2d650df22ca1e35e81716a8b'
'SKIP'
'2357f9b30732321c774073c3e233d16ebff29aab31bcebf7c6481bd2187554e85ec8b9cd375eaa836b433dfaba4d9e9cea1dcf3659803a388ceb6699ed905923')
'97fe6c8953bc026d53033fb53367208d70affcc2a05d0011fb71d5f95cba2f7c46c65cd64bc74609e97515052952f1d2342b5607e1d0fe2deb9dfcdcb077f200')
validpgpkeys=('DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3') # "Adam Jackson <ajax@nwnk.net>"
validpgpkeys+=('995ED5C8A6138EB0961F18474C09DD83CAAA50B2') # "Adam Jackson <ajax@nwnk.net>"
prepare() {
cd ${pkgname}-${pkgver}
patch -Np1 -R -i "${srcdir}/revert-kernelcheck.patch"
# https://gitlab.freedesktop.org/xorg/driver/xf86-video-vesa/-/merge_requests/5
patch -Np1 -i ../0001-Refuse-to-run-if-framebuffer-or-dri-devices-are-pres.patch
}
build() {

View File

@ -1,2 +1,4 @@
xorg-server-devel
xorg-server