kbd/kbd.spec

310 lines
9.4 KiB
RPMSpec
Raw Normal View History

#
# spec file for package kbd (Version 1.14.1)
#
# Copyright (c) 2009 SUSE LINUX Products 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 http://bugs.opensuse.org/
#
# norootforbuild
Name: kbd
Url: ftp://ftp.altlinux.org/pub/people/legion/kbd/
License: GPL v2 or later
Group: System/Console
AutoReqProv: on
Version: 1.14.1
Release: 18
Summary: Keyboard and Font Utilities
Source: kbd-%{version}.tar.bz2
Source1: kbd_fonts.tar.bz2
Source2: suse-add.tar.bz2
Source3: README.SuSE
Source4: kbd.init
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
Source43: repack_kbd.sh
Patch1: kbd-1.14.1-2d01989f.patch
Patch2: kbd-1.14.1-Makefile.patch
Patch3: kbd-1.14.1-prtscr_no_sigquit.patch
Patch4: kbd-1.14.1-dumpkeys-ppc.patch
Patch5: kbd-1.14.1-unicode_scripts.patch
Patch6: kbd-1.14.1-no-strip.patch
Patch7: kbd-1.14.1-docu-X11R6-xorg.patch
Patch8: kbd-1.14.1-sv-latin1-keycode10.patch
Patch9: kbd-1.14.1-setfont-no-cruft.patch
Patch10: kbd-1.14.1-dumpkeys-C-opt.patch
Patch11: kbd-1.14.1-defkeymap.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: %fillup_prereq %insserv_prereq
BuildRequires: bison flex
Recommends: fbset
%description
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.
Authors:
--------
Andries Brouwer <aeb@cwi.nl>
Alexey Gladkov <gladkov.alexey@gmail.com>
%define kbd /usr/share/kbd
%prep
%setup -q -a 1 -a 2 -n kbd-%{version}
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10
%patch11 -p1
%build
for i in `find data/keymaps/mac -type f` ; do
sed -i -f %{S:42} $i
done
# workaround ambiguous keymap names
pushd data/keymaps/i386
# bnc#48301
test -f qwerty/se-latin1.map || cp qwerty/sv-latin1.map qwerty/se-latin1.map
# bnc#435121
test -f olpc/es-olpc.map || mv olpc/es.map olpc/es-olpc.map
popd
./configure \
--prefix=/ \
--datadir=%{kbd} \
--mandir=%{_mandir} \
--enable-nls \
--localedir=/usr/share/locale
make CFLAGS="$RPM_OPT_FLAGS -Os"
gcc $RPM_OPT_FLAGS -o fbtest $RPM_SOURCE_DIR/fbtest.c
# fix lat2-16.psfu (bnc#340579)
font=data/consolefonts/lat2a-16.psfu
./src/psfxtable -i $font -it data/unimaps/lat2u.uni \
-o t.psfu
mv t.psfu $font
rm -r data/{consolefonts,partialfonts}_Z
make
%install
mkdir -p $RPM_BUILD_ROOT/bin
mkdir -p $RPM_BUILD_ROOT/sbin
#mkdir -p $RPM_BUILD_ROOT/usr/bin
#mkdir -p $RPM_BUILD_ROOT/usr/sbin
mkdir -p $RPM_BUILD_ROOT/etc/init.d
DOC=${RPM_BUILD_ROOT}%{_defaultdocdir}/kbd
KBD=%{kbd}
K=$RPM_BUILD_ROOT$KBD
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=$RPM_BUILD_ROOT DATA_DIR=%{kbd} MAN_DIR=%{_mandir}"
make DESTDIR=$RPM_BUILD_ROOT 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/keysyms.h.info doc/kbd.FAQ.txt doc/kbd.FAQ*.html doc/README* doc/TODO $DOC/doc/
install -m 644 doc/as400.kbd doc/console.docs 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 CHANGES 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 repack_kbd.sh";
echo "";
exit 1
fi
install -m 755 %SOURCE4 $RPM_BUILD_ROOT/etc/init.d/kbd
ln -sf ../etc/init.d/kbd $RPM_BUILD_ROOT/sbin/rckbd
ln -sf us.map.gz $K/keymaps/i386/qwerty/khmer.map.gz
ln -sf us.map.gz $K/keymaps/i386/qwerty/korean.map.gz
ln -sf us.map.gz $K/keymaps/i386/qwerty/arabic.map.gz
# 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 de-latin1-nodeadkeys.map.gz \
# $K/keymaps/i386/qwertz/de-lat1-nd.map.gz
#ln -sf ru1.map.gz $K/keymaps/i386/qwerty/russian.map.gz
#ln -sf sg-latin1-lk450.map.gz \
# $K/keymaps/i386/qwertz/sg-l1-lk450.map.gz
# 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
pwd
#ln -s mac-fr-latin1.map.gz mac-fr_CH-latin1.map.gz
#ln -s mac-fr-latin1.map.gz mac-fr.map.gz
for i in \
mac-es.map.gz \
mac-it.map.gz \
mac-pt-latin1.map.gz \
mac-br-abnt2.map.gz \
mac-gr.map.gz \
mac-dk-latin1.map.gz \
mac-no-latin1.map.gz \
mac-fi-latin1.map.gz \
mac-cz-us-qwertz.map.gz \
mac-hu.map.gz \
mac-Pl02.map.gz \
mac-ru1.map.gz \
mac-jp106.map.gz
do test -f $i || ln -sv mac-us.map.gz $i
done
)
FILLUP_DIR=$RPM_BUILD_ROOT/var/adm/fillup-templates
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
%else
cat %SOURCE6 >> $FILLUP_DIR/sysconfig.keyboard
%endif
#mkdir -p $RPM_BUILD_ROOT/etc/sysconfig
#touch $RPM_BUILD_ROOT/etc/sysconfig/console
%ifnarch %ix86
rm -f $RPM_BUILD_ROOT/%{_mandir}/man8/resizecons.8*
%endif
%ifarch sparc m68k
rm -f $RPM_BUILD_ROOT/%{_mandir}/man8/getkeycodes.8*
rm -f $RPM_BUILD_ROOT/%{_mandir}/man8/setkeycodes.8*
%endif
install -m 755 %_sourcedir/testutf8 $RPM_BUILD_ROOT/bin/
install -m 755 fbtest $RPM_BUILD_ROOT/sbin/
install -m 644 %SOURCE12 $RPM_BUILD_ROOT/%{_mandir}/man8/
%find_lang %{name}
%post
%{fillup_and_insserv -ny console kbd}
%{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."
%postun
%{insserv_cleanup}
%files -f %{name}.lang
%defattr(-,root,root)
#%config(noreplace) /etc/sysconfig/console
%doc %{_defaultdocdir}/kbd
#%doc COPYING CHANGES README CREDITS
%config /etc/init.d/kbd
/var/adm/fillup-templates/sysconfig.console
/var/adm/fillup-templates/sysconfig.keyboard
%{kbd}
/sbin/rckbd
/sbin/fbtest
/bin/chvt
/bin/openvt
/bin/deallocvt
/bin/dumpkeys
%ifnarch sparc m68k
/bin/getkeycodes
/bin/setkeycodes
%endif
/bin/fgconsole
/bin/kbd_mode
/bin/loadkeys
/bin/loadunimap
/bin/mapscrn
/bin/psfaddtable
/bin/psfgettable
/bin/psfstriptable
/bin/psfxtable
%ifarch %ix86
/bin/resizecons
%endif
/bin/setfont
/bin/setleds
/bin/setmetamode
/bin/showconsolefont
/bin/showkey
/bin/unicode_start
/bin/unicode_stop
/bin/kbdrate
/bin/testutf8
%doc %{_mandir}/man1/*
%doc %{_mandir}/man5/keymaps.5.gz
%ifnarch sparc m68k
%doc %{_mandir}/man8/getkeycodes.8.gz
%doc %{_mandir}/man8/setkeycodes.8.gz
%endif
%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
%endif
%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/vcstime.8.gz
%clean
rm -rf $RPM_BUILD_ROOT
%changelog