Subject: emacs package broken with MACHINE_GNU_PLATFORM?
To: None <tech-pkg@netbsd.org>
From: Takahiro Kambe <taca@sky.yamashina.kyoto.jp>
List: tech-pkg
Date: 09/08/2001 18:51:18
Hi.

I found that emacs package is broken on NetBSD/i386.  On configure
stage, MACHINE_GNU_PLATFORM is used.  And it is defined in
/usr/pkgsrc/mk/bsd.prefs.mk (Revision 1.58):

MACHINE_GNU_PLATFORM?=  ${LOWER_ARCH}-${LOWER_VENDOR}-${LOWER_OPSYS}

Then it is former defined in /usr/share/mk/bsd.own.mk (Revision
1.1777):

# In order to identify NetBSD to GNU packages, we sometimes need
# an "elf" tag for historically a.out platforms.
.if ${OBJECT_FMT} == "ELF" && \
    (${MACHINE_ARCH} == "arm" || \
     ${MACHINE_ARCH} == "i386" || \
     ${MACHINE_ARCH} == "m68k" || \
     ${MACHINE_ARCH} == "sparc" || \
     ${MACHINE_ARCH} == "vax")
MACHINE_GNU_PLATFORM=${MACHINE_GNU_ARCH}--netbsdelf
.else
MACHINE_GNU_PLATFORM=${MACHINE_GNU_ARCH}--netbsd
.endif

So, configure use MACHINE_GNU_PLATFORM=i386--netbsdelf and some
binaries like movemail are installed to bellow (relative path from
LOCALBASE).

	libexec/emacs/20.7/i386--netbsdelf

But emacs packages' PLIST specify the same directory as bellow.

	libexec/emacs/20.7/${MACHINE_GNU_ARCH}-${LOWER_VENDOR}-${LOWER_OPSYS}

This results libexec/emacs/20.7/i386--netbsd.

There are two way to fix it.

o Change PLIST to use MACHINE_GNU_PLATFORM.
o Remove MACHINE_GNU_PLATFORM definition from bsd.own.mk.

What about on other platform (Linux or Solaris)?

--
Takahiro Kambe <taca@sky.yamashina.kyoto.jp>