Compare commits

...

No commits in common. "c8s" and "c9s" have entirely different histories.
c8s ... c9s

19 changed files with 9854 additions and 218 deletions

33
.gitignore vendored
View File

@ -1,4 +1,31 @@
SOURCES/emacs-26.1.tar.xz /emacs-23.3a.tar.bz2
SOURCES/package-keyring.gpg /php-mode.el
/emacs-24.0.92.tar.gz
/emacs-24.0.93.tar.gz
/emacs-24.0.94.tar.gz
/emacs-24.0.95.tar.gz
/emacs-24.0.97.tar.gz
/emacs-24.1-rc.tar.gz
/emacs-24.1.tar.bz2
/emacs-24.2.tar.xz
/emacs-24.3.tar.xz
/emacs-24.4.tar.xz
/emacs-24.5.tar.xz
/emacs-25.0.92.tar.xz
/emacs-25.0.93.tar.xz
/emacs-25.0.94.tar.xz
/emacs-25.0.95.tar.xz
/emacs-25.1-rc1.tar.xz
/emacs-25.1-rc2.tar.xz
/emacs-25.1.tar.xz
/emacs-25.2-rc2.tar.xz
/emacs-25.2.tar.xz
/emacs-25.3.tar.xz
/emacs-26.1.tar.xz /emacs-26.1.tar.xz
/package-keyring.gpg /emacs-26.2.tar.xz
/emacs-26.3.tar.xz
/emacs-26.3.tar.xz.sig
/emacs-27.1.tar.xz
/emacs-27.1.tar.xz.sig
/emacs-27.2.tar.xz
/emacs-27.2.tar.xz.sig

View File

