Date: Wednesday, November 13, 2019 @ 17:16:38 Author: felixonmars Revision: 368316
archrelease: copy trunk to staging-x86_64 Added: kbd/repos/staging-x86_64/ kbd/repos/staging-x86_64/PKGBUILD (from rev 368314, kbd/trunk/PKGBUILD) kbd/repos/staging-x86_64/fix-euro2.patch (from rev 368314, kbd/trunk/fix-euro2.patch) kbd/repos/staging-x86_64/kbd-fix-loadkmap-compat.patch (from rev 368314, kbd/trunk/kbd-fix-loadkmap-compat.patch) -------------------------------+ PKGBUILD | 65 ++++++++++++++++++++++++++++++++++++++++ fix-euro2.patch | 9 +++++ kbd-fix-loadkmap-compat.patch | 22 +++++++++++++ 3 files changed, 96 insertions(+) Copied: kbd/repos/staging-x86_64/PKGBUILD (from rev 368314, kbd/trunk/PKGBUILD) =================================================================== --- staging-x86_64/PKGBUILD (rev 0) +++ staging-x86_64/PKGBUILD 2019-11-13 17:16:38 UTC (rev 368316) @@ -0,0 +1,65 @@ +# Maintainer: Tobias Powalowski <tp...@archlinux.org> + +pkgname=kbd +pkgver=2.2.0 +pkgrel=5 +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' + 'kbd-fix-loadkmap-compat.patch') +provides=('vlock') +conflicts=('vlock') +replaces=('vlock') +md5sums=('SKIP' + 'd869200acbc0aab6a9cafa43cb140d4e' + '98f634bf1771834cdb94bc44aa2636ee') +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 + git cherry-pick -n 15a74479 # Don't override CFLAGS + git cherry-pick -n acf93e44 # https://github.com/legionus/kbd/issues/31 + git cherry-pick -n 7e27102b # https://github.com/legionus/kbd/issues/32 + patch -p1 -i ../kbd-fix-loadkmap-compat.patch # Restore compatibility with busybox loadkmap + 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/staging-x86_64/fix-euro2.patch (from rev 368314, kbd/trunk/fix-euro2.patch) =================================================================== --- staging-x86_64/fix-euro2.patch (rev 0) +++ staging-x86_64/fix-euro2.patch 2019-11-13 17:16:38 UTC (rev 368316) @@ -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/staging-x86_64/kbd-fix-loadkmap-compat.patch (from rev 368314, kbd/trunk/kbd-fix-loadkmap-compat.patch) =================================================================== --- staging-x86_64/kbd-fix-loadkmap-compat.patch (rev 0) +++ staging-x86_64/kbd-fix-loadkmap-compat.patch 2019-11-13 17:16:38 UTC (rev 368316) @@ -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; + } + } +