Date: Tuesday, July 21, 2020 @ 12:06:17 Author: tpowa Revision: 392323
archrelease: copy trunk to testing-x86_64 Added: kbd/repos/testing-x86_64/ kbd/repos/testing-x86_64/PKGBUILD (from rev 392322, kbd/trunk/PKGBUILD) kbd/repos/testing-x86_64/fix-euro2.patch (from rev 392322, kbd/trunk/fix-euro2.patch) kbd/repos/testing-x86_64/kbd-fix-loadkmap-compat.patch (from rev 392322, kbd/trunk/kbd-fix-loadkmap-compat.patch) -------------------------------+ PKGBUILD | 59 ++++++++++++++++++++++++++++++++++++++++ fix-euro2.patch | 9 ++++++ kbd-fix-loadkmap-compat.patch | 22 ++++++++++++++ 3 files changed, 90 insertions(+) Copied: kbd/repos/testing-x86_64/PKGBUILD (from rev 392322, kbd/trunk/PKGBUILD) =================================================================== --- testing-x86_64/PKGBUILD (rev 0) +++ testing-x86_64/PKGBUILD 2020-07-21 12:06:17 UTC (rev 392323) @@ -0,0 +1,59 @@ +# Maintainer: Tobias Powalowski <tp...@archlinux.org> + +pkgname=kbd +pkgver=2.3.0 +pkgrel=1 +pkgdesc="Keytable files and keyboard utilities" +arch=('x86_64') +url="http://www.kbd-project.org" +license=('GPL') +depends=('glibc' 'pam') +makedepends=('check' 'git') +#source=(https://www.kernel.org/pub/linux/utils/${pkgname}/${pkgname}-${pkgver}.tar.gz +# https://www.kernel.org/pub/linux/utils/kbd/${pkgname}-${pkgver}.tar.sign +source=(git+https://git.kernel.org/pub/scm/linux/kernel/git/legion/kbd.git#tag=v$pkgver + 'fix-euro2.patch') +provides=('vlock') +conflicts=('vlock') +replaces=('vlock') +sha256sums=('SKIP' + 'a5e0167b6a82a9eb4d581d56baab930c2d80f5541dc34630460b73e1115384b8') +validpgpkeys=( + '7F2A3D07298149A0793C9A4EA45ABA544CFFD434' #Alexey Gladkov + ) + +prepare() { + cd ${pkgname} + # rename keymap files with the same names + # this is needed because when only name of keymap is specified + # loadkeys loads the first keymap it can find, which is bad (see FS#13837) + # this should be removed when upstream adopts the change + mv data/keymaps/i386/qwertz/cz{,-qwertz}.map + mv data/keymaps/i386/olpc/es{,-olpc}.map + mv data/keymaps/i386/olpc/pt{,-olpc}.map + mv data/keymaps/i386/fgGIod/trf{,-fgGIod}.map + mv data/keymaps/i386/colemak/{en-latin9,colemak}.map + # fix euro2 #28213 + patch -Np1 -i ../fix-euro2.patch + autoreconf -if +} + +build() { + cd ${pkgname} + ./configure --prefix=/usr --datadir=/usr/share/kbd --mandir=/usr/share/man + make KEYCODES_PROGS=yes RESIZECONS_PROGS=yes +} + +check() { + cd ${pkgname} + +# This test is expected to fail since kbd-fix-loadkmap-compat.patch modifies the binary format + sed -e 's|dumpkeys-bkeymap ||' -i tests/Makefile + + make check +} + +package() { + cd ${pkgname} + make KEYCODES_PROGS=yes RESIZECONS_PROGS=yes DESTDIR="${pkgdir}" install +} Copied: kbd/repos/testing-x86_64/fix-euro2.patch (from rev 392322, kbd/trunk/fix-euro2.patch) =================================================================== --- testing-x86_64/fix-euro2.patch (rev 0) +++ testing-x86_64/fix-euro2.patch 2020-07-21 12:06:17 UTC (rev 392323) @@ -0,0 +1,9 @@ +--- kbd-1.15.5/data/keymaps/i386/include/euro2.map.old 2013-05-08 15:00:25.917752313 +0200 ++++ kbd-1.15.5/data/keymaps/i386/include/euro2.map 2013-05-08 15:00:54.943957367 +0200 +@@ -2,5 +2,5 @@ + # [Say: "loadkeys euro2" to get Euro and cent with AltGr (right alt) + # on the positions where many keyboards have E and C. + # To get it displayed, use a latin0 (i.e., latin9) font.] +-altgr keycode 18 = currency ++altgr keycode 18 = euro + altgr keycode 46 = cent Copied: kbd/repos/testing-x86_64/kbd-fix-loadkmap-compat.patch (from rev 392322, kbd/trunk/kbd-fix-loadkmap-compat.patch) =================================================================== --- testing-x86_64/kbd-fix-loadkmap-compat.patch (rev 0) +++ testing-x86_64/kbd-fix-loadkmap-compat.patch 2020-07-21 12:06:17 UTC (rev 392323) @@ -0,0 +1,22 @@ +diff --git a/src/libkeymap/dump.c b/src/libkeymap/dump.c +index 83ac351..8531b5a 100644 +--- a/src/libkeymap/dump.c ++++ b/src/libkeymap/dump.c +@@ -72,9 +72,14 @@ int lk_dump_bkeymap(struct lk_ctx *ctx, FILE *fd) + continue; + + for (j = 0; j < NR_KEYS / 2; j++) { +- int v = lk_get_key(ctx, i, j); ++ int value = lk_get_key(ctx, i, j); + +- if (fwrite(&v, sizeof(v), 1, fd) != 1) ++ if (value < 0 || value > USHRT_MAX) { ++ ERR(ctx, _("can not bind key %d to value %d because it is too large"), j, value); ++ goto fail; ++ } ++ ++ if (fwrite(&value, sizeof(unsigned short), 1, fd) != 1) + goto fail; + } + } +