@ -0,0 +1,31 @@
From 216c65b135c2b0be7e048cdc6683873b03b99b9a Mon Sep 17 00:00:00 2001
From: Lars Ingebrigtsen <larsi@gnus.org>
Date: Sun, 28 Mar 2021 19:13:00 +0200
Subject: [PATCH] Use a 64KB page size for pdump
* src/pdumper.c (dump_get_page_size): Use a 64KB page size on all
architectures, as this many vary between systems (bug#47125).
---
src/pdumper.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/src/pdumper.c b/src/pdumper.c
index 337742fda4..fdd9b3bacb 100644
--- a/src/pdumper.c
+++ b/src/pdumper.c
@@ -162,11 +162,7 @@ ptrdiff_t_to_dump_off (ptrdiff_t value)
static int
dump_get_page_size (void)
{
-#if defined (WINDOWSNT) || defined (CYGWIN)
- return 64 * 1024; /* Worst-case allocation granularity. */
-#else
- return getpagesize ();
-#endif
+ return 64 * 1024;
}
#define dump_offsetof(type, member) \
--
2.36.1

View File

@ -1,11 +1,14 @@
--- ---
emacs-27.2/doc/emacs/misc.texi | 33 +++++++++++++++++ emacs-27.2/doc/emacs/misc.texi | 33 +++++++++++++++++
emacs-27.2/doc/misc/efaq.texi | 7 +++
emacs-27.2/etc/NEWS | 23 ++++++++++++
emacs-27.2/lisp/emacs-lisp/macroexp.el | 10 ++++- emacs-27.2/lisp/emacs-lisp/macroexp.el | 10 ++++-
emacs-27.2/lisp/files.el | 60 +++++++++++++++++++++++++++++--- emacs-27.2/lisp/files.el | 60 +++++++++++++++++++++++++++++---
emacs-27.2/lisp/ielm.el | 3 + emacs-27.2/lisp/ielm.el | 3 +
emacs-27.2/lisp/progmodes/elisp-mode.el | 58 +++++++++++++++++++++++++----- emacs-27.2/lisp/progmodes/elisp-mode.el | 58 +++++++++++++++++++++++++-----
emacs-27.2/lisp/simple.el | 1 emacs-27.2/lisp/simple.el | 1
6 files changed, 189 insertions(+), 20 deletions(-) emacs-27.2/lisp/startup.el | 14 +++++--
9 files changed, 189 insertions(+), 20 deletions(-)
--- emacs-27.2/doc/emacs/misc.texi --- emacs-27.2/doc/emacs/misc.texi
+++ emacs-27.2/doc/emacs/misc.texi 2025-03-03 09:18:41.368169799 +0000 +++ emacs-27.2/doc/emacs/misc.texi 2025-03-03 09:18:41.368169799 +0000
@ -49,6 +52,54 @@
@xref{Security Considerations,,, elisp, The Emacs Lisp Reference @xref{Security Considerations,,, elisp, The Emacs Lisp Reference
Manual}, for more information about security considerations when using Manual}, for more information about security considerations when using
Emacs as part of a larger application. Emacs as part of a larger application.
--- emacs-27.2/doc/misc/efaq.texi
+++ emacs-27.2/doc/misc/efaq.texi 2025-03-03 09:18:41.368169799 +0000
@@ -1001,6 +1001,13 @@ Native support for @acronym{JSON} parsin
@file{json.el}.
@item
+New user option @code{trusted-contents} to allow potentially dangerous
+Emacs features which could execute arbitrary Lisp code. Use this
+variable to list files and directories whose contents Emacs should
+trust, thus allowing those potentially dangerous features when those
+files are visited.
+
+@item
Cairo drawing is no longer experimental.
@cindex portable dumper
--- emacs-27.2/etc/NEWS
+++ emacs-27.2/etc/NEWS 2025-03-03 09:18:41.368169799 +0000
@@ -15,6 +15,29 @@ in older Emacs versions.
You can narrow news to a specific version by calling 'view-emacs-news'
with a prefix argument or by typing 'C-u C-h C-n'.
+* Changes for CVE-2024-53920
+
+** New user option 'trusted-content' to allow potentially dangerous features.
+This variable lists those files and directories whose content Emacs should
+consider as sufficiently trusted to run any part of the code contained
+therein even without any explicit user request.
+For example, Flymake's backend for Emacs Lisp consults this variable
+and disables itself with an "untrusted content" warning if the file
+is not listed.
+
+Emacs Lisp authors should note that a major or minor mode must never set
+this variable to the ':all' value.
+
+This option is used to fix CVE-2024-53920. See below for details.
+
+** Emacs Lisp mode
+
+*** 'elisp-flymake-byte-compile' is disabled for untrusted files.
+For security reasons, this backend can be used only in those files
+specified as trusted according to 'trusted-content' and emits an
+"untrusted content" warning otherwise.
+This fixes CVE-2024-53920.
+
* Changes in Emacs 27.2
--- emacs-27.2/lisp/emacs-lisp/macroexp.el --- emacs-27.2/lisp/emacs-lisp/macroexp.el
+++ emacs-27.2/lisp/emacs-lisp/macroexp.el 2025-03-03 09:18:41.368169799 +0000 +++ emacs-27.2/lisp/emacs-lisp/macroexp.el 2025-03-03 09:18:41.368169799 +0000
@@ -94,12 +94,20 @@ each clause." @@ -94,12 +94,20 @@ each clause."
@ -64,12 +115,12 @@
+case return FORM unchanged." +case return FORM unchanged."
+ (if macroexp-inhibit-compiler-macros + (if macroexp-inhibit-compiler-macros
+ form + form
(condition-case err (condition-case-unless-debug err
(apply handler form (cdr form)) (apply handler form (cdr form))
(error (error
(message "Compiler-macro error for %S: %S" (car form) err) (message "Compiler-macro error for %S: %S" (car form) err)
- form))) - form)))
+ form)))) + form))))
(defun macroexp--funcall-if-compiled (_form) (defun macroexp--funcall-if-compiled (_form)
"Pseudo function used internally by macroexp to delay warnings. "Pseudo function used internally by macroexp to delay warnings.
@ -136,13 +187,13 @@
--- emacs-27.2/lisp/ielm.el --- emacs-27.2/lisp/ielm.el
+++ emacs-27.2/lisp/ielm.el 2025-03-03 09:18:41.372169725 +0000 +++ emacs-27.2/lisp/ielm.el 2025-03-03 09:18:41.372169725 +0000
@@ -616,7 +616,8 @@ See `inferior-emacs-lisp-mode' for detai @@ -616,7 +616,8 @@ See `inferior-emacs-lisp-mode' for detai
(unless (comint-check-proc "*ielm*") (unless (comint-check-proc buf-name)
(with-current-buffer (get-buffer-create "*ielm*") (with-current-buffer (get-buffer-create buf-name)
(unless (zerop (buffer-size)) (setq old-point (point))) (unless (zerop (buffer-size)) (setq old-point (point)))
- (inferior-emacs-lisp-mode))) - (inferior-emacs-lisp-mode)))
+ (inferior-emacs-lisp-mode) + (inferior-emacs-lisp-mode)
+ (setq-local trusted-content :all))) + (setq-local trusted-content :all)))
(pop-to-buffer-same-window "*ielm*") (pop-to-buffer-same-window buf-name)
(when old-point (push-mark old-point)))) (when old-point (push-mark old-point))))
--- emacs-27.2/lisp/progmodes/elisp-mode.el --- emacs-27.2/lisp/progmodes/elisp-mode.el
@ -229,10 +280,33 @@
--- emacs-27.2/lisp/simple.el --- emacs-27.2/lisp/simple.el
+++ emacs-27.2/lisp/simple.el 2025-03-03 09:18:41.372169725 +0000 +++ emacs-27.2/lisp/simple.el 2025-03-03 09:18:41.372169725 +0000
@@ -1621,6 +1621,7 @@ display the result of expression evaluat @@ -1621,6 +1621,7 @@ display the result of expression evaluat
(eldoc-mode 1) ;; `eldoc--eval-expression-setup')?
(add-hook 'completion-at-point-functions (add-hook 'completion-at-point-functions
#'elisp-completion-at-point nil t) #'elisp-completion-at-point nil t)
+ (setq-local trusted-content :all) + (setq-local trusted-content :all)
(run-hooks 'eval-expression-minibuffer-setup-hook)) (run-hooks 'eval-expression-minibuffer-setup-hook))
(read-from-minibuffer prompt initial-contents (read-from-minibuffer prompt initial-contents
read-expression-map t read-expression-map t
--- emacs-27.2/lisp/startup.el
+++ emacs-27.2/lisp/startup.el 2025-03-03 09:18:41.372169725 +0000
@@ -2316,9 +2316,17 @@ A fancy display is used on graphic displ
(defun startup--get-buffer-create-scratch ()
(or (get-buffer "*scratch*")
- (with-current-buffer (get-buffer-create "*scratch*")
- (set-buffer-major-mode (current-buffer))
- (current-buffer))))
+ (let ((scratch (get-buffer-create "*scratch*")))
+ ;; Don't touch the buffer contents or mode unless we know that
+ ;; we just created it.
+ (with-current-buffer scratch
+ (when initial-scratch-message
+ (insert (substitute-command-keys initial-scratch-message))
+ (set-buffer-modified-p nil))
+ (funcall initial-major-mode)
+ (when (eq initial-major-mode 'lisp-interaction-mode)
+ (setq-local trusted-content :all)))
+ scratch)))
(defun command-line-1 (args-left)
"A subroutine of `command-line'."

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,28 @@
From a769f171e7ebb8e30f198f4328d46f47fe7958fb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ulrich=20M=C3=BCller?= <ulm@gentoo.org>
Date: Mon, 24 Jun 2024 15:20:26 +0200
Subject: [PATCH] ; Fix flymake tests with GCC 14.
* test/lisp/progmodes/flymake-tests.el (included-c-header-files):
Fix test failure with GCC 14. (Bug#71749)
---
test/lisp/progmodes/flymake-tests.el | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/test/lisp/progmodes/flymake-tests.el b/test/lisp/progmodes/flymake-tests.el
index 21dbb0711d2..93bc9028031 100644
--- a/test/lisp/progmodes/flymake-tests.el
+++ b/test/lisp/progmodes/flymake-tests.el
@@ -174,7 +174,8 @@ included-c-header-files
(flymake-tests--with-flymake
("some-problems.h")
(flymake-goto-next-error)
- (should (eq 'flymake-warning (face-at-point)))
+ ;; implicit-int was promoted from warning to error in GCC 14
+ (should (memq (face-at-point) '(flymake-warning flymake-error)))
(flymake-goto-next-error)
(should (eq 'flymake-error (face-at-point)))
(should-error (flymake-goto-next-error nil nil t)))
--
2.45.2

40
emacs-glibc-2.34.patch Normal file
View File

@ -0,0 +1,40 @@
From f97e07ea807cc6d38774a3888a15091b20645ac6 Mon Sep 17 00:00:00 2001
From: Paul Eggert <eggert@cs.ucla.edu>
Date: Tue, 9 Mar 2021 11:22:59 -0800
Subject: [PATCH] Port alternate signal stack to upcoming glibc 2.34
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* src/sysdep.c (sigsegv_stack): Increase size to 64 KiB and align
it to max_align_t. This copies from Gnulibs c-stack.c, and works
around a portability bug in draft glibc 2.34, which no longer
defines SIGSTKSZ when _GNU_SOURCE is defined.
---
src/sysdep.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/sysdep.c b/src/sysdep.c
index 941b4e2fa2..24d8832b2f 100644
--- a/src/sysdep.c
+++ b/src/sysdep.c
@@ -1785,7 +1785,15 @@ handle_arith_signal (int sig)
/* Alternate stack used by SIGSEGV handler below. */
-static unsigned char sigsegv_stack[SIGSTKSZ];
+/* Storage for the alternate signal stack.
+ 64 KiB is not too large for Emacs, and is large enough
+ for all known platforms. Smaller sizes may run into trouble.
+ For example, libsigsegv 2.6 through 2.8 have a bug where some
+ architectures use more than the Linux default of an 8 KiB alternate
+ stack when deciding if a fault was caused by stack overflow. */
+static max_align_t sigsegv_stack[(64 * 1024
+ + sizeof (max_align_t) - 1)
+ / sizeof (max_align_t)];
/* Return true if SIGINFO indicates a stack overflow. */
--
2.29.2

57
emacs-latex-preview.patch Normal file
View File

@ -0,0 +1,57 @@
From 6f9ea396f49cbe38c2173e0a72ba6af3e03b271c Mon Sep 17 00:00:00 2001
From: Ihor Radchenko <yantar92@posteo.net>
Date: Tue, 20 Feb 2024 12:47:24 +0300
Subject: org-latex-preview: Add protection when `untrusted-content' is non-nil
* lisp/org/org.el (org--latex-preview-when-risky): New variable
controlling how to handle LaTeX previews in Org files from untrusted
origin.
(org-latex-preview): Consult `org--latex-preview-when-risky' before
generating previews.
This patch adds a layer of protection when LaTeX preview is requested
for an email attachment, where `untrusted-content' is set to non-nil.
---
lisp/org/org.el | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/lisp/org/org.el b/lisp/org/org.el
index c75afbf..0f5d17d 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -1140,6 +1140,24 @@ the following lines anywhere in the buffer:
:package-version '(Org . "8.0")
:type 'boolean)
+(defvar untrusted-content) ; defined in files.el
+(defvar org--latex-preview-when-risky nil
+ "If non-nil, enable LaTeX preview in Org buffers from unsafe source.
+
+Some specially designed LaTeX code may generate huge pdf or log files
+that may exhaust disk space.
+
+This variable controls how to handle LaTeX preview when rendering LaTeX
+fragments that originate from incoming email messages. It has no effect
+when Org mode is unable to determine the origin of the Org buffer.
+
+An Org buffer is considered to be from unsafe source when the
+variable `untrusted-content' has a non-nil value in the buffer.
+
+If this variable is non-nil, LaTeX previews are rendered unconditionally.
+
+This variable may be renamed or changed in the future.")
+
(defcustom org-insert-mode-line-in-empty-file nil
"Non-nil means insert the first line setting Org mode in empty files.
When the function `org-mode' is called interactively in an empty file, this
@@ -15695,6 +15713,7 @@ fragments in the buffer."
(interactive "P")
(cond
((not (display-graphic-p)) nil)
+ ((and untrusted-content (not org--latex-preview-when-risky)) nil)
;; Clear whole buffer.
((equal arg '(64))
(org-clear-latex-preview (point-min) (point-max))
--
cgit v1.1

View File

@ -29,6 +29,29 @@ index 55cb938..d963964 100644
(if Man-downcase-section-letters-flag (if Man-downcase-section-letters-flag
(setq section (downcase section))) (setq section (downcase section)))
(while slist (while slist
diff --git a/test/lisp/man-tests.el b/test/lisp/man-tests.el
index 140482e..11f5f80 100644
--- a/test/lisp/man-tests.el
+++ b/test/lisp/man-tests.el
@@ -161,6 +161,18 @@ DESCRIPTION
(let ((button (button-at (match-beginning 0))))
(should (and button (eq 'Man-xref-header-file (button-type button))))))))))
+(ert-deftest man-tests-Man-translate-references ()
+ (should (equal (Man-translate-references "basename")
+ "basename"))
+ (should (equal (Man-translate-references "basename(3)")
+ "3 basename"))
+ (should (equal (Man-translate-references "basename(3v)")
+ "3v basename"))
+ (should (equal (Man-translate-references ";id")
+ "\\;id"))
+ (should (equal (Man-translate-references "-k basename")
+ "-k basename")))
+
(provide 'man-tests)
;;; man-tests.el ends here
-- --
cgit v1.1 cgit v1.1

View File

@ -1,31 +0,0 @@
From b73cde5e2815c531df7f5fd13e214a7d92f78239 Mon Sep 17 00:00:00 2001
From: Mike Kupfer <mkupfer@alum.berkeley.edu>
Date: Wed, 4 Jul 2018 15:43:04 -0700
Subject: [PATCH] Fix MH-E mail composition with GNU Mailutils (SF#485)
* lisp/mh-e/mh-comp.el (mh-bare-components): Recursively delete
the temporary folder.
---
lisp/mh-e/mh-comp.el | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/lisp/mh-e/mh-comp.el b/lisp/mh-e/mh-comp.el
index a9f809cfa1..aa22df8b18 100644
--- a/lisp/mh-e/mh-comp.el
+++ b/lisp/mh-e/mh-comp.el
@@ -925,8 +925,10 @@ mh-bare-components
(list "-form" mh-comp-formfile)))
(setq new (make-temp-file "comp."))
(rename-file (concat temp-folder "/" "1") new t)
- (delete-file (concat temp-folder "/" ".mh_sequences"))
- (delete-directory temp-folder)
+ ;; The temp folder could contain various metadata files. Rather
+ ;; than trying to enumerate all the known files, just do a
+ ;; recursive delete on the directory.
+ (delete-directory temp-folder t)
new))
(defun mh-read-draft (use initial-contents delete-contents-file)
--
2.36.1

View File

@ -0,0 +1,28 @@
From 6dc4fc7d621008086388dae48f6794f7d69edff9 Mon Sep 17 00:00:00 2001
From: Robert Pluim <rpluim@gmail.com>
Date: Tue, 12 Jan 2021 18:36:01 +0100
Subject: Fix nsm-should-check for "google.com" failure
* lisp/net/nsm.el (nsm-should-check): Extract the mask from
'network-interface-list' rather than the broadcast
address (Bug#45798).
---
lisp/net/nsm.el | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lisp/net/nsm.el b/lisp/net/nsm.el
index 3f3e7133713..0ce65a35ead 100644
--- a/lisp/net/nsm.el
+++ b/lisp/net/nsm.el
@@ -239,7 +239,7 @@ otherwise."
(mapc
(lambda (info)
(let ((local-ip (nth 1 info))
- (mask (nth 2 info)))
+ (mask (nth 3 info)))
(when
(nsm-network-same-subnet (substring local-ip 0 -1)
(substring mask 0 -1)
--
cgit v1.2.3

View File

@ -3,44 +3,34 @@ From: Ihor Radchenko <yantar92@posteo.net>
Date: Tue, 18 Jun 2024 13:06:44 +0200 Date: Tue, 18 Jun 2024 13:06:44 +0200
Subject: org-link-expand-abbrev: Do not evaluate arbitrary unsafe Elisp code Subject: org-link-expand-abbrev: Do not evaluate arbitrary unsafe Elisp code
* lisp/org/org.el (org-link-expand-abbrev): Refuse expanding %(...) link * lisp/org/ol.el (org-link-expand-abbrev): Refuse expanding %(...) link
abbrevs that specify unsafe function. Instead, display a warning, and abbrevs that specify unsafe function. Instead, display a warning, and
do not expand the abbrev. Clear all the text properties from the do not expand the abbrev. Clear all the text properties from the
returned link, to avoid any potential vulnerabilities caused by returned link, to avoid any potential vulnerabilities caused by
properties that may contain arbitrary Elisp. properties that may contain arbitrary Elisp.
--- ---
lisp/org/org.el | 40 +++++++++++++++++++++++++++++----------- lisp/org/ol.el | 40 +++++++++++++++++++++++++++++-----------
1 file changed, 29 insertions(+), 11 deletions(-) 1 file changed, 29 insertions(+), 11 deletions(-)
diff --git a/lisp/org/org.el b/lisp/org/org.el diff --git a/lisp/org/ol.el b/lisp/org/ol.el
index 7a7f4f5..8a556c7 100644 index 7a7f4f5..8a556c7 100644
--- a/lisp/org/org.el --- a/lisp/org/ol.el
+++ b/lisp/org/org.el +++ b/lisp/org/ol.el
@@ -1152,26 +1152,44 @@ Abbreviations are defined in `org-link-abbrev-alist'." @@ -1152,17 +1152,35 @@ Abbreviations are defined in `org-link-abbrev-alist'."
(if (not as)
(defun org-link-expand-abbrev (link) link
"Apply replacements as defined in `org-link-abbrev-alist'." (setq rpl (cdr as))
- (if (string-match "^\\([^:]*\\)\\(::?\\(.*\\)\\)?$" link) - (cond
+ (if (not (string-match "^\\([^:]*\\)\\(::?\\(.*\\)\\)?$" link)) link - ((symbolp rpl) (funcall rpl tag))
(let* ((key (match-string 1 link)) - ((string-match "%(\\([^)]+\\))" rpl)
(as (or (assoc key org-link-abbrev-alist-local) - (replace-match
(assoc key org-link-abbrev-alist))) - (save-match-data
(tag (and (match-end 2) (match-string 3 link))) - (funcall (intern-soft (match-string 1 rpl)) tag))
rpl) - t t rpl))
(if (not as) - ((string-match "%s" rpl) (replace-match (or tag "") t t rpl))
link - ((string-match "%h" rpl)
(setq rpl (cdr as)) - (replace-match (url-hexify-string (or tag "")) t t rpl))
- (cond - (t (concat rpl tag)))))))
- ((symbolp rpl) (funcall rpl tag))
- ((string-match "%(\\([^)]+\\))" rpl)
- (replace-match
- (save-match-data
- (funcall (intern-soft (match-string 1 rpl)) tag)) t t rpl))
- ((string-match "%s" rpl) (replace-match (or tag "") t t rpl))
- ((string-match "%h" rpl)
- (replace-match (url-hexify-string (or tag "")) t t rpl))
- (t (concat rpl tag)))))
- link))
+ ;; Drop any potentially dangerous text properties like + ;; Drop any potentially dangerous text properties like
+ ;; `modification-hooks' that may be used as an attack vector. + ;; `modification-hooks' that may be used as an attack vector.
+ (substring-no-properties + (substring-no-properties
@ -71,8 +61,8 @@ index 7a7f4f5..8a556c7 100644
+ (replace-match (url-hexify-string (or tag "")) t t rpl)) + (replace-match (url-hexify-string (or tag "")) t t rpl))
+ (t (concat rpl tag)))))))) + (t (concat rpl tag))))))))
;;; Storing and inserting links (defun org-link-open (link &optional arg)
"Open a link object LINK.
-- --
cgit v1.1 cgit v1.1

View File

@ -0,0 +1,71 @@
From 6f29ac0393bb0bb70c8122d9f1bda0ae5d8cee24 Mon Sep 17 00:00:00 2001
From: Peter Oliver <git@mavit.org.uk>
Date: Thu, 26 Sep 2024 13:20:06 +0100
Subject: [PATCH] Pong and Tetris are excluded.
---
doc/emacs/ack.texi | 2 +-
doc/emacs/misc.texi | 7 +------
lisp/menu-bar.el | 6 ------
test/src/doc-tests.el | 4 ++--
4 files changed, 4 insertions(+), 15 deletions(-)
diff --git a/doc/emacs/ack.texi b/doc/emacs/ack.texi
index 5ec5cd53fa6..26f174831ca 100644
--- a/doc/emacs/ack.texi
+++ b/doc/emacs/ack.texi
@@ -228,7 +228,7 @@ Acknowledgments
@item
Glynn Clements provided @file{gamegrid.el} and a couple of games that
-use it, Snake and Tetris.
+use it, including Snake.
@item
Andrew Cohen wrote @file{spam-wash.el}, to decode and clean email before
diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi
index 41e37fd094e..38e281bf59c 100644
--- a/doc/emacs/misc.texi
+++ b/doc/emacs/misc.texi
@@ -3248,14 +3248,9 @@ Amusements
nato-region} converts the text in the region to NATO phonetic
alphabet; @kbd{M-x denato-region} converts it back.
-@findex pong
-@cindex Pong game
-@findex tetris
-@cindex Tetris
@findex snake
@cindex Snake
- @kbd{M-x pong}, @kbd{M-x snake} and @kbd{M-x tetris} are
-implementations of the well-known Pong, Snake and Tetris games.
+ @kbd{M-x snake} is an implementation of the well-known Snake game.
@findex solitaire
@cindex solitaire
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index bcfa83cf8e4..1b0a0bce6a5 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -1658,18 +1658,12 @@ menu-bar-games-menu
(bindings--define-key menu [zone]
'(menu-item "Zone Out" zone
:help "Play tricks with Emacs display when Emacs is idle"))
- (bindings--define-key menu [tetris]
- '(menu-item "Tetris" tetris
- :help "Falling blocks game"))
(bindings--define-key menu [solitaire]
'(menu-item "Solitaire" solitaire
:help "Get rid of all the stones"))
(bindings--define-key menu [snake]
'(menu-item "Snake" snake
:help "Move snake around avoiding collisions"))
- (bindings--define-key menu [pong]
- '(menu-item "Pong" pong
- :help "Bounce the ball to your opponent"))
(bindings--define-key menu [mult]
'(menu-item "Multiplication Puzzle" mpuz
:help "Exercise brain with multiplication"))
--
2.46.1

