NetBSD Problem Report #48863
From raizen@phoenix.lloedy.com Sun Jun 1 23:37:36 2014
Return-Path: <raizen@phoenix.lloedy.com>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
(using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
(Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK))
by mollari.NetBSD.org (Postfix) with ESMTPS id 97734A651D
for <gnats-bugs@gnats.NetBSD.org>; Sun, 1 Jun 2014 23:37:36 +0000 (UTC)
Message-Id: <20140601233108.7FEB13E271F@phoenix.lloedy.com>
Date: Mon, 2 Jun 2014 01:31:08 +0200 (CEST)
From: raizen@lloedy.com
Reply-To: raizen@lloedy.com
To: gnats-bugs@gnats.NetBSD.org
Subject: build.sh fails to build.
X-Send-Pr-Version: 3.95
>Number: 48863
>Category: xsrc
>Synopsis: build.sh fails to build
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: xsrc-manager
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Jun 01 23:40:01 +0000 2014
>Closed-Date: Sun Nov 09 08:46:12 +0000 2014
>Last-Modified: Sun Nov 09 08:46:12 +0000 2014
>Originator: Sandro Millien
>Release: NetBSD 6.0.1
>Organization:
>Environment:
System: NetBSD phoenix.lloedy.com 6.0.1 NetBSD 6.0.1 (GENERIC) #0: Fri Feb 15 13:59:02 CET 2013 netbsd@phoenix.lloedy.com:/usr/obj/sys/arch/amd64/compile/GENERIC amd64
Architecture: x86_64
Machine: amd64
>Description:
Build fails.
=$=> cat /etc/mk.conf
MKDEBUG= yes
MKDEBUGLIB= yes
MKTTINTERP= yes
NOCLEANDIR= yes
=$=> cd /usr/src && cvs update -r netbsd-6-1
=$=> cd /usr/xsrc && cvs update -r netbsd-6-1
=$=> Following is a log of the build process
===> build.sh command: ./build.sh -O /usr/obj -T /usr/tools -X /usr/xsrc -U -u -x -j2 tools
===> build.sh started: Mon Jun 2 00:10:35 CEST 2014
===> NetBSD version: 6.1.4_PATCH
===> MACHINE: amd64
===> MACHINE_ARCH: x86_64
===> Build platform: NetBSD 6.0.1 amd64
===> HOST_SH: /bin/sh
===> TOOLDIR path: /usr/tools
===> DESTDIR path: /usr/obj/destdir.amd64
===> RELEASEDIR path: /usr/obj/releasedir
===> Updated makewrapper: /usr/tools/bin/nbmake-amd64
--- obj-tools ---
obj ===> tools
--- obj-host-mkdep ---
obj ===> tools/host-mkdep
[ ... ]
--- /usr/tools/share/groff/site-tmac/mdoc.local ---
===> Tools built to /usr/tools
===> build.sh ended: Mon Jun 2 00:10:55 CEST 2014
===> Summary of results:
build.sh command: ./build.sh -O /usr/obj -T /usr/tools -X /usr/xsrc -U -u -x -j2 tools
build.sh started: Mon Jun 2 00:10:35 CEST 2014
NetBSD version: 6.1.4_PATCH
MACHINE: amd64
MACHINE_ARCH: x86_64
Build platform: NetBSD 6.0.1 amd64
HOST_SH: /bin/sh
TOOLDIR path: /usr/tools
DESTDIR path: /usr/obj/destdir.amd64
RELEASEDIR path: /usr/obj/releasedir
Updated makewrapper: /usr/tools/bin/nbmake-amd64
Tools built to /usr/tools
build.sh ended: Mon Jun 2 00:10:55 CEST 2014
===> .
===> build.sh command: ./build.sh -O /usr/obj -T /usr/tools -X /usr/xsrc -U -u -x -j2 kernel=GENERIC
===> build.sh started: Mon Jun 2 00:11:04 CEST 2014
===> NetBSD version: 6.1.4_PATCH
===> MACHINE: amd64
===> MACHINE_ARCH: x86_64
===> Build platform: NetBSD 6.0.1 amd64
===> HOST_SH: /bin/sh
===> TOOLDIR path: /usr/tools
===> DESTDIR path: /usr/obj/destdir.amd64
===> RELEASEDIR path: /usr/obj/releasedir
===> Updated makewrapper: /usr/tools/bin/nbmake-amd64
===> Building kernel without building new tools
--- obj ---
===> Building kernel: GENERIC
===> Build directory: /usr/obj/sys/arch/amd64/compile/GENERIC
Build directory is /usr/obj/sys/arch/amd64/compile/GENERIC
Don't forget to run "make depend"
--- __always_make_kernlib ---
--- __always_make_compatlib ---
--- dependkernlib ---
--- dependcompatlib ---
[ ... ]
===> Kernels built from GENERIC:
/usr/obj/sys/arch/amd64/compile/GENERIC/netbsd
===> build.sh ended: Mon Jun 2 00:11:06 CEST 2014
===> Summary of results:
build.sh command: ./build.sh -O /usr/obj -T /usr/tools -X /usr/xsrc -U -u -x -j2 kernel=GENERIC
build.sh started: Mon Jun 2 00:11:04 CEST 2014
NetBSD version: 6.1.4_PATCH
MACHINE: amd64
MACHINE_ARCH: x86_64
Build platform: NetBSD 6.0.1 amd64
HOST_SH: /bin/sh
TOOLDIR path: /usr/tools
DESTDIR path: /usr/obj/destdir.amd64
RELEASEDIR path: /usr/obj/releasedir
Updated makewrapper: /usr/tools/bin/nbmake-amd64
Building kernel without building new tools
Building kernel: GENERIC
Build directory: /usr/obj/sys/arch/amd64/compile/GENERIC
Kernels built from GENERIC:
/usr/obj/sys/arch/amd64/compile/GENERIC/netbsd
build.sh ended: Mon Jun 2 00:11:06 CEST 2014
===> .
===> build.sh command: ./build.sh -O /usr/obj -T /usr/tools -X /usr/xsrc -U -u -x -j2 distribution
===> build.sh started: Mon Jun 2 00:11:15 CEST 2014
===> NetBSD version: 6.1.4_PATCH
===> MACHINE: amd64
===> MACHINE_ARCH: x86_64
===> Build platform: NetBSD 6.0.1 amd64
===> HOST_SH: /bin/sh
===> TOOLDIR path: /usr/tools
===> DESTDIR path: /usr/obj/destdir.amd64
===> RELEASEDIR path: /usr/obj/releasedir
===> Updated makewrapper: /usr/tools/bin/nbmake-amd64
--- distribution ---
build ===> . (with: NOPOSTINSTALL=1)
--- build ---
Build started at: Mon Jun 2 00:11:15 CEST 2014
check-tools ===> .
do-top-obj ===> .
--- do-top-obj ---
obj ===> . (with: NOSUBDIR=)
--- obj ---
do-tools-obj ===> .
[ ... ]
dependall ===> external/mit/xorg/lib/libxkbfile
--- dependall ---
--- dependall-libXt ---
--- ResConfig.go ---
--- ResConfig.po ---
--- ResConfig.go ---
# compile libXt/ResConfig.go
/usr/tools/bin/x86_64--netbsd-gcc -O2 -std=gnu99 -Werror -fno-strict-aliasing --sysroot=/usr/obj/destdir.amd64 -I/usr/obj/destdir.amd64/usr/X11R7/include/X11 -DUSE_POLL -DUSE_SNPRINTF -DLIBXT -I. -DCSRG_BASED -DFUNCPROTO=15 -DNARROWPROTO -I/usr/obj/destdir.amd64/usr/X11R7/include -D__AMD64__ -c -DDEBUG -g /usr/xsrc/external/mit/libXt/dist/src/ResConfig.c -o ResConfig.go
/usr/xsrc/external/mit/libXt/dist/src/ResConfig.c: In function '_XtResourceConfigurationEH':
/usr/xsrc/external/mit/libXt/dist/src/ResConfig.c:992:7: error: expected ')' before 'resource_len'
*** [ResConfig.go] Error code 1
nbmake: stopped in /usr/src/external/mit/xorg/lib/libXt
--- ResConfig.po ---
# compile libXt/ResConfig.po
/usr/tools/bin/x86_64--netbsd-gcc -O2 -std=gnu99 -Werror -fno-strict-aliasing --sysroot=/usr/obj/destdir.amd64 -I/usr/obj/destdir.amd64/usr/X11R7/include/X11 -DUSE_POLL -DUSE_SNPRINTF -DLIBXT -I. -DCSRG_BASED -DFUNCPROTO=15 -DNARROWPROTO -I/usr/obj/destdir.amd64/usr/X11R7/include -D__AMD64__ -c -DGPROF -DPROF -pg /usr/xsrc/external/mit/libXt/dist/src/ResConfig.c -o ResConfig.po
/usr/tools/bin/x86_64--netbsd-objcopy -X ResConfig.po
1 error
nbmake: stopped in /usr/src/external/mit/xorg/lib/libXt
*** [dependall] Error code 2
nbmake: stopped in /usr/src/external/mit/xorg/lib/libXt
1 error
nbmake: stopped in /usr/src/external/mit/xorg/lib/libXt
*** [dependall-libXt] Error code 2
nbmake: stopped in /usr/src/external/mit/xorg/lib
1 error
nbmake: stopped in /usr/src/external/mit/xorg/lib
*** [do-lib] Error code 2
nbmake: stopped in /usr/src/external/mit/xorg
1 error
nbmake: stopped in /usr/src/external/mit/xorg
*** [build] Error code 2
nbmake: stopped in /usr/src/external/mit/xorg
1 error
nbmake: stopped in /usr/src/external/mit/xorg
*** [do-x11] Error code 2
nbmake: stopped in /usr/src
1 error
nbmake: stopped in /usr/src
*** [build] Error code 2
nbmake: stopped in /usr/src
1 error
nbmake: stopped in /usr/src
*** [distribution] Error code 2
nbmake: stopped in /usr/src
nbmake: stopped in /usr/src
>How-To-Repeat:
cat /etc/mk.conf
cd /usr/src
./build.sh -O /usr/obj -T /usr/tools -X /usr/xsrc -U -u -x distribution
>Fix:
Index: ResConfig.c
===================================================================
RCS file: /cvsroot/xsrc/external/mit/libXt/dist/src/ResConfig.c,v
retrieving revision 1.1.1.4.6.1
diff -r1.1.1.4.6.1 ResConfig.c
991c991
< fprintf (stderr, "resource_len=%d\n"
---
> fprintf (stderr, "resource_len=%d\n",
>Release-Note:
>Audit-Trail:
From: David Holland <dholland-bugs@netbsd.org>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: xsrc/48863: build.sh fails to build.
Date: Mon, 2 Jun 2014 14:47:09 +0000
On Sun, Jun 01, 2014 at 11:40:01PM +0000, raizen@lloedy.com wrote:
> MKDEBUG= yes
> [...]
> /usr/xsrc/external/mit/libXt/dist/src/ResConfig.c: In function '_XtResourceConfigurationEH':
> /usr/xsrc/external/mit/libXt/dist/src/ResConfig.c:992:7: error: expected ')' before 'resource_len'
Inspecting the history I think this will be fixed by cvs updating
(even on the netbsd-6-0 branch) - it looks like you can safely cvs
update just this file.
--
David A. Holland
dholland@netbsd.org
State-Changed-From-To: open->feedback
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Sat, 21 Jun 2014 07:13:31 +0000
State-Changed-Why:
please cvs update the broken file and try again
From: Sandro Millien <raizen@lloedy.com>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: xsrc/48863 (build.sh fails to build)
Date: Sat, 21 Jun 2014 20:06:54 +0200
On Sat, Jun 21, 2014 at 07:13:31AM +0000, dholland@NetBSD.org wrote:
> Synopsis: build.sh fails to build
>
> State-Changed-From-To: open->feedback
> State-Changed-By: dholland@NetBSD.org
> State-Changed-When: Sat, 21 Jun 2014 07:13:31 +0000
> State-Changed-Why:
> please cvs update the broken file and try again
>
>
>
I tried the build for the latest patch level of NetBSD 6.1 .
The build failed.
Following is the log of the operations tried.
I am currently trying for the latest pactch level of NetBSD 6.0 .
I will give feedback of the result.
# cat /etc/mk.conf
MKDEBUG= yes
MKDEBUGLIB= yes
MKTTINTERP= yes
NOCLEANDIR= yes
# cat /usr/src/CVS/Tag
Tnetbsd-6-1
# cat /usr/xsrc/CVS/Tag
Tnetbsd-6-1
# cd /usr/src && cvs update -dP
# cd /usr/xsrc && cvs update -dP
# cd /usr/src && ./build.sh -O /usr/obj -T /usr/tools -X /usr/xsrc -U -u -x -j2 release
===> build.sh command: ./build.sh -O /usr/obj -T /usr/tools -X /usr/xsrc -U -u -x -j2 tools
===> build.sh started: Sat Jun 21 18:31:21 CEST 2014
===> NetBSD version: 6.1.4_PATCH
===> MACHINE: amd64
===> MACHINE_ARCH: x86_64
===> Build platform: NetBSD 6.1.4_PATCH amd64
===> HOST_SH: /bin/sh
===> TOOLDIR path: /usr/tools
===> DESTDIR path: /usr/obj/destdir.amd64
===> RELEASEDIR path: /usr/obj/releasedir
===> Updated makewrapper: /usr/tools/bin/nbmake-amd64
--- obj-tools ---
obj ===> tools
--- obj-host-mkdep ---
obj ===> tools/host-mkdep
--- obj ---
--- obj-compat ---
[...]
--- install.grofflinks ---
--- /usr/tools/share/groff/tmac/doc2html.tmac ---
--- /usr/tools/share/groff/site-tmac/man.local ---
--- /usr/tools/share/groff/site-tmac/mdoc.local ---
===> Tools built to /usr/tools
===> build.sh ended: Sat Jun 21 18:32:11 CEST 2014
===> Summary of results:
build.sh command: ./build.sh -O /usr/obj -T /usr/tools -X /usr/xsrc -U -u -x -j2 tools
build.sh started: Sat Jun 21 18:31:21 CEST 2014
NetBSD version: 6.1.4_PATCH
MACHINE: amd64
MACHINE_ARCH: x86_64
Build platform: NetBSD 6.1.4_PATCH amd64
HOST_SH: /bin/sh
TOOLDIR path: /usr/tools
DESTDIR path: /usr/obj/destdir.amd64
RELEASEDIR path: /usr/obj/releasedir
Updated makewrapper: /usr/tools/bin/nbmake-amd64
Tools built to /usr/tools
build.sh ended: Sat Jun 21 18:32:11 CEST 2014
===> .
===> build.sh command: ./build.sh -O /usr/obj -T /usr/tools -X /usr/xsrc -U -u -x -j2 kernel=GENERIC
===> build.sh started: Sat Jun 21 18:32:20 CEST 2014
===> NetBSD version: 6.1.4_PATCH
===> MACHINE: amd64
===> MACHINE_ARCH: x86_64
===> Build platform: NetBSD 6.1.4_PATCH amd64
===> HOST_SH: /bin/sh
===> TOOLDIR path: /usr/tools
===> DESTDIR path: /usr/obj/destdir.amd64
===> RELEASEDIR path: /usr/obj/releasedir
===> Updated makewrapper: /usr/tools/bin/nbmake-amd64
===> Building kernel without building new tools
--- obj ---
===> Building kernel: GENERIC
===> Build directory: /usr/obj/sys/arch/amd64/compile/GENERIC
Build directory is /usr/obj/sys/arch/amd64/compile/GENERIC
Don't forget to run "make depend"
--- __always_make_kernlib ---
--- __always_make_compatlib ---
--- dependcompatlib ---
[...]
===> Kernels built from GENERIC:
/usr/obj/sys/arch/amd64/compile/GENERIC/netbsd
===> build.sh ended: Sat Jun 21 18:32:24 CEST 2014
===> Summary of results:
build.sh command: ./build.sh -O /usr/obj -T /usr/tools -X /usr/xsrc -U -u -x -j2 kernel=GENERIC
build.sh started: Sat Jun 21 18:32:20 CEST 2014
NetBSD version: 6.1.4_PATCH
MACHINE: amd64
MACHINE_ARCH: x86_64
Build platform: NetBSD 6.1.4_PATCH amd64
HOST_SH: /bin/sh
TOOLDIR path: /usr/tools
DESTDIR path: /usr/obj/destdir.amd64
RELEASEDIR path: /usr/obj/releasedir
Updated makewrapper: /usr/tools/bin/nbmake-amd64
Building kernel without building new tools
Building kernel: GENERIC
Build directory: /usr/obj/sys/arch/amd64/compile/GENERIC
Kernels built from GENERIC:
/usr/obj/sys/arch/amd64/compile/GENERIC/netbsd
build.sh ended: Sat Jun 21 18:32:24 CEST 2014
===> .
===> build.sh command: ./build.sh -O /usr/obj -T /usr/tools -X /usr/xsrc -U -u -x -j2 release
===> build.sh started: Sat Jun 21 18:32:33 CEST 2014
===> NetBSD version: 6.1.4_PATCH
===> MACHINE: amd64
===> MACHINE_ARCH: x86_64
===> Build platform: NetBSD 6.1.4_PATCH amd64
===> HOST_SH: /bin/sh
===> TOOLDIR path: /usr/tools
===> DESTDIR path: /usr/obj/destdir.amd64
===> RELEASEDIR path: /usr/obj/releasedir
===> Updated makewrapper: /usr/tools/bin/nbmake-amd64
--- release ---
distribution ===> .
--- distribution ---
build ===> . (with: NOPOSTINSTALL=1)
--- build ---
Build started at: Sat Jun 21 18:32:33 CEST 2014
check-tools ===> .
[...]
dependall ===> external/mit/xorg/lib/libxkbfile
--- dependall ---
--- dependall-libXt ---
--- dependall ---
--- ResConfig.go ---
--- ResConfig.pico ---
--- ResConfig.go ---
# compile libXt/ResConfig.go
/usr/tools/bin/x86_64--netbsd-gcc -O2 -std=gnu99 -Werror -fno-strict-aliasing --sysroot=/usr/obj/destdir.amd64 -I/usr/obj/destdir.amd64/usr/X11R7/include/X11 -DUSE_POLL -DUSE_SNPRINTF -DLIBXT -I. -DCSRG_BASED -DFUNCPROTO=15 -DNARROWPROTO -I/usr/obj/destdir.amd64/usr/X11R7/include -D__AMD64__ -c -DDEBUG -g /usr/xsrc/external/mit/libXt/dist/src/ResConfig.c -o ResConfig.go
--- ResConfig.pico ---
# compile libXt/ResConfig.pico
/usr/tools/bin/x86_64--netbsd-gcc -O2 -std=gnu99 -Werror -fno-strict-aliasing --sysroot=/usr/obj/destdir.amd64 -I/usr/obj/destdir.amd64/usr/X11R7/include/X11 -DUSE_POLL -DUSE_SNPRINTF -DLIBXT -I. -DCSRG_BASED -DFUNCPROTO=15 -DNARROWPROTO -I/usr/obj/destdir.amd64/usr/X11R7/include -D__AMD64__ -c -fPIC -DPIC /usr/xsrc/external/mit/libXt/dist/src/ResConfig.c -o ResConfig.pico
/usr/tools/bin/x86_64--netbsd-objcopy -x ResConfig.pico
--- ResConfig.po ---
# compile libXt/ResConfig.po
/usr/tools/bin/x86_64--netbsd-gcc -O2 -std=gnu99 -Werror -fno-strict-aliasing --sysroot=/usr/obj/destdir.amd64 -I/usr/obj/destdir.amd64/usr/X11R7/include/X11 -DUSE_POLL -DUSE_SNPRINTF -DLIBXT -I. -DCSRG_BASED -DFUNCPROTO=15 -DNARROWPROTO -I/usr/obj/destdir.amd64/usr/X11R7/include -D__AMD64__ -c -DGPROF -DPROF -pg /usr/xsrc/external/mit/libXt/dist/src/ResConfig.c -o ResConfig.po
--- ResConfig.go ---
/usr/xsrc/external/mit/libXt/dist/src/ResConfig.c: In function '_XtResourceConfigurationEH':
/usr/xsrc/external/mit/libXt/dist/src/ResConfig.c:992:7: error: expected ')' before 'resource_len'
*** [ResConfig.go] Error code 1
nbmake: stopped in /usr/src/external/mit/xorg/lib/libXt
--- ResConfig.po ---
/usr/tools/bin/x86_64--netbsd-objcopy -X ResConfig.po
1 error
nbmake: stopped in /usr/src/external/mit/xorg/lib/libXt
*** [dependall] Error code 2
nbmake: stopped in /usr/src/external/mit/xorg/lib/libXt
1 error
nbmake: stopped in /usr/src/external/mit/xorg/lib/libXt
*** [dependall-libXt] Error code 2
nbmake: stopped in /usr/src/external/mit/xorg/lib
1 error
nbmake: stopped in /usr/src/external/mit/xorg/lib
*** [do-lib] Error code 2
nbmake: stopped in /usr/src/external/mit/xorg
1 error
nbmake: stopped in /usr/src/external/mit/xorg
*** [build] Error code 2
nbmake: stopped in /usr/src/external/mit/xorg
1 error
nbmake: stopped in /usr/src/external/mit/xorg
*** [do-x11] Error code 2
nbmake: stopped in /usr/src
1 error
nbmake: stopped in /usr/src
*** [build] Error code 2
nbmake: stopped in /usr/src
1 error
nbmake: stopped in /usr/src
*** [distribution] Error code 2
nbmake: stopped in /usr/src
1 error
nbmake: stopped in /usr/src
*** [release] Error code 2
nbmake: stopped in /usr/src
nbmake: stopped in /usr/src
From: Sandro Millien <raizen@lloedy.com>
To: gnats-bugs@gnats.netbsd.org
Cc:
Subject: Re: xsrc/48863 build.sh fails to build
Date: Tue, 28 Oct 2014 18:04:17 +0100
--MP_/yFbxg3xeNU4dqJCfItsZOyy
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
The bug still exists.
I attempted an upgrade from NetBSD 6.1.4 to NetBSD 6.1.5 and
I could witness the bug.
Attached is the log of the build attempt.
--MP_/yFbxg3xeNU4dqJCfItsZOyy
Content-Type: application/octet-stream; name=build.log.report
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=build.log.report
PT09PiBidWlsZC5zaCBjb21tYW5kOiAgICAuL2J1aWxkLnNoIC1PIC91c3Ivb2JqIC1UIC91c3Iv
dG9vbHMgLVggL3Vzci94c3JjIC1VIC11IC14IC1qMiB0b29scwo9PT0+IGJ1aWxkLnNoIHN0YXJ0
ZWQ6ICAgIFR1ZSBPY3QgMjggMDk6NTg6MzAgQ0VUIDIwMTQKPT09PiBOZXRCU0QgdmVyc2lvbjog
ICAgICA2LjEuNV9QQVRDSAo9PT0+IE1BQ0hJTkU6ICAgICAgICAgICAgIGFtZDY0Cj09PT4gTUFD
SElORV9BUkNIOiAgICAgICAgeDg2XzY0Cj09PT4gQnVpbGQgcGxhdGZvcm06ICAgICAgTmV0QlNE
IDYuMS40X1BBVENIIGFtZDY0Cj09PT4gSE9TVF9TSDogICAgICAgICAgICAgL2Jpbi9zaAo9PT0+
IFRPT0xESVIgcGF0aDogICAgICAgIC91c3IvdG9vbHMKPT09PiBERVNURElSIHBhdGg6ICAgICAg
ICAvdXNyL29iai9kZXN0ZGlyLmFtZDY0Cj09PT4gUkVMRUFTRURJUiBwYXRoOiAgICAgL3Vzci9v
YmovcmVsZWFzZWRpcgo9PT0+IFVwZGF0ZWQgbWFrZXdyYXBwZXI6IC91c3IvdG9vbHMvYmluL25i
bWFrZS1hbWQ2NAotLS0gb2JqLXRvb2xzIC0tLQpvYmogPT09PiB0b29scwotLS0gb2JqLWhvc3Qt
bWtkZXAgLS0tCm9iaiA9PT0+IHRvb2xzL2hvc3QtbWtkZXAKLS0tIG9iaiAtLS0KLS0tIG9iai1j
b21wYXQgLS0tCm9iaiA9PT0+IHRvb2xzL2NvbXBhdAoKWy4uLl0KCi91c3IvdG9vbHMvYmluL25i
c2VkIC1mIC91c3Ivc3JjL3Rvb2xzL2dyb2ZmLy4uLy4uL2dudS9kaXN0L2dyb2ZmL3RtYWMvc3Ry
aXAuc2VkICAvdXNyL3NyYy90b29scy9ncm9mZi8uLi8uLi9nbnUvdXNyLmJpbi9ncm9mZi90bWFj
L21kb2MubG9jYWwgPiBtZG9jLmxvY2FsLXMKLS0tIC91c3IvdG9vbHMvc2hhcmUvZ3JvZmYvc2l0
ZS10bWFjL21hbi5sb2NhbCAtLS0KLS0tIC91c3IvdG9vbHMvc2hhcmUvZ3JvZmYvc2l0ZS10bWFj
L21kb2MubG9jYWwgLS0tCj09PT4gVG9vbHMgYnVpbHQgdG8gL3Vzci90b29scwo9PT0+IGJ1aWxk
LnNoIGVuZGVkOiAgICAgIFR1ZSBPY3QgMjggMTA6MDU6MDQgQ0VUIDIwMTQKPT09PiBTdW1tYXJ5
IG9mIHJlc3VsdHM6CgkgYnVpbGQuc2ggY29tbWFuZDogICAgLi9idWlsZC5zaCAtTyAvdXNyL29i
aiAtVCAvdXNyL3Rvb2xzIC1YIC91c3IveHNyYyAtVSAtdSAteCAtajIgdG9vbHMKCSBidWlsZC5z
aCBzdGFydGVkOiAgICBUdWUgT2N0IDI4IDA5OjU4OjMwIENFVCAyMDE0CgkgTmV0QlNEIHZlcnNp
b246ICAgICAgNi4xLjVfUEFUQ0gKCSBNQUNISU5FOiAgICAgICAgICAgICBhbWQ2NAoJIE1BQ0hJ
TkVfQVJDSDogICAgICAgIHg4Nl82NAoJIEJ1aWxkIHBsYXRmb3JtOiAgICAgIE5ldEJTRCA2LjEu
NF9QQVRDSCBhbWQ2NAoJIEhPU1RfU0g6ICAgICAgICAgICAgIC9iaW4vc2gKCSBUT09MRElSIHBh
dGg6ICAgICAgICAvdXNyL3Rvb2xzCgkgREVTVERJUiBwYXRoOiAgICAgICAgL3Vzci9vYmovZGVz
dGRpci5hbWQ2NAoJIFJFTEVBU0VESVIgcGF0aDogICAgIC91c3Ivb2JqL3JlbGVhc2VkaXIKCSBV
cGRhdGVkIG1ha2V3cmFwcGVyOiAvdXNyL3Rvb2xzL2Jpbi9uYm1ha2UtYW1kNjQKCSBUb29scyBi
dWlsdCB0byAvdXNyL3Rvb2xzCgkgYnVpbGQuc2ggZW5kZWQ6ICAgICAgVHVlIE9jdCAyOCAxMDow
NTowNCBDRVQgMjAxNAo9PT0+IC4KPT09PiBidWlsZC5zaCBjb21tYW5kOiAgICAuL2J1aWxkLnNo
IC1PIC91c3Ivb2JqIC1UIC91c3IvdG9vbHMgLVggL3Vzci94c3JjIC1VIC11IC14IC1qMiBrZXJu
ZWw9R0VORVJJQwo9PT0+IGJ1aWxkLnNoIHN0YXJ0ZWQ6ICAgIFR1ZSBPY3QgMjggMTA6MDU6MTMg
Q0VUIDIwMTQKPT09PiBOZXRCU0QgdmVyc2lvbjogICAgICA2LjEuNV9QQVRDSAo9PT0+IE1BQ0hJ
TkU6ICAgICAgICAgICAgIGFtZDY0Cj09PT4gTUFDSElORV9BUkNIOiAgICAgICAgeDg2XzY0Cj09
PT4gQnVpbGQgcGxhdGZvcm06ICAgICAgTmV0QlNEIDYuMS40X1BBVENIIGFtZDY0Cj09PT4gSE9T
VF9TSDogICAgICAgICAgICAgL2Jpbi9zaAo9PT0+IFRPT0xESVIgcGF0aDogICAgICAgIC91c3Iv
dG9vbHMKPT09PiBERVNURElSIHBhdGg6ICAgICAgICAvdXNyL29iai9kZXN0ZGlyLmFtZDY0Cj09
PT4gUkVMRUFTRURJUiBwYXRoOiAgICAgL3Vzci9vYmovcmVsZWFzZWRpcgo9PT0+IFVwZGF0ZWQg
bWFrZXdyYXBwZXI6IC91c3IvdG9vbHMvYmluL25ibWFrZS1hbWQ2NAo9PT0+IEJ1aWxkaW5nIGtl
cm5lbCB3aXRob3V0IGJ1aWxkaW5nIG5ldyB0b29scwotLS0gb2JqIC0tLQo9PT0+IEJ1aWxkaW5n
IGtlcm5lbDogICAgIEdFTkVSSUMKPT09PiBCdWlsZCBkaXJlY3Rvcnk6ICAgICAvdXNyL29iai9z
eXMvYXJjaC9hbWQ2NC9jb21waWxlL0dFTkVSSUMKQnVpbGQgZGlyZWN0b3J5IGlzIC91c3Ivb2Jq
L3N5cy9hcmNoL2FtZDY0L2NvbXBpbGUvR0VORVJJQwpEb24ndCBmb3JnZXQgdG8gcnVuICJtYWtl
IGRlcGVuZCIKLS0tIF9fYWx3YXlzX21ha2Vfa2VybmxpYiAtLS0KLS0tIF9fYWx3YXlzX21ha2Vf
Y29tcGF0bGliIC0tLQotLS0gZGVwZW5kY29tcGF0bGliIC0tLQotLS0gZGVwZW5ka2VybmxpYiAt
LS0KClsuLi5dCgoKLS0tIC91c3Ivb2JqL3N5cy9hcmNoL2FtZDY0L2NvbXBpbGUvR0VORVJJQy9s
aWIva2Vybi9saWJrZXJuLm8gLS0tCmBsaWJrZXJuLm8nIGlzIHVwIHRvIGRhdGUuCj09PT4gS2Vy
bmVscyBidWlsdCBmcm9tIEdFTkVSSUM6CiAgL3Vzci9vYmovc3lzL2FyY2gvYW1kNjQvY29tcGls
ZS9HRU5FUklDL25ldGJzZAo9PT0+IGJ1aWxkLnNoIGVuZGVkOiAgICAgIFR1ZSBPY3QgMjggMTA6
MDU6MTYgQ0VUIDIwMTQKPT09PiBTdW1tYXJ5IG9mIHJlc3VsdHM6CgkgYnVpbGQuc2ggY29tbWFu
ZDogICAgLi9idWlsZC5zaCAtTyAvdXNyL29iaiAtVCAvdXNyL3Rvb2xzIC1YIC91c3IveHNyYyAt
VSAtdSAteCAtajIga2VybmVsPUdFTkVSSUMKCSBidWlsZC5zaCBzdGFydGVkOiAgICBUdWUgT2N0
IDI4IDEwOjA1OjEzIENFVCAyMDE0CgkgTmV0QlNEIHZlcnNpb246ICAgICAgNi4xLjVfUEFUQ0gK
CSBNQUNISU5FOiAgICAgICAgICAgICBhbWQ2NAoJIE1BQ0hJTkVfQVJDSDogICAgICAgIHg4Nl82
NAoJIEJ1aWxkIHBsYXRmb3JtOiAgICAgIE5ldEJTRCA2LjEuNF9QQVRDSCBhbWQ2NAoJIEhPU1Rf
U0g6ICAgICAgICAgICAgIC9iaW4vc2gKCSBUT09MRElSIHBhdGg6ICAgICAgICAvdXNyL3Rvb2xz
CgkgREVTVERJUiBwYXRoOiAgICAgICAgL3Vzci9vYmovZGVzdGRpci5hbWQ2NAoJIFJFTEVBU0VE
SVIgcGF0aDogICAgIC91c3Ivb2JqL3JlbGVhc2VkaXIKCSBVcGRhdGVkIG1ha2V3cmFwcGVyOiAv
dXNyL3Rvb2xzL2Jpbi9uYm1ha2UtYW1kNjQKCSBCdWlsZGluZyBrZXJuZWwgd2l0aG91dCBidWls
ZGluZyBuZXcgdG9vbHMKCSBCdWlsZGluZyBrZXJuZWw6ICAgICBHRU5FUklDCgkgQnVpbGQgZGly
ZWN0b3J5OiAgICAgL3Vzci9vYmovc3lzL2FyY2gvYW1kNjQvY29tcGlsZS9HRU5FUklDCgkgS2Vy
bmVscyBidWlsdCBmcm9tIEdFTkVSSUM6CgkgIC91c3Ivb2JqL3N5cy9hcmNoL2FtZDY0L2NvbXBp
bGUvR0VORVJJQy9uZXRic2QKCSBidWlsZC5zaCBlbmRlZDogICAgICBUdWUgT2N0IDI4IDEwOjA1
OjE2IENFVCAyMDE0Cj09PT4gLgo9PT0+IGJ1aWxkLnNoIGNvbW1hbmQ6ICAgIC4vYnVpbGQuc2gg
LU8gL3Vzci9vYmogLVQgL3Vzci90b29scyAtWCAvdXNyL3hzcmMgLVUgLXUgLXggLWoyIHJlbGVh
c2UKPT09PiBidWlsZC5zaCBzdGFydGVkOiAgICBUdWUgT2N0IDI4IDEwOjA1OjI1IENFVCAyMDE0
Cj09PT4gTmV0QlNEIHZlcnNpb246ICAgICAgNi4xLjVfUEFUQ0gKPT09PiBNQUNISU5FOiAgICAg
ICAgICAgICBhbWQ2NAo9PT0+IE1BQ0hJTkVfQVJDSDogICAgICAgIHg4Nl82NAo9PT0+IEJ1aWxk
IHBsYXRmb3JtOiAgICAgIE5ldEJTRCA2LjEuNF9QQVRDSCBhbWQ2NAo9PT0+IEhPU1RfU0g6ICAg
ICAgICAgICAgIC9iaW4vc2gKPT09PiBUT09MRElSIHBhdGg6ICAgICAgICAvdXNyL3Rvb2xzCj09
PT4gREVTVERJUiBwYXRoOiAgICAgICAgL3Vzci9vYmovZGVzdGRpci5hbWQ2NAo9PT0+IFJFTEVB
U0VESVIgcGF0aDogICAgIC91c3Ivb2JqL3JlbGVhc2VkaXIKPT09PiBVcGRhdGVkIG1ha2V3cmFw
cGVyOiAvdXNyL3Rvb2xzL2Jpbi9uYm1ha2UtYW1kNjQKLS0tIHJlbGVhc2UgLS0tCmRpc3RyaWJ1
dGlvbiA9PT0+IC4KLS0tIGRpc3RyaWJ1dGlvbiAtLS0KYnVpbGQgPT09PiAuCSh3aXRoOiBOT1BP
U1RJTlNUQUxMPTEpCi0tLSBidWlsZCAtLS0KQnVpbGQgc3RhcnRlZCBhdDogVHVlIE9jdCAyOCAx
MDowNToyNSBDRVQgMjAxNApjaGVjay10b29scyA9PT0+IC4KZG8tdG9wLW9iaiA9PT0+IC4KLS0t
IGRvLXRvcC1vYmogLS0tCm9iaiA9PT0+IC4JKHdpdGg6IE5PU1VCRElSPSkKLS0tIG9iaiAtLS0K
ClsuLi5dCgpsbiAtc2YgbGlieGtiZmlsZS5zby4yLjAgbGlieGtiZmlsZS5zby50bXAKbXYgLWYg
bGlieGtiZmlsZS5zby50bXAgbGlieGtiZmlsZS5zbwotLS0gbGlieGtiZmlsZS5zby4yLjAuZGVi
dWcgLS0tCiMgICAgY3JlYXRlICBsaWJ4a2JmaWxlL2xpYnhrYmZpbGUuc28uMi4wLmRlYnVnCigg
IC91c3IvdG9vbHMvYmluL3g4Nl82NC0tbmV0YnNkLW9iamNvcHkgLS1vbmx5LWtlZXAtZGVidWcg
bGlieGtiZmlsZS5zby4yLjAgbGlieGtiZmlsZS5zby4yLjAuZGVidWcgICYmIC91c3IvdG9vbHMv
YmluL3g4Nl82NC0tbmV0YnNkLW9iamNvcHkgLS1zdHJpcC1kZWJ1ZyAtcCAtUiAuZ251X2RlYnVn
bGluayAgLS1hZGQtZ251LWRlYnVnbGluaz1saWJ4a2JmaWxlLnNvLjIuMC5kZWJ1ZyBsaWJ4a2Jm
aWxlLnNvLjIuMCAgKSB8fCAocm0gLWYgbGlieGtiZmlsZS5zby4yLjAuZGVidWc7IGZhbHNlKQot
LS0gZGVwZW5kYWxsLWxpYlh0IC0tLQotLS0gUmVzQ29uZmlnLmdvIC0tLQotLS0gUmVzQ29uZmln
Lm8gLS0tCi0tLSBSZXNDb25maWcuZ28gLS0tCiMgICBjb21waWxlICBsaWJYdC9SZXNDb25maWcu
Z28KL3Vzci90b29scy9iaW4veDg2XzY0LS1uZXRic2QtZ2NjIC1PMiAtc3RkPWdudTk5IC1XZXJy
b3IgICAtZm5vLXN0cmljdC1hbGlhc2luZyAgLS1zeXNyb290PS91c3Ivb2JqL2Rlc3RkaXIuYW1k
NjQgIC1JL3Vzci9vYmovZGVzdGRpci5hbWQ2NC91c3IvWDExUjcvaW5jbHVkZS9YMTEgLURVU0Vf
UE9MTCAtRFVTRV9TTlBSSU5URiAtRExJQlhUIC1JLiAgLURDU1JHX0JBU0VEIC1ERlVOQ1BST1RP
PTE1IC1ETkFSUk9XUFJPVE8gLUkvdXNyL29iai9kZXN0ZGlyLmFtZDY0L3Vzci9YMTFSNy9pbmNs
dWRlIC1EX19BTUQ2NF9fIC1jIC1EREVCVUcgICAgLWcgL3Vzci94c3JjL2V4dGVybmFsL21pdC9s
aWJYdC9kaXN0L3NyYy9SZXNDb25maWcuYyAtbyBSZXNDb25maWcuZ28KLS0tIFJlc0NvbmZpZy5v
IC0tLQojICAgY29tcGlsZSAgbGliWHQvUmVzQ29uZmlnLm8KL3Vzci90b29scy9iaW4veDg2XzY0
LS1uZXRic2QtZ2NjIC1PMiAtc3RkPWdudTk5IC1XZXJyb3IgICAtZm5vLXN0cmljdC1hbGlhc2lu
ZyAgLS1zeXNyb290PS91c3Ivb2JqL2Rlc3RkaXIuYW1kNjQgIC1JL3Vzci9vYmovZGVzdGRpci5h
bWQ2NC91c3IvWDExUjcvaW5jbHVkZS9YMTEgLURVU0VfUE9MTCAtRFVTRV9TTlBSSU5URiAtRExJ
QlhUIC1JLiAgLURDU1JHX0JBU0VEIC1ERlVOQ1BST1RPPTE1IC1ETkFSUk9XUFJPVE8gLUkvdXNy
L29iai9kZXN0ZGlyLmFtZDY0L3Vzci9YMTFSNy9pbmNsdWRlIC1EX19BTUQ2NF9fIC1jICAgIC91
c3IveHNyYy9leHRlcm5hbC9taXQvbGliWHQvZGlzdC9zcmMvUmVzQ29uZmlnLmMgLW8gUmVzQ29u
ZmlnLm8KLS0tIFJlc0NvbmZpZy5nbyAtLS0KL3Vzci94c3JjL2V4dGVybmFsL21pdC9saWJYdC9k
aXN0L3NyYy9SZXNDb25maWcuYzogSW4gZnVuY3Rpb24gJ19YdFJlc291cmNlQ29uZmlndXJhdGlv
bkVIJzoKLS0tIFJlc0NvbmZpZy5vIC0tLQovdXNyL3Rvb2xzL2Jpbi94ODZfNjQtLW5ldGJzZC1v
Ympjb3B5IC14IFJlc0NvbmZpZy5vCi0tLSBSZXNDb25maWcuZ28gLS0tCi91c3IveHNyYy9leHRl
cm5hbC9taXQvbGliWHQvZGlzdC9zcmMvUmVzQ29uZmlnLmM6OTkyOjc6IGVycm9yOiBleHBlY3Rl
ZCAnKScgYmVmb3JlICdyZXNvdXJjZV9sZW4nCi0tLSBsbGliLWxYdC5sbiAtLS0KIyAgIGNvbXBp
bGUgIGxpYlh0L2xsaWItbFh0LmxuCnJtIC1mIGxsaWItbFh0LmxuCkNDPS91c3IvdG9vbHMvYmlu
L3g4Nl82NC0tbmV0YnNkLWdjYyAvdXNyL3Rvb2xzL2Jpbi94ODZfNjQtLW5ldGJzZC1saW50IC1D
WHQgQWN0aW9uSG9vay5sbiBBbGxvYy5sbiBBcmdMaXN0LmxuIENhbGxiYWNrLmxuIENsaWNrVGlt
ZS5sbiBDb21wb3NpdGUubG4gQ29uc3RyYWludC5sbiBDb252ZXJ0LmxuIENvbnZlcnRlcnMubG4g
Q29yZS5sbiBDcmVhdGUubG4gRGVzdHJveS5sbiBEaXNwbGF5LmxuIEVycm9yLmxuIEV2ZW50Lmxu
IEV2ZW50VXRpbC5sbiBGdW5jdGlvbnMubG4gR0NNYW5hZ2VyLmxuIEdlb21ldHJ5LmxuIEdldEFj
dEtleS5sbiBHZXRSZXNMaXN0LmxuIEdldFZhbHVlcy5sbiBIb29rT2JqLmxuIEhvb2tzLmxuIElu
aXRpYWxpemUubG4gSW50cmluc2ljLmxuIEtleWJvYXJkLmxuIE1hbmFnZS5sbiBOZXh0RXZlbnQu
bG4gT2JqZWN0LmxuIFBhc3NpdkdyYWIubG4gUG9pbnRlci5sbiBQb3B1cC5sbiBQb3B1cENCLmxu
IFJlY3RPYmoubG4gUmVzQ29uZmlnLmxuIFJlc291cmNlcy5sbiBTZWxlY3Rpb24ubG4gU2V0U2Vu
cy5sbiBTZXRWYWx1ZXMubG4gU2V0V01DVy5sbiBTaGVsbC5sbiBTdHJpbmdEZWZzLmxuIFRNYWN0
aW9uLmxuIFRNZ3JhYi5sbiBUTWtleS5sbiBUTXBhcnNlLmxuIFRNcHJpbnQubG4gVE1zdGF0ZS5s
biBUaHJlYWRzLmxuIFZhckNyZWF0ZS5sbiBWYXJHZXQubG4gVmFyYXJncy5sbiBWZW5kb3IubG4g
LUwvdXNyL29iai9kZXN0ZGlyLmFtZDY0L3Vzci9saWJkYXRhIC1sYwpMaW50IHBhc3MyOgotLS0g
UmVzQ29uZmlnLmdvIC0tLQoqKiogW1Jlc0NvbmZpZy5nb10gRXJyb3IgY29kZSAxCm5ibWFrZTog
c3RvcHBlZCBpbiAvdXNyL3NyYy9leHRlcm5hbC9taXQveG9yZy9saWIvbGliWHQKMSBlcnJvcgpu
Ym1ha2U6IHN0b3BwZWQgaW4gL3Vzci9zcmMvZXh0ZXJuYWwvbWl0L3hvcmcvbGliL2xpYlh0Cioq
KiBbZGVwZW5kYWxsXSBFcnJvciBjb2RlIDIKbmJtYWtlOiBzdG9wcGVkIGluIC91c3Ivc3JjL2V4
dGVybmFsL21pdC94b3JnL2xpYi9saWJYdAoxIGVycm9yCm5ibWFrZTogc3RvcHBlZCBpbiAvdXNy
L3NyYy9leHRlcm5hbC9taXQveG9yZy9saWIvbGliWHQKKioqIFtkZXBlbmRhbGwtbGliWHRdIEVy
cm9yIGNvZGUgMgpuYm1ha2U6IHN0b3BwZWQgaW4gL3Vzci9zcmMvZXh0ZXJuYWwvbWl0L3hvcmcv
bGliCjEgZXJyb3IKbmJtYWtlOiBzdG9wcGVkIGluIC91c3Ivc3JjL2V4dGVybmFsL21pdC94b3Jn
L2xpYgoqKiogW2RvLWxpYl0gRXJyb3IgY29kZSAyCm5ibWFrZTogc3RvcHBlZCBpbiAvdXNyL3Ny
Yy9leHRlcm5hbC9taXQveG9yZwoxIGVycm9yCm5ibWFrZTogc3RvcHBlZCBpbiAvdXNyL3NyYy9l
eHRlcm5hbC9taXQveG9yZwoqKiogW2J1aWxkXSBFcnJvciBjb2RlIDIKCm5ibWFrZTogc3RvcHBl
ZCBpbiAvdXNyL3NyYy9leHRlcm5hbC9taXQveG9yZwoxIGVycm9yCgpuYm1ha2U6IHN0b3BwZWQg
aW4gL3Vzci9zcmMvZXh0ZXJuYWwvbWl0L3hvcmcKKioqIFtkby14MTFdIEVycm9yIGNvZGUgMgpu
Ym1ha2U6IHN0b3BwZWQgaW4gL3Vzci9zcmMKMSBlcnJvcgpuYm1ha2U6IHN0b3BwZWQgaW4gL3Vz
ci9zcmMKKioqIFtidWlsZF0gRXJyb3IgY29kZSAyCgpuYm1ha2U6IHN0b3BwZWQgaW4gL3Vzci9z
cmMKMSBlcnJvcgoKbmJtYWtlOiBzdG9wcGVkIGluIC91c3Ivc3JjCioqKiBbZGlzdHJpYnV0aW9u
XSBFcnJvciBjb2RlIDIKCm5ibWFrZTogc3RvcHBlZCBpbiAvdXNyL3NyYwoxIGVycm9yCgpuYm1h
a2U6IHN0b3BwZWQgaW4gL3Vzci9zcmMKKioqIFtyZWxlYXNlXSBFcnJvciBjb2RlIDIKCm5ibWFr
ZTogc3RvcHBlZCBpbiAvdXNyL3NyYwoKbmJtYWtlOiBzdG9wcGVkIGluIC91c3Ivc3JjCg==
--MP_/yFbxg3xeNU4dqJCfItsZOyy--
From: christos@zoulas.com (Christos Zoulas)
To: gnats-bugs@NetBSD.org, xsrc-manager@netbsd.org, gnats-admin@netbsd.org,
netbsd-bugs@netbsd.org, raizen@lloedy.com
Cc:
Subject: Re: xsrc/48863 build.sh fails to build
Date: Tue, 28 Oct 2014 13:55:59 -0400
On Oct 28, 5:05pm, raizen@lloedy.com (Sandro Millien) wrote:
-- Subject: Re: xsrc/48863 build.sh fails to build
Is your ResConfig.c file broken? I don't see resource_len at line 992.
christos
From: Sandro Millien <raizen@lloedy.com>
To: gnats-bugs@NetBSD.org
Cc:
Subject: Re: xsrc/48863 build.sh fails to build
Date: Fri, 31 Oct 2014 17:27:52 +0100
--MP_/H/N30QWgM9xn8ehmfHu6lZO
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit
Content-Disposition: inline
On Tue, 28 Oct 2014 18:00:00 +0000 (UTC)
christos@zoulas.com (Christos Zoulas) wrote:
> The following reply was made to PR xsrc/48863; it has been noted by
> GNATS.
>
> From: christos@zoulas.com (Christos Zoulas)
> To: gnats-bugs@NetBSD.org, xsrc-manager@netbsd.org,
> gnats-admin@netbsd.org, netbsd-bugs@netbsd.org, raizen@lloedy.com
> Cc:
> Subject: Re: xsrc/48863 build.sh fails to build
> Date: Tue, 28 Oct 2014 13:55:59 -0400
>
> On Oct 28, 5:05pm, raizen@lloedy.com (Sandro Millien) wrote:
> -- Subject: Re: xsrc/48863 build.sh fails to build
>
>
> Is your ResConfig.c file broken? I don't see resource_len at line
> 992.
Before doing the "cvs update" , I deleted file ResConfig.c
$ rm /usr/xsrc/external/mit/libXt/dist/src/ResConfig.c
$ cd /usr/xsrc && cvs update -dP
Attached is my current ResConfig.c
It was created by the cvs update as far as I can tell.
It does contain resource_len at line 992.
And there is a missing "," before resource_len
When I add this "," ; the build succeeds.
> christos
>
--MP_/H/N30QWgM9xn8ehmfHu6lZO
Content-Type: text/x-c++src
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=ResConfig.c
/*
Copyright 1987, 1988, 1998 The Open Group
Permission to use, copy, modify, distribute, and sell this software and its
documentation for any purpose is hereby granted without fee, provided that
the above copyright notice appear in all copies and that both that
copyright notice and this permission notice appear in supporting
documentation.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of The Open Group shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from The Open Group.
*/
/*****************************************************************
(C) COPYRIGHT International Business Machines Corp. 1992,1997
All Rights Reserved
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software.
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
THE IBM CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, the name of the IBM Corporation shall
not be used in advertising or otherwise to promote the sale, use or other
dealings in this Software without prior written authorization from the IBM
Corporation.
******************************************************************/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include "Intrinsic.h"
#include "IntrinsicI.h"
#include "Core.h"
#include "CoreP.h"
#include "ShellP.h"
#include "StringDefs.h"
#include "ResConfigP.h"
#include <X11/Xatom.h>
#include <stdio.h>
#include <stdlib.h>
#define MAX_BUFFER 512
static void _search_child(Widget, char *, char *, char *, char *, char, char *);
static void _set_and_search(Widget, char *, char *, char *, char *, char , char *);
static int _locate_children(Widget, Widget **);
#if defined(sun) && !defined(SVR4)
# define Strtoul(a,b,c) (unsigned long)strtol(a,b,c)
#else
# define Strtoul(a,b,c) strtoul(a,b,c)
#endif
/*
* NAME: _set_resource_values
*
* FUNCTION:
* This function sets the value on the widget. It must first determine
* if the last part is a valid resource for that widget. (eg.
* labelString is a valid resource for label but not for bulletin board)
* It must also add the resource to the application's resource database
* and then query it out using specific resource strings that it builds
* from the widget information. This ensures that a customizing tool
* on-the-fly paradigm is followed: an application that is
* instantaneously updated should look the same as one that is restarted
* and uses the .Xdefaults file.
*
* PARAMETERS:
* w the widget to match
* resource the resource string to be matched
* value the value to be set
* last_part the last resource part (e.g. *background)
*
* RETURN VALUES: void
*
* ERRORS: none
*/
static void
_set_resource_values (
Widget w,
char *resource,
char *value,
char *last_part)
{
XrmDatabase db = NULL;
char *resource_name = NULL;
char *resource_class = NULL;
char *return_type;
XrmValue return_value;
char *resource_value;
Widget cur = w;
char *temp;
XtResourceList resources_return = NULL;
Cardinal num_resources_return = 0;
Cardinal res_index;
Boolean found_resource = False;
Display *dpy;
XrmDatabase tmp_db;
if (!XtIsWidget (w))
dpy = XtDisplay (w->core.parent);
else
dpy = XtDisplay (w);
tmp_db = XtDatabase(dpy);
/*
* get a list of all the valid resources for this widget
*/
XtGetResourceList (w->core.widget_class,
&resources_return, &num_resources_return);
/*
* try to match the last_part of the resource string with
* a resource in this resource list
*/
for (res_index=0; res_index<num_resources_return; res_index++) {
if ((strcmp (last_part,
resources_return[res_index].resource_name) == 0) ||
(strcmp (last_part,
resources_return[res_index].resource_class) == 0)) {
found_resource = True;
break;
}
}
/*
* if resource is not a valid resource for this widget
* or the resource name or class are NULL
* then exit this function
*/
if (!found_resource
|| !resources_return[res_index].resource_name
|| !resources_return[res_index].resource_class) {
XtFree ((char *) resources_return);
return;
}
/*
* build the full resource name and class specifications so
* that you can query the resource database
* eg: .app.button1.foreground
* .App.XmPushButton.Foreground
*/
while (cur != NULL) {
/*
* create resource name string
*/
if (resource_name) {
XtAsprintf (&temp, ".%s%s", cur->core.name, resource_name);
XtFree (resource_name);
} else if (!XtIsWidget (cur) || !cur->core.name) {
cur = XtParent(cur);
continue;
} else {
XtAsprintf (&temp, ".%s", cur->core.name);
}
resource_name = temp;
/*
* create resource class string
*/
if ((XtIsTopLevelShell (cur)) && (XtParent (cur) == NULL)) {
ApplicationShellWidget top =
(ApplicationShellWidget) (cur);
if (resource_class) {
XtAsprintf (&temp, ".%s%s",
top->application.class, resource_class);
} else {
XtAsprintf (&temp, ".%s",
top->application.class);
}
} else {
if (resource_class) {
XtAsprintf (&temp, ".%s%s",
cur->core.widget_class->core_class.class_name,
resource_class);
} else {
XtAsprintf (&temp, ".%s",
cur->core.widget_class->core_class.class_name);
}
}
if (resource_class != NULL)
XtFree (resource_class);
resource_class = temp;
cur = XtParent(cur);
}
/*
* add the resource name to the end of the resource name string
*/
XtAsprintf (&temp, "%s.%s", resource_name,
resources_return[res_index].resource_name);
if (resource_name != NULL)
XtFree (resource_name);
resource_name = temp;
/*
* add the resource class to the end of the resource class string
*/
XtAsprintf (&temp, "%s.%s", resource_class,
resources_return[res_index].resource_class);
if (resource_class != NULL)
XtFree (resource_class);
resource_class = temp;
#ifdef DEBUG
fprintf (stderr, "resource_name = %s\n", resource_name);
fprintf (stderr, "resource_class = %s\n", resource_class);
#endif
/*
* put the resource and its value in a resource database and
* then query it back out again using the specific name and
* class resource strings that were built above. This is
* necessary to maintain a precedence similar to the .Xdefaults
* file
*/
XrmPutStringResource (&db, resource, value);
XrmMergeDatabases (db, &tmp_db);
XrmGetResource (tmp_db, resource_name, resource_class,
&return_type, &return_value);
if (return_type)
resource_value = XtNewString (return_value.addr);
else
resource_value = XtNewString (value);
#ifdef DEBUG
fprintf (stderr,
"Apply:\n\twidget = %s\n\tlast_part = %s\n\tvalue = %s\n",
(w->core.name == NULL) ? "NULL" : w->core.name,
resources_return[res_index].resource_name,
resource_value);
#endif
/*
* use XtVaSetValues with XtVaTypedArg to convert the value of
* type String the the same type as the resource (last_part).
* Then set the value.
*/
XtVaSetValues (w,
XtVaTypedArg, resources_return[res_index].resource_name,
XtRString, resource_value,
strlen (resource_value) + 1,
NULL);
XtFree ((char *) resources_return);
XtFree (resource_name);
XtFree (resource_class);
XtFree (resource_value);
}
/*
* NAME: _apply_values_to_children
*
* FUNCTION:
* Once the resource string matches the value must be applied to
* all children if applicable. (eg. App*Form.background must apply
* background to all children of the Form widget)
*
* PARAMETERS:
* w the widget to match
* remainder the part of the resource string left over
* resource the resource string to be matched
* value the value to be set
* last_token the last * or . before the final resoruce part
* last_part the last resource part (e.g. *background)
*
* RETURN VALUES: void
*
* ERRORS: none
*/
static void
_apply_values_to_children (
Widget w,
char *remainder,
char *resource,
char *value,
char last_token,
char *last_part)
{
int i;
int num_children;
Widget *children;
/*
* Recursively search through the children
*/
num_children = _locate_children (w, &children);
for (i=0; i<num_children; i++) {
#ifdef DEBUG
if (XtIsWidget (children[i]) && XtIsWidget (w))
fprintf (stderr, "searching child %s of parent %s\n",
children[i]->core.name, w->core.name);
else
fprintf (stderr,"searching child (NULL) of parent %s\n",
w->core.name);
if (!XtIsWidget (children[i]))
fprintf (stderr, "children[%d] is NOT a widget\n", i);
if (!XtIsWidget (w))
fprintf (stderr, "w is NOT a widget\n");
#endif
_set_resource_values (children[i], resource, value, last_part);
_apply_values_to_children (children[i], remainder,
resource, value, last_token, last_part);
}
XtFree ((char *)children);
}
/*
* NAME: _search_child
*
* FUNCTION:
* descends through each child of the tree
*
* PARAMETERS:
* w the widget whose children are to be searched
* indx index into the resource string
* remainder the remaining part of the resource string
* resource the resource string to be matched
* value the value to be applied
* last_token the last * or . before the final resoruce part
* last_part the last resource part (e.g. *background)
*
* RETURN VALUES: none
*
* ERRORS: none
*/
static void
_search_child (
Widget w,
char *indx,
char *remainder,
char *resource,
char *value,
char last_token,
char *last_part)
{
int i;
int num_children;
Widget *children;
/*
* Recursively search through the children
*/
num_children = _locate_children (w, &children);
for (i=0; i<num_children; i++) {
_set_and_search (children[i], indx, remainder, resource,
value, last_token, last_part);
}
XtFree ((char *)children);
}
/*
* NAME: _get_part
*
* FUNCTION:
* This routine will return the token and following part of the resource
* when given the current index it will update the index accordingly
*
* PARAMETERS:
* remainder the part of the resource string left over
* indx the index into the resource string
* part the parsed off part of the resource string
*
* RETURN VALUES:
* char the token (* or . or ?) preceding the resource part
* indx the index into the resource string
* part the parsed off part of the resource string
*
* ERRORS: none
*/
/* ARGSUSED */
static char
_get_part (
char *remainder,
char **indx,
char **part)
{
char buffer[MAX_BUFFER];
char *buf_ptr;
char token = **indx;
int i = 0;
/*
* copy the remainder part into the buffer
*/
buf_ptr = buffer;
(*indx)++; /* get rid of the token */
while (**indx && (**indx != '.') && (**indx != '*')) {
*buf_ptr++ = *(*indx)++;
if (++i >= MAX_BUFFER - 1)
break;
}
*buf_ptr = '\0';
*part = XtNewString (buffer); /* return a new string to part */
if (strcmp (*indx, "") == 0)
*indx = NULL;
return (token); /* return the token */
}
/*
* NAME: _match_resource_to_widget
*
* FUNCTION:
* This function matches the resource part to the widget name or class
*
* PARAMETERS:
* w the widget to match
* part the parsed off part of the resource string
*
* RETURN VALUES:
* Boolean true if a match occurs
*
* ERRORS: none
*/
static Boolean
_match_resource_to_widget (
Widget w,
char *part)
{
/*
* Match any widget at this level if the ? is used
*/
if (strcmp (part, "?") == 0)
return (True);
/*
* if the object is really a widget then its name can be matched
* otherwise only use its class. Note that if you try to reference
* a widget name when the object is not a widget, you may get a
* core dump from an invalid pointer reference.
*/
if (XtIsWidget (w)) {
if ((strcmp (w->core.name, part) == 0) ||
(strcmp (w->core.widget_class->core_class.class_name,
part) == 0))
return (True);
else
return (False);
} else {
if ((strcmp (w->core.widget_class->core_class.class_name,
part) == 0))
return (True);
else
return (False);
}
}
/*
* NAME: _set_and_search
*
* FUNCTION:
* The algorithm to search the widget tree and apply a resource string
*
* PARAMETERS:
* w the widget to match
* indx the index into the resource string
* remainder the part of the resource string left over
* resource the resource string to be matched
* value the value to be set
* last_token the last * or . before the final resoruce part
* last_part the last resource part (e.g. *background)
*
* RETURN VALUES: none
*
* ERRORS: none
*
* ALGORITHM:
* loop (look at all children)
* if (resource segment and current widget match)
* if '.'
* if at end of resource string
* set values ( .=over all children
* *=this widget only)
* else
* descend the widget tree
* and parse off resource segment
* exit the loop
* if '*'
* if at end of resource string
* set values ( .=over all children
* *=this widget only)
* descend and parse
* else
* if '.'
* continue looping
* if '*'
* descend but don't parse
* continue looping
* end loop
*
* NOTE: the _set_resource_values routine will not allow a value to be
* set on a resource against the rules of the resource database manager
*/
static void
_set_and_search (
Widget w,
char *indx,
char *remainder,
char *resource,
char *value,
char last_token,
char *last_part)
{
char *part;
char *local_index = indx;
char token;
/*
* parse off one part, return token and the new index
*/
token = _get_part (remainder, &local_index, &part);
if (_match_resource_to_widget (w, part)) {
if (token == '.') {
if (local_index == NULL) {
if (last_token == '.') {
_set_resource_values (w, resource,
value, last_part);
} else if (last_token == '*') {
_set_resource_values (w, resource,
value, last_part);
_apply_values_to_children (w,
remainder, resource, value,
last_token, last_part);
}
} else
_search_child (w, local_index, remainder,
resource, value, last_token, last_part);
return;
}
if (token == '*') {
if (local_index == NULL) {
if (last_token == '.') {
_set_resource_values (w, resource,
value, last_part);
} else if (last_token == '*') {
_set_resource_values (w, resource,
value, last_part);
_apply_values_to_children ( w,
remainder, resource, value,
last_token, last_part);
}
} else
_search_child (w, local_index, remainder,
resource, value, last_token, last_part);
}
} else {/* if the widget name and class don't match the part */
/* if (token == '.') just continue looping */
if (token == '*') {
_search_child (w, indx, remainder, resource, value,
last_token, last_part);
}
}
XtFree (part);
}
/*
* NAME: _get_last_part
*
* FUNCTION:
* This routine will parse off the last segment of a resource string
* and its token and return them. the remainder of resource is also
* returned. strcoll is used to guarantee no problems with
* international strings.
*
* PARAMETERS:
* remainder the part of the resource string left over
* part the parsed off part of the resource string
*
* RETURN VALUES:
* char the token (* or . or ?) preceding the resource part
* remainder the part of the resource string left over
* part the parsed off part of the resource string
*
* ERRORS: none
*/
static char
_get_last_part (
char *remainder,
char **part)
{
char *loose, *tight;
loose = strrchr (remainder, '*');
tight = strrchr (remainder, '.');
if ((loose == NULL) && (tight == NULL)) {
*part = XtNewString (remainder);
return ('.');
}
if ((loose == NULL) || (tight && (strcoll (loose, tight) < 0))) {
*tight++ = '\0'; /* shorten the remainder string */
*part = XtNewString (tight);
return ('.');
}
if ((tight == NULL) || (loose && (strcoll (tight, loose) < 0))) {
*loose++ = '\0';
*part = XtNewString (loose);
return ('*');
}
*part = NULL;
return ('0'); /* error - return 0 */
}
/*
* NAME: _search_widget_tree
*
* FUNCTION:
* This function tries to match a resource string to the widgets
* it applies to. The functions it invokes to do this then set
* the value for that resource to each widget.
*
* The resource string has to be parsed into the following format:
* resource = App*Form*button1.background
* remainder = *Form*button1
* last_part = background last_token = .
* As the widget tree is recursively descended, these variables are
* passed. The remainder is parsed at each level in the widget
* tree as the _set_and_search function attempts to match
* the resource part (eg. part = Form token = *) to a widget. When
* the entire resource string has been matched, the _set_resource_values
* functions is called to apply the value to the widget or widgets.
*
* PARAMETERS:
* w a widget from whose toplevel shell ancestor
* the search will start
* resource the resource string to match
* value the value to apply
*
* RETURN VALUES: none
*
* ERRORS: none
*/
static void
_search_widget_tree (
Widget w,
char *resource,
char *value)
{
Widget parent = w;
char *last_part;
char *remainder = NULL;
char last_token;
char *indx, *copy;
char *loose, *tight;
int loose_len, tight_len;
/*
* Find the root of the tree given any widget
*/
while (XtParent(parent) != NULL) {
parent = XtParent(parent);
}
#ifdef DEBUG
if (XtIsWidget (w) && XtIsWidget (parent))
fprintf (stderr, "widget = %s parent = %s\n",
w->core.name, parent->core.name);
else
fprintf (stderr, "widget = NULL parent = NULL\n");
#endif
/*
* parse off the Class name that was prepended to this string in
* a customizing tool
*/
loose = strchr (resource, '*');
tight = strchr (resource, '.');
if ((loose == NULL) && (tight == NULL))
return;
loose_len = (loose) ? strlen (loose) : 0;
tight_len = (tight) ? strlen (tight) : 0;
if ((loose == NULL) || (tight_len > loose_len))
remainder = XtNewString (tight);
else if ((tight == NULL) || (loose_len > tight_len))
remainder = XtNewString (loose);
/*
* Parse last segment off of resource string, (eg. background, font,
* etc.)
*/
last_token = _get_last_part (remainder, &last_part);
/*
* this case covers resources of only one level (eg. *background)
*/
if (remainder[0] == 0) {
_set_resource_values (w, resource, value, last_part);
if (last_token == '*')
_apply_values_to_children (parent, remainder, resource,
value, last_token, last_part);
/*
* all other resource strings are recursively applied to the widget tree.
* Prepend a '.' to the remainder string if there is no leading token.
*/
} else {
if (remainder[0] != '*' && remainder[0] != '.') {
XtAsprintf (©, ".%s", remainder);
XtFree (remainder);
remainder = copy;
}
indx = remainder;
_set_and_search (parent, indx, remainder, resource, value,
last_token, last_part);
}
XtFree (remainder);
XtFree (last_part);
}
/*
* NAME: _locate_children
*
* FUNCTION:
* returns a list of all of a widget's children
*
* PARAMETERS:
* w the parent to search for its children
* children the list of children that is created
* normal flag for normal children
* popup flag for popup children
*
* RETURN VALUES:
* int the number of children
* children the list of children found
*
* ERRORS: none
*/
static int
_locate_children (
Widget parent,
Widget **children)
{
CompositeWidget comp = (CompositeWidget) parent;
Cardinal i;
int num_children = 0;
int current = 0;
/*
* count the number of children
*/
if (XtIsWidget (parent))
num_children += parent->core.num_popups;
if (XtIsComposite (parent))
num_children += comp->composite.num_children;
if (num_children == 0) {
*children = NULL;
return (0);
}
*children = (Widget *)
XtMalloc ((Cardinal) sizeof(Widget) * num_children);
if (XtIsComposite (parent)) {
for (i=0; i<comp->composite.num_children; i++) {
(*children)[current] = comp->composite.children[i];
current++;
}
}
if (XtIsWidget (parent)) {
for (i=0; i<parent->core.num_popups; i++) {
(*children)[current] = comp->core.popup_list[i];
current++;
}
}
return (num_children);
}
#ifdef DEBUG
/*
* NAME: dump_widget_tree
*
* FUNCTION:
* recursively printout entire widget tree
*
* PARAMETERS:
* w the widget to match
* indent the amount to indent each line
*
* RETURN VALUES: void
*
* ERRORS: none
*/
static void
dump_widget_tree (
Widget w,
int indent)
{
int i,j;
int num_children;
Widget *children;
/*
* Recursively search through the children
*/
num_children = _locate_children (w, &children);
indent += 2;
for (i=0; i<num_children; i++) {
if (children[i] != NULL) {
for (j=0; j<indent; j++)
fprintf (stderr, " ");
if (XtIsWidget (children[i])) {
fprintf (stderr, "(%s)\t",children[i]->core.name);
fprintf (stderr, "(%s)\n",
children[i]->core.widget_class->core_class.class_name);
} else {
fprintf (stderr, "(NULL)\t");
fprintf (stderr, "(%s)\n",
children[i]->core.widget_class->core_class.class_name);
}
}
dump_widget_tree (children[i], indent);
}
XtFree ((char *)children);
}
#endif
/*
* NAME: _XtResourceConfiguationEH
*
* FUNCTION:
* This function is the event handler for the on-the-fly communication
* with a resource customization tool. This event handler must be
* registered for the toplevel shell of each app. This is best done
* in the _XtCreatePopupShell and _XtAppCreateShell functions in Xt's
* Create.c source file.
*
* The property used to communicate with a customizing tool is
* placed on the toplevel shell window of the application. The
* customizing tool places a property on this window which causes
* this event handler to be invoked via the PropertyNotify event.
* This event handler reads the property and then deletes it from
* the server. The contents of the property are a resource string
* and value. The event handler then calls functions to walk the
* applications widget tree, determining which widgets are affected
* by the resource string, and then applying the value with XtSetValues.
*
* PARAMETERS:
* w the widget that invoked this event handler
* client_data not used
* event the event structure
*
* RETURN VALUES: none
*
* ERRORS: none
*/
/* ARGSUSED */
void
_XtResourceConfigurationEH (
Widget w,
XtPointer client_data,
XEvent *event)
{
Atom actual_type;
int actual_format;
unsigned long nitems;
unsigned long leftover;
unsigned char *data = NULL;
unsigned long resource_len;
char *data_ptr;
char *resource;
char *value;
#ifdef DEBUG
int indent = 0;
#endif
XtPerDisplay pd;
#ifdef DEBUG
fprintf (stderr, "in _XtResourceConfiguationEH atom = %d\n",event->xproperty.atom);
fprintf (stderr, " window = %x\n", XtWindow (w));
if (XtIsWidget (w))
fprintf (stderr, " widget = %x name = %s\n", w, w->core.name);
#endif
pd = _XtGetPerDisplay (XtDisplay (w));
/*
* The window on which a customizing tool places the property
* is determined at this point. It should be the applications
* toplevel shell window.
*
* A customizing tool sends a "ping" to the application on
* the RCM_INIT property. The application answers the ping
* by deleting the property.
*/
if (event->xproperty.atom == pd->rcm_init) {
XDeleteProperty (XtDisplay(w), XtWindow (w), pd->rcm_init);
#ifdef DEBUG
if (XtIsWidget (w))
fprintf (stderr, "%s\n", w->core.name);
else
fprintf (stderr, "NULL name\n");
dump_widget_tree(w, indent);
fprintf (stderr, "answer ping\n");
#endif
}
/*
* This event handler ignores any property notify events that
* are not RCM_INIT or RCM_DATA
*/
if (event->xproperty.atom != pd->rcm_data)
return;
/*
* Retrieve the data from the property
*/
#ifdef DEBUG
fprintf (stderr, "receiving RCM_DATA property\n");
#endif
if (XGetWindowProperty (XtDisplay(w),
XtWindow (w),
pd->rcm_data, 0L, 8192L,
TRUE, XA_STRING,
&actual_type, &actual_format, &nitems, &leftover,
&data ) == Success && actual_type == XA_STRING
&& actual_format == 8) {
/*
* data format is:
*
* resource_length, resource, value
*
* convert the resource_length to a long, skip over it, put a
* zero byte at the end of the resource, and pick off the
* resource and value fields.
*/
if (data) {
char *data_end = data + nitems;
char *data_value;
resource_len = Strtoul ((void *)data, &data_ptr, 10);
if (data_ptr != (char *) data) {
data_ptr++;
data_value = data_ptr + resource_len;
} else /* strtoul failed to convert a number */
data_ptr = data_value = NULL;
if (data_value > data_ptr && data_value < data_end) {
*data_value++ = '\0';
resource = XtNewString (data_ptr);
value = XtNewString (data_value);
#ifdef DEBUG
fprintf (stderr, "resource_len=%d\n"
resource_len);
fprintf (stderr, "resource = %s\t value = %s\n",
resource, value);
#endif
/*
* descend the application widget tree and
* apply the value to the appropriate widgets
*/
_search_widget_tree (w, resource, value);
XtFree (resource);
XtFree (value);
}
}
}
if (data)
XFree ((char *)data);
}
--MP_/H/N30QWgM9xn8ehmfHu6lZO--
From: christos@zoulas.com (Christos Zoulas)
To: gnats-bugs@NetBSD.org, xsrc-manager@netbsd.org, gnats-admin@netbsd.org,
netbsd-bugs@netbsd.org, raizen@lloedy.com
Cc:
Subject: Re: xsrc/48863 build.sh fails to build
Date: Fri, 31 Oct 2014 12:33:21 -0400
On Oct 31, 4:30pm, raizen@lloedy.com (Sandro Millien) wrote:
-- Subject: Re: xsrc/48863 build.sh fails to build
| $ rm /usr/xsrc/external/mit/libXt/dist/src/ResConfig.c
| $ cd /usr/xsrc && cvs update -dP
Try cvs update -dAP, you are prolly stuck on some branch. The HEAD revision
has the missing comma.
christos
From: Sandro Millien <raizen@lloedy.com>
To: christos@zoulas.com (Christos Zoulas)
Cc: gnats-bugs@NetBSD.org, xsrc-manager@netbsd.org, gnats-admin@netbsd.org,
netbsd-bugs@netbsd.org
Subject: Re: xsrc/48863 build.sh fails to build
Date: Sat, 1 Nov 2014 20:05:13 +0100
On Fri, 31 Oct 2014 12:33:21 -0400
christos@zoulas.com (Christos Zoulas) wrote:
> On Oct 31, 4:30pm, raizen@lloedy.com (Sandro Millien) wrote:
> -- Subject: Re: xsrc/48863 build.sh fails to build
>
> | $ rm /usr/xsrc/external/mit/libXt/dist/src/ResConfig.c
> | $ cd /usr/xsrc && cvs update -dP
>
> Try cvs update -dAP, you are prolly stuck on some branch. The HEAD
> revision has the missing comma.
>
If I do that I will switch to the HEAD branch, but I am following the
6-1 (stable) branch.
> christos
>
From: Christos Zoulas <christos@zoulas.com>
To: Sandro Millien <raizen@lloedy.com>
Cc: "gnats-bugs@NetBSD.org" <gnats-bugs@NetBSD.org>,
"xsrc-manager@netbsd.org" <xsrc-manager@netbsd.org>,
"gnats-admin@netbsd.org" <gnats-admin@netbsd.org>,
"netbsd-bugs@netbsd.org" <netbsd-bugs@netbsd.org>
Subject: Re: xsrc/48863 build.sh fails to build
Date: Sat, 1 Nov 2014 16:46:03 -0400
Just fix the comma then. We should probably issue a pull-up for this but it i=
s not critical.
christos=20
> On Nov 1, 2014, at 3:05 PM, Sandro Millien <raizen@lloedy.com> wrote:
>=20
> On Fri, 31 Oct 2014 12:33:21 -0400
> christos@zoulas.com (Christos Zoulas) wrote:
>=20
>> On Oct 31, 4:30pm, raizen@lloedy.com (Sandro Millien) wrote:
>> -- Subject: Re: xsrc/48863 build.sh fails to build
>>=20
>> | $ rm /usr/xsrc/external/mit/libXt/dist/src/ResConfig.c
>> | $ cd /usr/xsrc && cvs update -dP
>>=20
>> Try cvs update -dAP, you are prolly stuck on some branch. The HEAD
>> revision has the missing comma.
>>=20
> If I do that I will switch to the HEAD branch, but I am following the
> 6-1 (stable) branch.
>=20
>> christos
>>=20
State-Changed-From-To: feedback->pending-pullups
State-Changed-By: snj@NetBSD.org
State-Changed-When: Sun, 02 Nov 2014 23:00:19 +0000
State-Changed-Why:
Pullup requested: http://releng.netbsd.org/cgi-bin/req-6.cgi?show=1181
From: "SAITOH Masanobu" <msaitoh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/48863 CVS commit: [netbsd-6] xsrc/external/mit/libXt/dist/src
Date: Sun, 9 Nov 2014 07:17:51 +0000
Module Name: xsrc
Committed By: msaitoh
Date: Sun Nov 9 07:17:51 UTC 2014
Modified Files:
xsrc/external/mit/libXt/dist/src [netbsd-6]: ResConfig.c
Log Message:
Pull up following revision(s) (requested by snj in ticket #1181):
xsrc/external/mit/libXt/dist/src/ResConfig.c patch
Fix DEBUG build of libXt. From Sandro Millien in PR xsrc/48863.
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.4.2.1 -r1.1.1.4.2.2 \
xsrc/external/mit/libXt/dist/src/ResConfig.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "SAITOH Masanobu" <msaitoh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/48863 CVS commit: [netbsd-6-1] xsrc/external/mit/libXt/dist/src
Date: Sun, 9 Nov 2014 07:18:25 +0000
Module Name: xsrc
Committed By: msaitoh
Date: Sun Nov 9 07:18:25 UTC 2014
Modified Files:
xsrc/external/mit/libXt/dist/src [netbsd-6-1]: ResConfig.c
Log Message:
Pull up following revision(s) (requested by snj in ticket #1181):
xsrc/external/mit/libXt/dist/src/ResConfig.c patch
Fix DEBUG build of libXt. From Sandro Millien in PR xsrc/48863.
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.4.6.1 -r1.1.1.4.6.2 \
xsrc/external/mit/libXt/dist/src/ResConfig.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "SAITOH Masanobu" <msaitoh@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/48863 CVS commit: [netbsd-6-0] xsrc/external/mit/libXt/dist/src
Date: Sun, 9 Nov 2014 07:19:02 +0000
Module Name: xsrc
Committed By: msaitoh
Date: Sun Nov 9 07:19:01 UTC 2014
Modified Files:
xsrc/external/mit/libXt/dist/src [netbsd-6-0]: ResConfig.c
Log Message:
Pull up following revision(s) (requested by snj in ticket #1181):
xsrc/external/mit/libXt/dist/src/ResConfig.c patch
Fix DEBUG build of libXt. From Sandro Millien in PR xsrc/48863.
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.4.4.1 -r1.1.1.4.4.2 \
xsrc/external/mit/libXt/dist/src/ResConfig.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
State-Changed-From-To: pending-pullups->closed
State-Changed-By: snj@NetBSD.org
State-Changed-When: Sun, 09 Nov 2014 08:46:12 +0000
State-Changed-Why:
Fix pulled up to the netbsd-6* branches.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2014
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.