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;
+               }
+       }
+

Reply via email to