View File

@ -0,0 +1,28 @@
From 9a3b08061feea14d6f37685ca1ab8801758bfd1c Mon Sep 17 00:00:00 2001
From: Xi Lu <lx@shellcodes.org>
Date: Fri, 23 Dec 2022 12:52:48 +0800
Subject: [PATCH] Fix ruby-mode.el local command injection vulnerability
(bug#60268)
* lisp/progmodes/ruby-mode.el
(ruby-find-library-file): Fix local command injection vulnerability.
---
lisp/progmodes/ruby-mode.el | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el
index 1f3e9b6ae7b..a4aa61905e4 100644
--- a/lisp/progmodes/ruby-mode.el
+++ b/lisp/progmodes/ruby-mode.el
@@ -1820,7 +1820,7 @@ ruby-find-library-file
(setq feature-name (read-string "Feature name: " init))))
(let ((out
(substring
- (shell-command-to-string (concat "gem which " feature-name))
+ (shell-command-to-string (concat "gem which " (shell-quote-argument feature-name)))
0 -1)))
(if (string-match-p "\\`ERROR" out)
(user-error "%s" out)
--
2.36.1

View File

@ -0,0 +1,40 @@
From 81969482e23b1c046354d9d860e548259f118b4e Mon Sep 17 00:00:00 2001
From: Glenn Morris <rgm@gnu.org>
Date: Mon, 28 Dec 2020 11:03:30 -0800
Subject: Fix package tests for tetris no longer existing as a package
* test/lisp/emacs-lisp/package-tests.el
(package-test-list-filter-by-name, package-test-list-clear-filter):
Use ansi-color instead of tetris, which no longer has a version:.
---
test/lisp/emacs-lisp/package-tests.el | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/test/lisp/emacs-lisp/package-tests.el b/test/lisp/emacs-lisp/package-tests.el
index 23267545f83..92e593328c6 100644
--- a/test/lisp/emacs-lisp/package-tests.el
+++ b/test/lisp/emacs-lisp/package-tests.el
@@ -405,9 +405,9 @@ Must called from within a `tar-mode' buffer."
"Ensure package list is filtered correctly by package name."
(with-package-test ()
(let ((buf (package-list-packages)))
- (package-menu-filter-by-name "tetris")
+ (package-menu-filter-by-name "ansi-color")
(goto-char (point-min))
- (should (re-search-forward "^\\s-+tetris" nil t))
+ (should (re-search-forward "^\\s-+ansi-color" nil t))
(should (= (count-lines (point-min) (point-max)) 1))
(kill-buffer buf))))
@@ -463,7 +463,7 @@ Must called from within a `tar-mode' buffer."
(let ((buf (package-list-packages)))
(let ((num-packages (count-lines (point-min) (point-max))))
(should (> num-packages 1))
- (package-menu-filter-by-name "tetris")
+ (package-menu-filter-by-name "ansi-color")
(should (= (count-lines (point-min) (point-max)) 1))
(package-menu-clear-filter)
(should (= (count-lines (point-min) (point-max)) num-packages)))
--
cgit v1.2.3

View File

@ -0,0 +1,33 @@
From ccc188fcf98ad9166ee551fac9d94b2603c3a51b Mon Sep 17 00:00:00 2001
From: Ihor Radchenko <yantar92@posteo.net>
Date: Tue, 20 Feb 2024 12:43:51 +0300
Subject: * lisp/files.el (untrusted-content): New variable.
The new variable is to be used when buffer contents comes from untrusted
source.
---
lisp/files.el | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/lisp/files.el b/lisp/files.el
index c0d26b2343c..5536af014f6 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -695,6 +695,14 @@ Also see the `permanently-enabled-local-variables' variable."
Some modes may wish to set this to nil to prevent directory-local
settings being applied, but still respect file-local ones.")
+(defvar-local untrusted-content nil
+ "Non-nil means that current buffer originated from an untrusted source.
+Email clients and some other modes may set this non-nil to mark the
+buffer contents as untrusted.
+
+This variable might be subject to change without notice.")
+(put 'untrusted-content 'permanent-local t)
+
(defcustom trusted-content nil
"List of files and directories whose content we trust.
Be extra careful here since trusting means that Emacs might execute the
--
cgit v1.2.3

View File

@ -4,37 +4,49 @@
Summary: GNU Emacs text editor Summary: GNU Emacs text editor
Name: emacs Name: emacs
Epoch: 1 Epoch: 1
Version: 26.1 Version: 27.2
Release: 15%{?dist} Release: 18%{?dist}
License: GPLv3+ and CC0-1.0 License: GPLv3+ and CC0-1.0
URL: http://www.gnu.org/software/emacs/ URL: http://www.gnu.org/software/emacs/
Group: Applications/Editors
Source0: https://ftp.gnu.org/gnu/emacs/emacs-%{version}.tar.xz Source0: https://ftp.gnu.org/gnu/emacs/emacs-%{version}.tar.xz
Source1: emacs.desktop Source1: https://ftp.gnu.org/gnu/emacs/emacs-%{version}.tar.xz.sig
Source3: dotemacs.el # generate the keyring via:
Source4: site-start.el # wget https://ftp.gnu.org/gnu/gnu-keyring.gpg
Source5: default.el # gpg2 --keyring ./gnu-keyring.gpg --armor --export E6C9029C363AD41D787A8EBB91C1262F01EB8D39 > gpgkey-E6C9029C363AD41D787A8EBB91C1262F01EB8D39.gpg
Source2: gpgkey-E6C9029C363AD41D787A8EBB91C1262F01EB8D39.gpg
Source3: emacs.desktop
Source4: dotemacs.el
Source5: site-start.el
Source6: default.el
# Emacs Terminal Mode, #551949, #617355 # Emacs Terminal Mode, #551949, #617355
Source6: emacs-terminal.desktop Source7: emacs-terminal.desktop
Source7: emacs-terminal.sh Source8: emacs-terminal.sh
Source8: emacs.service Source9: emacs.service
Source9: %{name}.appdata.xml Source10: %{name}.appdata.xml
# rhbz#1810729
Source10: package-keyring.gpg
# rhbz#713600 # rhbz#713600
Patch1: emacs-spellchecker.patch Patch1: emacs-spellchecker.patch
Patch2: emacs-system-crypto-policies.patch Patch2: emacs-system-crypto-policies.patch
Patch3: emacs-ctags-local-command-execute-vulnerability.patch Patch3: emacs-glibc-2.34.patch
Patch4: emacs-mh-rmail-nonempty-dir.patch Patch4: emacs-ctags-local-command-execute-vulnerability.patch
Patch5: emacs-etags-local-command-injection-vulnerability.patch Patch5: emacs-64KB-page-size-for-pdump.patch
Patch6: emacs-htmlfontify-command-injection-vulnerability.patch Patch6: emacs-etags-local-command-injection-vulnerability.patch
Patch7: emacs-ob-latex-command-injection-vulnerability.patch Patch7: emacs-htmlfontify-command-injection-vulnerability.patch
Patch8: emacs-consider-org-file-contents-unsafe.patch Patch8: emacs-ruby-mode-local-command-injection-vulnerability.patch
Patch9: emacs-org-link-expand-abbrev-unsafe-elisp.patch Patch9: emacs-ob-latex-command-injection-vulnerability.patch
Patch10: emacs-mark-contents-untrusted.patch Patch10: emacs-consider-org-file-contents-unsafe.patch
Patch11: emacs-man-el-shell-injection-vulnerability.patch Patch11: emacs-mark-contents-untrusted.patch
Patch12: emacs-CVE-2024-53920.patch Patch12: emacs-latex-preview.patch
Patch13: emacs-org-link-expand-abbrev-unsafe-elisp.patch
Patch14: emacs-man-el-shell-injection-vulnerability.patch
Patch15: emacs-CVE-2024-53920.patch
# Avoid trademark issues
Patch16: emacs-pong-and-tetris-are-excluded.patch
Patch17: emacs-fix-flymake-tests-with-gcc-14.patch
Patch18: emacs-nsm-should-check.patch
Patch19: emacs-tests-for-tetris.patch
Patch20: emacs-untrusted-content.patch
BuildRequires: gcc
BuildRequires: atk-devel BuildRequires: atk-devel
BuildRequires: cairo-devel BuildRequires: cairo-devel
BuildRequires: freetype-devel BuildRequires: freetype-devel
@ -60,26 +72,33 @@ BuildRequires: librsvg2-devel
BuildRequires: m17n-lib-devel BuildRequires: m17n-lib-devel
BuildRequires: libotf-devel BuildRequires: libotf-devel
BuildRequires: libselinux-devel BuildRequires: libselinux-devel
BuildRequires: GConf2-devel
BuildRequires: alsa-lib-devel BuildRequires: alsa-lib-devel
BuildRequires: gpm-devel BuildRequires: gpm-devel
BuildRequires: liblockfile-devel BuildRequires: liblockfile-devel
BuildRequires: libxml2-devel BuildRequires: libxml2-devel
BuildRequires: autoconf
BuildRequires: bzip2 BuildRequires: bzip2
BuildRequires: cairo BuildRequires: cairo
BuildRequires: texinfo BuildRequires: texinfo
BuildRequires: gzip BuildRequires: gzip
BuildRequires: desktop-file-utils BuildRequires: desktop-file-utils
BuildRequires: libacl-devel BuildRequires: libacl-devel
BuildRequires: harfbuzz-devel
BuildRequires: jansson-devel
BuildRequires: systemd-devel
BuildRequires: gtk3-devel BuildRequires: gtk3-devel
BuildRequires: gnupg2
# For lucid # For lucid
BuildRequires: Xaw3d-devel BuildRequires: Xaw3d-devel
%ifarch %{ix86} %ifarch %{ix86}
BuildRequires: util-linux BuildRequires: util-linux
%endif %endif
BuildRequires: make
# Emacs doesn't run without dejavu-sans-mono-fonts, rhbz#732422 # Emacs doesn't run without dejavu-sans-mono-fonts, rhbz#732422
Requires: desktop-file-utils Requires: desktop-file-utils
@ -105,7 +124,6 @@ This package provides an emacs binary with support for X windows.
%package lucid %package lucid
Summary: GNU Emacs text editor with LUCID toolkit X support Summary: GNU Emacs text editor with LUCID toolkit X support
Group: Applications/Editors
Requires(preun): %{_sbindir}/alternatives Requires(preun): %{_sbindir}/alternatives
Requires(posttrans): %{_sbindir}/alternatives Requires(posttrans): %{_sbindir}/alternatives
Requires: emacs-common = %{epoch}:%{version}-%{release} Requires: emacs-common = %{epoch}:%{version}-%{release}
@ -122,7 +140,6 @@ using LUCID toolkit.
%package nox %package nox
Summary: GNU Emacs text editor without X support Summary: GNU Emacs text editor without X support
Group: Applications/Editors
Requires(preun): %{_sbindir}/alternatives Requires(preun): %{_sbindir}/alternatives
Requires(posttrans): %{_sbindir}/alternatives Requires(posttrans): %{_sbindir}/alternatives
Requires: emacs-common = %{epoch}:%{version}-%{release} Requires: emacs-common = %{epoch}:%{version}-%{release}
@ -142,11 +159,8 @@ Summary: Emacs common files
# The entire source code is GPLv3+ except lib-src/etags.c which is # The entire source code is GPLv3+ except lib-src/etags.c which is
# also BSD. Manual (info) is GFDL. # also BSD. Manual (info) is GFDL.
License: GPLv3+ and GFDL and BSD License: GPLv3+ and GFDL and BSD
Group: Applications/Editors
Requires(preun): /sbin/install-info
Requires(preun): %{_sbindir}/alternatives Requires(preun): %{_sbindir}/alternatives
Requires(posttrans): %{_sbindir}/alternatives Requires(posttrans): %{_sbindir}/alternatives
Requires(post): /sbin/install-info
Requires: %{name}-filesystem = %{epoch}:%{version}-%{release} Requires: %{name}-filesystem = %{epoch}:%{version}-%{release}
Provides: %{name}-el = %{epoch}:%{version}-%{release} Provides: %{name}-el = %{epoch}:%{version}-%{release}
Obsoletes: emacs-el < 1:24.3-29 Obsoletes: emacs-el < 1:24.3-29
@ -162,7 +176,6 @@ or emacs-nox.
%package terminal %package terminal
Summary: A desktop menu item for GNU Emacs terminal. Summary: A desktop menu item for GNU Emacs terminal.
Group: Applications/Editors
Requires: emacs = %{epoch}:%{version}-%{release} Requires: emacs = %{epoch}:%{version}-%{release}
BuildArch: noarch BuildArch: noarch
@ -175,44 +188,51 @@ removed when another terminal becomes capable of handling Malayalam.
%package filesystem %package filesystem
Summary: Emacs filesystem layout Summary: Emacs filesystem layout
Group: Applications/Editors
BuildArch: noarch BuildArch: noarch
%description filesystem %description filesystem
This package provides some directories which are required by other This package provides some directories which are required by other
packages that add functionality to Emacs. packages that add functionality to Emacs.
%package devel
Summary: Development header files for Emacs
%description devel
Development header files for Emacs.
%prep %prep
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%setup -q %setup -q
%patch1 -p1 -b .spellchecker %patch -P 1 -p1 -b .spellchecker
%patch2 -p1 -b .system-crypto-policies %patch -P 2 -p1 -b .system-crypto-policies
%patch3 -p1 -b .ctags-local-command-execute-vulnerability %patch -P 3 -p1 -b .glibc2.34
%patch4 -p1 -b .mh-rmail-nonempty-dir.patch %patch -P 4 -p1 -b .ctags-local-command-execute-vulnerability
%patch5 -p1 -b .etags-local-command-injection-vulnerability %patch -P 5 -p1 -b .64KB-page-size-for-pdump
%patch6 -p1 -b .htmlfontify-command-injection-vulnerability %patch -P 6 -p1 -b .etags-local-command-injection-vulnerability
%patch7 -p1 -b .ob-latex-command-injection-vulnerability %patch -P 7 -p1 -b .htmlfontify-command-injection-vulnerability
%patch8 -p1 -b .consider-org-file-contents-unsafe %patch -P 8 -p1 -b .ruby-mode-local-command-injection-vulnerability
%patch9 -p1 -b .org-link-expand-abbrev-unsafe-elisp %patch -P 9 -p1 -b .ob-latex-command-injection-vulnerability
%patch10 -p1 -b .mark-contents-untrusted %patch -P 10 -p1 -b .consider-org-file-contents-unsafe
%patch11 -p1 -b .emacs-man-el-shell-injection-vulnerability %patch -P 11 -p1 -b .mark-contents-untrusted
%patch12 -p1 -b .CVE-2024-53920 %patch -P 12 -p1 -b .latex-preview
%patch -P 13 -p1 -b .org-link-expand-abbrev-unsafe-elisp
%patch -P 14 -p1 -b .man-el-shell-injection-vulnerability
%patch -P 15 -p1 -b .CVE-2024-53920
%patch -P 16 -p1 -b .pong-and-tetris-are-excluded
%patch -P 17 -p1 -b .fix-flymake-tests-with-gcc-14
%patch -P 18 -p1 -b .nsm-should-check
%patch -P 19 -p1 -b .tests-for-tetris
%patch -P 20 -p1 -b .untrusted-content
# Avoid trademark issues
rm lisp/play/pong.el lisp/play/pong.elc \
lisp/play/tetris.el lisp/play/tetris.elc
autoconf autoconf
# We prefer our emacs.desktop file # We prefer our emacs.desktop file
cp %SOURCE1 etc/emacs.desktop cp %SOURCE3 etc/emacs.desktop
# GPG key for GNU ELPA packages backported from Emacs 26.3 (#1810729)
cp %SOURCE10 etc/package-keyring.gpg
grep -v "tetris.elc" lisp/Makefile.in > lisp/Makefile.in.new \
&& mv lisp/Makefile.in.new lisp/Makefile.in
grep -v "pong.elc" lisp/Makefile.in > lisp/Makefile.in.new \
&& mv lisp/Makefile.in.new lisp/Makefile.in
# Avoid trademark issues
rm -f lisp/play/tetris.el lisp/play/tetris.elc
rm -f lisp/play/pong.el lisp/play/pong.el
# Sorted list of info files # Sorted list of info files
%define info_files ada-mode auth autotype bovine calc ccmode cl dbus dired-x ebrowse ede ediff edt efaq-w32 efaq eieio eintr elisp emacs-gnutls emacs-mime emacs epa erc ert eshell eudc eww flymake forms gnus htmlfontify idlwave ido info mairix-el message mh-e newsticker nxml-mode octave-mode org pcl-cvs pgg rcirc reftex remember sasl sc semantic ses sieve smtpmail speedbar srecode todo-mode tramp url vhdl-mode vip viper widget wisent woman %define info_files ada-mode auth autotype bovine calc ccmode cl dbus dired-x ebrowse ede ediff edt efaq-w32 efaq eieio eintr elisp emacs-gnutls emacs-mime emacs epa erc ert eshell eudc eww flymake forms gnus htmlfontify idlwave ido info mairix-el message mh-e newsticker nxml-mode octave-mode org pcl-cvs pgg rcirc reftex remember sasl sc semantic ses sieve smtpmail speedbar srecode todo-mode tramp url vhdl-mode vip viper widget wisent woman
@ -243,8 +263,8 @@ ln -s ../../%{name}/%{version}/etc/NEWS doc
%build %build
export CFLAGS="-DMAIL_USE_LOCKF $RPM_OPT_FLAGS" export CFLAGS="-DMAIL_USE_LOCKF %{build_cflags}"
export LDFLAGS="$LDFLAGS -Wl,-z,relro,-z,now -fpie" %set_build_flags
# Build GTK+ binary # Build GTK+ binary
mkdir build-gtk && cd build-gtk mkdir build-gtk && cd build-gtk
@ -252,9 +272,9 @@ ln -s ../configure .
%configure --with-dbus --with-gif --with-jpeg --with-png --with-rsvg \ %configure --with-dbus --with-gif --with-jpeg --with-png --with-rsvg \
--with-tiff --with-xft --with-xpm --with-x-toolkit=gtk3 --with-gpm=no \ --with-tiff --with-xft --with-xpm --with-x-toolkit=gtk3 --with-gpm=no \
--with-modules --with-modules --with-harfbuzz --with-cairo --with-json
make bootstrap make bootstrap
%{setarch} make %{?_smp_mflags} %{setarch} %make_build
cd .. cd ..
# Build Lucid binary # Build Lucid binary
@ -263,16 +283,16 @@ ln -s ../configure .
%configure --with-dbus --with-gif --with-jpeg --with-png --with-rsvg \ %configure --with-dbus --with-gif --with-jpeg --with-png --with-rsvg \
--with-tiff --with-xft --with-xpm --with-x-toolkit=lucid --with-gpm=no \ --with-tiff --with-xft --with-xpm --with-x-toolkit=lucid --with-gpm=no \
--with-modules --with-modules --with-harfbuzz --with-cairo --with-json
make bootstrap make bootstrap
%{setarch} make %{?_smp_mflags} %{setarch} %make_build
cd .. cd ..
# Build binary without X support # Build binary without X support
mkdir build-nox && cd build-nox mkdir build-nox && cd build-nox
ln -s ../configure . ln -s ../configure .
%configure --with-x=no --with-modules %configure --with-x=no --with-modules --with-json
%{setarch} make %{?_smp_mflags} %{setarch} %make_build
cd .. cd ..
# Remove versioned file so that we end up with .1 suffix and only one DOC file # Remove versioned file so that we end up with .1 suffix and only one DOC file
@ -300,29 +320,37 @@ EOF
%install %install
cd build-gtk cd build-gtk
make install INSTALL="%{__install} -p" DESTDIR=%{buildroot} %make_install
cd .. cd ..
# Let alternatives manage the symlink # Let alternatives manage the symlink
rm %{buildroot}%{_bindir}/emacs rm %{buildroot}%{_bindir}/emacs
touch %{buildroot}%{_bindir}/emacs touch %{buildroot}%{_bindir}/emacs
# Remove emacs.pdmp from common
rm %{buildroot}%{emacs_libexecdir}/emacs.pdmp
# Do not compress the files which implement compression itself (#484830) # Do not compress the files which implement compression itself (#484830)
gunzip %{buildroot}%{_datadir}/emacs/%{version}/lisp/jka-compr.el.gz gunzip %{buildroot}%{_datadir}/emacs/%{version}/lisp/jka-compr.el.gz
gunzip %{buildroot}%{_datadir}/emacs/%{version}/lisp/jka-cmpr-hook.el.gz gunzip %{buildroot}%{_datadir}/emacs/%{version}/lisp/jka-cmpr-hook.el.gz
# Install emacs.pdmp of the emacs with GTK+
install -p -m 0644 build-gtk/src/emacs.pdmp %{buildroot}%{_bindir}/emacs-%{version}.pdmp
# Install the emacs with LUCID toolkit # Install the emacs with LUCID toolkit
install -p -m 0755 build-lucid/src/emacs %{buildroot}%{_bindir}/emacs-%{version}-lucid install -p -m 0755 build-lucid/src/emacs %{buildroot}%{_bindir}/emacs-%{version}-lucid
install -p -m 0644 build-lucid/src/emacs.pdmp %{buildroot}%{_bindir}/emacs-%{version}-lucid.pdmp
# Install the emacs without X # Install the emacs without X
install -p -m 0755 build-nox/src/emacs %{buildroot}%{_bindir}/emacs-%{version}-nox install -p -m 0755 build-nox/src/emacs %{buildroot}%{_bindir}/emacs-%{version}-nox
install -p -m 0644 build-nox/src/emacs.pdmp %{buildroot}%{_bindir}/emacs-%{version}-nox.pdmp
# Make sure movemail isn't setgid # Make sure movemail isn't setgid
chmod 755 %{buildroot}%{emacs_libexecdir}/movemail chmod 755 %{buildroot}%{emacs_libexecdir}/movemail
mkdir -p %{buildroot}%{site_lisp} mkdir -p %{buildroot}%{site_lisp}
install -p -m 0644 %SOURCE4 %{buildroot}%{site_lisp}/site-start.el install -p -m 0644 %SOURCE5 %{buildroot}%{site_lisp}/site-start.el
install -p -m 0644 %SOURCE5 %{buildroot}%{site_lisp} install -p -m 0644 %SOURCE6 %{buildroot}%{site_lisp}
# This solves bz#474958, "update-directory-autoloads" now finally # This solves bz#474958, "update-directory-autoloads" now finally
# works the path is different each version, so we'll generate it here # works the path is different each version, so we'll generate it here
@ -340,7 +368,7 @@ mkdir -p %{buildroot}%{site_lisp}/site-start.d
# Default initialization file # Default initialization file
mkdir -p %{buildroot}%{_sysconfdir}/skel mkdir -p %{buildroot}%{_sysconfdir}/skel
install -p -m 0644 %SOURCE3 %{buildroot}%{_sysconfdir}/skel/.emacs install -p -m 0644 %SOURCE4 %{buildroot}%{_sysconfdir}/skel/.emacs
# Install pkgconfig file # Install pkgconfig file
mkdir -p %{buildroot}/%{pkgconfig} mkdir -p %{buildroot}/%{pkgconfig}
@ -348,30 +376,32 @@ install -p -m 0644 emacs.pc %{buildroot}/%{pkgconfig}
# Install app data # Install app data
mkdir -p %{buildroot}/%{_datadir}/appdata mkdir -p %{buildroot}/%{_datadir}/appdata
cp -a %SOURCE9 %{buildroot}/%{_datadir}/appdata cp -a %SOURCE10 %{buildroot}/%{_datadir}/appdata
# Upstream ships its own appdata file, but it's quite terse.
rm %{buildroot}/%{_datadir}/metainfo/emacs.appdata.xml
# Install rpm macro definition file # Install rpm macro definition file
mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d
install -p -m 0644 macros.emacs %{buildroot}%{_rpmconfigdir}/macros.d/ install -p -m 0644 macros.emacs %{buildroot}%{_rpmconfigdir}/macros.d/
# Installing emacs-terminal binary # Installing emacs-terminal binary
install -p -m 755 %SOURCE7 %{buildroot}%{_bindir}/emacs-terminal install -p -m 755 %SOURCE8 %{buildroot}%{_bindir}/emacs-terminal
# After everything is installed, remove info dir # After everything is installed, remove info dir
rm -f %{buildroot}%{_infodir}/dir rm -f %{buildroot}%{_infodir}/dir
# Installing service file # Installing service file
mkdir -p %{buildroot}%{_userunitdir} mkdir -p %{buildroot}%{_userunitdir}
install -p -m 0644 %SOURCE8 %{buildroot}%{_userunitdir}/emacs.service install -p -m 0644 %SOURCE9 %{buildroot}%{_userunitdir}/emacs.service
# Emacs 26.1 installs the upstream unit file to /usr/lib64 on 64bit archs, we don't want that # Emacs 26.1 installs the upstream unit file to /usr/lib64 on 64bit archs, we don't want that
rm -f %{buildroot}/usr/lib64/systemd/user/emacs.service rm -f %{buildroot}/usr/lib64/systemd/user/emacs.service
# Install desktop files # Install desktop files
mkdir -p %{buildroot}%{_datadir}/applications mkdir -p %{buildroot}%{_datadir}/applications
desktop-file-install --dir=%{buildroot}%{_datadir}/applications \ desktop-file-install --dir=%{buildroot}%{_datadir}/applications \
%SOURCE1 %SOURCE3
desktop-file-install --dir=%{buildroot}%{_datadir}/applications \ desktop-file-install --dir=%{buildroot}%{_datadir}/applications \
%SOURCE6 %SOURCE7
# #
# Create file lists # Create file lists
@ -417,18 +447,8 @@ rm %{buildroot}%{_datadir}/icons/hicolor/scalable/mimetypes/emacs-document23.svg
%{_sbindir}/alternatives --install %{_bindir}/emacs emacs %{_bindir}/emacs-%{version}-nox 70 %{_sbindir}/alternatives --install %{_bindir}/emacs emacs %{_bindir}/emacs-%{version}-nox 70
%{_sbindir}/alternatives --install %{_bindir}/emacs-nox emacs-nox %{_bindir}/emacs-%{version}-nox 60 %{_sbindir}/alternatives --install %{_bindir}/emacs-nox emacs-nox %{_bindir}/emacs-%{version}-nox 60
%post common
for f in %{info_files}; do
/sbin/install-info %{_infodir}/$f.info.gz %{_infodir}/dir 2> /dev/null || :
done
%preun common %preun common
%{_sbindir}/alternatives --remove emacs.etags %{_bindir}/etags.emacs %{_sbindir}/alternatives --remove emacs.etags %{_bindir}/etags.emacs
if [ "$1" = 0 ]; then
for f in %{info_files}; do
/sbin/install-info --delete %{_infodir}/$f.info.gz %{_infodir}/dir 2> /dev/null || :
done
fi
%posttrans common %posttrans common
%{_sbindir}/alternatives --install %{_bindir}/etags emacs.etags %{_bindir}/etags.emacs 80 \ %{_sbindir}/alternatives --install %{_bindir}/etags emacs.etags %{_bindir}/etags.emacs 80 \
@ -436,20 +456,24 @@ fi
%files %files
%{_bindir}/emacs-%{version} %{_bindir}/emacs-%{version}
%{_bindir}/emacs-%{version}.pdmp
%attr(0755,-,-) %ghost %{_bindir}/emacs %attr(0755,-,-) %ghost %{_bindir}/emacs
%{_datadir}/applications/emacs.desktop %{_datadir}/applications/emacs.desktop
%{_datadir}/appdata/%{name}.appdata.xml %{_datadir}/appdata/%{name}.appdata.xml
%{_datadir}/icons/hicolor/*/apps/emacs.png %{_datadir}/icons/hicolor/*/apps/emacs.png
%{_datadir}/icons/hicolor/scalable/apps/emacs.svg %{_datadir}/icons/hicolor/scalable/apps/emacs.svg
%{_datadir}/icons/hicolor/scalable/apps/emacs.ico
%{_datadir}/icons/hicolor/scalable/mimetypes/emacs-document.svg %{_datadir}/icons/hicolor/scalable/mimetypes/emacs-document.svg
%files lucid %files lucid
%{_bindir}/emacs-%{version}-lucid %{_bindir}/emacs-%{version}-lucid
%{_bindir}/emacs-%{version}-lucid.pdmp
%attr(0755,-,-) %ghost %{_bindir}/emacs %attr(0755,-,-) %ghost %{_bindir}/emacs
%attr(0755,-,-) %ghost %{_bindir}/emacs-lucid %attr(0755,-,-) %ghost %{_bindir}/emacs-lucid
%files nox %files nox
%{_bindir}/emacs-%{version}-nox %{_bindir}/emacs-%{version}-nox
%{_bindir}/emacs-%{version}-nox.pdmp
%attr(0755,-,-) %ghost %{_bindir}/emacs %attr(0755,-,-) %ghost %{_bindir}/emacs
%attr(0755,-,-) %ghost %{_bindir}/emacs-nox %attr(0755,-,-) %ghost %{_bindir}/emacs-nox
@ -482,53 +506,127 @@ fi
%dir %{_datadir}/emacs/site-lisp %dir %{_datadir}/emacs/site-lisp
%dir %{_datadir}/emacs/site-lisp/site-start.d %dir %{_datadir}/emacs/site-lisp/site-start.d
%files devel
%{_includedir}/emacs-module.h
%changelog %changelog
* Wed May 21 2025 Jacek Migacz <jmigacz@redhat.com> - 1:26.1-15 * Mon Jun 23 2025 Jacek Migacz <jmigacz@redhat.com> - 1:27.2-18
- Restore definition of variable "enable-dir-local-variables" (RHEL-92830) - Fix nsm-should-check for "google.com" failure (RHEL-94297)
- Fix package tests for tetris no longer existing as a package (RHEL-94297)
- Introduce untrusted-content variable (RHEL-94297)
* Mon May 05 2025 Jacek Migacz <jmigacz@redhat.com> - 1:26.1-14 * Wed Jun 18 2025 Jacek Migacz <jmigacz@redhat.com> - 1:27.2-17
- Fix arbitrary code execution via Lisp macro expansion (RHEL-69394) - Pong and Tetris are excluded (RHEL-94297)
- Fix flymake tests with GCC 14 (RHEL-94297)
* Wed Feb 19 2025 Jacek Migacz <jmigacz@redhat.com> - 1:26.1-13 * Fri May 09 2025 Jacek Migacz <jmigacz@redhat.com> - 1:27.2-16
- Fix man.el shell injection vulnerability (RHEL-79016) - Restore definition of variable "enable-dir-local-variables" (RHEL-92550)
* Fri Aug 23 2024 Jacek Migacz <jmigacz@redhat.com> - 1:26.1-12 * Fri May 09 2025 Jacek Migacz <jmigacz@redhat.com> - 1:27.2-15
- Fix arbitrary code execution via Lisp macro expansion (RHEL-90181)
* Mon Apr 28 2025 Jacek Migacz <jmigacz@redhat.com> - 1:27.2-14
- Fix arbitrary code execution via Lisp macro expansion (RHEL-69399)
* Mon Feb 24 2025 Jacek Migacz <jmigacz@redhat.com> - 1:27.2-13
- Bump release
* Mon Feb 24 2025 Jacek Migacz <jmigacz@redhat.com> - 1:27.2-12
- Eliminate use of obsolete patch syntax (RHEL-80443)
* Wed Feb 19 2025 Jacek Migacz <jmigacz@redhat.com> - 1:27.2-11
- Fix man.el shell injection vulnerability (RHEL-79025)
* Fri Mar 15 2024 Jacek Migacz <jmigacz@redhat.com> - 1:27.2-10
- Disable xwidgets (RHEL-14551)
- org-file-contents: Consider all remote files unsafe (CVE-2024-30205) - org-file-contents: Consider all remote files unsafe (CVE-2024-30205)
- org-link-expand-abbrev: Do not evaluate arbitrary unsafe Elisp code (CVE-2024-39331)
- Make Gnus treats inline MIME contents as untrusted (CVE-2024-30203) - Make Gnus treats inline MIME contents as untrusted (CVE-2024-30203)
- Disable xwidgets (RHEL-14549) - Add protection for LaTeX preview (CVE-2024-30204)
- org-link-expand-abbrev: Do not evaluate arbitrary unsafe Elisp code (CVE-2024-39331)
* Wed Apr 12 2023 Jacek Migacz <jmigacz@redhat.com> - 1:26.1-11 * Sun Apr 2 2023 Jacek Migacz <jmigacz@redhat.com> - 1:27.2-9
- Bump version - Fix etags local command injection vulnerability (#2175190)
- Fix htmlfontify.el command injection vulnerability (#2175179)
- Fix ruby-mode.el local command injection vulnerability (#2175142)
- Fix ob-latex.el command injection vulnerability (#2180590)
* Fri Apr 7 2023 Jacek Migacz <jmigacz@redhat.com> - 1:26.1-10 * Tue Jan 10 2023 Jacek Migacz <jmigacz@redhat.com> - 1:27.2-8
- Fix etags local command injection vulnerability (#2175189) - Use a 64KB page size for pdump (#1979804)
- Fix htmlfontify.el command injection vulnerability (#2175178)
- Fix ob-latex.el command injection vulnerability (#2180587)
* Tue Jan 10 2023 Jacek Migacz <jmigacz@redhat.com> - 1:26.1-9 * Wed Jan 04 2023 Jacek Migacz <jmigacz@redhat.com> - 1:27.2-7
- Fix MH-E mail composition with GNU Mailutils (#1991156) - Fix ctags local command execute vulnerability (#2149387)
* Thu Jan 05 2023 Jacek Migacz <jmigacz@redhat.com> - 1:26.1-8 * Wed Sep 22 2021 Jacek Migacz <jmigacz@redhat.com> - 1:27.2-6
- Fix ctags local command execute vulnerability (#2149386) - Adapt hardening options from _hardened_build macro (#2006856)
* Thu Aug 5 2021 Jacek Migacz <jmigacz@redhat.com> - 1:26.1-7 * Wed Aug 18 2021 Jacek Migacz <jmigacz@redhat.com> - 1:27.2-5
- provide gating.yaml for CI - Provide gating.yaml for CI (#1975151)
* Mon Jul 19 2021 Jacek Migacz <jmigacz@redhat.com> - 1:26.1-6 * Tue Aug 10 2021 Jacek Migacz <jmigacz@redhat.com> - 1:27.2-4
- a new GPG key for GNU ELPA packages (#1810729) - Fix FTBFS with glibc 2.34 (#1975151)
* Mon Sep 10 2018 Jan Synáček <jsynacek@redhat.com> - 1:26.1-5 * Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1:27.2-3
- review annocheck distro flag failures (#1624109) - Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
Related: rhbz#1991688
* Tue Aug 14 2018 Jan Synáček <jsynacek@redhat.com> - 1:26.1-4 * Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 1:27.2-2
- remove ImageMagick dependency (#1564992) - Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Mon Aug 13 2018 Jan Synáček <jsynacek@redhat.com> - 1:26.1-3 * Sat Mar 27 2021 Bhavin Gandhi <bhavin7392@gmail.com> - 1:27.2-1
- emacs-27.2 is available
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:27.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Aug 18 2020 Jan Synáček <jsynacek@redhat.com> - 1:27.1-2
- use make macros (original patch provided by Tom Stellard)
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
* Tue Aug 11 2020 Bhavin Gandhi <bhavin7392@gmail.com> - 1:27.1-1
- emacs-27.1 is available (#1867841)
- Add systemd-devel to support Type=notify in unit file
- Build with Cairo and Jansson support
- Remove ImageMagick dependency as it's no longer used
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:26.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Apr 16 2020 Dan Čermák <dan.cermak@cgc-instruments.com> - 1:26.3-3
- Drop dependency on GConf2
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:26.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Sun Sep 08 2019 Maximiliano Sandoval <msandoval@protonmail.com> - 1:26.3-1
- emacs-26.3 is available (#1747101)
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:26.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Wed Apr 17 2019 Jan Synáček <jsynacek@redhat.com> - 1:26.2-1
- emacs-26.2 is available (#1699434)
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:26.1-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Tue Aug 28 2018 Michael Cronenworth <mike@cchtml.com> - 1:26.1-7
- Rebuild for new ImageMagick 6.9.10
* Mon Aug 13 2018 Jan Synáček <jsynacek@redhat.com> - 1:26.1-6
- remove python dependencies, emacs*.py have not been there for a while - remove python dependencies, emacs*.py have not been there for a while
* Mon Jun 18 2018 Jan Synáček <jsynacek@redhat.com> - 1:26.1-2 * Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1:26.1-5
- remove build dependency on python2 (#1591707) - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Mon Jul 02 2018 Miro Hrončok <mhroncok@redhat.com> - 1:26.1-4
- Rebuilt for Python 3.7
* Tue Jun 26 2018 Jan Synáček <jsynacek@redhat.com> - 1:26.1-3
- Refix: Emacs crashes when loading color fonts (#1519038)
+ emacs SIGABRT after XProtocolError on displaying an email in Gnus (#1591223)
* Tue Jun 19 2018 Miro Hrončok <mhroncok@redhat.com> - 1:26.1-2
- Rebuilt for Python 3.7
* Wed May 30 2018 Jan Synáček <jsynacek@redhat.com> - 1:26.1-1 * Wed May 30 2018 Jan Synáček <jsynacek@redhat.com> - 1:26.1-1
- emacs-26.1 is available (#1583433) - emacs-26.1 is available (#1583433)

View File

@ -1,6 +1,6 @@
--- !Policy --- !Policy
product_versions: product_versions:
- rhel-8 - rhel-9
decision_context: osci_compose_gate decision_context: osci_compose_gate
rules: rules:
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional} - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}

View File

@ -0,0 +1,29 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBF+pf4UBCAC6vjkWLSAsQpe8YIGKLQzNOJx/IjGtCdFF8uzmO5jmME+SD8RO
uJN+t5KXVw58uzu75EFD0vHTY9e+udJ2gkpuy0NnzkFcbumdLLo2ERKCoSctZZRh
zKXI5z5cHxCqW0B2ygHRrRLtoNlGID7bAgcgSViT1ptGqTXO7zGVu4Airok7dNzc
PtHgns8GlR5YAFX0TvE6oGd0l2VPghNeVJKJOjrbfhoDxl3ucFpqbqMH8z9HTLDO
Fpz8UaYYUdJMi3xX6vwTZxI2sM2RRVLUpZyllAkSMI4lln1OOgazM/62DJUs/rKI
HKBnF6h3/qsJUjUYXaAHbrXY26mWllAd536lABEBAAG0I0VsaSBaYXJldHNraWkg
KGVsaXopIDxlbGl6QGdudS5vcmc+iQE4BBMBAgAiBQJfqX+FAhsDBgsJCAcDAgYV
CAIJCgsEFgIDAQIeAQIXgAAKCRCRwSYvAeuNOYUQB/4/iIKKOG45ijNaRoTvmJJZ
Mvj1S07WQxEm7c5SHEeEQbLOAxB9vESOV7sLueuN3oqEndtzyYt4x1WTSBmHFF7h
5fcCMjBs41siOIp5Sj/xD0Bvaa0IKGCRSZ7PAo8Mq3wgajXpTpn9vxE2PmtzA8Kd
EE0K1+f9pVAfOpUIcCl44rIxLUW352XG0y7iz6c/O6LB1deOKMiKFctKO7pBti1d
JEm1ImewLH3H8uTbwspLOs3EB8xhsESxmTidnze68HX2jt+2EeMgCdkiNU+LWbex
QZPfIS7+ZmE06ll0v6+Jy7ZdTkCCRypKWTnW7pIFsq/p4kybV8O/kHSV6B4vvQBf
uQENBF+pf4UBCACvFrdx/m22lgObypSmSS4TNlNvQnMUorrMmp0U32hv5adt6CKX
eMjk05F+GcIfVMrpxqMBn4sEUIXWhhogQJa9ZbWEP/HbS8XjMMbz0Q0Siaty9+DS
spK/9u2GWKsz3uQzLCexIJtzmXvjAVmvoMCAU/F2t038ggygjYLRgyLRNLgbbart
u2dMkvrfxRjheip60S4S3utOcwUf/qdoa1grNannCFluHr/ftXCeeuGB4H8iO0BX
WNby6NZPizxJttx9gdcH8/OmDOJkXyRMTT/3sSem76CSOjfXcz7saJlg680NQhG5
TmuYERjJD4+U02K5RuqTsEnOuWeFy4p+/mslABEBAAGJAR8EGAECAAkFAl+pf4UC
GwwACgkQkcEmLwHrjTno7Af/a1XoLHxAUkS43nmF8iazn3ZnuwWKWLEAsNrxk56y
UxhUPRzNs0/fsABDQR1o0DyTqbScKOcOMSG2YMCctLiDd7FdfMWwkUsV9GUpPBiR
tD60Ewmn9sbNJKrEoZ5L6sqOUEslJRVABu5taOzVIRfeUPPaMRjvCcr0d+epKjW8
1J9Aqj8SskuNkHwvHchTYFYVT22aemjjZ1MGOUm7QiybWQgYL6aSPV2gR+NQQ7pE
hOBoEi6GLEiBkoYOIXvmxsqQLBrUPbsJq8lItYEaw4HGt8BaPxtK2yZ9mSqC2xhW
Yr1j1YAIHffzubC0jxc5znXERsRANoJOwNUXmiddD7UM9A==
=g4R7
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -1,2 +1,2 @@
SHA512 (emacs-26.1.tar.xz) = 537c2cfdd281151b360002419dde6280c313e07a937ed96405c67f754b3401ec5541091a3c0aa6690929bc33dd79e8e0d8844e7a6b014b7798c63cb15de210c2 SHA512 (emacs-27.2.tar.xz) = 0f63a5a8709b113ef790c1a64845dad05ead096f93f62164ff221c517a35b91ea7bced75a992d794981a85382cda03cca7338da2f5ef8f6ef1459b88018a4ce9
SHA512 (package-keyring.gpg) = ca0dfa2edda9a6de5837dd6d754d574b13e007561e8dcc99c178d24f6a5dbb6880edc95db9d6afbea8bdf0b409671657fe22a778003ea0ccf351dce5e4fd429f SHA512 (emacs-27.2.tar.xz.sig) = 60d273c537aed3c996d065374307b043c3a92d803668f6ab770dd6cab6814a32959d8632d2809c7389c4bc51c7a75b13ecd68a9ea9ca11df3bb63281816132c6