public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] gentoo commit in src/patchsets/emacs/24.1: 01_all_ns-appdirs.patch 02_all_paxctl.patch
@ 2012-06-10 13:46 Ulrich Mueller (ulm)
  0 siblings, 0 replies; only message in thread
From: Ulrich Mueller (ulm) @ 2012-06-10 13:46 UTC (permalink / raw
  To: gentoo-commits

ulm         12/06/10 13:46:58

  Added:                01_all_ns-appdirs.patch 02_all_paxctl.patch
  Log:
  Initial patchset for Emacs 24.1

Revision  Changes    Path
1.1                  src/patchsets/emacs/24.1/01_all_ns-appdirs.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/emacs/24.1/01_all_ns-appdirs.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/emacs/24.1/01_all_ns-appdirs.patch?rev=1.1&content-type=text/plain

Index: 01_all_ns-appdirs.patch
===================================================================
https://bugs.gentoo.org/268793
https://bugs.gentoo.org/399059

--- emacs-24.1-orig/Makefile.in
+++ emacs-24.1/Makefile.in
@@ -476,21 +476,6 @@
 	-chmod 1755 $(DESTDIR)${bindir}/$(EMACSFULL)
 	rm -f $(DESTDIR)${bindir}/$(EMACS)
 	-ln $(DESTDIR)${bindir}/$(EMACSFULL) $(DESTDIR)${bindir}/$(EMACS)
-	if test "${ns_appresdir}" != ""; then \
-	  ( cd ${ns_appresdir} ; \
-	    if test -d share/emacs ; then dir=share/emacs/*/*; $(MV_DIRS); fi;\
-	    if test -d share/info ; then dir=share/info; $(MV_DIRS) ; fi ; \
-	    rm -fr share ) ; \
-	  ( cd ${ns_appbindir} ; \
-	    if cd libexec ; then dir=emacs/*/*/* ; $(MV_DIRS); \
-	    rm -fr emacs; if cd ../bin; then rm -f emacs emacs-24*; \
-	    ln -sf ../libexec/* . ; fi ; fi ) ; \
-	else true ; fi
-
-## FIXME is the emacs-24* bit above really necessary and correct?
-## What if I have 24.1 and 24.2 installed at the same time?
-## In any case, it should use something like echo $version | sed 's/\..*//'
-## instead of hard-coding a version.
 
 ## http://lists.gnu.org/archive/html/emacs-devel/2007-10/msg01672.html
 ## Needs to be the user running install, so configure can't set it.
--- emacs-24.1-orig/leim/Makefile.in
+++ emacs-24.1/leim/Makefile.in
@@ -259,11 +259,6 @@
 	  [ -n "$${installuser}" ] && break ; \
 	done ; \
 	find ${INSTALLDIR} -exec chown $${installuser} '{}' ';'
-	if [ "${ns_appresdir}" != "" ]; then \
-	  ( cd ${ns_appresdir} ; \
-	    if test -d share/emacs ; then dir=share/emacs/*/*; $(MV_DIRS); fi;\
-	    rm -fr share ) ; \
-	else true ; fi
 
 clean mostlyclean:
 	rm -f ${TIT_MISC} ${TIT_MISC:.elc=.el} \



1.1                  src/patchsets/emacs/24.1/02_all_paxctl.patch

file : http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/emacs/24.1/02_all_paxctl.patch?rev=1.1&view=markup
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/src/patchsets/emacs/24.1/02_all_paxctl.patch?rev=1.1&content-type=text/plain

Index: 02_all_paxctl.patch
===================================================================
Disable memory randomization for the temacs binary via PaX flags
if the paxctl utility is available.
https://bugs.gentoo.org/411439
http://debbugs.gnu.org/11398

--- emacs-24.1-orig/configure.in
+++ emacs-24.1/configure.in
@@ -756,6 +756,8 @@
 AC_PATH_PROG(INSTALL_INFO, install-info,:, /sbin)
 dnl Don't use GZIP, which is used by gzip for additional parameters.
 AC_PATH_PROG(GZIP_PROG, gzip)
+AC_PATH_PROG(PAXCTL, paxctl,,
+  [$PATH$PATH_SEPARATOR/sbin$PATH_SEPARATOR/usr/sbin])
 
 
 ## Need makeinfo >= 4.6 (?) to build the manuals.
--- emacs-24.1-orig/src/Makefile.in
+++ emacs-24.1/src/Makefile.in
@@ -116,6 +116,12 @@
 ## $LDFLAGS or empty if NS_IMPL_GNUSTEP (for some reason).
 TEMACS_LDFLAGS2 = @TEMACS_LDFLAGS2@
 
+## If available, the full path to the paxctl program.
+## On grsecurity/PaX systems, unexec will fail due to a gap between
+## the bss section and the heap.  This can be prevented by disabling
+## memory randomization in temacs with "paxctl -r".  See bug#11398.
+PAXCTL = @PAXCTL@
+
 ## Some systems define this to request special libraries.
 LIBS_SYSTEM=@LIBS_SYSTEM@
 
@@ -406,6 +412,7 @@
 	    -f list-load-path-shadows || true; \
 	else \
 	  LC_ALL=C $(RUN_TEMACS) -batch -l loadup dump || exit 1; \
+	  test "X$(PAXCTL)" = X || $(PAXCTL) -zex emacs$(EXEEXT); \
 	  ln -f emacs$(EXEEXT) bootstrap-emacs$(EXEEXT); \
 	  ./emacs -batch -f list-load-path-shadows || true; \
 	fi
@@ -453,6 +460,8 @@
 temacs$(EXEEXT): $(START_FILES) stamp-oldxmenu $(obj) $(otherobj) $(lib)/libgnu.a
 	$(CC) $(LD_FIRSTFLAG) $(ALL_CFLAGS) $(TEMACS_LDFLAGS) $(TEMACS_LDFLAGS2) \
 	  -o temacs $(START_FILES) $(obj) $(otherobj) $(lib)/libgnu.a $(LIBES)
+	test "$(CANNOT_DUMP)" = "yes" || \
+	  test "X$(PAXCTL)" = X || $(PAXCTL) -r temacs$(EXEEXT)
 
 ## The following oldxmenu-related rules are only (possibly) used if
 ## HAVE_X11 && !USE_GTK, but there is no harm in always defining them
@@ -600,6 +609,7 @@
 	  ln -f temacs$(EXEEXT) bootstrap-emacs$(EXEEXT); \
 	else \
 	  $(RUN_TEMACS) --batch --load loadup bootstrap || exit 1; \
+	  test "X$(PAXCTL)" = X || $(PAXCTL) -zex emacs$(EXEEXT); \
 	  mv -f emacs$(EXEEXT) bootstrap-emacs$(EXEEXT); \
 	fi
 	@: Compile some files earlier to speed up further compilation.






^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2012-06-10 13:47 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-06-10 13:46 [gentoo-commits] gentoo commit in src/patchsets/emacs/24.1: 01_all_ns-appdirs.patch 02_all_paxctl.patch Ulrich Mueller (ulm)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox