diff --git a/libdrm-2.4.0-no-bc.patch b/libdrm-2.4.0-no-bc.patch new file mode 100644 index 0000000000000000000000000000000000000000..30a81683c45a27320d055d0f7248a6d5fce5dbe5 --- /dev/null +++ b/libdrm-2.4.0-no-bc.patch @@ -0,0 +1,54 @@ +diff -up libdrm-2.4.114/xf86drm.c.dma libdrm-2.4.114/xf86drm.c +--- libdrm-2.4.114/xf86drm.c.dma 2022-11-03 18:33:36.000000000 +1000 ++++ libdrm-2.4.114/xf86drm.c 2022-11-10 05:39:58.652477119 +1000 +@@ -930,11 +930,6 @@ drm_public int drmAvailable(void) + int fd; + + if ((fd = drmOpenMinor(0, 1, DRM_NODE_PRIMARY)) < 0) { +-#ifdef __linux__ +- /* Try proc for backward Linux compatibility */ +- if (!access("/proc/dri/0", R_OK)) +- return 1; +-#endif + return 0; + } + +@@ -1127,38 +1122,6 @@ static int drmOpenByName(const char *nam + } + } + +-#ifdef __linux__ +- /* Backward-compatibility /proc support */ +- for (i = 0; i < 8; i++) { +- char proc_name[64], buf[512]; +- char *driver, *pt, *devstring; +- int retcode; +- +- sprintf(proc_name, "/proc/dri/%d/name", i); +- if ((fd = open(proc_name, O_RDONLY)) >= 0) { +- retcode = read(fd, buf, sizeof(buf)-1); +- close(fd); +- if (retcode) { +- buf[retcode-1] = '\0'; +- for (driver = pt = buf; *pt && *pt != ' '; ++pt) +- ; +- if (*pt) { /* Device is next */ +- *pt = '\0'; +- if (!strcmp(driver, name)) { /* Match */ +- for (devstring = ++pt; *pt && *pt != ' '; ++pt) +- ; +- if (*pt) { /* Found busid */ +- return drmOpenByBusid(++pt, type); +- } else { /* No busid */ +- return drmOpenDevice(strtol(devstring, NULL, 0),i, type); +- } +- } +- } +- } +- } +- } +-#endif +- + return -1; + } + diff --git a/libdrm-2.4.115.tar.xz b/libdrm-2.4.115.tar.xz deleted file mode 100644 index 61176016e21ab108403bde76d8085d0f204f94b1..0000000000000000000000000000000000000000 Binary files a/libdrm-2.4.115.tar.xz and /dev/null differ diff --git a/libdrm-2.4.123.tar.xz b/libdrm-2.4.123.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..4e37b5cae244ab13a7be2c9e386fc850f841b489 Binary files /dev/null and b/libdrm-2.4.123.tar.xz differ diff --git a/libdrm-make-dri-perms-okay.patch b/libdrm-make-dri-perms-okay.patch new file mode 100644 index 0000000000000000000000000000000000000000..35895cb400aaa95d67f0c4671eb5cebcd58ae8c3 --- /dev/null +++ b/libdrm-make-dri-perms-okay.patch @@ -0,0 +1,12 @@ +diff -up libdrm-2.4.64/xf86drm.h.forceperms libdrm-2.4.64/xf86drm.h +--- libdrm-2.4.64/xf86drm.h.forceperms 2015-08-25 07:25:09.946427122 +1000 ++++ libdrm-2.4.64/xf86drm.h 2015-08-25 07:28:57.435553839 +1000 +@@ -74,7 +74,7 @@ extern "C" { + /* Default /dev/dri directory permissions 0755 */ + #define DRM_DEV_DIRMODE \ + (S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH) +-#define DRM_DEV_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP) ++#define DRM_DEV_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH) + + #ifdef __OpenBSD__ + #define DRM_DIR_NAME "/dev" diff --git a/libdrm.spec b/libdrm.spec index 7af3cc51c8f504fd7f00cfbb43ef2b9773052972..51539ebd4bcca7aefdc1aad8e228fe8890606ac8 100644 --- a/libdrm.spec +++ b/libdrm.spec @@ -1,4 +1,4 @@ -%define anolis_release 2 +%define anolis_release 1 %define bcond_meson() %{lua: do local option = rpm.expand("%{1}") local with = rpm.expand("%{?with_" .. option .. "}") @@ -50,7 +50,7 @@ end} Name: libdrm Summary: Direct Rendering Manager runtime library -Version: 2.4.115 +Version: 2.4.123 Release: %{anolis_release}%{?dist} License: MIT URL: https://dri.freedesktop.org @@ -77,7 +77,10 @@ BuildRequires: pkgconfig(cairo) BuildRequires: pkgconfig(pciaccess) >= 0.10 %endif -Conflicts: libdrm-devel < 2.4.114 +# hardcode the 666 instead of 660 for device nodes +Patch1001: libdrm-make-dri-perms-okay.patch +# remove backwards compat not needed on Fedora +Patch1002: libdrm-2.4.0-no-bc.patch %description Direct Rendering Manager runtime library @@ -142,6 +145,9 @@ install -Dpm 0755 -t %{buildroot}%{_bindir} %{_vpath_builddir}/tests/drmdevice install -Dpm 0644 -t %{buildroot}%{_udevrulesdir} %{S:2} %endif mkdir -p %{buildroot}%{_docdir}/libdrm +cp %{SOURCE1} %{buildroot}%{_docdir}/libdrm + +%ldconfig_scriptlets %generate_compatibility_deps @@ -149,27 +155,27 @@ mkdir -p %{buildroot}%{_docdir}/libdrm %dir %{abidir} %dir %{_datadir}/libdrm %{_libdir}/libdrm.so.2 -%{_libdir}/libdrm.so.2.4.0 +%{_libdir}/libdrm.so.2.123.0 %{abidir}/libdrm.dump %if %{with intel} %{_libdir}/libdrm_intel.so.1 -%{_libdir}/libdrm_intel.so.1.0.0 +%{_libdir}/libdrm_intel.so.1.123.0 %{abidir}/libdrm_intel.dump %endif %if %{with radeon} %{_libdir}/libdrm_radeon.so.1 -%{_libdir}/libdrm_radeon.so.1.0.1 +%{_libdir}/libdrm_radeon.so.1.123.0 %{abidir}/libdrm_radeon.dump %endif %if %{with amdgpu} %{_libdir}/libdrm_amdgpu.so.1 -%{_libdir}/libdrm_amdgpu.so.1.0.0 +%{_libdir}/libdrm_amdgpu.so.1.123.0 %{abidir}/libdrm_amdgpu.dump %{_datadir}/libdrm/amdgpu.ids %endif %if %{with nouveau} %{_libdir}/libdrm_nouveau.so.2 -%{_libdir}/libdrm_nouveau.so.2.0.0 +%{_libdir}/libdrm_nouveau.so.2.123.0 %{abidir}/libdrm_nouveau.dump %endif %if %{with omap} @@ -184,17 +190,17 @@ mkdir -p %{buildroot}%{_docdir}/libdrm %endif %if %{with freedreno} %{_libdir}/libdrm_freedreno.so.1 -%{_libdir}/libdrm_freedreno.so.1.0.0 +%{_libdir}/libdrm_freedreno.so.1.123.0 %{abidir}/libdrm_freedreno.dump %endif %if %{with tegra} %{_libdir}/libdrm_tegra.so.0 -%{_libdir}/libdrm_tegra.so.0.0.0 +%{_libdir}/libdrm_tegra.so.0.123.0 %{abidir}/libdrm_tegra.dump %endif %if %{with etnaviv} %{_libdir}/libdrm_etnaviv.so.1 -%{_libdir}/libdrm_etnaviv.so.1.0.0 +%{_libdir}/libdrm_etnaviv.so.1.123.0 %{abidir}/libdrm_etnaviv.dump %endif %if %{with udev} @@ -300,6 +306,9 @@ mkdir -p %{buildroot}%{_docdir}/libdrm %doc README.rst %changelog +* Tue Feb 25 2025 Xiaoping Liu - 2.4.123-1 +- Refer to CentOS Stream libdrm-2.4.123-1 (jexposit@redhat.com) + * Wed Apr 12 2023 Guyu Wang - 2.4.115-2 - optimise spec file