rpms/emacs/devel emacs-22.1.50-regex.patch, NONE, 1.1 emacs-22.1.50-sparc64.patch, NONE, 1.1 emacs.spec, 1.110, 1.111

Dennis Gilmore (ausil) fedora-extras-commits at redhat.com
Fri May 2 01:49:02 UTC 2008


Author: ausil

Update of /cvs/pkgs/rpms/emacs/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv20678

Modified Files:
	emacs.spec 
Added Files:
	emacs-22.1.50-regex.patch emacs-22.1.50-sparc64.patch 
Log Message:
apply patches and epoch tod evel tree


emacs-22.1.50-regex.patch:

--- NEW FILE emacs-22.1.50-regex.patch ---
for  src/ChangeLog
from  Alexandre Oliva  <aoliva at redhat.com>

	* regex.c (MOVE_BUFFER_POINTER, EXTEND_BUFFER): Don't compute
	offsets between unrelated pointers.

--- emacs-22.1.50.orig/src/regex.c	2007-09-10 15:46:20.000000000 -0300
+++ emacs-22.1.50/src/regex.c	2008-03-22 08:07:06.000000000 -0300
@@ -3,7 +3,7 @@
    internationalization features.)
 
    Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
-                 2002, 2003, 2004, 2005, 2006, 2007
+                 2002, 2003, 2004, 2005, 2006, 2007, 2008
                  Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
@@ -1832,8 +1832,10 @@
    being larger than MAX_BUF_SIZE, then flag memory exhausted.  */
 #if __BOUNDED_POINTERS__
 # define SET_HIGH_BOUND(P) (__ptrhigh (P) = __ptrlow (P) + bufp->allocated)
-# define MOVE_BUFFER_POINTER(P) \
-  (__ptrlow (P) += incr, SET_HIGH_BOUND (P), __ptrvalue (P) += incr)
+# define MOVE_BUFFER_POINTER(P)					\
+  (__ptrlow (P) = new_buffer + (__ptrlow (P) - old_buffer),	\
+   SET_HIGH_BOUND (P),						\
+   __ptrvalue (P) = new_buffer + (__ptrvalue (P) - old_buffer))
 # define ELSE_EXTEND_BUFFER_HIGH_BOUND		\
   else						\
     {						\
@@ -1847,12 +1849,12 @@
 	SET_HIGH_BOUND (pending_exact);		\
     }
 #else
