File kbd.spec of Package kbd.3099

# spec file for package kbd
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via

Name:           kbd
Version:        1.15.5
Release:        0
Summary:        Keyboard and Font Utilities
License:        GPL-2.0+
Group:          System/Console
# git: git://
%if 0
Source:         %{name}-%{version}.tar.gz
Source:         %{name}-%{version}-repack.tar.bz2
Source1:        kbd_fonts.tar.bz2
Source2:        suse-add.tar.bz2
Source3:        README.SUSE
Source5:        kbd.fillup
Source6:        kbd.fillup.nonpc
Source8:        sysconfig.console
Source9:        sysconfig.keyboard
Source10:       testutf8
Source11:       fbtest.c
Source12:       fbtest.8
Source42:       convert-kbd-mac.sed
Patch0:         kbd-1.15.2-prtscr_no_sigquit.patch
Patch1:         kbd-1.15.2-dumpkeys-ppc.patch
Patch2:         kbd-1.15.2-unicode_scripts.patch
Patch3:         kbd-1.15.2-docu-X11R6-xorg.patch
Patch4:         kbd-1.15.2-sv-latin1-keycode10.patch
Patch5:         kbd-1.15.2-setfont-no-cruft.patch
Patch6:         kbd-1.15.2-dumpkeys-C-opt.patch
Patch8:         kbd-1.15.2-chvt-userwait.patch
Patch9:         kbd-1.15.2-loadkeys-fix-loading.patch
Patch10:        kbd-1.15.5-br-abnt2-slash-question.patch

BuildRequires:  automake
BuildRequires:  bison
BuildRequires:  flex
BuildRequires:  pam-devel

Requires(pre):  %fillup_prereq
Recommends:     fbset

BuildRoot:      %{_tmppath}/%{name}-%{version}-build

Load and save keyboard mappings. This is needed if you are not using
the US keyboard map. This package also contains utilities for changing
your console fonts. If you install this package, YaST includes an extra
menu to allow you to choose between the different fonts. This package
also includes fonts from the kbd_fonts.tar.gz package (by Paul
Gortmaker) on Sunsite.

    Andries Brouwer <>
    Alexey Gladkov <>

%define kbd /usr/share/kbd

%setup -q -a 1 -a 2 -n kbd-%{version}
%patch0 -p1
%patch1 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1

for i in `find data/keymaps/mac -type f` ; do
sed -i -f %{SOURCE42} $i
# workaround ambiguous keymap names
pushd data/keymaps/i386
	# bnc#48301
	test -f qwerty/ || cp qwerty/ qwerty/
	# bnc#435121
	test -f olpc/ || mv olpc/ olpc/
%configure \
	--datadir=%{kbd} \
	--enable-nls \
	--localedir=/usr/share/locale \
	--enable-optional-progs \
make CFLAGS="%{optflags}"
gcc %{optflags} -o fbtest   $RPM_SOURCE_DIR/fbtest.c
# fix lat2-16.psfu (bnc#340579)
./src/psfxtable -i $font -it  data/unimaps/lat2u.uni \
	-o t.psfu
mv t.psfu $font

mkdir -p %{buildroot}%{_sbindir}
mkdir -p $K/consolefonts
# First install the fonts from the vfont package 
# (allowing kbd to overwrite some of them)
mkdir -p $DOC/fonts
install -m 644 fonts/README $DOC/fonts/README.fonts
install -m 644 fonts/vfont-4.36/README $DOC/fonts/README.vfont-4.36
install -m 644 fonts/vfont-5.10/README $DOC/fonts/README.vfont-5.10
install -m 644 fonts/vfont-5.10/SCRIPT $DOC/fonts/SCRIPT.vfont-5.10
rm -f fonts/vfont-5.10/SCRIPT fonts/*/README
install -m 644 fonts/*/* $K/consolefonts/
# Now call kbd install
echo "# Now call kbd install DESTDIR=%{buildroot} DATA_DIR=%{kbd} MAN_DIR=%{_mandir}"
make DESTDIR=%{buildroot} DATA_DIR=%{kbd} MAN_DIR=%{_mandir} install
# ln -s iso01-12x22.psfu $K/consolefonts/suse12x22.psfu
install -m 644 data/consolefonts/README* $DOC/fonts/
mkdir -p $DOC/doc/
install -m 644 doc/ doc/kbd.FAQ.txt doc/kbd.FAQ*.html doc/README* doc/TODO $DOC/doc/
install -m 644 doc/as400.kbd doc/ doc/repeat/set_kbd_repeat-2 $DOC/doc/
echo "See /usr/share/i18/charmaps for a description of char maps" >$DOC/doc/README.charmaps
install -m 644 COPYING ChangeLog CREDITS README $DOC/
install -m 644 %{SOURCE3} $DOC/
rm -f $K/consolefonts/README* $K/consolefonts/ERRORS.gz
if ls $K/consolefonts/Agafari-* > /dev/null 2>&1; then
  echo "";
  echo "ERROR: Ethiopian Agafari fonts are for noncommercial distribution only."
  echo "please run";
  echo "";
  exit 1
