[kbd] kbd binaries unable to find locale files when 'datadir' is passed to configure

Rafael Fontenelle rafaelff at gnome.org
Wed Jun 3 16:37:32 MSK 2020


The locale files are currently being installed in '${datadir}/locale'
regardless of 'localedir' being set to different path. This causes kbd
binaries to not find locale files when the 'datadir' argument is
passed to ./configure even if combined with 'localedir' argument. (see
steps to reproduce 1)

I noticed that running kbd's ./autogen.sh creates 'po/Makefile.in.in'
file with "localedir=$(datadir)/localedir" set. This is a problem
because running './configure' passing "--localedir=/usr/share" will
not work with the current 'po/Makefile.in.in', and 'po/Makefile' will
be created with "localedir=$(datadir)/localedir" set. (see steps to
reproduce 2)

Steps to reproduce 1:
1- build kbd with non-default datadir (ex.: ./configure --prefix=/usr
2- strace dumpkeys (or any other binary)
3- see that locales are being searched in /usr/share/locale

Steps to reproduce 2:
1- clone kbd repository
2- ./autogen.sh -f
3- 'grep localedir po/Makefile.in.in' to see the value "$(datadir)/localedir"
4- ./configure --prefix=/usr --datadir=/usr/share/kbd
--mandir=/usr/share/man --localedir=/usr/share
5- same as step 3 for 'po/Makefile'
6- 'grep localedir Makefile' to see correct value for localedir "/usr/share"
7- same as step 6 for 'config.log'

- distro: Arch Linux 64-bit
- packages: kbd 2.2.90, autconf 2.69. automake 1.16.2, m4 1.4.18

Best regards,
Rafael Fontenelle

More information about the kbd mailing list