reorganize repo

This commit is contained in:
Raven 2024-11-11 15:20:09 +06:00
parent bde70f5949
commit d62c4dbfa0
13 changed files with 164 additions and 1035 deletions

View File

@ -1,230 +0,0 @@
%define __cmake_in_source_build 1
Name: libqt6xdg
Summary: QtXdg, a Qt6 implementation of XDG standards
Version: 3.11.0
Release: 1%{?dist}
License: LGPLv2+
URL: http://lxqt.org
Source0: https://github.com/lxqt/libqtxdg/archive/refs/heads/wip_qt6.zip
BuildRequires: clang
BuildRequires: cmake
BuildRequires: pkgconfig(Qt6Widgets)
BuildRequires: pkgconfig(Qt6Xml)
BuildRequires: pkgconfig(Qt6Help)
BuildRequires: pkgconfig(Qt6Svg)
BuildRequires: file-devel
BuildRequires: lxqt2-build-tools >= 2.0.0
Requires: xdg-user-dirs
Requires: xdg-utils
%description
%{summary}.
%package devel
Summary: Qt - development files for qtxdg
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
Files used for developing and building software that uses qtxdg.
%prep
%autosetup -p1 -n libqtxdg-wip_qt6
%{__mkdir} -p %{_target_platform}
%build
export CC=clang
export CXX=clang++
cd %{_target_platform}
%cmake -DPULL_TRANSLATIONS=NO ../
%cmake_build
%install
cd %{_target_platform}
%cmake_install
%ldconfig_scriptlets
%files
%doc AUTHORS
%license COPYING
%{_libdir}/libQt6Xdg.so.3*
%{_libdir}/libQt6XdgIconLoader.so.3*
%{_sysconfdir}/xdg/lxqt-qtxdg.conf
%{_sysconfdir}/xdg/qtxdg.conf
%files devel
%{_libdir}/libQt6Xdg.so
%{_libdir}/libQt6XdgIconLoader.so
%{_libdir}/pkgconfig/Qt6Xdg.pc
%{_libdir}/pkgconfig/Qt6XdgIconLoader.pc
%{_includedir}/qt6xdg/
%{_includedir}/qt6xdgiconloader/
%{_datadir}/cmake/qt6xdg/
%{_datadir}/cmake/qt6xdgiconloader/
%{_qt6_archdatadir}/plugins/iconengines/libQt6XdgIconPlugin.so
%changelog
* Wed Aug 23 2023 Raven <raven@sysadmins.ws> - 3.11.0-1
- rebase to lxqt2
* Thu May 18 2023 Raven <raven@sysadmins.ws> - 3.11.0-1
- update to 3.11.0
* Fri Nov 11 2022 Raven <raven@sysadmins.ws> - 3.10.0-1
- update to 3.10.0
* Mon Nov 08 2021 Raven <raven@sysadmins.ws> - 3.8.0-1
- update to 3.8.0
- drop RHEL7 support
* Tue Jan 26 2021 Raven <raven@sysadmins.ws> - 3.6.0-1
- update to 3.6.0
* Tue Jun 16 2020 Raven <raven@sysadmins.ws> - 3.5.0-1
- update to 3.5.0
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Mon Dec 09 2019 Jan Grulich <jgrulich@redhat.com> - 3.3.1-7
- rebuild (qt5)
* Wed Sep 25 2019 Jan Grulich <jgrulich@redhat.com> - 3.3.1-6
- rebuild (qt5)
* Fri Sep 20 2019 Zamir SUN <sztsian@gmail.com> - 3.3.1-5
- Modify to improve compatibility with epel7
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Mon Jun 17 2019 Jan Grulich <jgrulich@redhat.com> - 3.3.1-3
- rebuild (qt5)
* Wed Jun 05 2019 Jan Grulich <jgrulich@redhat.com> - 3.3.1-2
- rebuild (qt5)
* Mon Apr 15 2019 Zamir SUN <zsun@fedoraproject.org> - 3.3.1-1
- Update to 3.3.1
* Sun Mar 03 2019 Rex Dieter <rdieter@fedoraproject.org> - 3.3.0-2
- rebuild (Qt5)
* Tue Feb 12 2019 Zamir SUN <zsun@fedoraproject.org> - 3.3.0-1
- Prepare for LXQt 0.14.0
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.2.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Dec 13 2018 Rex Dieter <rdieter@fedoraproject.org> - 3.2.0-3
- rebuild (qt5)
* Fri Sep 21 2018 Jan Grulich <jgrulich@redhat.com> - 3.2.0-2
- rebuild (qt5)
* Fri Aug 03 2018 Zamir SUN <zsun@fedoraproject.org> - 3.2.0-1
- Update to 3.2.0
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Jun 21 2018 Rex Dieter <rdieter@fedoraproject.org> - 2.0.0-14
- rebuild (qt5)
* Sun May 27 2018 Rex Dieter <rdieter@fedoraproject.org> - 2.0.0-13
- rebuild (qt5)
* Wed Mar 07 2018 Rex Dieter <rdieter@fedoraproject.org> - 2.0.0-12
- .spec cleanup, BR: gcc-c++, use %%license %%make_build
* Wed Feb 14 2018 Jan Grulich <jgrulich@redhat.com> - 2.0.0-11
- rebuild (qt5)
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Dec 20 2017 Jan Grulich <jgrulich@redhat.com> - 2.0.0-9
- rebuild (qt5)
* Sun Nov 26 2017 Rex Dieter <rdieter@fedoraproject.org> - 2.0.0-8
- rebuild (qt5)
* Thu Oct 19 2017 Christian Dersch <lupinix@mailbox.org> - 2.0.0-7
- rebuilt
* Wed Oct 11 2017 Rex Dieter <rdieter@fedoraproject.org> - 2.0.0-6
- BR: qt5-qtbase-private-devel
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Mon Sep 26 2016 Helio Chissini de Castro <helio@kde.org> - 2.0.0-2
- Add proper dependencies to xdg-utils and xdg-user-dirs
* Sun Sep 25 2016 Helio Chissini de Castro <helio@kde.org> - * Sun Sep 25 2016 Helio Chissini de Castro <helio@kde.org> - 2.0.0-1
- New upstream release tied to lxqt 0.11
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Tue Dec 08 2015 Helio Chissini de Castro <helio@kde.org> - 1.3.0-2
- Prepare to use new cmake3 package from epel
* Mon Nov 02 2015 Helio Chissini de Castro <helio@kde.org> - 1.3.0-1
- New upstream release
- No more Qt4 releases
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Sun Apr 12 2015 Helio Chissini de Castro <helio@kde.org> - 1.2.0-1
- New upstream version
* Wed Feb 18 2015 Helio Chissini de Castro <helio@kde.org> - 1.1.0-4
- Rebuild (gcc5)
* Thu Feb 12 2015 Helio Chissini de Castro <helio@kde.org> - 1.1.0-3
- Restore Qt4 due to maintenance of RazorQt
* Wed Feb 11 2015 Helio Chissini de Castro <helio@kde.org> - 1.1.0-2
- Upstream patch for qiconfix
* Mon Feb 09 2015 Helio Chissini de Castro <helio@kde.org> - 1.1.0-1
- New upstream version 1.1.0
- Only Qt5 now
* Thu Oct 16 2014 Rex Dieter <rdieter@fedoraproject.org> - 1.0.0-1
- libqtxdg-1.0.0, soname bump (#1147204)
* Thu Oct 02 2014 Rex Dieter <rdieter@fedoraproject.org> - 0.5.3-4
- Provide qt4 support (#1147204)
- rename libqtxdg-qt4 -> libqtxdg, libqtxdg-qt4-devel -> libqtxdg to ease/simplify upgrade path
- use %%find_lang for translations
- -devel: drop cmake dep
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Sun May 11 2014 Lubomir Rintel <lkundrak@v3.sk> - 0.5.3-1
- Update to a later upstream release
* Tue Dec 03 2013 Lubomir Rintel <lkundrak@v3.sk> - 0.5.0-1
- Initial packaging

View File

@ -1,120 +0,0 @@
%define __cmake_in_source_build 1
Name: lxqt2-build-tools
Version: 2.0.0
Release: 1%{?dist}
Summary: Packaging tools for LXQt
License: BSD
URL: http://lxqt.org/
Source0: https://github.com/lxqt/lxqt-build-tools/archive/refs/heads/lxqt2-qt6.zip
BuildArch: noarch
BuildRequires: cmake
BuildRequires: clang
BuildRequires: glib2-devel
BuildRequires: pkgconfig(Qt6Core) >= 6.3.0
Requires: cmake
%description
Various packaging tools and scripts for LXQt applications.
%prep
%autosetup -p1 -n lxqt-build-tools-lxqt2-qt6
%{__mkdir} -p %{_target_platform}
%build
export CC=clang
export CXX=clang++
cd %{_target_platform}
%cmake -DPULL_TRANSLATIONS=NO -DLXQT_ETC_XDG_DIR=%{_sysconfdir}/xdg/ ../
%cmake_build
%install
cd %{_target_platform}
%cmake_install
%files
%license BSD-3-Clause
%doc CHANGELOG README.md
%{_datadir}/cmake/%{name}
%{_bindir}/lxqt2-transupdate
%changelog
* Wed Aug 23 2023 Raven <raven@sysadmins.ws> - 2.0.0-1
- rebase to lxqt2
* Thu May 18 2023 Raven <raven@sysadmins.ws> - 0.13.0-1
- update to 0.13.0
* Fri Nov 11 2022 Raven <raven@sysadmins.ws> - 0.12.0-2
- define LXQT_ETC_XDG_DIR
* Fri Nov 11 2022 Raven <raven@sysadmins.ws> - 0.12.0-1
- update to 0.12.0
* Mon Nov 08 2021 Raven <raven@sysadmins.ws> - 0.10.0-1
- update to 0.10.0
- drop RHEL7 support
* Tue Jan 26 2021 Raven <raven@sysadmins.ws> - 0.8.0-1
- update to 0.8.0
* Tue Jun 16 2020 Raven <raven@sysadmins.ws> - 0.7.0-1
- update to 0.7.0
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Sep 20 2019 Zamir SUN <sztsian@gmail.com> - 0.6.0-3
- Improve compatibility with epel7
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.6.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed Feb 13 2019 Zamir SUN <zsun@fedoraproject.org> - 0.6.0-1
- Prepare for LXQt 0.14.0
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Aug 03 2018 Zamir SUN <zsun@fedoraproject.org> - 0.5.0-1
- Update to 0.5.0
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.3.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Sun Jan 15 2017 Christian Dersch <lupinix@mailbox.org> - 0.3.2-1
- new version (0.3.2)
- patch to make package noarch'ed removed, has been upstreamed
* Fri Jan 06 2017 Björn Esser <besser82@fedoraproject.org> - 0.3.1-3
- Build out-of-tree
* Fri Jan 06 2017 Björn Esser <besser82@fedoraproject.org> - 0.3.1-2
- Update Patch0 to make the whole package noarch'ed
- Add `BuildArch: noarch`
- Clean trailing whitespaces
* Mon Jan 2 2017 Christian Dersch <lupinix@mailbox.org> - 0.3.1-1
- initial package

View File

@ -1,359 +0,0 @@
From 762da0ec8832a2b8dd0fd11ccb34603391c2893c Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer@who-t.net>
Date: Wed, 30 Mar 2022 09:25:22 +1000
Subject: [PATCH] evdev: strip the device name of format directives
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This fixes a format string vulnerabilty.
evdev_log_message() composes a format string consisting of a fixed
prefix (including the rendered device name) and the passed-in format
buffer. This format string is then passed with the arguments to the
actual log handler, which usually and eventually ends up being printf.
If the device name contains a printf-style format directive, these ended
up in the format string and thus get interpreted correctly, e.g. for a
device "Foo%sBar" the log message vs printf invocation ends up being:
evdev_log_message(device, "some message %s", "some argument");
printf("event9 - Foo%sBar: some message %s", "some argument");
This can enable an attacker to execute malicious code with the
privileges of the process using libinput.
To exploit this, an attacker needs to be able to create a kernel device
with a malicious name, e.g. through /dev/uinput or a Bluetooth device.
To fix this, convert any potential format directives in the device name
by duplicating percentages.
Pre-rendering the device to avoid the issue altogether would be nicer
but the current log level hooks do not easily allow for this. The device
name is the only user-controlled part of the format string.
A second potential issue is the sysname of the device which is also
sanitized.
This issue was found by Albin Eldstål-Ahrens and Benjamin Svensson from
Assured AB, and independently by Lukas Lamster.
Fixes #752
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit a423d7d3269dc32a87384f79e29bb5ac021c83d1)
(cherry picked from commit 04f22107e1a2ead05401d9169fa4306e8c7eefad)
---
meson.build | 1 +
src/evdev.c | 31 +++++++++++------
src/evdev.h | 6 ++--
src/util-strings.h | 30 ++++++++++++++++
test/litest-device-format-string.c | 56 ++++++++++++++++++++++++++++++
test/litest.h | 1 +
test/test-utils.c | 26 ++++++++++++++
7 files changed, 139 insertions(+), 12 deletions(-)
create mode 100644 test/litest-device-format-string.c
diff --git a/meson.build b/meson.build
index d6b06cca..a909ff19 100644
--- a/meson.build
+++ b/meson.build
@@ -732,6 +732,7 @@ if get_option('tests')
'test/litest-device-dell-canvas-totem-touch.c',
'test/litest-device-elantech-touchpad.c',
'test/litest-device-elan-tablet.c',
+ 'test/litest-device-format-string.c',
'test/litest-device-generic-pressurepad.c',
'test/litest-device-generic-singletouch.c',
'test/litest-device-gpio-keys.c',
diff --git a/src/evdev.c b/src/evdev.c
index d8dfdadd..0b4b3590 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -2291,19 +2291,19 @@ evdev_device_create(struct libinput_seat *seat,
struct libinput *libinput = seat->libinput;
struct evdev_device *device = NULL;
int rc;
- int fd;
+ int fd = -1;
int unhandled_device = 0;
const char *devnode = udev_device_get_devnode(udev_device);
- const char *sysname = udev_device_get_sysname(udev_device);
+ char *sysname = str_sanitize(udev_device_get_sysname(udev_device));
if (!devnode) {
log_info(libinput, "%s: no device node associated\n", sysname);
- return NULL;
+ goto err;
}
if (udev_device_should_be_ignored(udev_device)) {
log_debug(libinput, "%s: device is ignored\n", sysname);
- return NULL;
+ goto err;
}
/* Use non-blocking mode so that we can loop on read on
@@ -2317,13 +2317,15 @@ evdev_device_create(struct libinput_seat *seat,
sysname,
devnode,
strerror(-fd));
- return NULL;
+ goto err;
}
if (!evdev_device_have_same_syspath(udev_device, fd))
goto err;
device = zalloc(sizeof *device);
+ device->sysname = sysname;
+ sysname = NULL;
libinput_device_init(&device->base, seat);
libinput_seat_ref(seat);
@@ -2346,6 +2348,9 @@ evdev_device_create(struct libinput_seat *seat,
device->dispatch = NULL;
device->fd = fd;
device->devname = libevdev_get_name(device->evdev);
+ /* the log_prefix_name is used as part of a printf format string and
+ * must not contain % directives, see evdev_log_msg */
+ device->log_prefix_name = str_sanitize(device->devname);
device->scroll.threshold = 5.0; /* Default may be overridden */
device->scroll.direction_lock_threshold = 5.0; /* Default may be overridden */
device->scroll.direction = 0;
@@ -2386,12 +2391,16 @@ evdev_device_create(struct libinput_seat *seat,
return device;
err:
- close_restricted(libinput, fd);
- if (device) {
- unhandled_device = device->seat_caps == 0;
- evdev_device_destroy(device);
+ if (fd >= 0) {
+ close_restricted(libinput, fd);
+ if (device) {
+ unhandled_device = device->seat_caps == 0;
+ evdev_device_destroy(device);
+ }
}
+ free(sysname);
+
return unhandled_device ? EVDEV_UNHANDLED_DEVICE : NULL;
}
@@ -2404,7 +2413,7 @@ evdev_device_get_output(struct evdev_device *device)
const char *
evdev_device_get_sysname(struct evdev_device *device)
{
- return udev_device_get_sysname(device->udev_device);
+ return device->sysname;
}
const char *
@@ -3001,6 +3010,8 @@ evdev_device_destroy(struct evdev_device *device)
if (device->base.group)
libinput_device_group_unref(device->base.group);
+ free(device->log_prefix_name);
+ free(device->sysname);
free(device->output_name);
filter_destroy(device->pointer.filter);
libinput_timer_destroy(&device->scroll.timer);
diff --git a/src/evdev.h b/src/evdev.h
index c7d130f8..980c5943 100644
--- a/src/evdev.h
+++ b/src/evdev.h
@@ -169,6 +169,8 @@ struct evdev_device {
struct udev_device *udev_device;
char *output_name;
const char *devname;
+ char *log_prefix_name;
+ char *sysname;
bool was_removed;
int fd;
enum evdev_device_seat_capability seat_caps;
@@ -786,7 +788,7 @@ evdev_log_msg(struct evdev_device *device,
sizeof(buf),
"%-7s - %s%s%s",
evdev_device_get_sysname(device),
- (priority > LIBINPUT_LOG_PRIORITY_DEBUG) ? device->devname : "",
+ (priority > LIBINPUT_LOG_PRIORITY_DEBUG) ? device->log_prefix_name : "",
(priority > LIBINPUT_LOG_PRIORITY_DEBUG) ? ": " : "",
format);
@@ -824,7 +826,7 @@ evdev_log_msg_ratelimit(struct evdev_device *device,
sizeof(buf),
"%-7s - %s%s%s",
evdev_device_get_sysname(device),
- (priority > LIBINPUT_LOG_PRIORITY_DEBUG) ? device->devname : "",
+ (priority > LIBINPUT_LOG_PRIORITY_DEBUG) ? device->log_prefix_name : "",
(priority > LIBINPUT_LOG_PRIORITY_DEBUG) ? ": " : "",
format);
diff --git a/src/util-strings.h b/src/util-strings.h
index 2a15fab3..d5a84146 100644
--- a/src/util-strings.h
+++ b/src/util-strings.h
@@ -43,6 +43,8 @@
#include <xlocale.h>
#endif
+#include "util-macros.h"
+
static inline bool
streq(const char *str1, const char *str2)
{
@@ -398,3 +400,31 @@ safe_basename(const char *filename);
char *
trunkname(const char *filename);
+
+/**
+ * Return a copy of str with all % converted to %% to make the string
+ * acceptable as printf format.
+ */
+static inline char *
+str_sanitize(const char *str)
+{
+ if (!str)
+ return NULL;
+
+ if (!strchr(str, '%'))
+ return strdup(str);
+
+ size_t slen = min(strlen(str), 512);
+ char *sanitized = zalloc(2 * slen + 1);
+ const char *src = str;
+ char *dst = sanitized;
+
+ for (size_t i = 0; i < slen; i++) {
+ if (*src == '%')
+ *dst++ = '%';
+ *dst++ = *src++;
+ }
+ *dst = '\0';
+
+ return sanitized;
+}
diff --git a/test/litest-device-format-string.c b/test/litest-device-format-string.c
new file mode 100644
index 00000000..aed15db4
--- /dev/null
+++ b/test/litest-device-format-string.c
@@ -0,0 +1,56 @@
+
+/*
+ * Copyright © 2013 Red Hat, Inc.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ */
+
+#include "config.h"
+
+#include "litest.h"
+#include "litest-int.h"
+
+static struct input_id input_id = {
+ .bustype = 0x3,
+ .vendor = 0x0123,
+ .product = 0x0456,
+};
+
+static int events[] = {
+ EV_KEY, BTN_LEFT,
+ EV_KEY, BTN_RIGHT,
+ EV_KEY, BTN_MIDDLE,
+ EV_REL, REL_X,
+ EV_REL, REL_Y,
+ EV_REL, REL_WHEEL,
+ EV_REL, REL_WHEEL_HI_RES,
+ -1 , -1,
+};
+
+TEST_DEVICE("mouse-format-string",
+ .type = LITEST_MOUSE_FORMAT_STRING,
+ .features = LITEST_RELATIVE | LITEST_BUTTON | LITEST_WHEEL,
+ .interface = NULL,
+
+ .name = "Evil %s %d %x Mouse %p %",
+ .id = &input_id,
+ .absinfo = NULL,
+ .events = events,
+)
diff --git a/test/litest.h b/test/litest.h
index b6ffbf4e..c16670e7 100644
--- a/test/litest.h
+++ b/test/litest.h
@@ -320,6 +320,7 @@ enum litest_device_type {
LITEST_KEYBOARD_QUIRKED,
LITEST_SYNAPTICS_PRESSUREPAD,
LITEST_GENERIC_PRESSUREPAD,
+ LITEST_MOUSE_FORMAT_STRING,
};
#define LITEST_DEVICELESS -2
diff --git a/test/test-utils.c b/test/test-utils.c
index 989adecd..e80754be 100644
--- a/test/test-utils.c
+++ b/test/test-utils.c
@@ -1267,6 +1267,31 @@ START_TEST(strstartswith_test)
}
END_TEST
+START_TEST(strsanitize_test)
+{
+ struct strsanitize_test {
+ const char *string;
+ const char *expected;
+ } tests[] = {
+ { "foobar", "foobar" },
+ { "", "" },
+ { "%", "%%" },
+ { "%%%%", "%%%%%%%%" },
+ { "x %s", "x %%s" },
+ { "x %", "x %%" },
+ { "%sx", "%%sx" },
+ { "%s%s", "%%s%%s" },
+ { NULL, NULL },
+ };
+
+ for (struct strsanitize_test *t = tests; t->string; t++) {
+ char *sanitized = str_sanitize(t->string);
+ ck_assert_str_eq(sanitized, t->expected);
+ free(sanitized);
+ }
+}
+END_TEST
+
START_TEST(list_test_insert)
{
struct list_test {
@@ -1489,6 +1514,7 @@ litest_utils_suite(void)
tcase_add_test(tc, strstrip_test);
tcase_add_test(tc, strendswith_test);
tcase_add_test(tc, strstartswith_test);
+ tcase_add_test(tc, strsanitize_test);
tcase_add_test(tc, time_conversion);
tcase_add_test(tc, human_time);
--
2.36.0

View File

@ -1,321 +0,0 @@
%global realname libxkbcommon
%global _syslibdir %{_libdir}
%global _prefix /opt/rx
Name: rx-libxkbcommon
Version: 1.5.0
Release: 1%{?gitdate:.%{gitdate}}%{?dist}
Summary: X.Org X11 XKB parsing library
License: MIT
URL: http://www.x.org
Source0: https://xkbcommon.org/download/%{realname}-%{version}.tar.xz
BuildRequires: git meson
BuildRequires: xorg-x11-util-macros byacc flex bison
BuildRequires: xorg-x11-proto-devel libX11-devel
BuildRequires: xkeyboard-config-devel
BuildRequires: pkgconfig(xcb-xkb) >= 1.10
BuildRequires: libxml2-devel
Requires: xkeyboard-config
%description
%{name} is the X.Org library for compiling XKB maps into formats usable by
the X Server or other display servers.
%package devel
Summary: X.Org X11 XKB parsing development package
Requires: %{name}%{?_isa} = %{version}-%{release}
Provides: pkgconfig(xkbcommon) = %{version}-%{release}
Provides: pkgconfig(xkbregistry) = %{version}-%{release}
Provides: %{realname}-devel = %{version}-%{release}
Conflicts: %{realname}-devel
%description devel
X.Org X11 XKB parsing development package
%package x11
Summary: X.Org X11 XKB keymap creation library
Requires: %{name}%{?_isa} = %{version}-%{release}
%description x11
%{name}-x11 is the X.Org library for creating keymaps by querying the X
server.
%package x11-devel
Summary: X.Org X11 XKB keymap creation library
Requires: %{name}-x11%{?_isa} = %{version}-%{release}
Provides: pkgconfig(xkbcommon-x11) = %{version}-%{release}
Provides: %{realname}-x11-devel = %{version}-%{release}
Conflicts: %{realname}-x11-devel
%description x11-devel
X.Org X11 XKB keymap creation library development package
%package utils
Summary: X.Org X11 XKB parsing utilities
Requires: %{name}%{?_isa} = %{version}-%{release}
%description utils
%{name}-utils is a set of utilities to analyze and test XKB parsing.
%prep
%autosetup -S git -n %{realname}-%{version}
%build
%meson -Denable-docs=false \
-Denable-x11=true \
-Denable-wayland=false
%meson_build
%install
%meson_install
mkdir -p %{buildroot}%{_syslibdir}
mv %{buildroot}%{_libdir}/pkgconfig %{buildroot}%{_syslibdir}/
%ldconfig_scriptlets
%files
%license LICENSE
%{_libdir}/libxkbcommon.so.0.0.0
%{_libdir}/libxkbcommon.so.0
%{_libdir}/libxkbregistry.so.0.0.0
%{_libdir}/libxkbregistry.so.0
%files devel
%{_libdir}/libxkbcommon.so
%{_libdir}/libxkbregistry.so
%dir %{_includedir}/xkbcommon/
%{_includedir}/xkbcommon/xkbcommon.h
%{_includedir}/xkbcommon/xkbcommon-compat.h
%{_includedir}/xkbcommon/xkbcommon-compose.h
%{_includedir}/xkbcommon/xkbcommon-keysyms.h
%{_includedir}/xkbcommon/xkbcommon-names.h
%{_includedir}/xkbcommon/xkbregistry.h
%{_syslibdir}/pkgconfig/xkbcommon.pc
%{_syslibdir}/pkgconfig/xkbregistry.pc
%ldconfig_scriptlets x11
%files x11
%{_libdir}/libxkbcommon-x11.so.0.0.0
%{_libdir}/libxkbcommon-x11.so.0
%files x11-devel
%{_libdir}/libxkbcommon-x11.so
%{_includedir}/xkbcommon/xkbcommon-x11.h
%{_syslibdir}/pkgconfig/xkbcommon-x11.pc
%files utils
%{_bindir}/xkbcli
%{_libexecdir}/xkbcommon/xkbcli-compile-keymap
%{_libexecdir}/xkbcommon/xkbcli-how-to-type
%{_libexecdir}/xkbcommon/xkbcli-interactive-evdev
%{_libexecdir}/xkbcommon/xkbcli-interactive-x11
%{_libexecdir}/xkbcommon/xkbcli-list
%{_mandir}/man1/xkbcli-compile-keymap.1*
%{_mandir}/man1/xkbcli-how-to-type.1*
%{_mandir}/man1/xkbcli-interactive-evdev.1*
%{_mandir}/man1/xkbcli-interactive-x11.1*
%{_mandir}/man1/xkbcli-list.1*
%{_mandir}/man1/xkbcli.1*
%changelog
* Wed Feb 01 2023 Stewart Smith <trawets@amazon.com> - 1.3.0-1.amzn2023.0.2
- Mass rebuild for AL2023
* Sat Oct 01 2022 Stewart Smith <trawets@amazon.com> - 1.3.0-1.amzn2022.0.1
- AL2022 pre-GA mass rebuild
* Tue May 04 2021 Peter Hutterer <peter.hutterer@redhat.com> 1.3.0-1
- libxkbcommon 1.3.0
* Thu Apr 08 2021 Peter Hutterer <peter.hutterer@redhat.com> 1.2.1-1
- libxkbcommon 1.2.1
* Tue Apr 06 2021 Peter Hutterer <peter.hutterer@redhat.com> 1.2.0-1
- libxkbcommon 1.2.0
- Fix Source link
* Wed Mar 10 2021 Peter Hutterer <peter.hutterer@redhat.com> 1.1.0-1
- libxkbcommon 1.1.0
- remove the git snapshot handling, we haven't used it in 9 years
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Nov 24 2020 Peter Hutterer <peter.hutterer@redhat.com> 1.0.3-1
- libxkbcommon 1.0.3
* Mon Nov 23 2020 Peter Hutterer <peter.hutterer@redhat.com> 1.0.2-1
- libxkbcommon 1.0.2
* Fri Sep 11 2020 Pete Walter <pwalter@fedoraproject.org> - 1.0.1-1
- libxkbcommon 1.0.1
* Mon Sep 07 2020 Peter Hutterer <peter.hutterer@redhat.com> 1.0.0-1
- libxkbcommon 1.0.0
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.10.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Mon Jan 20 2020 Peter Hutterer <peter.hutterer@redhat.com> 0.10.0-1
- libxkbcommon 0.10.0
* Fri Dec 13 2019 Peter Hutterer <peter.hutterer@redhat.com> 0.9.1-3
- convert ssharp to the correct uppercase letter
* Fri Nov 01 2019 Peter Hutterer <peter.hutterer@redhat.com> 0.9.1-2
- drop the wayland-devel BR, we disable the wayland test programs
* Fri Oct 25 2019 Peter Hutterer <peter.hutterer@redhat.com> 0.9.1-1
- libxkbcommon 0.9.1
* Mon Oct 21 2019 Peter Hutterer <peter.hutterer@redhat.com> 0.8.4-3
- switch to meson as build system
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.4-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Tue Mar 19 2019 Peter Hutterer <peter.hutterer@redhat.com> 0.8.4-1
- libxkbcommon 0.8.4
* Wed Feb 13 2019 Peter Hutterer <peter.hutterer@redhat.com> 0.8.3-1
- libxkbcommon 0.8.3
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Mon Aug 06 2018 Peter Hutterer <peter.hutterer@redhat.com> 0.8.2-1
- libxkbcommon 0.8.2
* Tue Jul 31 2018 Florian Weimer <fweimer@redhat.com> - 0.8.0-6
- Rebuild with fixed binutils
* Mon Jul 30 2018 Peter Hutterer <peter.hutterer@redhat.com> 0.8.0-5
- Fix invalid pointer passed to FreeStmt()
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.8.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sat Feb 03 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 0.8.0-2
- Switch to %%ldconfig_scriptlets
* Tue Dec 19 2017 Peter Hutterer <peter.hutterer@redhat.com> 0.8.0-1
- libxkbcommon 0.8.0
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri May 12 2017 Hans de Goede <hdegoede@redhat.com> - 0.7.1-3
- Add patch from upstream adding XF86Keyboard and XF86RFKill keysyms
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.7.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Thu Jan 19 2017 Peter Hutterer <peter.hutterer@redhat.com> 0.7.1-1
- xkbcommon 0.7.1
* Mon Nov 14 2016 Peter Hutterer <peter.hutterer@redhat.com> 0.7.0-1
- xkbcommon 0.7.0
* Fri Jun 03 2016 Peter Hutterer <peter.hutterer@redhat.com> 0.6.1-1
- xkbcommon 0.6.1
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Fri Jan 08 2016 Dan Horák <dan[at]danny.cz> - 0.5.0-3
- always build the x11 subpackage
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.5.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Wed Oct 22 2014 Hans de Goede <hdegoede@redhat.com> - 0.5.0-1
- Update to 0.5.0 (#1154574)
* Mon Sep 22 2014 Kalev Lember <kalevlember@gmail.com> - 0.4.3-2
- Require xkeyboard-config (#1145260)
* Wed Aug 20 2014 Kalev Lember <kalevlember@gmail.com> - 0.4.3-1
- Update to 0.4.3
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.2-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.4.2-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Tue May 27 2014 Rex Dieter <rdieter@fedoraproject.org> - 0.4.2-3
- make -x11 support conditional (f21+, #1000497)
- --disable-silent-rules
* Fri May 23 2014 Hans de Goede <hdegoede@redhat.com> - 0.4.2-2
- Bump release to 2 to avoid confusion with non official non scratch 0.4.2-1
* Thu May 22 2014 Rex Dieter <rdieter@fedoraproject.org> - 0.4.2-1
- xkbcommon 0.4.2 (#1000497)
- own %%{_includedir}/xkbcommon/
- -x11: +ldconfig scriptlets
- -devel: don't include xkbcommon-x11.h
- run reautoconf in %%prep (instead of %%build)
- tighten subpkg deps via %%_isa
- .spec cleanup, remove deprecated stuff
- BR: pkgconfig(xcb-xkb) >= 1.10
* Wed Feb 05 2014 Peter Hutterer <peter.hutterer@redhat.com> 0.4.0-1
- xkbcommon 0.4.0
- Add new xkbcommon-x11 and xkbcommon-x11-devel subpackages
* Tue Aug 27 2013 Peter Hutterer <peter.hutterer@redhat.com> 0.3.1-1
- xkbcommon 0.3.1
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Thu Apr 18 2013 Peter Hutterer <peter.hutterer@redhat.com> 0.3.0-1
- xkbcommon 0.3.0
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.2.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Tue Oct 23 2012 Adam Jackson <ajax@redhat.com> 0.2.0-1
- xkbcommon 0.2.0
* Mon Sep 17 2012 Thorsten Leemhuis <fedora@leemhuis.info> 0.1.0-8.20120917
- Today's git snapshot
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.0-7.20120306
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Tue Mar 06 2012 Peter Hutterer <peter.hutterer@redhat.com> 0.1.0-6.20120306
- BuildRequire xkeyboard-config-devel to get the right XKB target path (#799717)
* Tue Mar 06 2012 Peter Hutterer <peter.hutterer@redhat.com> 0.1.0-5.20120306
- Today's git snapshot
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.0-4.20111109
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Wed Nov 09 2011 Adam Jackson <ajax@redhat.com> 0.1.0-3
- Today's git snap
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.1.0-2.20101110
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Sat Nov 06 2010 Dave Airlie <airlied@redhat.com> 0.1.0-1.20101110
- inital import

View File

@ -13,7 +13,7 @@
Name: rx-libinput Name: rx-libinput
Version: 1.23.0 Version: 1.26.2
Release: 1%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist} Release: 1%{?gitdate:.%{gitdate}git%{gitversion}}%{?dist}
Summary: Input device library Summary: Input device library
@ -24,7 +24,7 @@ Source0: %{name}-%{gitdate}.tar.xz
Source1: make-git-snapshot.sh Source1: make-git-snapshot.sh
Source2: commitid Source2: commitid
%else %else
Source0: http://www.freedesktop.org/software/libinput/libinput-%{version}.tar.bz2 Source0: https://gitlab.freedesktop.org/libinput/libinput/-/archive/%{version}/libinput-%{version}.tar.bz2
%endif %endif
@ -124,6 +124,7 @@ export LDFLAGS="-L%{_libdir} -Wl,-rpath=%{_libdir} ${LDFLAGS:-%__global_ldflags}
%files utils %files utils
%{_libexecdir}/libinput/libinput-analyze %{_libexecdir}/libinput/libinput-analyze
%{_libexecdir}/libinput/libinput-analyze-buttons
%{_libexecdir}/libinput/libinput-analyze-per-slot-delta %{_libexecdir}/libinput/libinput-analyze-per-slot-delta
%{_libexecdir}/libinput/libinput-analyze-recording %{_libexecdir}/libinput/libinput-analyze-recording
%{_libexecdir}/libinput/libinput-analyze-touch-down-state %{_libexecdir}/libinput/libinput-analyze-touch-down-state
@ -139,6 +140,7 @@ export LDFLAGS="-L%{_libdir} -Wl,-rpath=%{_libdir} ${LDFLAGS:-%__global_ldflags}
%{_libexecdir}/libinput/libinput-record %{_libexecdir}/libinput/libinput-record
%{_libexecdir}/libinput/libinput-replay %{_libexecdir}/libinput/libinput-replay
%{_mandir}/man1/libinput-analyze.1* %{_mandir}/man1/libinput-analyze.1*
%{_mandir}/man1/libinput-analyze-buttons.1*
%{_mandir}/man1/libinput-analyze-per-slot-delta.1* %{_mandir}/man1/libinput-analyze-per-slot-delta.1*
%{_mandir}/man1/libinput-analyze-recording.1* %{_mandir}/man1/libinput-analyze-recording.1*
%{_mandir}/man1/libinput-analyze-touch-down-state.1* %{_mandir}/man1/libinput-analyze-touch-down-state.1*

View File

@ -0,0 +1,30 @@
diff -Naur a/meson.build b/meson.build
--- a/meson.build 2024-03-24 03:23:43.000000000 +0600
+++ b/meson.build 2024-06-21 14:29:03.280506319 +0600
@@ -253,7 +253,7 @@
link_args: libxkbcommon_link_args,
link_depends: libxkbcommon_link_deps,
gnu_symbol_visibility: 'hidden',
- version: '0.0.0',
+ version: '1.0.0',
install: true,
include_directories: include_directories('src', 'include'),
)
@@ -324,7 +324,7 @@
link_args: libxkbcommon_x11_link_args,
link_depends: libxkbcommon_x11_link_deps,
gnu_symbol_visibility: 'hidden',
- version: '0.0.0',
+ version: '1.0.0',
install: true,
include_directories: include_directories('src', 'include'),
link_with: libxkbcommon,
@@ -389,7 +389,7 @@
link_depends: libxkbregistry_link_deps,
gnu_symbol_visibility: 'hidden',
dependencies: deps_libxkbregistry,
- version: '0.0.0',
+ version: '1.0.0',
install: true,
include_directories: include_directories('src', 'include'),
)

View File

@ -0,0 +1,127 @@
%global realname libxkbcommon
%global _prefix /opt/rx
Name: rx-libxkbcommon
Version: 1.7.0
Release: 1%{?gitdate:.%{gitdate}}%{?dist}
Summary: X.Org X11 XKB parsing library
License: MIT
URL: http://www.x.org
Source0: https://xkbcommon.org/download/%{realname}-%{version}.tar.xz
Patch0: libxkbcommon-change-lib-version.patch
BuildRequires: git meson
BuildRequires: xorg-x11-util-macros byacc flex bison
BuildRequires: xorg-x11-proto-devel libX11-devel
BuildRequires: xkeyboard-config-devel
BuildRequires: pkgconfig(xcb-xkb) >= 1.10
BuildRequires: libxml2-devel
Requires: xkeyboard-config
%description
%{name} is the X.Org library for compiling XKB maps into formats usable by
the X Server or other display servers.
%package devel
Summary: X.Org X11 XKB parsing development package
Requires: %{name}%{?_isa} = %{version}-%{release}
Provides: pkgconfig(xkbcommon) = %{version}-%{release}
Provides: pkgconfig(xkbregistry) = %{version}-%{release}
%description devel
X.Org X11 XKB parsing development package
%package x11
Summary: X.Org X11 XKB keymap creation library
Requires: %{name}%{?_isa} = %{version}-%{release}
%description x11
%{name}-x11 is the X.Org library for creating keymaps by querying the X
server.
%package x11-devel
Summary: X.Org X11 XKB keymap creation library
Requires: %{name}-x11%{?_isa} = %{version}-%{release}
Provides: pkgconfig(xkbcommon-x11) = %{version}-%{release}
%description x11-devel
X.Org X11 XKB keymap creation library development package
%package utils
Summary: X.Org X11 XKB parsing utilities
Requires: %{name}%{?_isa} = %{version}-%{release}
%description utils
%{name}-utils is a set of utilities to analyze and test XKB parsing.
%prep
%autosetup -S git -n %{realname}-%{version}
%build
export PKG_CONFIG_PATH=%{_libdir}/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}}
export LDFLAGS="-L%{_libdir} -Wl,-rpath=%{_libdir} ${LDFLAGS:-%__global_ldflags}"
%meson -Denable-docs=false \
-Denable-x11=true \
-Denable-wayland=false
%meson_build
%install
%meson_install
%ldconfig_scriptlets
%files
%license LICENSE
%{_libdir}/libxkbcommon.so.1.0.0
%{_libdir}/libxkbcommon.so.1
%{_libdir}/libxkbregistry.so.1.0.0
%{_libdir}/libxkbregistry.so.1
%files devel
%{_libdir}/libxkbcommon.so
%{_libdir}/libxkbregistry.so
%dir %{_includedir}/xkbcommon/
%{_includedir}/xkbcommon/xkbcommon.h
%{_includedir}/xkbcommon/xkbcommon-compat.h
%{_includedir}/xkbcommon/xkbcommon-compose.h
%{_includedir}/xkbcommon/xkbcommon-keysyms.h
%{_includedir}/xkbcommon/xkbcommon-names.h
%{_includedir}/xkbcommon/xkbregistry.h
%{_libdir}/pkgconfig/xkbcommon.pc
%{_libdir}/pkgconfig/xkbregistry.pc
%ldconfig_scriptlets x11
%files x11
%{_libdir}/libxkbcommon-x11.so.1.0.0
%{_libdir}/libxkbcommon-x11.so.1
%files x11-devel
%{_libdir}/libxkbcommon-x11.so
%{_includedir}/xkbcommon/xkbcommon-x11.h
%{_libdir}/pkgconfig/xkbcommon-x11.pc
%files utils
%{_bindir}/xkbcli
%{_libexecdir}/xkbcommon/xkbcli-compile-keymap
%{_libexecdir}/xkbcommon/xkbcli-how-to-type
%{_libexecdir}/xkbcommon/xkbcli-interactive-evdev
%{_libexecdir}/xkbcommon/xkbcli-interactive-x11
%{_libexecdir}/xkbcommon/xkbcli-list
%{_libexecdir}/xkbcommon/xkbcli-compile-compose
%{_datadir}/bash-completion/completions/xkbcli
%{_mandir}/man1/xkbcli-compile-compose.1*
%{_mandir}/man1/xkbcli-compile-keymap.1*
%{_mandir}/man1/xkbcli-how-to-type.1*
%{_mandir}/man1/xkbcli-interactive-evdev.1*
%{_mandir}/man1/xkbcli-interactive-x11.1*
%{_mandir}/man1/xkbcli-list.1*
%{_mandir}/man1/xkbcli.1*

View File

@ -4,14 +4,14 @@
Name: rx-wayland Name: rx-wayland
Version: 1.22.0 Version: 1.23.0
Release: 1%{?dist} Release: 1%{?dist}
Summary: Wayland Compositor Infrastructure Summary: Wayland Compositor Infrastructure
License: MIT License: MIT
URL: http://wayland.freedesktop.org/ URL: http://wayland.freedesktop.org/
Source0: https://gitlab.freedesktop.org/%{realname}/%{realname}/-/releases/%{version}/downloads/%{realname}-%{version}.tar.xz Source0: https://gitlab.freedesktop.org/%{realname}/%{realname}/-/releases/%{version}/downloads/%{realname}-%{version}.tar.xz
Source1: https://gitlab.freedesktop.org/%{realname}/%{realname}/-/releases/%{version}/downloads/%{realname}-%{version}.tar.xz.sig #Source1: https://gitlab.freedesktop.org/%{realname}/%{realname}/-/releases/%{version}/downloads/%{realname}-%{version}.tar.xz.sig
Source2: emersion-gpg-key.asc Source2: emersion-gpg-key.asc
BuildRequires: gcc BuildRequires: gcc
@ -75,7 +75,7 @@ Summary: Wayland server library
Wayland server library Wayland server library
%prep %prep
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' #{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%autosetup -p1 -n %{realname}-%{version} %autosetup -p1 -n %{realname}-%{version}
%build %build