From: Rob Browning Date: Sun, 20 Aug 2017 17:35:49 +0000 (-0500) Subject: Update debian/patches for emacs25 to emacs migration X-Git-Tag: archive/raspbian/1%29.2+1-2+rpi1~1^2~212 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=6b5aa52eb6b318713dec03c8eff8eca053c07a1e;p=emacs.git Update debian/patches for emacs25 to emacs migration --- 6b5aa52eb6b318713dec03c8eff8eca053c07a1e diff --cc debian/.git-dpm index a8aa709784a,00000000000..62ab1c9548e mode 100644,000000..100644 --- a/debian/.git-dpm +++ b/debian/.git-dpm @@@ -1,8 -1,0 +1,8 @@@ +# see git-dpm(1) from git-dpm package - 4089d95cb69c449bb92a68b22ebb69cc4e4cb26b - 4089d95cb69c449bb92a68b22ebb69cc4e4cb26b ++e5a30a67a75250547d0676f9f9ede7eff57065a2 ++e5a30a67a75250547d0676f9f9ede7eff57065a2 +09a20fd582947ca08f0e80bc5353ae8abfe1e5ed +09a20fd582947ca08f0e80bc5353ae8abfe1e5ed +emacs_25.2+1.orig.tar.xz +ad6c8e3147a990ee49a3e68196751b9f1763919c +23186732 diff --cc debian/patches/0001-Prefer-usr-share-info-emacs.patch index 00000000000,00000000000..ee3502efbf8 new file mode 100644 --- /dev/null +++ b/debian/patches/0001-Prefer-usr-share-info-emacs.patch @@@ -1,0 -1,0 +1,27 @@@ ++From f395622508301666a356a84e003d987888229804 Mon Sep 17 00:00:00 2001 ++From: Rob Browning ++Date: Sun, 7 Apr 2013 15:03:05 -0500 ++Subject: Prefer /usr/share/info/emacs/ ++ ++Emacs prefers /usr/share/info/emacs to /usr/share/info. ++ ++The value of Info-default-directory-list has been augmented via ++lisp/info.el to include /usr/share/info/emacs before /usr/share/info. ++--- ++ lisp/info.el | 3 ++- ++ 1 file changed, 2 insertions(+), 1 deletion(-) ++ ++diff --git a/lisp/info.el b/lisp/info.el ++index 40b2f90ebd6..0cd9c480a67 100644 ++--- a/lisp/info.el +++++ b/lisp/info.el ++@@ -218,7 +218,8 @@ Info-default-directory-list ++ (nconc standard-info-dirs (list config-dir)) ++ (cons config-dir standard-info-dirs)))) ++ (if (not (eq system-type 'windows-nt)) ++- dirs +++ ;; Debian: add flavor info directory in front +++ (cons "/usr/share/info/emacs" dirs) ++ ;; Include the info directory near where Emacs executable was installed. ++ (let* ((instdir (file-name-directory invocation-directory)) ++ (dir1 (expand-file-name "../info/" instdir)) diff --cc debian/patches/0002-Run-debian-startup-and-set-debian-emacs-flavor.patch index f214bcdb21a,00000000000..e17680ca25f mode 100644,000000..100644 --- a/debian/patches/0002-Run-debian-startup-and-set-debian-emacs-flavor.patch +++ b/debian/patches/0002-Run-debian-startup-and-set-debian-emacs-flavor.patch @@@ -1,56 -1,0 +1,56 @@@ - From ae16c941cd1b1cfae352136af9db2d698f5e4388 Mon Sep 17 00:00:00 2001 ++From 276ba4620041b4d7e2e90d190bbfa7c005885b6f Mon Sep 17 00:00:00 2001 +From: Rob Browning +Date: Mon, 4 Apr 2011 22:46:22 -0500 +Subject: Run debian-startup and set debian-emacs-flavor + +Emacs runs debian-startup and sets debian-emacs-flavor. + +* Emacs runs debian-startup during the startup process unless + site-run-file is false. + - * The global variable debian-emacs-flavor is bound to 'emacs25. ++* The global variable debian-emacs-flavor is bound to 'emacs. + +Author: Rob Browning +--- + lisp/startup.el | 21 +++++++++++++++++++-- + 1 file changed, 19 insertions(+), 2 deletions(-) + +diff --git a/lisp/startup.el b/lisp/startup.el - index 2855e7c31ca..b0df4f59d0c 100644 ++index 2855e7c31ca..79c5119420e 100644 +--- a/lisp/startup.el ++++ b/lisp/startup.el +@@ -438,6 +438,10 @@ tutorial-directory + :type 'directory + :initialize #'custom-initialize-delay) + - +(defconst debian-emacs-flavor 'emacs25 +++(defconst debian-emacs-flavor 'emacs ++ "A symbol representing the particular debian flavor of emacs running. - +Something like 'emacs20, 'xemacs20, etc.") +++Something like 'emacs, 'xemacs21, etc.") ++ + (defun normal-top-level-add-subdirs-to-load-path () + "Recursively add all subdirectories of `default-directory' to `load-path'. + More precisely, this uses only the subdirectories whose names +@@ -1124,8 +1128,21 @@ command-line + ;; be loaded from site-run-file and wants to test if -q was given + ;; should check init-file-user instead, since that is already set. + ;; See cus-edit.el for an example. +- (if site-run-file +- (load site-run-file t t)) ++ ++ ;; Original upstream startup ++ ;; (if site-run-file ++ ;; (load site-run-file t t)) ++ ;; ++ ++ ;; Debian startup ++ (if site-run-file ++ (progn ++ ;; Load all the debian package snippets. ++ ;; It's in here because we want -q to kill it too. ++ (if (load "debian-startup" t t nil) ++ (debian-startup debian-emacs-flavor)) ++ ;; Now the normal site file... ++ (load site-run-file t t))) + + ;; Sites should not disable this. Only individuals should disable + ;; the startup screen. diff --cc debian/patches/0003-Remove-files-that-appear-to-be-incompatible-with-the.patch index 333f53398f0,00000000000..8ed8fbfbfca mode 100644,000000..100644 --- a/debian/patches/0003-Remove-files-that-appear-to-be-incompatible-with-the.patch +++ b/debian/patches/0003-Remove-files-that-appear-to-be-incompatible-with-the.patch @@@ -1,277 -1,0 +1,277 @@@ - From 83f3a4a687c29df447fffc9bf416db64c75c3a0d Mon Sep 17 00:00:00 2001 ++From 53dad1e8f5cd98546a215217b1f6dcd74fe03981 Mon Sep 17 00:00:00 2001 +From: Rob Browning +Date: Mon, 4 Apr 2011 22:46:24 -0500 +Subject: Remove files that appear to be incompatible with the DFSG + +Files that appear to be incompatible with the DFSG have been removed. + +A number of files have been removed from this package because their +licenses are not compatible with the Debian Free Software Guidelines +(DFSG), or because it wasn't completely clear that their licenses are +compatible. + +In particular, all of the files which are covered under the GFDL and +have invariant sections have been removed in accordance with this +General Resolution: http://www.debian.org/vote/2006/vote_001. + +The files that have been removed, but still appear to be +distributable, have been moved to packages in Debian's non-free +section. + +Author: Rob Browning +Added-by: Rob Browning +Status: new +--- + Makefile.in | 44 +++++++++++++++++--------------------------- + admin/update_autogen | 3 +-- + configure.ac | 19 ++++++++----------- + doc/misc/Makefile.in | 44 +++++--------------------------------------- + lisp/help.el | 8 ++++++++ + 5 files changed, 39 insertions(+), 79 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index bba9bb158cc..da42196bd7b 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -161,7 +161,9 @@ man1dir=$(mandir)/man1 + # Where to install and expect the info files describing Emacs. + infodir=@infodir@ + # Info files not in the doc/misc directory (we get those via make echo-info). +-INFO_NONMISC=emacs.info eintr.info elisp.info ++# Debian: moved DFSG incompatible files to emacs*-common-non-dfsg ++# package (see /usr/share/doc/emacs*-common/copyright). ++INFO_NONMISC= + + # If no makeinfo was found and configured --without-makeinfo, "no"; else "yes". + HAVE_MAKEINFO=@HAVE_MAKEINFO@ +@@ -808,8 +810,7 @@ endef + ### normally don't want to recompile. For example, the 'mostlyclean' + ### target for GCC does not delete 'libgcc.a', because recompiling it + ### is rarely necessary and takes a lot of time. +-mostlyclean_dirs = src oldXMenu lwlib lib lib-src nt doc/emacs doc/misc \ +- doc/lispref doc/lispintro ++mostlyclean_dirs = src oldXMenu lwlib lib lib-src nt doc/misc + + $(foreach dir,$(mostlyclean_dirs),$(eval $(call submake_template,$(dir),mostlyclean))) + +@@ -936,11 +937,11 @@ check check-expensive: all + dist: + cd ${srcdir}; ./make-dist + +-DVIS = lispref-dvi lispintro-dvi emacs-dvi misc-dvi +-HTMLS = lispref-html lispintro-html emacs-html misc-html +-INFOS = lispref-info lispintro-info emacs-info misc-info +-PDFS = lispref-pdf lispintro-pdf emacs-pdf misc-pdf +-PSS = lispref-ps lispintro-ps emacs-ps misc-ps ++DVIS = misc-dvi ++HTMLS = misc-html ++INFOS = misc-info ++PDFS = misc-pdf ++PSS = misc-ps + + DOCS = $(DVIS) $(HTMLS) $(INFOS) $(PDFS) $(PSS) + $(DOCS): +@@ -961,9 +962,6 @@ info-dir: ${srcdir}/info/dir + + ## Hopefully doc/misc/*.texi is not too long for some systems? + srcdir_doc_info_dir_inputs = \ +- ${srcdir}/doc/emacs/emacs.texi \ +- ${srcdir}/doc/lispintro/emacs-lisp-intro.texi \ +- ${srcdir}/doc/lispref/elisp.texi \ + $(sort $(wildcard ${srcdir}/doc/misc/*.texi)) + info_dir_inputs = \ + ../build-aux/dir_top \ +@@ -988,14 +986,10 @@ ${srcdir}/info/dir: ${info_dir_deps} + ) >$$tempfile && \ + ${srcdir}/build-aux/move-if-change $${tempfile} ${srcdir}/info/dir + +-INSTALL_DVI = install-emacs-dvi install-lispref-dvi \ +- install-lispintro-dvi install-misc-dvi +-INSTALL_HTML = install-emacs-html install-lispref-html \ +- install-lispintro-html install-misc-html +-INSTALL_PDF = install-emacs-pdf install-lispref-pdf \ +- install-lispintro-pdf install-misc-pdf +-INSTALL_PS = install-emacs-ps install-lispref-ps \ +- install-lispintro-ps install-misc-ps ++INSTALL_DVI = install-misc-dvi ++INSTALL_HTML = install-misc-html ++INSTALL_PDF = install-misc-pdf ++INSTALL_PS = install-misc-ps + INSTALL_DOC = $(INSTALL_DVI) $(INSTALL_HTML) $(INSTALL_PDF) $(INSTALL_PS) + + ## Install non .info forms of the documentation. +@@ -1013,14 +1007,10 @@ install-pdf: $(INSTALL_PDF) + install-ps: $(INSTALL_PS) + + +-UNINSTALL_DVI = uninstall-emacs-dvi uninstall-lispref-dvi \ +- uninstall-lispintro-dvi uninstall-misc-dvi +-UNINSTALL_HTML = uninstall-emacs-html uninstall-lispref-html \ +- uninstall-lispintro-html uninstall-misc-html +-UNINSTALL_PDF = uninstall-emacs-pdf uninstall-lispref-pdf \ +- uninstall-lispintro-pdf uninstall-misc-pdf +-UNINSTALL_PS = uninstall-emacs-ps uninstall-lispref-ps \ +- uninstall-lispintro-ps uninstall-misc-ps ++UNINSTALL_DVI = uninstall-misc-dvi ++UNINSTALL_HTML = uninstall-misc-html ++UNINSTALL_PDF = uninstall-misc-pdf ++UNINSTALL_PS = uninstall-misc-ps + UNINSTALL_DOC = $(UNINSTALL_DVI) $(UNINSTALL_HTML) $(UNINSTALL_PDF) $(UNINSTALL_PS) + + $(UNINSTALL_DOC): +diff --git a/admin/update_autogen b/admin/update_autogen +index 86054aef9fd..5bc8aeafd45 100755 +--- a/admin/update_autogen ++++ b/admin/update_autogen +@@ -269,8 +269,7 @@ info_dir () + $topic + EOF + ## Bit faster than doc/*/*.texi. +- for file in doc/emacs/emacs.texi doc/lispintro/*.texi \ +- doc/lispref/elisp.texi doc/misc/*.texi; do ++ for file in doc/misc/*.texi; do + + ## FIXME do not ignore w32 if OS is w32. + case $file in +diff --git a/configure.ac b/configure.ac +index 5853cbbac85..7278ef64cb6 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -5387,11 +5387,11 @@ dnl This will work, but you get a config.status that is not quite right + dnl (see http://lists.gnu.org/archive/html/bug-autoconf/2008-08/msg00028.html). + dnl That doesn't have any obvious consequences for Emacs, but on the whole + dnl it seems better to just live with the duplication. +-SUBDIR_MAKEFILES="lib/Makefile lib-src/Makefile oldXMenu/Makefile doc/emacs/Makefile doc/misc/Makefile doc/lispintro/Makefile doc/lispref/Makefile src/Makefile lwlib/Makefile lisp/Makefile leim/Makefile nextstep/Makefile nt/Makefile" ++SUBDIR_MAKEFILES="lib/Makefile lib-src/Makefile oldXMenu/Makefile doc/misc/Makefile src/Makefile lwlib/Makefile lisp/Makefile leim/Makefile nextstep/Makefile nt/Makefile" + + AC_CONFIG_FILES([Makefile lib/Makefile lib-src/Makefile oldXMenu/Makefile \ +- doc/emacs/Makefile doc/misc/Makefile doc/lispintro/Makefile \ +- doc/lispref/Makefile src/Makefile lwlib/Makefile lisp/Makefile \ ++ doc/misc/Makefile \ ++ src/Makefile lwlib/Makefile lisp/Makefile \ + leim/Makefile nextstep/Makefile nt/Makefile]) + + dnl test/ is not present in release tarfiles. +@@ -5443,14 +5443,11 @@ if test ! -f src/.gdbinit && test -f "$srcdir/src/.gdbinit"; then + fi + ]) + +-dnl Perhaps this would be better named doc-emacs-emacsver.texi? +-dnl See comments for etc-refcards-emacsver.tex. +-dnl Since we get a doc/emacs directory generated anyway, for the Makefile, +-dnl it is not quite the same. But we are generating in $srcdir. +-AC_CONFIG_COMMANDS([doc/emacs/emacsver.texi], [ +-${MAKE-make} -s --no-print-directory -C doc/emacs doc-emacsver || \ +-AC_MSG_ERROR(['doc/emacs/emacsver.texi' could not be made.]) +-]) ++# This file is normally generated indirectly via ++# doc/emacs/Makefile.in, but since we've removed the other doc/emacs ++# files for the DFSG split, and we don't have any prebuilt info files, ++# generate it directly here. ++AC_CONFIG_FILES([doc/emacs/emacsver.texi]) + + dnl If we give this the more natural name, etc/refcards/emacsver.texi, + dnl then a directory etc/refcards is created in the build directory, +diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in +index 741d56cd207..39d09abeed7 100644 +--- a/doc/misc/Makefile.in ++++ b/doc/misc/Makefile.in +@@ -61,18 +61,14 @@ INSTALL_DATA = @INSTALL_DATA@ + MAKEINFO = @MAKEINFO@ + MAKEINFO_OPTS = --force -I$(emacsdir) + ++# Debian: moved DFSG incompatible files to emacs*-common-non-dfsg ++# package (see /usr/share/doc/emacs*-common/copyright). ++ + ## On MS Windows, efaq-w32; otherwise blank. + DOCMISC_W32 = @DOCMISC_W32@ + + ## Info files to build and install on all platforms. +-INFO_COMMON = ada-mode auth autotype bovine calc ccmode cl \ +- dbus dired-x ebrowse ede ediff edt eieio \ +- emacs-mime epa erc ert eshell eudc efaq eww \ +- flymake forms gnus emacs-gnutls htmlfontify idlwave ido info.info \ +- mairix-el message mh-e newsticker nxml-mode octave-mode \ +- org pcl-cvs pgg rcirc remember reftex sasl \ +- sc semantic ses sieve smtpmail speedbar srecode todo-mode tramp \ +- url vhdl-mode vip viper widget wisent woman ++INFO_COMMON = efaq + + ## Info files to install on current platform. + INFO_INSTALL = $(INFO_COMMON) $(DOCMISC_W32) +@@ -150,9 +146,6 @@ define info_template + $(1): $$(buildinfodir)/$(1).info + endef + +-## "info" is already taken. +-info.info: $(buildinfodir)/info.info +- + $(foreach ifile,$(filter-out info.info,$(INFO_TARGETS)),$(eval $(call info_template,$(ifile)))) + + +@@ -174,20 +167,11 @@ $(foreach ifile,$(filter-out info.info,$(INFO_TARGETS)),$(eval $(call info_templ + + ## Extra dependencies. + +-need_emacsver = calc cl dired-x efaq efaq-w32 erc ido reftex woman ++need_emacsver = efaq efaq-w32 + need_emacsver_prefix = $(addprefix ${buildinfodir}/,${need_emacsver}) + + $(need_emacsver_prefix:=.info) $(need_emacsver:=.dvi) $(need_emacsver:=.pdf) $(need_emacsver:=.html) : ${emacsdir}/emacsver.texi + +-$(buildinfodir)/gnus.info gnus.html: ${srcdir}/gnus-faq.texi +- +-$(buildinfodir)/semantic.info semantic.dvi semantic.pdf semantic.html: ${srcdir}/sem-user.texi +- +- +-## Please can we just rename cc-mode.texi to ccmode.texi... +-${buildinfodir}/ccmode.info: \ +- ${srcdir}/cc-mode.texi ${gfdl} ${style} | ${buildinfodir} +- $(AM_V_GEN)$(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $< + + ## efaq, efaq_w32 do not depend on gfdl. + ## Maybe we can use .SECONDEXPANSION for this. +@@ -203,24 +187,6 @@ efaq%.pdf: ${srcdir}/efaq%.texi + efaq%.html: ${srcdir}/efaq%.texi + $(AM_V_GEN)$(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ $< + +-${buildinfodir}/emacs-mime.info emacs-mime.html: EXTRA_OPTS = --enable-encoding +- +-gnus_deps = ${srcdir}/gnus.texi ${srcdir}/gnus-faq.texi ${gfdl} ${style} +-gnus.dvi: $(gnus_deps) +- sed -e '/@iflatex/,/@end iflatex/d' $< > gnustmpdvi.texi +- $(ENVADD) $(TEXI2DVI) gnustmpdvi.texi +- cp gnustmpdvi.dvi $@ +- rm gnustmpdvi.* +- +-gnus.pdf: $(gnus_deps) +- sed -e '/@iflatex/,/@end iflatex/d' $< > gnustmppdf.texi +- $(ENVADD) $(TEXI2PDF) gnustmppdf.texi +- cp gnustmppdf.pdf $@ +- rm gnustmppdf.* +- +-${buildinfodir}/tramp.info tramp.html: EXTRA_OPTS = -D emacs +-${buildinfodir}/tramp.info tramp.html: ${srcdir}/trampver.texi +- + + .PHONY: mostlyclean clean distclean bootstrap-clean maintainer-clean + +diff --git a/lisp/help.el b/lisp/help.el +index 68e8890ee1b..13a80cfa604 100644 +--- a/lisp/help.el ++++ b/lisp/help.el +@@ -292,6 +292,14 @@ view-help-file + (goto-address-mode 1) + (goto-char (point-min))) + ++(defun debian-expand-file-name-dfsg (filename) ++ "Apply expand-file-name to FILENAME. ++If expand-file-name does not find a file, append `.dfsg' and try again." ++ (let ((file (expand-file-name filename data-directory))) ++ (if (file-exists-p file) ++ file ++ (expand-file-name (concat file ".dfsg") data-directory)))) ++ + (defun describe-distribution () + "Display info on how to obtain the latest version of GNU Emacs." + (interactive) diff --cc debian/patches/0004-Adjust-documentation-references-for-Debian.patch index 02d93adcce9,00000000000..bd3e4ed46f5 mode 100644,000000..100644 --- a/debian/patches/0004-Adjust-documentation-references-for-Debian.patch +++ b/debian/patches/0004-Adjust-documentation-references-for-Debian.patch @@@ -1,29 -1,0 +1,29 @@@ - From e6dd4351ffb417f050de9b77b3621d97374104de Mon Sep 17 00:00:00 2001 ++From f73a994589db30a6b11a77a2a2656d7600ec209f Mon Sep 17 00:00:00 2001 +From: Rob Browning +Date: Mon, 4 Apr 2011 22:46:25 -0500 +Subject: Adjust documentation references for Debian + +Various documentation references have been adjusted for Debian. + +References to /usr/local/... have been changed to /usr/... as +appropriate, etc. +--- + etc/NEWS | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/etc/NEWS b/etc/NEWS +index 539e56e42a0..1d8a47b6549 100644 +--- a/etc/NEWS ++++ b/etc/NEWS +@@ -15,6 +15,11 @@ and NEWS.1-17 for changes 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. + ++ ++* Debian specific changes to Emacs ++ ++Please see /usr/share/doc/emacs25-common/README.Debian.gz. ++ + + * Changes in Emacs 25.2 + diff --cc debian/patches/0005-Modify-the-output-of-version-to-indicate-Debian-modi.patch index 48f94302f9d,00000000000..607f5fc0b8c mode 100644,000000..100644 --- a/debian/patches/0005-Modify-the-output-of-version-to-indicate-Debian-modi.patch +++ b/debian/patches/0005-Modify-the-output-of-version-to-indicate-Debian-modi.patch @@@ -1,28 -1,0 +1,28 @@@ - From e7fd49e3547acb756c6c8036f7055c885da83a68 Mon Sep 17 00:00:00 2001 ++From d33f56378cb4ead76c7c89b6dcde66d4ddbe482c Mon Sep 17 00:00:00 2001 +From: Rob Browning +Date: Mon, 4 Apr 2011 22:46:28 -0500 +Subject: Modify the output of (version) to indicate Debian modifications + +The output of (version) has been modified to indicate Debian modifications. + +Author: Rob Browning +Added-by: Rob Browning +--- + lisp/version.el | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lisp/version.el b/lisp/version.el +index 0e21ab2cad6..518cd4fb850 100644 +--- a/lisp/version.el ++++ b/lisp/version.el +@@ -59,8 +59,8 @@ emacs-version + (interactive "P") + (let ((version-string + (format (if (not (called-interactively-p 'interactive)) +- "GNU Emacs %s (%s%s%s%s)\n of %s" +- "GNU Emacs %s (%s%s%s%s) of %s") ++ "GNU Emacs %s (%s%s%s%s)\n of %s, modified by Debian" ++ "GNU Emacs %s (%s%s%s%s) of %s, modified by Debian") + emacs-version + system-configuration + (cond ((featurep 'motif) diff --cc debian/patches/0006-Don-t-try-to-build-src-macuvs.h-via-IVD_Sequences.tx.patch index 447fe3128f1,00000000000..36cff679ab0 mode 100644,000000..100644 --- a/debian/patches/0006-Don-t-try-to-build-src-macuvs.h-via-IVD_Sequences.tx.patch +++ b/debian/patches/0006-Don-t-try-to-build-src-macuvs.h-via-IVD_Sequences.tx.patch @@@ -1,42 -1,0 +1,42 @@@ - From bc4a4c2ece7a047e0de8191514bdeac7d3c3a0a6 Mon Sep 17 00:00:00 2001 ++From 6676f1cb9a837dc0cdcc3a36588c4e3a43287d0b Mon Sep 17 00:00:00 2001 +From: Rob Browning +Date: Tue, 21 Oct 2014 19:10:17 -0500 +Subject: Don't try to build src/macuvs.h (via IVD_Sequences.txt) + +These are OS X specific, and were removed for now, due to uncertainty +over the licensing. +--- + admin/unidata/Makefile.in | 13 ++----------- + 1 file changed, 2 insertions(+), 11 deletions(-) + +diff --git a/admin/unidata/Makefile.in b/admin/unidata/Makefile.in +index f58303b6d76..408a4cd5a0d 100644 +--- a/admin/unidata/Makefile.in ++++ b/admin/unidata/Makefile.in +@@ -53,16 +53,7 @@ am__v_at_1 = + + .PHONY: all unifiles + +-all: ${top_srcdir}/src/macuvs.h unifiles ${unidir}/charscript.el +- +-## Specify .elc as an order-only prereq so as to not needlessly rebuild +-## target just because the .elc is missing. +-## Same with charprop.el below. +-${top_srcdir}/src/macuvs.h: ${srcdir}/uvs.el ${srcdir}/IVD_Sequences.txt | \ +- ${srcdir}/uvs.elc +- $(AM_V_GEN)${emacs} -L ${srcdir} -l uvs \ +- --eval '(uvs-print-table-ivd (unmsys--file-name "${srcdir}/IVD_Sequences.txt") "Adobe-Japan1")' \ +- > $@ ++all: unifiles ${unidir}/charscript.el + + %.elc: %.el + $(AM_V_ELC)${emacs} -f batch-byte-compile $< +@@ -122,7 +113,7 @@ maintainer-clean: distclean + ## change and it slows down bootstrap (a tiny bit). + ## Cf leim/ja-dic (which is much slower). + extraclean: +- rm -f ${top_srcdir}/src/macuvs.h ${unidir}/charscript.el* ++ rm -f ${unidir}/charscript.el* + ifneq (,$(wildcard $(unidir)/charprop.el)) + cd $(unidir) && \ + rm -f `sed -n 's/^;; FILE: //p' < charprop.el` charprop.el diff --cc debian/patches/0007-Kill-gpg-agent-in-package-test.el-to-avoid-a-race.patch index 06b63b5619a,00000000000..703c886a7b3 mode 100644,000000..100644 --- a/debian/patches/0007-Kill-gpg-agent-in-package-test.el-to-avoid-a-race.patch +++ b/debian/patches/0007-Kill-gpg-agent-in-package-test.el-to-avoid-a-race.patch @@@ -1,41 -1,0 +1,41 @@@ - From 3456bf7e394316db2cde7522f233cf5b2d5dda83 Mon Sep 17 00:00:00 2001 ++From bf56e978684eeebc859fc70983a8805d8210b149 Mon Sep 17 00:00:00 2001 +From: Rob Browning +Date: Mon, 10 Oct 2016 17:35:56 -0500 +Subject: Kill gpg agent in package-test.el to avoid a race + +package-test.el should no longer fail during clean up. + +* Previously a delete-directories call raced with the gpg agent's own + cleanup process (presumably triggered by the first deletion of one of + the agent's sockets). As a result, it looks like the agent might + delete one of its sockets after delete-directories had decided to + delete the socket, but before it made the attempt, causing an + exception. + +* To fix the problem, explicitly ask gpg-connect-agent to kill the agent + before attempting to delete the gnupg home directory, and then delete + via "rm -rf" to ignore any vanishing files. +--- + test/automated/package-test.el | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/test/automated/package-test.el b/test/automated/package-test.el +index 637a94bb330..05272736881 100644 +--- a/test/automated/package-test.el ++++ b/test/automated/package-test.el +@@ -149,7 +149,14 @@ package-test-fake-contents-file + ,@body))) + + (when (file-directory-p package-test-user-dir) +- (delete-directory package-test-user-dir t)) ++ (call-process "gpg-connect-agent" nil nil nil ++ "--homedir" (concat package-test-user-dir "/gnupg") ++ "--no-autostart" ++ "killagent" "/bye") ++ ;; Call "rm -rf" instead of delete-directory so that it won't ++ ;; choke if the gpg-agent sockets disappear during the ++ ;; recursive traversal. ++ (call-process "rm" nil nil nil "-r" package-test-user-dir)) + + (when (and (boundp 'package-test-archive-upload-base) + (file-directory-p package-test-archive-upload-base)) diff --cc debian/patches/0008-Don-t-provide-openssl-s_client-as-an-option-for-ssl-.patch index c891f755d8b,00000000000..c207776243a mode 100644,000000..100644 --- a/debian/patches/0008-Don-t-provide-openssl-s_client-as-an-option-for-ssl-.patch +++ b/debian/patches/0008-Don-t-provide-openssl-s_client-as-an-option-for-ssl-.patch @@@ -1,64 -1,0 +1,64 @@@ - From 47583d9d9a27fe9fa4fe96a932501497dc27af56 Mon Sep 17 00:00:00 2001 ++From 933561a3372d684a5529d460145ca30c6a23802e Mon Sep 17 00:00:00 2001 +From: Rob Browning +Date: Sat, 22 Apr 2017 12:02:00 -0500 +Subject: Don't provide openssl s_client as an option for ssl connections + +openssl s_client is no longer a default for ssl connections + +"s_client is a debug tool, it does not set up a secure connection, it +ignores all errors and just continues. It also doesn't do checks it +should be doing. This is all documented behaviour." -- Kurt Roeckx + +Bug-Debian: https://bugs.debian.org/766397 +--- + lisp/net/tls.el | 15 +++++---------- + 1 file changed, 5 insertions(+), 10 deletions(-) + +diff --git a/lisp/net/tls.el b/lisp/net/tls.el +index 2273d1345d5..91a3f0b5739 100644 +--- a/lisp/net/tls.el ++++ b/lisp/net/tls.el +@@ -78,8 +78,7 @@ tls-end-of-info + + (defcustom tls-program + '("gnutls-cli --x509cafile %t -p %p %h" +- "gnutls-cli --x509cafile %t -p %p %h --protocols ssl3" +- "openssl s_client -connect %h:%p -no_ssl2 -ign_eof") ++ "gnutls-cli --x509cafile %t -p %p %h --protocols ssl3") + "List of strings containing commands to start TLS stream to a host. + Each entry in the list is tried until a connection is successful. + %h is replaced with the server hostname, %p with the port to +@@ -94,20 +93,17 @@ tls-program + '(choice + (const :tag "Default list of commands" + ("gnutls-cli --x509cafile %t -p %p %h" +- "gnutls-cli --x509cafile %t -p %p %h --protocols ssl3" +- "openssl s_client -CAfile %t -connect %h:%p -no_ssl2 -ign_eof")) ++ "gnutls-cli --x509cafile %t -p %p %h --protocols ssl3")) + (list :tag "Choose commands" + :value + ("gnutls-cli --x509cafile %t -p %p %h" +- "gnutls-cli --x509cafile %t -p %p %h --protocols ssl3" +- "openssl s_client -connect %h:%p -no_ssl2 -ign_eof") ++ "gnutls-cli --x509cafile %t -p %p %h --protocols ssl3") + (set :inline t + ;; FIXME: add brief `:tag "..."' descriptions. + ;; (repeat :inline t :tag "Other" (string)) + ;; No trust check: + (const "gnutls-cli --insecure -p %p %h") +- (const "gnutls-cli --insecure -p %p %h --protocols ssl3") +- (const "openssl s_client -connect %h:%p -no_ssl2 -ign_eof")) ++ (const "gnutls-cli --insecure -p %p %h --protocols ssl3")) + (repeat :inline t :tag "Other" (string))) + (list :tag "List of commands" + (repeat :tag "Command" (string)))) +@@ -138,8 +134,7 @@ tls-checktrust + + \(setq tls-program + \\='(\"gnutls-cli --x509cafile /etc/ssl/certs/ca-certificates.crt -p %p %h\" +- \"gnutls-cli --x509cafile /etc/ssl/certs/ca-certificates.crt -p %p %h --protocols ssl3\" +- \"openssl s_client -connect %h:%p -CAfile /etc/ssl/certs/ca-certificates.crt -no_ssl2 -ign_eof\"))" ++ \"gnutls-cli --x509cafile /etc/ssl/certs/ca-certificates.crt -p %p %h --protocols ssl3\"))" + :type '(choice (const :tag "Always" t) + (const :tag "Never" nil) + (const :tag "Ask" ask)) diff --cc debian/patches/0009-A-memory-alignment-problem-causing-m68k-failures-has.patch index 6e68511361d,00000000000..60f2db758c5 mode 100644,000000..100644 --- a/debian/patches/0009-A-memory-alignment-problem-causing-m68k-failures-has.patch +++ b/debian/patches/0009-A-memory-alignment-problem-causing-m68k-failures-has.patch @@@ -1,65 -1,0 +1,65 @@@ - From e0103758d20a59363b6a356e8d50d28cf25616b1 Mon Sep 17 00:00:00 2001 ++From ab4d66e702754caec90d22a751d101cbe51a85ec Mon Sep 17 00:00:00 2001 +From: Andreas Schwab +Date: Tue, 25 Jul 2017 01:12:50 +0200 +Subject: A memory alignment problem causing m68k failures has been fixed + +This patch has been backported from upstream to fix m68k build +failures: + + Properly align global lispsym + + * lib-src/make-docfile.c (close_emacs_globals): Wrap struct + Lisp_Symbols inside struct. + * src/alloc.c (sweep_symbols): Update use of lispsym. + * src/lisp.h (builtin_lisp_symbol): Likewise. + +Origin: backport, commit: 7a4d9f6304cffa39642507609605bcbfa40d4675 +Bug-Debian: http://bugs.debian.org/868868 +Forwarded: not-needed +--- + lib-src/make-docfile.c | 4 +++- + src/alloc.c | 2 +- + src/lisp.h | 2 +- + 3 files changed, 5 insertions(+), 3 deletions(-) + +diff --git a/lib-src/make-docfile.c b/lib-src/make-docfile.c +index 29061b76b26..bd268553248 100644 +--- a/lib-src/make-docfile.c ++++ b/lib-src/make-docfile.c +@@ -667,7 +667,9 @@ close_emacs_globals (ptrdiff_t num_symbols) + "#ifndef DEFINE_SYMBOLS\n" + "extern\n" + "#endif\n" +- "struct Lisp_Symbol alignas (GCALIGNMENT) lispsym[%td];\n"), ++ "struct {\n" ++ " struct Lisp_Symbol alignas (GCALIGNMENT) s;\n" ++ "} lispsym[%td];\n"), + num_symbols); + } + +diff --git a/src/alloc.c b/src/alloc.c +index 68bee7728c0..9a96a425071 100644 +--- a/src/alloc.c ++++ b/src/alloc.c +@@ -6823,7 +6823,7 @@ sweep_symbols (void) + symbol_free_list = NULL; + + for (int i = 0; i < ARRAYELTS (lispsym); i++) +- lispsym[i].gcmarkbit = 0; ++ lispsym[i].s.gcmarkbit = 0; + + for (sblk = symbol_block; sblk; sblk = *sprev) + { +diff --git a/src/lisp.h b/src/lisp.h +index 5aee80cea11..08c40dc3795 100644 +--- a/src/lisp.h ++++ b/src/lisp.h +@@ -1110,7 +1110,7 @@ make_lisp_symbol (struct Lisp_Symbol *sym) + INLINE Lisp_Object + builtin_lisp_symbol (int index) + { +- return make_lisp_symbol (lispsym + index); ++ return make_lisp_symbol (&lispsym[index].s); + } + + #define XSETINT(a, b) ((a) = make_number (b)) diff --cc debian/patches/0010-Don-t-downcase-real-xref-in-elisp-mode-tests.patch index 828e2661c31,00000000000..7164fba8313 mode 100644,000000..100644 --- a/debian/patches/0010-Don-t-downcase-real-xref-in-elisp-mode-tests.patch +++ b/debian/patches/0010-Don-t-downcase-real-xref-in-elisp-mode-tests.patch @@@ -1,44 -1,0 +1,44 @@@ - From dfaa56fe12feedba0be460235a2309a93188509f Mon Sep 17 00:00:00 2001 ++From 73a3fcd5d030f1b42424ab70ede79ea59e0c8e38 Mon Sep 17 00:00:00 2001 +From: Rob Browning +Date: Sat, 29 Jul 2017 11:50:27 -0500 +Subject: Don't downcase real xref in elisp-mode-tests + +The elisp-mode-tests should no longer fail on case sensitive +filesystems when the build path contains uppercase characters. + +Previously the code was downcasing the path for both comparison and +lookups. +--- + test/automated/elisp-mode-tests.el | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/test/automated/elisp-mode-tests.el b/test/automated/elisp-mode-tests.el +index 605f9ca08df..805d9566e32 100644 +--- a/test/automated/elisp-mode-tests.el ++++ b/test/automated/elisp-mode-tests.el +@@ -179,11 +179,15 @@ xref-elisp-test-descr-to-target + (defun xref-elisp-test-run (xrefs expected-xrefs) + (should (= (length xrefs) (length expected-xrefs))) + (while xrefs +- (let* ((xref (pop xrefs)) ++ (let* ((real-xref (pop xrefs)) ++ (xref (clone real-xref)) + (expected (pop expected-xrefs)) + (expected-xref (or (when (consp expected) (car expected)) expected)) + (expected-source (when (consp expected) (cdr expected)))) + ++ (setf (oref xref location) ++ (copy-xref-elisp-location (oref xref location))) ++ + ;; Downcase the filenames for case-insensitive file systems. + (setf (xref-elisp-location-file (oref xref location)) + (downcase (xref-elisp-location-file (oref xref location)))) +@@ -193,7 +197,7 @@ xref-elisp-test-run + + (should (equal xref expected-xref)) + +- (xref--goto-location (xref-item-location xref)) ++ (xref--goto-location (xref-item-location real-xref)) + (back-to-indentation) + (should (looking-at (or expected-source + (xref-elisp-test-descr-to-target expected))))) diff --cc debian/patches/0011-Disable-eieio-test-method-order-list-6.patch index d0b4ae3f068,00000000000..0514ed9b83f mode 100644,000000..100644 --- a/debian/patches/0011-Disable-eieio-test-method-order-list-6.patch +++ b/debian/patches/0011-Disable-eieio-test-method-order-list-6.patch @@@ -1,46 -1,0 +1,46 @@@ - From 8900499027b692994a3b411954850c3672b9d2f6 Mon Sep 17 00:00:00 2001 ++From 9f401bf21707b484aeb2d2f6c1ed2ce41c50f253 Mon Sep 17 00:00:00 2001 +From: Rob Browning +Date: Sun, 30 Jul 2017 21:43:10 -0500 +Subject: Disable eieio-test-method-order-list-6 + +The eieio-test-method-order-list-6 test has been disabled + +Its behavior is currently unpredictable. + +Bug: https://debbugs.gnu.org/27878 +Bug: https://debbugs.gnu.org/cgi/24503#21 +--- + test/automated/eieio-test-methodinvoke.el | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +diff --git a/test/automated/eieio-test-methodinvoke.el b/test/automated/eieio-test-methodinvoke.el +index 09edea461d1..ab3a4444ee0 100644 +--- a/test/automated/eieio-test-methodinvoke.el ++++ b/test/automated/eieio-test-methodinvoke.el +@@ -189,16 +189,16 @@ make-instance + (cl-call-next-method) + ) + +-(ert-deftest eieio-test-method-order-list-6 () +- (let ((eieio-test-method-order-list nil) +- (ans '( +- (:STATIC C) +- (:STATIC C-base1) +- (:STATIC C-base2) +- ))) +- (C nil) +- (setq eieio-test-method-order-list (nreverse eieio-test-method-order-list)) +- (eieio-test-match ans))) ++;; (ert-deftest eieio-test-method-order-list-6 () ++;; (let ((eieio-test-method-order-list nil) ++;; (ans '( ++;; (:STATIC C) ++;; (:STATIC C-base1) ++;; (:STATIC C-base2) ++;; ))) ++;; (C nil) ++;; (setq eieio-test-method-order-list (nreverse eieio-test-method-order-list)) ++;; (eieio-test-match ans))) + + ;;; Diamond Test + ;; diff --cc debian/patches/0012-A-remote-execution-exploit-via-enriched-text-has-bee.patch index 8fb7c920f74,00000000000..91a0e9b096a mode 100644,000000..100644 --- a/debian/patches/0012-A-remote-execution-exploit-via-enriched-text-has-bee.patch +++ b/debian/patches/0012-A-remote-execution-exploit-via-enriched-text-has-bee.patch @@@ -1,89 -1,0 +1,89 @@@ - From 4089d95cb69c449bb92a68b22ebb69cc4e4cb26b Mon Sep 17 00:00:00 2001 ++From e5a30a67a75250547d0676f9f9ede7eff57065a2 Mon Sep 17 00:00:00 2001 +From: Lars Ingebrigtsen +Date: Fri, 8 Sep 2017 20:23:31 -0700 +Subject: A remote execution exploit via enriched text has been blocked + +This upstream patch has been incorporated to fix the problem: + + Remove unsafe enriched mode translations + + * lisp/gnus/mm-view.el (mm-inline-text): + Do not worry about enriched or richtext type. + * lisp/textmodes/enriched.el (enriched-translations): + Remove translations for FUNCTION, display (Bug#28350). + (enriched-handle-display-prop, enriched-decode-display-prop): Remove. + +Origin: backport, commit: 9ad0fcc54442a9a01d41be19880250783426db70) +Bug: https://bugs.gnu.org/28350 +Bug-Debian: http://bugs.debian.org/875447 +Forwarded: not-needed +--- + lisp/gnus/mm-view.el | 4 ---- + lisp/textmodes/enriched.el | 32 -------------------------------- + 2 files changed, 36 deletions(-) + +diff --git a/lisp/gnus/mm-view.el b/lisp/gnus/mm-view.el +index e5859d002cf..77ad271d1da 100644 +--- a/lisp/gnus/mm-view.el ++++ b/lisp/gnus/mm-view.el +@@ -383,10 +383,6 @@ mm-inline-text + (goto-char (point-max)))) + (save-restriction + (narrow-to-region b (point)) +- (when (member type '("enriched" "richtext")) +- (set-text-properties (point-min) (point-max) nil) +- (ignore-errors +- (enriched-decode (point-min) (point-max)))) + (mm-handle-set-undisplayer + handle + `(lambda () +diff --git a/lisp/textmodes/enriched.el b/lisp/textmodes/enriched.el +index beb6c6dda39..a8f0d3891a8 100644 +--- a/lisp/textmodes/enriched.el ++++ b/lisp/textmodes/enriched.el +@@ -117,12 +117,7 @@ enriched-translations + (full "flushboth") + (center "center")) + (PARAMETER (t "param")) ; Argument of preceding annotation +- ;; The following are not part of the standard: +- (FUNCTION (enriched-decode-foreground "x-color") +- (enriched-decode-background "x-bg-color") +- (enriched-decode-display-prop "x-display")) + (read-only (t "x-read-only")) +- (display (nil enriched-handle-display-prop)) + (unknown (nil format-annotate-value)) + ; (font-size (2 "bigger") ; unimplemented + ; (-2 "smaller")) +@@ -477,32 +472,5 @@ enriched-decode-background + (message "Warning: no color specified for ") + nil)) + +-;;; Handling the `display' property. +- +- +-(defun enriched-handle-display-prop (old new) +- "Return a list of annotations for a change in the `display' property. +-OLD is the old value of the property, NEW is the new value. Value +-is a list `(CLOSE OPEN)', where CLOSE is a list of annotations to +-close and OPEN a list of annotations to open. Each of these lists +-has the form `(ANNOTATION PARAM ...)'." +- (let ((annotation "x-display") +- (param (prin1-to-string (or old new)))) +- (if (null old) +- (cons nil (list (list annotation param))) +- (cons (list (list annotation param)) nil)))) +- +-(defun enriched-decode-display-prop (start end &optional param) +- "Decode a `display' property for text between START and END. +-PARAM is a `' found for the property. +-Value is a list `(START END SYMBOL VALUE)' with START and END denoting +-the range of text to assign text property SYMBOL with value VALUE." +- (let ((prop (when (stringp param) +- (condition-case () +- (car (read-from-string param)) +- (error nil))))) +- (unless prop +- (message "Warning: invalid parameter %s" param)) +- (list start end 'display prop))) + + ;;; enriched.el ends here diff --cc debian/patches/series index c5968b80b66,00000000000..7955dddde25 mode 100644,000000..100644 --- a/debian/patches/series +++ b/debian/patches/series @@@ -1,12 -1,0 +1,12 @@@ - 0001-Prefer-usr-share-info-emacs-MAJORVERSION.patch ++0001-Prefer-usr-share-info-emacs.patch +0002-Run-debian-startup-and-set-debian-emacs-flavor.patch +0003-Remove-files-that-appear-to-be-incompatible-with-the.patch +0004-Adjust-documentation-references-for-Debian.patch +0005-Modify-the-output-of-version-to-indicate-Debian-modi.patch +0006-Don-t-try-to-build-src-macuvs.h-via-IVD_Sequences.tx.patch +0007-Kill-gpg-agent-in-package-test.el-to-avoid-a-race.patch +0008-Don-t-provide-openssl-s_client-as-an-option-for-ssl-.patch +0009-A-memory-alignment-problem-causing-m68k-failures-has.patch +0010-Don-t-downcase-real-xref-in-elisp-mode-tests.patch +0011-Disable-eieio-test-method-order-list-6.patch +0012-A-remote-execution-exploit-via-enriched-text-has-bee.patch