components/emacs/README
author Ali Bahrami <Ali.Bahrami@Oracle.COM>
Mon, 13 Feb 2012 09:15:28 -0700
changeset 686 b4fe91eb660b
parent 270 ae736fcc412d
child 1147 6095231b2f75
permissions -rw-r--r--
7087610 emacs runpath points at wrong ELFCLASS as well as being redundant 7048759 font not available error when attempting to set default font in emacs-gtk 7117531 update GNU Emacs to 23.4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
176
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
     1
#
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
     2
# CDDL HEADER START
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
     3
#
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
     4
# The contents of this file are subject to the terms of the
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
     5
# Common Development and Distribution License (the "License").
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
     6
# You may not use this file except in compliance with the License.
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
     7
#
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
     8
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
     9
# or http://www.opensolaris.org/os/licensing.
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    10
# See the License for the specific language governing permissions
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    11
# and limitations under the License.
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    12
#
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    13
# When distributing Covered Code, include this CDDL HEADER in each
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    14
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    15
# If applicable, add the following below this CDDL HEADER, with the
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    16
# fields enclosed by brackets "[]" replaced with your own identifying
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    17
# information: Portions Copyright [yyyy] [name of copyright owner]
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    18
#
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    19
# CDDL HEADER END
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    20
#
686
b4fe91eb660b 7087610 emacs runpath points at wrong ELFCLASS as well as being redundant
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents: 270
diff changeset
    21
# Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
176
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    22
#
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    23
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    24
NAME:             emacs
686
b4fe91eb660b 7087610 emacs runpath points at wrong ELFCLASS as well as being redundant
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents: 270
diff changeset
    25
VERSION:          23.4
176
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    26
DESCRIPTION:      GNU Emacs editor
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    27
LICENSE:          GPLv3
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    28
BUGTRAQ:          solaris/utility/emacs
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    29
COMMENTS:         
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    30
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    31
This file contains information about the emacs package within the Userland
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    32
consolidation. Along with the comments in the Makefile, it documents any
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    33
deviations from standard Userland or emacs practice, as well as miscellaneous
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    34
information needed to understand how this component is put together.
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    35
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    36
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    37
- We patch the following changes to the emacs sources:
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    38
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    39
	sysmalloc.patch
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    40
	    Use the system malloc instead of the built in one
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    41
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    42
	dldump.patch
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    43
	    Use the native Solaris dldump() function (emacs/src/unexsol.c)
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    44
	    to produce the dumped emacs, rather than the generic ELF
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    45
	    code (emacs-22.1/src/unexelf.c).
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    46
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    47
	xft.patch
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    48
	    Patch configure script to provide necessary missing
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    49
	    libraries for the GTK version of emacs.
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    50
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    51
- Emacs can be built as either 32-bit or 64-bit, depending on the target
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    52
  machine. The benefit of a 64-bit emacs is that the size of the files it
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    53
  can handle is not limited to 128MB, as it is with the 32-bit version.
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    54
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    55
  For Solaris, we used to build both versions, using /usr/lib/isaexec to
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    56
  run the 64-bit version if possible, and the 32-bit version otherwise. Note
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    57
  that this was only done for the emacs binary itself, as there is no
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    58
  technical need for 64-bit versions of the ancillary programs that come
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    59
  with emacs (etags, emacsclient, etc).
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    60
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    61
  Fortunately, the vast majority of the files in an emacs tree are identical,
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    62
  regardless of the platform and/or word size, which makes this particularly
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    63
  easy to do.
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    64
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    65
  With Solaris 11, all kernels are 64-bit, and we therefore do not need
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    66
  the 32-bit executables. As such, we only supply 64-bit emacs binaries now,
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    67
  and the use of usr/lib/isaexec has been removed: This cuts the number of
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    68
  builds necessary in half, and also the binary package size. It also
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    69
  simplifies packaging, and the user's view of /usr/bin/emacs*.
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    70
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    71
- There are three different toolkit options: None, Athena widgets
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    72
  (aka Xaw, or lucid), and gtk. It would be nice to only support gtk,
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    73
  but for purposes of minimization and user preference, we supply binaries
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    74
  for all three. We follow the Linux model in this regard. The Xaw and no-X
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    75
  versions are quite stable from release to release, so this isn't a large
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    76
  burden.
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    77
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    78
- We deliver the following packages:
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    79
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    80
	gnu-emacs - Everything you need to run emacs, except the
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    81
	    emacs binaries.
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    82
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    83
	gnu-emacs-gtk - Binaries for the X11 version using the GTK toolkit.
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    84
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    85
	gnu-emacs-no-x11 - Pure tty emacs binaries, built without
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    86
	    any X11 linkage. Ideal for headless server systems.
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    87
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    88
	gnu-emacs-x11 - Binaries for the X11 version using the Athena
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    89
	    widget (Xaw) toolkit.
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    90
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    91
	gnu-emacs-lisp - The compressed LISP files for which compiled
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    92
	    versions are delivered by gnu-emacs. These are only needed
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    93
	    for emacs developers and those who like to read source code.
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    94
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    95
  The core gnu-emacs package is required by all of the other packages.
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    96
  In turn, gnu-emacs requires at least one of the packages supplying an
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    97
  emacs binary to be installed.
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    98
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
    99
- We do not ship any suid/sgid binaries for obvious security reasons.
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
   100
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
   101
  We do not install the files under /var/games/emacs. The reason for
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
   102
  this is that we do not install update-game-score as setuid, and
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
   103
  therefore the game files are not usable. This the same decision made
11a04b640bf2 7029475 Move gnu-emacs to userland
Ali Bahrami <Ali.Bahrami@Oracle.COM>
parents:
diff changeset
   104
  by Debian, among others.