-# define MOVE_BUFFER_POINTER(P) (P) += incr
+# define MOVE_BUFFER_POINTER(P) ((P) = new_buffer + ((P) - old_buffer))
 # define ELSE_EXTEND_BUFFER_HIGH_BOUND
 #endif
 #define EXTEND_BUFFER()							\
   do {									\
-    re_char *old_buffer = bufp->buffer;					\
+    unsigned char *old_buffer = bufp->buffer;				\
     if (bufp->allocated == MAX_BUF_SIZE)				\
       return REG_ESIZE;							\
     bufp->allocated <<= 1;						\
@@ -1864,7 +1866,7 @@
     /* If the buffer moved, move all the pointers into it.  */		\
     if (old_buffer != bufp->buffer)					\
       {									\
-	int incr = bufp->buffer - old_buffer;				\
+	unsigned char *new_buffer = bufp->buffer;			\
 	MOVE_BUFFER_POINTER (b);					\
 	MOVE_BUFFER_POINTER (begalt);					\
 	if (fixup_alt_jump)						\


emacs-22.1.50-sparc64.patch:

--- NEW FILE emacs-22.1.50-sparc64.patch ---
--- emacs-22.1.50/src/m/sparc.h.old	2008-02-11 01:26:36.000000000 -0600
+++ emacs-22.1.50/src/m/sparc.h	2008-02-11 09:12:09.000000000 -0600
@@ -93,6 +93,19 @@
 
 #ifdef __arch64__		/* GCC, 64-bit ABI.  */
 #define BITS_PER_LONG 64
+#ifdef __linux__
+#undef START_FILES
+#define START_FILES pre-crt0.o /usr/lib64/crt1.o /usr/lib64/crti.o
+
+/* The duplicate -lgcc is intentional in the definition of LIB_STANDARD.
+   The reason is that some functions in libgcc.a call functions from libc.a,
+   and some libc.a functions need functions from libgcc.a.  Since most
+   versions of ld are one-pass linkers, we need to mention -lgcc twice,
+   or else we risk getting unresolved externals.  */
+#undef LIB_STANDARD
+#define LIB_STANDARD -lgcc -lc -lgcc /usr/lib64/crtn.o
+#endif
+
 #ifndef _LP64
 #define _LP64			/* Done on Alpha -- not sure if it
 				   should be here.  -- fx */


Index: emacs.spec
===================================================================
RCS file: /cvs/pkgs/rpms/emacs/devel/emacs.spec,v
retrieving revision 1.110
retrieving revision 1.111
diff -u -r1.110 -r1.111
--- emacs.spec	23 Apr 2008 14:48:36 -0000	1.110
+++ emacs.spec	2 May 2008 01:48:26 -0000	1.111
@@ -2,8 +2,9 @@
 
 Summary: GNU Emacs text editor
 Name: emacs
+Epoch: 1
 Version: 22.2
-Release: 1%{?dist}
+Release: 4%{?dist}
 License: GPLv3+
 URL: http://www.gnu.org/software/emacs/
 Group: Applications/Editors
@@ -21,19 +22,23 @@
 Source14: po-mode.el
 Source15: po-mode-init.el
 Source18: default.el
-Source19: wrapper
 Source20: igrep.el
 Source21: igrep-init.el
 Patch0: glibc-open-macro.patch
 Patch1: rpm-spec-mode.patch
 Patch2: po-mode-auto-replace-date-71264.patch
+Patch3: emacs-22.1.50-sparc64.patch
+Patch4: emacs-22.1.50-regex.patch
 Buildroot: %{_tmppath}/%{name}-%{version}-root
 BuildRequires: atk-devel, cairo-devel, freetype-devel, fontconfig-devel, giflib-devel, glibc-devel, gtk2-devel, libpng-devel
 BuildRequires: libjpeg-devel, libtiff-devel, libX11-devel, libXau-devel, libXdmcp-devel, libXrender-devel, libXt-devel
 BuildRequires: libXpm-devel, ncurses-devel, xorg-x11-proto-devel, zlib-devel
 BuildRequires: autoconf, automake, bzip2, cairo, texinfo
+%ifarch %{ix86}
+BuildRequires: setarch
+%endif
 Requires: xorg-x11-fonts-ISO8859-1-100dpi
-Requires: emacs-common = %{version}-%{release}
+Requires: emacs-common = %{epoch}:%{version}-%{release}
 Conflicts: gettext < 0.10.40
 Provides: emacs(bin)
 
@@ -58,7 +63,7 @@
 %package nox
 Summary: GNU Emacs text editor without X support
 Group: Applications/Editors
-Requires: emacs-common = %{version}-%{release}
+Requires: emacs-common = %{epoch}:%{version}-%{release}
 Provides: emacs(bin)
 
 %description nox
@@ -100,10 +105,11 @@
 %prep
 %setup -q
 %patch0 -p1 -b .glibc-open-macro
+%patch3 -p1 -b .sparc64-libdir
+%patch4 -p1 -b .regexp
 
 # install rest of site-lisp files
-( ! [ -d site-lisp ] && mkdir site-lisp
-  cd site-lisp
+( cd site-lisp
   cp %SOURCE7 %SOURCE9 %SOURCE10 %SOURCE14 %SOURCE20 .
   # rpm-spec-mode can use compilation-mode
   patch < %PATCH1
@@ -122,13 +128,19 @@
 rm -f etc/sex.6 etc/condom.1 etc/celibacy.1 etc/COOKIES etc/future-bug etc/JOKES
 %endif
 
+%ifarch %{ix86}
+%define setarch setarch %{_arch} -R
+%else
+%define setarch %{nil}
+%endif
+
 %build
 export CFLAGS="-DMAIL_USE_LOCKF $RPM_OPT_FLAGS"
 
 %configure --with-x-toolkit=gtk
 
 %__make bootstrap
-%__make %{?_smp_mflags}
+%{setarch} %__make %{?_smp_mflags}
 
 # remove versioned file so that we end up with .1 suffix and only one DOC file
 rm src/emacs-%{version}.*
@@ -148,7 +160,7 @@
 
 Name: emacs
 Description: GNU Emacs text editor
-Version: %{version}
+Version: %{epoch}:%{version}
 EOF
 
 %install
@@ -301,6 +313,19 @@
 %dir %{_datadir}/emacs/%{version}
 
 %changelog
+* Thu May 01 2008 Tom "spot" Callaway <tcallawa at redhat.com>
+- fix requires to include epoch
+
+* Thu May 01 2008 Dennis Gilmore <dennis at ausil.us> 1:22.2-4
+- add patch from bz#435767
+
+* Thu May 01 2008 Dennis Gilmore <dennis at ausil.us> 1:22.2-3
+- add epoch
+- put epoch in .pc file
+
+* Thu Apr 24 2008 Dennis Gilmore <dennis at ausil.us> 22.2-2
+- add patch fixing libdir on sparc64
+
 * Tue Apr 22 2008 Chip Coldwell <coldwell at redhat.com> 22.2-1
 - revert back to emacs-22.2 (bz443639)
 - update to php-mode-1.4.0
@@ -309,6 +334,8 @@
 - fix the Release tag (bz440624)
 - drop superfluous configure options
 - move the new icons into the right destination directory
+- the heuristics for detecting address space randomization in the emacs dumper
+  seem insufficient, so bring back setarch -R
 
 * Fri Apr 18 2008 Chip Coldwell <coldwell at redhat.com> 23.0.60-2
 - New upstream tarball (fixes bz435767)




More information about the fedora-extras-commits mailing list