Two things. gawk-3.0.5-2 In gawk.spec: %configure --libexecdir=%{_libexecdir}/awk --datadir=%{_datadir}/awk This cause gawk to use /usr/share/awk/awk and /usr/libexec/awk/awk dirs instead of /usr/{share,libexec}/awk (note double last component). This is in Makefile.in: datadir = @datadir@/awk libexecdir = @libexecdir@/awk Also, in gawk.spec %files: %{_prefix}/libexec/awk %{_prefix}/share/awk This should be %{_libexecdir}/awk and %{_datadir}/awk, respectively. And also one comment. Many programs (gawk is an example) uses their own implementation of getopt and regex, and those are in glibc already. Should this be considered a (minor) bug? In gawk, there is "LIBOBJS = getopt.o getopt1.o regex.o" in Makefile.in. Maybe this should be "LIBOBJS=@LIBOBJS@" and a test about regex/getopt in configure? (This is mainly to gawk maintainers...)
"configure"-part is fixed. getopt*.o regex.o: they sometimes are compiled, but do not contain any code, so there should be some clever "#ifdef XXX" in the source...