summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am12
-rw-r--r--configure.ac4
-rwxr-xr-xmkallcomposecaches.sh16
-rw-r--r--mkcomposecache.c10
4 files changed, 31 insertions, 11 deletions
diff --git a/Makefile.am b/Makefile.am
index cc8a9a5..93edbf3 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3,10 +3,18 @@ SUBDIRS = doc
AM_CFLAGS = @XLIB_CFLAGS@ -Wall
sbin_PROGRAMS = mkcomposecache
-EXTRA_DIST = mkallcomposecaches.sh
+EXTRA_DIST = ChangeLog mkallcomposecaches.sh
mkcomposecache_SOURCES = mkcomposecache.c
mkcomposecache_LDADD = @XLIB_LIBS@
-MAINTAINERCLEANFILES = Makefile.in configure aclocal.m4 depcomp install-sh missing
+CLEANFILES=ChangeLog
+MAINTAINERCLEANFILES = Makefile.in configure aclocal.m4 config.h.in depcomp install-sh missing ChangeLog
+
+.PHONY: ChangeLog
+ChangeLog:
+ (GIT_DIR=$(top_srcdir)/.git git-log > .changelog.tmp && mv .changelog.tmp ChangeLog; rm -f .changelog.tmp) || (touch ChangeLog; echo 'git directory not found: installing possibly empty changelog.' >&2)
+
+dist-hook: ChangeLog
+
diff --git a/configure.ac b/configure.ac
index 158e2ab..d93d690 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,8 +1,9 @@
# -*- Autoconf -*-
AC_PREREQ(2.53)
-AC_INIT([mkcomposecache], [1.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AC_INIT([mkcomposecache], [1.2], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
AC_CONFIG_SRCDIR([mkcomposecache.c])
+AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE([dist-bzip2])
AM_MAINTAINER_MODE
@@ -15,6 +16,7 @@ PKG_CHECK_MODULES(XLIB, x11)
AC_CHECK_HEADERS([stdio.h stdlib.h string.h unistd.h locale.h], , [AC_MSG_FAILURE("cannot find essential header")])
AC_CHECK_FUNCS([setlocale], , [AC_MSG_FAILURE("cannot find essential function")])
+AC_CHECK_FUNCS([unsetenv])
AC_SUBST(XLIB_CFLAGS)
diff --git a/mkallcomposecaches.sh b/mkallcomposecaches.sh
index b486af3..c9ad04a 100755
--- a/mkallcomposecaches.sh
+++ b/mkallcomposecaches.sh
@@ -13,7 +13,9 @@ usage() {
cat 1>&2 <<EOUSAGE
$0 [var=arg] [...] root
-e.g. $0 prefix=/usr/X11R7 /tmp/build-xorg
+ e.g. $0 prefix=/usr/X11R7 /tmp/build-xorg
+Double quote args with spaces.
+ e.g. $0 "xvfbopts='-sp /usr/lib/xserver/SecurityPolicy'" /tmp/build-xorg
Base defaults:
prefix=/usr
@@ -22,9 +24,9 @@ Base defaults:
Program + args defaults:
xvfb=\$root\$prefix/bin/Xvfb
- xvfbopts='-fp \$root\$prefix/\$libs/X11/fonts/misc/
- -sp \$root/etc/X11/xserver/SecurityPolicy
- -co \$root\$prefix/\$libs/X11/rgb'
+ xvfbopts='-fp \$root\$prefix/\$libs/X11/fonts/misc/,
+ \$root\$prefix/share/fonts/misc
+ -sp /dev/null'
xbiff=\$root\$prefix/bin/xbiff
mkcomposecache=\$root\$prefix/sbin/mkcomposecache
@@ -78,7 +80,7 @@ test "x$xvfb" = x && xvfb=$root$prefix/bin/Xvfb
test "x$xbiff" = x && xbiff=$root$prefix/bin/xbiff
test "x$mkcomposecache" = x && mkcomposecache=$root$prefix/sbin/mkcomposecache
test "x$cachedir" = x && cachedir=$root/var/cache/libx11/compose
-test "x$xvfbopts" = x && xvfbopts="-fp $root$prefix/$libs/X11/fonts/misc/ -sp $root/etc/X11/xserver/SecurityPolicy -co $root$prefix/$libs/X11/rgb"
+test "x$xvfbopts" = x && xvfbopts="-fp $root$prefix/$libs/X11/fonts/misc/,$root$prefix/share/fonts/misc -sp /dev/null"
test "x$user" = x && user=nobody
test "x`whoami`" = xroot || user=""
@@ -131,7 +133,7 @@ fi
echo "Starting Xvfb..."
$xvfb $xvfbopts :99 1>$tmpfile 2>&1 &
-trap "echo 1>&2 'Killing Xvfb...'; kill $! 2>/dev/null; rm -rf $tmpdir 2>/dev/null; rm -f $tmpfile 2>/dev/null; true" 0
+trap "echo 1>&2 'Killing Xvfb...'; kill $! 2>/dev/null; sleep 1; echo 1>&2 'Xvfb output:'; cat 1>&2 $tmpfile; rm -rf $tmpdir 2>/dev/null; rm -f $tmpfile 2>/dev/null; true" 0
DISPLAY=:99
LD_LIBRARY_PATH="$ldpath"
@@ -140,7 +142,7 @@ export DISPLAY LD_LIBRARY_PATH XLOCALEDIR
# Starting a single program so that x does not re-initialize for each mkcomposecache
sleep 5
-$xbiff 1>/dev/null 2>&1 &
+$xbiff 2>&1 &
echo ""
diff --git a/mkcomposecache.c b/mkcomposecache.c
index 7f29cfc..c65951c 100644
--- a/mkcomposecache.c
+++ b/mkcomposecache.c
@@ -18,6 +18,8 @@
* OTHER DEALINGS IN THE SOFTWARE.
*/
+#include "config.h"
+
#include <X11/Xlib.h>
#include <stdio.h>
#include <stdlib.h>
@@ -67,13 +69,19 @@ int main (int argc, char *argv[]) {
sprintf (dest, "XCOMPOSECACHE=%s=%s", argv[3], argv[4]);
putenv (src);
putenv (dest);
+#if HAVE_UNSETENV
+ unsetenv ("XMODIFIERS");
+#else
+ putenv ("XMODIFIERS");
+#endif
if (! (disp = XOpenDisplay (NULL)) ) {
perror ("* XOpenDisplay");
return 1;
}
XSetLocaleModifiers("");
- im = XOpenIM (disp, NULL, NULL, NULL);
+ if (! (im = XOpenIM (disp, NULL, NULL, NULL)) )
+ fputs ("* XOpenIM: no input method\n", stderr);
if (im)
XCloseIM (im);