ln -sf $K/keymaps/i386/qwerty/
ln -sf $K/keymaps/i386/qwerty/
ln -sf $K/keymaps/i386/qwerty/
ln -sf $K/keymaps/i386/qwerty/
ln -sf $K/keymaps/i386/qwerty/
# Compatability links; don't know what the first three are good for.
# The others are for yast/langselection and should be removed as soon as
# yast knows about it.
#ln -sf \
#  $K/keymaps/i386/qwertz/
#ln -sf $K/keymaps/i386/qwerty/
#ln -sf \
#  $K/keymaps/i386/qwertz/
# The next two links are for yast-language choise; should be obsolete
# with the next yast version (on 6.1)
#ln -sf lat1-16.psfu.gz $K/consolefonts/lat1u-16.psf.gz
#ln -sf lat2-16.psfu.gz $K/consolefonts/lat2u-16.psf.gz
# This is for stupid default font search
rm -f $K/consolefonts/default8x16.gz
ln -sf default8x16.psfu.gz $K/consolefonts/default8x16.gz
rm -f $K/keymaps/i386/qwerty/*~ $K/keymaps/i386/qwerty/*,v
# this is until the Cyr* font are not part of the package
rm -f $K/consolefonts/Cyr_a8x14.gz
ln -sf Cyr_a8x14.psfu.gz $K/consolefonts/Cyr_a8x14.gz
rm -f $K/consolefonts/Cyr_a8x16.gz
ln -sf Cyr_a8x16.psfu.gz $K/consolefonts/Cyr_a8x16.gz
rm -f $K/consolefonts/Cyr_a8x8.gz
ln -sf Cyr_a8x8.psfu.gz $K/consolefonts/Cyr_a8x8.gz
find $K -name \*.orig | xargs -r rm -vf
# add some missing maps to mac and remap french board
cd $K/keymaps/mac/all
#ln -s
#ln -s
for i in \ \ \ \ \ \ \ \ \ \ \ \ \
do test -f $i || ln -sv $i
mkdir -p $FILLUP_DIR
install -m 644 %{SOURCE8} $FILLUP_DIR/sysconfig.console
install -m 644 %{SOURCE9} $FILLUP_DIR/sysconfig.keyboard
%ifarch %ix86 alpha ia64 x86_64
cat %{SOURCE5} >> $FILLUP_DIR/sysconfig.keyboard
cat %{SOURCE6} >> $FILLUP_DIR/sysconfig.keyboard
#mkdir -p $RPM_BUILD_ROOT/etc/sysconfig
#touch $RPM_BUILD_ROOT/etc/sysconfig/console
%ifnarch %ix86
%ifnarch x86_64
   rm -f %{buildroot}/%{_mandir}/man8/resizecons.8*
%ifarch %sparc m68k
rm -f %{buildroot}/%{_mandir}/man8/getkeycodes.8*
rm -f %{buildroot}/%{_mandir}/man8/setkeycodes.8*
install -m 755 %_sourcedir/testutf8  %{buildroot}/%{_bindir}
install -m 755 fbtest    %{buildroot}/%{_sbindir}
install -m 644 %{SOURCE12} %{buildroot}/%{_mandir}/man8/
install -m 755 %{SOURCE13} %{buildroot}/%{_bindir}/guess_encoding
mkdir -p %{buildroot}/bin
mkdir -p %{buildroot}/sbin
ln -s %{_bindir}/chvt %{buildroot}/bin
ln -s %{_bindir}/clrunimap %{buildroot}/bin
ln -s %{_bindir}/deallocvt %{buildroot}/bin
ln -s %{_bindir}/dumpkeys %{buildroot}/bin
ln -s %{_bindir}/fgconsole %{buildroot}/bin
ln -s %{_bindir}/getunimap %{buildroot}/bin
ln -s %{_bindir}/guess_encoding %{buildroot}/bin
ln -s %{_bindir}/kbd_mode %{buildroot}/bin
ln -s %{_bindir}/kbdinfo %{buildroot}/bin
ln -s %{_bindir}/kbdrate %{buildroot}/bin
ln -s %{_bindir}/loadkeys %{buildroot}/bin
ln -s %{_bindir}/loadunimap %{buildroot}/bin
ln -s %{_bindir}/mapscrn %{buildroot}/bin
ln -s %{_bindir}/openvt %{buildroot}/bin
ln -s %{_bindir}/outpsfheader %{buildroot}/bin
ln -s %{_bindir}/psfaddtable %{buildroot}/bin
ln -s %{_bindir}/psfgettable %{buildroot}/bin
ln -s %{_bindir}/psfstriptable %{buildroot}/bin
ln -s %{_bindir}/psfxtable %{buildroot}/bin
ln -s %{_bindir}/screendump %{buildroot}/bin
ln -s %{_bindir}/setfont %{buildroot}/bin
ln -s %{_bindir}/setleds %{buildroot}/bin
ln -s %{_bindir}/setlogcons %{buildroot}/bin
ln -s %{_bindir}/setmetamode %{buildroot}/bin
ln -s %{_bindir}/setpalette %{buildroot}/bin
ln -s %{_bindir}/setvesablank %{buildroot}/bin
ln -s %{_bindir}/setvtrgb %{buildroot}/bin
ln -s %{_bindir}/showconsolefont %{buildroot}/bin
ln -s %{_bindir}/showkey %{buildroot}/bin
ln -s %{_bindir}/spawn_console %{buildroot}/bin
ln -s %{_bindir}/spawn_login %{buildroot}/bin
ln -s %{_bindir}/testutf8 %{buildroot}/bin
ln -s %{_bindir}/unicode_start %{buildroot}/bin
ln -s %{_bindir}/unicode_stop %{buildroot}/bin
ln -s %{_sbindir}/fbtest %{buildroot}/sbin
%ifnarch %sparc m68k
ln -s %{_bindir}/getkeycodes %{buildroot}/bin
ln -s %{_bindir}/setkeycodes %{buildroot}/bin
%ifarch %ix86
ln -s %{_bindir}/resizecons %{buildroot}/bin
%ifarch x86_64
ln -s %{_bindir}/resizecons %{buildroot}/bin
%find_lang %{name}

%{fillup_only -n console}
%{fillup_only -n keyboard}
#echo "Please read the docu about the new COMPOSETABLE rc.config variable."
#echo "See /etc/sysconfig/console, /etc/sysconfig/keyboard"
#echo "and {_docdir}/kbd/README.SUSE."

%files -f %{name}.lang
#config(noreplace) /etc/sysconfig/console
%doc %{_defaultdocdir}/kbd
%ifnarch %sparc m68k
%ifarch %ix86
%ifarch x86_64
%ifnarch %sparc m68k
%ifarch %ix86
%ifarch x86_64
%doc %{_mandir}/man1/*
%doc %{_mandir}/man5/keymaps.5.gz
%ifnarch %sparc m68k
%doc %{_mandir}/man8/getkeycodes.8.gz
%doc %{_mandir}/man8/setkeycodes.8.gz
%doc %{_mandir}/man8/showconsolefont.8.gz
%doc %{_mandir}/man8/loadunimap.8.gz
%doc %{_mandir}/man8/mapscrn.8.gz
%ifarch %ix86
%doc %{_mandir}/man8/resizecons.8.gz
%ifarch x86_64
%doc %{_mandir}/man8/resizecons.8.gz
%doc %{_mandir}/man8/setfont.8.gz
%doc %{_mandir}/man8/fbtest.8.gz
%doc %{_mandir}/man8/kbdrate.8.gz
%doc %{_mandir}/man8/clrunimap.8.gz
%doc %{_mandir}/man8/getunimap.8.gz
%doc %{_mandir}/man8/mk_modmap.8.gz
%doc %{_mandir}/man8/setlogcons.8.gz
%doc %{_mandir}/man8/setvesablank.8.gz
%doc %{_mandir}/man8/setvtrgb.8.gz
%doc %{_mandir}/man8/vcstime.8.gz

openSUSE Build Service is sponsored by