diff --git a/kbd.spec b/kbd.spec index 6e61f18..15d9f19 100644 --- a/kbd.spec +++ b/kbd.spec @@ -1,6 +1,11 @@ +# {_exec_prefix}/lib/kbd is correct even on x86_64. +# It is traditionally used for kdb data (console fonts, keymaps, ...). +# It is not used for any shared objects/executables. +%global kbd_datadir %{_exec_prefix}/lib/kbd + Name: kbd Version: 2.2.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Tools for configuring the console (keyboard, virtual terminals, etc.) License: GPLv2+ URL: http://www.kbd-project.org/ @@ -39,6 +44,8 @@ BuildRequires: console-setup, xkeyboard-config Requires: %{name}-misc = %{version}-%{release} # Temporarily require -legacy Requires: %{name}-legacy = %{version}-%{release} +# Be sure that system is after UsrMove +Conflicts: filesystem < 3 Provides: vlock = %{version} Conflicts: vlock <= 1.3 Obsoletes: vlock @@ -107,94 +114,92 @@ iconv -f iso-8859-1 -t utf-8 < "ChangeLog" > "ChangeLog_" mv "ChangeLog_" "ChangeLog" %build -%configure --prefix=%{_prefix} --datadir=/lib/kbd --mandir=%{_mandir} --localedir=%{_datadir}/locale --enable-nls +%configure --prefix=%{_prefix} --datadir=%{kbd_datadir} --mandir=%{_mandir} --localedir=%{_datadir}/locale --enable-nls make %{?_smp_mflags} V=1 %install make install DESTDIR=$RPM_BUILD_ROOT # ro_win.map.gz is useless -rm -f $RPM_BUILD_ROOT/lib/kbd/keymaps/i386/qwerty/ro_win.map.gz +rm -f $RPM_BUILD_ROOT%{kbd_datadir}/keymaps/i386/qwerty/ro_win.map.gz # Create additional name for Serbian latin keyboard -ln -s sr-cy.map.gz $RPM_BUILD_ROOT/lib/kbd/keymaps/i386/qwerty/sr-latin.map.gz +ln -s sr-cy.map.gz $RPM_BUILD_ROOT%{kbd_datadir}/keymaps/i386/qwerty/sr-latin.map.gz # The rhpl keyboard layout table is indexed by kbd layout names, so we need a # Korean keyboard -ln -s us.map.gz $RPM_BUILD_ROOT/lib/kbd/keymaps/i386/qwerty/ko.map.gz - -# Move binaries which we use before /usr is mounted from %%{_bindir} to /bin. -mkdir -p $RPM_BUILD_ROOT/bin -for binary in setfont dumpkeys kbd_mode unicode_start unicode_stop loadkeys ; do - mv $RPM_BUILD_ROOT%{_bindir}/$binary $RPM_BUILD_ROOT/bin/ -done +ln -s us.map.gz $RPM_BUILD_ROOT%{kbd_datadir}/keymaps/i386/qwerty/ko.map.gz # Some microoptimization -sed -i -e 's,\,/bin/kbd_mode,g;s,\,/bin/setfont,g' \ - $RPM_BUILD_ROOT/bin/unicode_start +sed -i -e 's,\,%{_bindir}/kbd_mode,g;s,\,%{_bindir}/setfont,g' \ + $RPM_BUILD_ROOT%{_bindir}/unicode_start # install kbdinfo manpage gzip -c %SOURCE5 > $RPM_BUILD_ROOT/%{_mandir}/man1/kbdinfo.1.gz # Move locale files to correct place -cp -r $RPM_BUILD_ROOT/lib/kbd/locale/ $RPM_BUILD_ROOT%{_datadir}/locale -rm -rf $RPM_BUILD_ROOT/lib/kbd/locale +cp -r $RPM_BUILD_ROOT%{kbd_datadir}/locale/ $RPM_BUILD_ROOT%{_datadir}/locale +rm -rf $RPM_BUILD_ROOT%{kbd_datadir}/locale # Install PAM configuration for vlock mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/pam.d install -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/vlock # Move original keymaps to legacy directory -mkdir -p $RPM_BUILD_ROOT/lib/kbd/keymaps/legacy -mv $RPM_BUILD_ROOT/lib/kbd/keymaps/{amiga,atari,i386,include,mac,ppc,sun} $RPM_BUILD_ROOT/lib/kbd/keymaps/legacy +mkdir -p $RPM_BUILD_ROOT%{kbd_datadir}/keymaps/legacy +mv $RPM_BUILD_ROOT%{kbd_datadir}/keymaps/{amiga,atari,i386,include,mac,ppc,sun} $RPM_BUILD_ROOT%{kbd_datadir}/keymaps/legacy # Convert X keyboard layouts to console keymaps -mkdir -p $RPM_BUILD_ROOT/lib/kbd/keymaps/xkb +mkdir -p $RPM_BUILD_ROOT%{kbd_datadir}/keymaps/xkb perl xml2lst.pl < /usr/share/X11/xkb/rules/base.xml > layouts-variants.lst while read line; do XKBLAYOUT=`echo "$line" | cut -d " " -f 1` echo "$XKBLAYOUT" >> layouts-list.lst XKBVARIANT=`echo "$line" | cut -d " " -f 2` - ckbcomp "$XKBLAYOUT" "$XKBVARIANT" | gzip > $RPM_BUILD_ROOT/lib/kbd/keymaps/xkb/"$XKBLAYOUT"-"$XKBVARIANT".map.gz + ckbcomp "$XKBLAYOUT" "$XKBVARIANT" | gzip > $RPM_BUILD_ROOT%{kbd_datadir}/keymaps/xkb/"$XKBLAYOUT"-"$XKBVARIANT".map.gz done < layouts-variants.lst # Convert X keyboard layouts (plain, no variant) cat layouts-list.lst | sort -u >> layouts-list-uniq.lst while read line; do - ckbcomp "$line" | gzip > $RPM_BUILD_ROOT/lib/kbd/keymaps/xkb/"$line".map.gz + ckbcomp "$line" | gzip > $RPM_BUILD_ROOT%{kbd_datadir}/keymaps/xkb/"$line".map.gz done < layouts-list-uniq.lst # wipe converted layouts which cannot input ASCII (#1031848) -zgrep -L "U+0041" $RPM_BUILD_ROOT/lib/kbd/keymaps/xkb/* | xargs rm -f +zgrep -L "U+0041" $RPM_BUILD_ROOT%{kbd_datadir}/keymaps/xkb/* | xargs rm -f # Rename the converted default fi (kotoistus) layout (#1117891) -gunzip $RPM_BUILD_ROOT/lib/kbd/keymaps/xkb/fi.map.gz -mv $RPM_BUILD_ROOT/lib/kbd/keymaps/xkb/fi.map $RPM_BUILD_ROOT/lib/kbd/keymaps/xkb/fi-kotoistus.map -gzip $RPM_BUILD_ROOT/lib/kbd/keymaps/xkb/fi-kotoistus.map +gunzip $RPM_BUILD_ROOT%{kbd_datadir}/keymaps/xkb/fi.map.gz +mv $RPM_BUILD_ROOT%{kbd_datadir}/keymaps/xkb/fi.map $RPM_BUILD_ROOT%{kbd_datadir}/keymaps/xkb/fi-kotoistus.map +gzip $RPM_BUILD_ROOT%{kbd_datadir}/keymaps/xkb/fi-kotoistus.map # Fix converted cz layout - add compose rules -gunzip $RPM_BUILD_ROOT/lib/kbd/keymaps/xkb/cz.map.gz -patch $RPM_BUILD_ROOT/lib/kbd/keymaps/xkb/cz.map < %{SOURCE6} -gzip $RPM_BUILD_ROOT/lib/kbd/keymaps/xkb/cz.map +gunzip $RPM_BUILD_ROOT%{kbd_datadir}/keymaps/xkb/cz.map.gz +patch $RPM_BUILD_ROOT%{kbd_datadir}/keymaps/xkb/cz.map < %{SOURCE6} +gzip $RPM_BUILD_ROOT%{kbd_datadir}/keymaps/xkb/cz.map %find_lang %{name} %files -f %{name}.lang %license COPYING %doc ChangeLog AUTHORS README docs/doc/kbd.FAQ*.html docs/doc/font-formats/*.html docs/doc/utf/utf* docs/doc/dvorak/* -/bin/* %{_bindir}/* %{_mandir}/*/* %config(noreplace) %{_sysconfdir}/pam.d/vlock %files misc -/lib/kbd -%exclude /lib/kbd/keymaps/legacy +%{kbd_datadir} +%exclude %{kbd_datadir}/keymaps/legacy %files legacy -/lib/kbd/keymaps/legacy +%{kbd_datadir}/keymaps/legacy %changelog +* Thu Mar 05 2020 Vitezslav Crhonek - 2.2.0-2 +- Don't move binaries to /bin, shouldn't be needed after UsrMove +- Move kbd data (console fonts, keymaps, ...) to /usr + Resolves: #1809257 + * Mon Feb 10 2020 Vitezslav Crhonek - 2.2.0-1 - Update to kbd-2.2.0 Resolves: #1742036