diff --git a/emacs-23.1-rst.patch b/emacs-23.1-rst.patch deleted file mode 100644 index 6e1b921..0000000 --- a/emacs-23.1-rst.patch +++ /dev/null @@ -1,90 +0,0 @@ -Description: Patch to fix temporary file vulnerability - My approach is based on the premise that the make-temp-file function - provided from Emacs 22 onwards is safe. So, I backport the method to - the rst.el file, and bind it to the symbol rst--make-temp-file as - follows: - - - If the Emacs version is less than 22, use this custom version. This - works on Emacs 21, I tested it. - - If the Emacs version is 22 or more, bind rst--make-temp-file to the - make-temp-fil provided in the Emacs Lisp libraries. - - I don't see a solution for removing the temporary files, though. - - I am no expert on security or Emacs Lisp, but I hope this patch - provides a start. - -Author: Kumar Appaiah -Addopted due bug bnc#642787 for emacs 23.1 by Werner Fink ---- - - rst.el | 48 ++++++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 46 insertions(+), 2 deletions(-) - ---- lisp/textmodes/rst.el -+++ lisp/textmodes/rst.el 2010-10-06 09:50:28.779926181 +0000 -@@ -3297,10 +3297,54 @@ or of the entire buffer, if the region i - (defvar rst-pdf-program "xpdf" - "Program used to preview PDF files.") - -+(if (> emacs-major-version 22) -+ (defalias 'rst--make-temp-file 'make-temp-file) -+ (defvar temporary-file-directory) -+ (defun rst--make-temp-file (prefix &optional dir-flag suffix) -+ "Create a temporary file. -+The returned file name (created by appending some random characters at the end -+of PREFIX, and expanding against `temporary-file-directory' if necessary), -+is guaranteed to point to a newly created empty file. -+You can then use `write-region' to write new data into the file. -+ -+If DIR-FLAG is non-nil, create a new empty directory instead of a file. -+ -+If SUFFIX is non-nil, add that at the end of the file name." -+ (let ((umask (default-file-modes)) -+ file) -+ (unwind-protect -+ (progn -+ ;; Create temp files with strict access rights. It's easy to -+ ;; loosen them later, whereas it's impossible to close the -+ ;; time-window of loose permissions otherwise. -+ (set-default-file-modes ?\700) -+ (while (condition-case () -+ (progn -+ (setq file -+ (make-temp-name -+ (if (zerop (length prefix)) -+ (file-name-as-directory -+ temporary-file-directory) -+ (expand-file-name prefix -+ temporary-file-directory)))) -+ (if suffix -+ (setq file (concat file suffix))) -+ (if dir-flag -+ (make-directory file) -+ (write-region "" nil file nil 'silent nil 'excl)) -+ nil) -+ (file-already-exists t)) -+ ;; the file was somehow created by someone else between -+ ;; `make-temp-name' and `write-region', let's try again. -+ nil) -+ file) -+ ;; Reset the umask. -+ (set-default-file-modes umask))))) -+ - (defun rst-compile-pdf-preview () - "Convert the document to a PDF file and launch a preview program." - (interactive) -- (let* ((tmp-filename "/tmp/out.pdf") -+ (let* ((tmp-filename (rst--make-temp-file "rst" nil ".pdf")) - (command (format "rst2pdf.py %s %s && %s %s" - buffer-file-name tmp-filename - rst-pdf-program tmp-filename))) -@@ -3315,7 +3359,7 @@ or of the entire buffer, if the region i - (defun rst-compile-slides-preview () - "Convert the document to an S5 slide presentation and launch a preview program." - (interactive) -- (let* ((tmp-filename "/tmp/slides.html") -+ (let* ((tmp-filename (rst--make-temp-file "rst" nil ".html")) - (command (format "rst2s5.py %s %s && %s %s" - buffer-file-name tmp-filename - rst-slides-program tmp-filename))) diff --git a/emacs-23.2-dual-font.patch b/emacs-23.2-dual-font.patch deleted file mode 100644 index 77307d6..0000000 --- a/emacs-23.2-dual-font.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- src/ftfont.c -+++ src/ftfont.c -@@ -1262,7 +1262,7 @@ ftfont_open (f, entity, pixel_size) - spacing = XINT (AREF (entity, FONT_SPACING_INDEX)); - else - spacing = FC_PROPORTIONAL; -- if (spacing != FC_PROPORTIONAL) -+ if (spacing != FC_PROPORTIONAL && spacing != FC_DUAL) - font->min_width = font->average_width = font->space_width - = (scalable ? ft_face->max_advance_width * size / upEM - : ft_face->size->metrics.max_advance >> 6); ---- src/xftfont.c -+++ src/xftfont.c -@@ -418,7 +418,7 @@ xftfont_open (f, entity, pixel_size) - ascii_printable[i] = ' ' + i; - } - BLOCK_INPUT; -- if (spacing != FC_PROPORTIONAL) -+ if (spacing != FC_PROPORTIONAL && spacing != FC_DUAL) - { - font->min_width = font->average_width = font->space_width - = xftfont->max_advance_width; diff --git a/emacs-23.3-gcc45.dif b/emacs-23.3-gcc45.dif deleted file mode 100644 index 9cbed1e..0000000 --- a/emacs-23.3-gcc45.dif +++ /dev/null @@ -1,286 +0,0 @@ ---- lib-src/pop.c -+++ lib-src/pop.c 2010-03-17 14:07:56.000000000 +0000 -@@ -28,6 +28,7 @@ along with GNU Emacs. If not, see - #include - #ifdef WINDOWSNT - #include "ntlib.h" -@@ -1232,9 +1233,10 @@ socket_connection (host, flags) - - for (cp = realhost; *cp; cp++) - { -- if (isupper (*cp)) -+ const int c = *cp; -+ if (isupper (c)) - { -- *cp = tolower (*cp); -+ *cp = tolower (c); - } - } - ---- oldXMenu/Error.c -+++ oldXMenu/Error.c 2010-03-17 13:48:49.000000000 +0000 -@@ -1,5 +1,6 @@ - /* Copyright Massachusetts Institute of Technology 1985 */ - -+#include - #include "copyright.h" - - ---- src/ccl.c -+++ src/ccl.c 2010-10-18 14:23:42.000000000 +0000 -@@ -27,6 +27,9 @@ along with GNU Emacs. If not, see - - #include -+#ifdef HAVE_UNISTD_H -+#include -+#endif - #include - - #include "lisp.h" ---- src/charset.c -+++ src/charset.c 2010-03-18 09:41:45.000000000 +0000 -@@ -274,7 +274,7 @@ load_charset_map (charset, entries, n_en - int n_entries; - int control_flag; - { -- Lisp_Object vec, table; -+ Lisp_Object vec = 0, table = 0; - unsigned max_code = CHARSET_MAX_CODE (charset); - int ascii_compatible_p = charset->ascii_compatible_p; - int min_char, max_char, nonascii_min_char; -@@ -658,7 +658,7 @@ load_charset (charset, control_flag) - struct charset *charset; - int control_flag; - { -- Lisp_Object map; -+ Lisp_Object map = 0; - - if (inhibit_load_charset_map - && temp_charset_work ---- src/cm.c -+++ src/cm.c 2010-03-18 09:45:28.000000000 +0000 -@@ -34,13 +34,6 @@ along with GNU Emacs. If not, see --#else --extern void tputs P_ ((const char *, int, int (*)(int))); --extern char *tgoto P_ ((const char *, int, int)); --#endif -- - #define BIG 9999 /* 9999 good on VAXen. For 16 bit machines - use about 2000.... */ - -@@ -340,7 +333,7 @@ cmgoto (tty, row, col) - llcost, - relcost, - directcost; -- int use; -+ int use = 0; - char *p, - *dcm; - ---- src/cm.h -+++ src/cm.h 2010-03-18 08:15:28.000000000 +0000 -@@ -160,7 +160,17 @@ extern char PC; /* Pad character */ - extern int cost; - extern int evalcost (); - --#define emacs_tputs(tty, str, affcnt, putc) (current_tty = (tty), tputs (str, affcnt, putc)) -+#if defined HAVE_TERMCAP_H && 0 -+#include -+#else -+/* -+ * #include -+ * #include -+ */ -+extern int tputs P_ ((const char *, int, int (*)(int))); -+extern char *tgoto P_ ((const char *, int, int)); -+#endif -+#define emacs_tputs(tty, str, affcnt, putc) ({ current_tty = (tty); (void)tputs (str, affcnt, putc); }) - - extern struct tty_display_info *current_tty; - extern void cmcheckmagic P_ ((struct tty_display_info *)); ---- src/coding.c -+++ src/coding.c 2010-03-18 09:44:45.000000000 +0000 -@@ -3084,7 +3084,7 @@ detect_coding_iso_2022 (coding, detect_i - const unsigned char *src_end = coding->source + coding->src_bytes; - int multibytep = coding->src_multibyte; - int single_shifting = 0; -- int id; -+ int id = 0; - int c, c1; - int consumed_chars = 0; - int i; -@@ -3601,7 +3601,7 @@ decode_coding_iso_2022 (coding) - int charset_id_0 = CODING_ISO_INVOKED_CHARSET (coding, 0); - int charset_id_1 = CODING_ISO_INVOKED_CHARSET (coding, 1); - int charset_id_2, charset_id_3; -- struct charset *charset; -+ struct charset *charset = (struct charset*)0; - int c; - struct composition_status *cmp_status = CODING_ISO_CMP_STATUS (coding); - Lisp_Object attrs, charset_list; -@@ -5613,7 +5613,7 @@ decode_coding_charset (coding) - { - int c; - Lisp_Object val; -- struct charset *charset; -+ struct charset *charset = (struct charset*)0; - int dim; - int len = 1; - unsigned code; -@@ -7817,12 +7817,12 @@ decode_coding_object (coding, src_object - Lisp_Object dst_object; - { - int count = specpdl_ptr - specpdl; -- unsigned char *destination; -- EMACS_INT dst_bytes; -+ unsigned char *destination = (unsigned char*)0; -+ EMACS_INT dst_bytes = 0; - EMACS_INT chars = to - from; - EMACS_INT bytes = to_byte - from_byte; - Lisp_Object attrs; -- int saved_pt = -1, saved_pt_byte; -+ int saved_pt = -1, saved_pt_byte = 0; - int need_marker_adjustment = 0; - Lisp_Object old_deactivate_mark; - -@@ -8011,7 +8011,7 @@ encode_coding_object (coding, src_object - EMACS_INT chars = to - from; - EMACS_INT bytes = to_byte - from_byte; - Lisp_Object attrs; -- int saved_pt = -1, saved_pt_byte; -+ int saved_pt = -1, saved_pt_byte = 0; - int need_marker_adjustment = 0; - int kill_src_buffer = 0; - Lisp_Object old_deactivate_mark; -@@ -8351,8 +8351,8 @@ detect_coding_system (src, src_chars, sr - base_category = XINT (CODING_ATTR_CATEGORY (attrs)); - if (base_category == coding_category_undecided) - { -- enum coding_category category; -- struct coding_system *this; -+ enum coding_category category = 0; -+ struct coding_system *this = (struct coding_system*)0; - int c, i; - - /* Skip all ASCII bytes except for a few ISO2022 controls. */ ---- src/fns.c -+++ src/fns.c 2010-03-17 13:48:07.000000000 +0000 -@@ -21,6 +21,7 @@ along with GNU Emacs. If not, see - -+#include - #ifdef HAVE_UNISTD_H - #include - #endif ---- src/font.c -+++ src/font.c 2010-03-18 09:34:23.000000000 +0000 -@@ -1493,7 +1493,7 @@ font_parse_fcname (name, font) - else - { - /* KEY=VAL pairs */ -- Lisp_Object key; -+ Lisp_Object key = (Lisp_Object)0; - int prop; - - if (q - p == 10 && memcmp (p + 1, "pixelsize", 9) == 0) -@@ -1657,7 +1657,7 @@ font_unparse_fcname (font, pixel_size, n - { - Lisp_Object family, foundry; - Lisp_Object tail, val; -- int point_size; -+ int point_size = 0; - int i, len = 1; - char *p; - Lisp_Object styles[3]; ---- src/keyboard.c -+++ src/keyboard.c 2010-03-18 09:25:59.000000000 +0000 -@@ -3063,7 +3063,7 @@ read_char (commandflag, nmaps, maps, pre - - if (NILP (c)) - { -- KBOARD *kb; -+ KBOARD *kb = (KBOARD*)0; - - if (end_time) - { -@@ -4603,7 +4603,7 @@ static EMACS_TIME - timer_check_2 () - { - EMACS_TIME nexttime; -- EMACS_TIME now, idleness_now; -+ EMACS_TIME now, idleness_now = {0,0}; - Lisp_Object timers, idle_timers, chosen_timer; - struct gcpro gcpro1, gcpro2, gcpro3; - -@@ -4640,7 +4640,7 @@ timer_check_2 () - Lisp_Object *vector; - Lisp_Object timer = Qnil, idle_timer = Qnil; - EMACS_TIME timer_time, idle_timer_time; -- EMACS_TIME difference, timer_difference, idle_timer_difference; -+ EMACS_TIME difference, timer_difference = {0,0}, idle_timer_difference = {0,0}; - - /* Skip past invalid timers and timers already handled. */ - if (!NILP (timers)) ---- src/md5.c -+++ src/md5.c 2010-03-17 13:51:36.000000000 +0000 -@@ -26,6 +26,7 @@ - # include - #endif - -+#include - #include - - #if STDC_HEADERS || defined _LIBC ---- src/syntax.c -+++ src/syntax.c 2010-03-18 09:35:22.000000000 +0000 -@@ -492,7 +492,7 @@ back_comment (from, from_byte, stop, com - EMACS_INT comment_end = from; - EMACS_INT comment_end_byte = from_byte; - EMACS_INT comstart_pos = 0; -- EMACS_INT comstart_byte; -+ EMACS_INT comstart_byte = 0; - /* Place where the containing defun starts, - or 0 if we didn't come across it yet. */ - EMACS_INT defun_start = 0; -@@ -1411,7 +1411,7 @@ skip_chars (forwardp, string, lim, handl - register unsigned int c; - unsigned char fastmap[0400]; - /* Store the ranges of non-ASCII characters. */ -- int *char_ranges; -+ int *char_ranges = (int*)0; - int n_char_ranges = 0; - int negate = 0; - register int i, i_byte; ---- src/term.c -+++ src/term.c 2010-03-18 08:56:45.000000000 +0000 -@@ -70,7 +70,6 @@ static int been_here = -1; - #if defined HAVE_TERMCAP_H && 0 - #include - #else --extern void tputs P_ ((const char *, int, int (*)(int))); - extern int tgetent P_ ((char *, const char *)); - extern int tgetflag P_ ((char *id)); - extern int tgetnum P_ ((char *id)); ---- src/unexhp9k800.c -+++ src/unexhp9k800.c 2010-03-17 13:52:29.000000000 +0000 -@@ -54,6 +54,9 @@ - #endif - - #include -+#ifdef HAVE_UNISTD_H -+#include -+#endif - #include - #include - diff --git a/emacs.changes b/emacs.changes index f6128d3..3782932 100644 --- a/emacs.changes +++ b/emacs.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Sun Oct 2 14:36:52 CEST 2011 - dmueller@suse.de + +- switch back to standard gcc, as bootstrapping gcc 4.3 on + arm is essentially impossible, and 4.3 is not needed anymore + (bnc#587307#c9) + ------------------------------------------------------------------- Sun Sep 18 17:17:12 UTC 2011 - jengelh@medozas.de diff --git a/emacs.spec b/emacs.spec index f551115..4329232 100644 --- a/emacs.spec +++ b/emacs.spec @@ -19,7 +19,6 @@ Name: emacs BuildRequires: alsa-devel bind-devel dbus-1-devel elfutils fdupes fonts-config freetype2-devel gconf2-devel giflib-devel gtk2-devel krb5-devel libjpeg-devel libotf-devel libpng-devel librsvg-devel libtiff-devel m17n-lib-devel ncurses-devel nmh sendmail texinfo update-desktop-files xaw3d-devel xorg-x11-devel -BuildRequires: gcc43 %if 0%{?suse_version} > 1130 BuildRequires: gpm-devel %else @@ -58,7 +57,6 @@ Patch13: emacs-23.3-s390x.dif Patch15: emacs-22.2-iconic.patch Patch16: emacs-23.1-flyspell.patch Patch18: emacs-sparc.diff -Patch20: emacs-23.3-gcc45.dif Patch22: emacs-23.1-bnc628268.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %global bug_345669 0 @@ -169,11 +167,9 @@ modes. if test ! -e $HOME/.mh_profile && type -p install-mh > /dev/null 2>&1; then install-mh -auto < /dev/null fi -%patch20 -p0 -b .gcc45 %patch22 %build - CC=gcc-4.3 cflags () { local flag=$1; shift