diff options
-rw-r--r-- | debian/.git-dpm | 8 | ||||
-rw-r--r-- | debian/.gitignore | 16 | ||||
-rw-r--r-- | debian/changelog | 377 | ||||
-rw-r--r-- | debian/compat | 1 | ||||
-rw-r--r-- | debian/control | 34 | ||||
-rw-r--r-- | debian/copyright | 65 | ||||
-rw-r--r-- | debian/copyright.in | 65 | ||||
-rw-r--r-- | debian/emacs-common-non-dfsg.README.Debian.in | 23 | ||||
-rw-r--r-- | debian/emacs-common-non-dfsg.lintian-overrides.in | 4 | ||||
-rwxr-xr-x | debian/emacs-common-non-dfsg.postinst.gen | 47 | ||||
-rw-r--r-- | debian/emacs-common-non-dfsg.prerm | 12 | ||||
-rwxr-xr-x | debian/patch-to-news | 25 | ||||
-rw-r--r-- | debian/patches/0001-Adjust-the-build-system-to-handle-the-DFSG-split.patch | 67 | ||||
-rw-r--r-- | debian/patches/0002-Build-org.info-from-org.org-without-emacs-source-tre.patch | 45 | ||||
-rw-r--r-- | debian/patches/series | 2 | ||||
-rwxr-xr-x | debian/rules | 195 | ||||
-rw-r--r-- | debian/source/format | 1 |
17 files changed, 987 insertions, 0 deletions
diff --git a/debian/.git-dpm b/debian/.git-dpm new file mode 100644 index 00000000000..7c122e50a62 --- /dev/null +++ b/debian/.git-dpm @@ -0,0 +1,8 @@ +# see git-dpm(1) from git-dpm package +007812c956416ed4b1ebf35f83177bab3fbf2d9c +007812c956416ed4b1ebf35f83177bab3fbf2d9c +40c7c384491dc86c532080b63e62ec8a2a1ab6b6 +40c7c384491dc86c532080b63e62ec8a2a1ab6b6 +emacs-non-dfsg_29.2+1.orig.tar.xz +e596ca1984ca72b235c313fcac006ffee71d803c +6290876 diff --git a/debian/.gitignore b/debian/.gitignore new file mode 100644 index 00000000000..08b46282111 --- /dev/null +++ b/debian/.gitignore @@ -0,0 +1,16 @@ +*~ +.\#* +/autogen.sed +/debhelper-build-stamp +/emacs-common-non-dfsg.README.00 +/emacs-common-non-dfsg.README.01 +/emacs-common-non-dfsg +/emacs-common-non-dfsg.README.Debian +/emacs-common-non-dfsg.debhelper.log +/emacs-common-non-dfsg.lintian-overrides +/emacs-common-non-dfsg.postinst +/emacs-common-non-dfsg.prerm +/emacs-common-non-dfsg.substvars +/files +/stamp +\#*\# diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 00000000000..0b616b47cfd --- /dev/null +++ b/debian/changelog @@ -0,0 +1,377 @@ +emacs-non-dfsg (1:29.2+1-1~1.gbp3fa8be) UNRELEASED; urgency=medium + + ** SNAPSHOT build @3fa8beb2a5a65ab4a3c6e2fd1df8092679ff1930 ** + + * UNRELEASED + + -- Sean Whitton <spwhitton@spwhitton.name> Mon, 26 Feb 2024 11:40:32 +0800 + +emacs-non-dfsg (1:29.1+1-1) unstable; urgency=medium + + * Merge upstream version 29.1. + * d/control: Require Emacs 29 for org-texinfo-kbd-macro. + + -- Sean Whitton <spwhitton@spwhitton.name> Tue, 01 Aug 2023 19:17:35 +0100 + +emacs-non-dfsg (1:28.2+1-2) unstable; urgency=medium + + * Set XS-Autobuild on the source package. + + * Drop duplicate Section & Priority from binary package stanza. + + * d/copyright: say "Debian GNU/Linux" not "Debian main". + See Policy 12.5, and Policy upgrading checklist for Policy 3.7.3. + + * d/copyright: Use https in Format field. + + * d/copyright: Fix format of Upstream-Contact field. + + * d/copyright: Fix the names of upstream's release tag and our orig.tar. + Introduce a new substitution variable, DEBORIG_VERSION. + + * Declare compliance with Debian Policy 4.6.1. + + -- Sean Whitton <spwhitton@spwhitton.name> Fri, 14 Oct 2022 14:00:12 -0700 + +emacs-non-dfsg (1:28.2+1-1) unstable; urgency=medium + + * Merge upstream version 28.2. + + * Add myself, Sean Whitton, to Uploaders field. + + -- Sean Whitton <spwhitton@spwhitton.name> Thu, 13 Oct 2022 16:33:47 -0700 + +emacs-non-dfsg (1:28.1+1-1) unstable; urgency=medium + + * Merge upstream version 28.1. + + * Update debian/copyright for 28.1. + + * Build org.info from org.org without emacs source tree. + + * Set the org version in debian/rules to side-step missing org.el. + Emacs 28+ builds org.info from org.org using emacs itself, and reads + the version from org.el. Since we don't have org.el in this package, + manually set the org version in debian/rules for now, and pass it to + the org.info build via DEB_EMACS_BUILD_ORG_DOC_VERSION. + cf. 0736ab81f1be76c373f9bd5b30f06705f3c4cfed + + * Add emacs-nox or emacs (>= 1:28) build dep for org doc generation. + cf. 0736ab81f1be76c373f9bd5b30f06705f3c4cfed + + * debian/rules: clean up intermediate org->info texi files. + + * Add lintian override for GFDL mention in debian/copyright comments. + + * Fix debian/copyright DEP-5 issues noted by lintian. + + * debian/control: remove obsolete autotools-dev build-dep debhelper 10+ + should handle this for us. + + * debian/rules: remove unnecessary dh --parallel argument. Current + debhelper versions should handle this automatically. + + * debian/control: add ${misc:Depends} build dep for debhelper. + + * debian/rules: rely on dpkg pkg-info.mk for src_name and debian_ver. + + -- Rob Browning <rlb@defaultvalue.org> Mon, 12 Sep 2022 14:22:58 -0500 + +emacs-non-dfsg (1:27.1+1-2) unstable; urgency=medium + + * Upload to unstable for bullseye with no changes from the 1:27.1+1-1 + experimental version. Thanks to Francesco Potortì for + the report/reminder. (Closes: 917004) + + -- Rob Browning <rlb@defaultvalue.org> Sun, 21 Feb 2021 14:28:07 -0600 + +emacs-non-dfsg (1:27.1+1-1) experimental; urgency=medium + + * Merge upstream version 27.1. + + * Update debian/copyright for 27.1. + + -- Rob Browning <rlb@defaultvalue.org> Sun, 23 Aug 2020 14:49:18 -0500 + +emacs-non-dfsg (1:26.3+1-1) unstable; urgency=medium + + * Merge upstream version 26.3. + + * Update debian/copyright for 26.3. + + -- Rob Browning <rlb@defaultvalue.org> Mon, 09 Sep 2019 20:37:53 -0500 + +emacs-non-dfsg (1:26.1+1-1) unstable; urgency=medium + + * Merge upstream version 26.1. (Closes: 917004) + + * Update debian/ for 26.1. + + -- Rob Browning <rlb@defaultvalue.org> Wed, 26 Dec 2018 14:56:11 -0600 + +emacs-non-dfsg (1:25.2+1-3) unstable; urgency=medium + + * Move unversioned emacs packages from experimental to unstable. + + -- Rob Browning <rlb@defaultvalue.org> Sun, 29 Jul 2018 12:52:07 -0500 + +emacs-non-dfsg (1:25.2+1-2) experimental; urgency=medium + + * Given retirement, remove Jerome Marant from uploaders. + Thanks to Tobias Frost for the report. (Closes: 869328) + + * Unversion the emacs packages. Remove the major version from all + of the packages. The flexibility provided no longer appears worth + the complexity given the more frequent upstream releases, and + backward-compatability across them. + + * Stop versioning packages; change emacs25 to emacs. + + * Update debian/compat to 10. + + * Simplify generation of README.Debian. + + * Conflict with older versioned packages. Given the dissolution of + the emacs metaflavor and the unversioning of the emacs25 package, + conflict with all previous flavors (as emacsen-common does) so + that we can manage the transition without having worry about + interactions, common files, etc. + + * Add debian epoch to match corresponding emacs package. + + * debian/copyright: change compression extension to xz. + + -- Rob Browning <rlb@defaultvalue.org> Sun, 20 May 2018 11:18:15 -0500 + +emacs25-non-dfsg (25.2+1-1) unstable; urgency=medium + + * Merge upstream version 25.2 + + * Update debian/ for 25.2 + + -- Rob Browning <rlb@defaultvalue.org> Sat, 01 Jul 2017 17:08:22 -0500 + +emacs25-non-dfsg (25.1+1-1) unstable; urgency=medium + + * debian/changelog: change the package name to emacs25-non-dfsg. + + * Merge upstream version 25.1. + + * debian: update control and copyright for 25.1. + + * Bump the Debian alternatives priority to 28 for 25.1. + + * Accommodate 25.1 DFSG content changes. Several files have become + compatible with the DFSG. + + * Generate doc/emacs/emacsver.texi from rules. + + * Convert debian/copyright to 1.0; update for 25.1. Explicitly + mention the unusual debian/rules copyright, which will be + addressed via #826347. + + * Install etc/ files with mode 0644. + + -- Rob Browning <rlb@defaultvalue.org> Mon, 10 Oct 2016 19:04:21 -0500 + +emacs24-non-dfsg (24.5+1-2) unstable; urgency=medium + + * debian/rules: get version via dpkg-parsechangelog. + + * Use debian/autogen.sed to generate debian/ files. Create + debian/autogen.sed and use it to generate the relevant debian/ + files, intead of perl and a make function. That simplifies the + quoting, and makes it easy to see the replacements. + + * debian/rules: if requested, build info in parallel. Set up dummy + targets to allow building the separate top-level info page sets in + parallel (i.e. doc/emacs, doc/lispintro, etc.), and explicitly + specify a -jN to the sub-make based on the DEB_BUILD_OPTIONS + parallel setting. Otherwise there's no parallelism. + + * Let dh_lintian handle the overrides file. + + * Handle info pages via update-alternatives. Install the unmangled + info pages to /usr/share/info/emacs-24/ and register them in + /usr/share/info/ via update-alternatives. See + debian/emacs-common-non-dfsg.README for more information. Thanks + to Norbert Preining for helping evaluate the approach. + + * debian/.gitignore: add debhelper-build-stamp. + + -- Rob Browning <rlb@defaultvalue.org> Sat, 25 Jun 2016 15:26:03 -0500 + +emacs24-non-dfsg (24.5+1-1) unstable; urgency=medium + + * Upgrade to upstream version 24.5 (shift from the bzr->git mirror + to the new official upstream git repository for the source). + + * Update debian/copyright* for 24.5 + + -- Rob Browning <rlb@defaultvalue.org> Wed, 17 Jun 2015 00:00:09 -0500 + +emacs24-non-dfsg (24.4+1-2) unstable; urgency=medium + + * Upload to unstable. + + -- Rob Browning <rlb@defaultvalue.org> Sat, 25 Oct 2014 14:48:45 -0500 + +emacs24-non-dfsg (24.4+1-1) experimental; urgency=medium + + * Upgrade to upstream version 24.4. + + * Update debian/* for 24.4 + + * Fix patch-to-news: notice error; correct path. + + -- Rob Browning <rlb@defaultvalue.org> Fri, 24 Oct 2014 11:37:52 -0500 + +emacs24-non-dfsg (24.3+1-1) unstable; urgency=low + + * Upgrade to upstream version 24.3 and update debian/copyright, + debian/patches, and debian/rules appropriately. + + -- Rob Browning <rlb@defaultvalue.org> Sat, 13 Apr 2013 12:43:18 -0500 + +emacs24-non-dfsg (24.2+1-1) unstable; urgency=low + + * Upgrade to upstream version 24.2 and update debian/patches. + + * Have debian/% depend on debian/rules since it now sets the + upstream_ver. + + * Update debian/rules upstream_ver to 24.2 and run "debian/rules + debian-sync". + + -- Rob Browning <rlb@defaultvalue.org> Sun, 09 Sep 2012 13:12:36 -0500 + +emacs24-non-dfsg (24.1+1-1) unstable; urgency=low + + * Upgrade to upstream version 24.1. + + * Update debian/.gitignore for emacs24. + + * Update debian control, copyright, etc. for emacs24. + + * Update debian control and compat for debhelper 9. + + * Clean up debian/rules, and update it for emacs24. + + -- Rob Browning <rlb@defaultvalue.org> Sun, 24 Jun 2012 21:35:06 -0500 + +emacs23-non-dfsg (23.4+1-1) unstable; urgency=low + + * Upgrade to upstream version 23.4. + + * Update debian/* for Emacs 23.4. + + -- Rob Browning <rlb@defaultvalue.org> Tue, 20 Mar 2012 20:23:53 -0500 + +emacs23-non-dfsg (23.3+1-1) unstable; urgency=low + + * Incorporate new upstream version 23.3. + + * Adjust emacsVER-common.README to accommodate new patch headers. + Add debian/patch-to-news to handle converting new git-dpm style + patch headers to emacsVER-common.README. + + -- Rob Browning <rlb@defaultvalue.org> Sun, 10 Apr 2011 12:21:08 -0500 + +emacs23-non-dfsg (23.2+1-1) unstable; urgency=low + + * New emacs23 packages. + + * Change debian/rules to use "dh $@" approach. + + * Update debian/compat from 4 to 7. + + * Remove debian/emacs-common-non-dfsg.prerm and + debian/emacs-common-non-dfsg.postinst. + + * Update doc/misc/Makefile.in to report INFO_TARGETS for use in rules. + + * Switch to Debian 3.0 (quilt) source format. + + * Add dependency on "dpkg (>= 1.15.4) | install-info". + + * Change debian/copyright.in to refer to GPL-3. + + * Add lintian override for usr/share/emacs/23.2/etc/copying.paper which + is not a license. + + -- Rob Browning <rlb@defaultvalue.org> Tue, 11 May 2010 00:08:54 -0700 + +emacs23-non-dfsg (23.1+1-1) unstable; urgency=low + + * New emacs23 packages. + + * Patches have been removed or adjusted. + + -- Rob Browning <rlb@defaultvalue.org> Sat, 01 Aug 2009 13:19:40 -0700 + +emacs22-non-dfsg (22.3+1-1) unstable; urgency=low + + * New upstream release. + + -- Rob Browning <rlb@defaultvalue.org> Tue, 31 Mar 2009 00:28:02 -0700 + +emacs22-non-dfsg (22.2+2-1) unstable; urgency=low + + * Move mh-e.texi to emacs22-common because the license does appear to be + DFSG compatible. Thanks to Peter S Galbraith + <psg@debian.org>. (closes: #433953) + + * Fix upstream archive name in debian/copyright. + + -- Rob Browning <rlb@defaultvalue.org> Sun, 20 Apr 2008 14:09:57 -0700 + +emacs22-non-dfsg (22.2+1-2) unstable; urgency=low + + * Add Conflicts and Replaces emacs22-common (<< 22.2) to + debian/control.in to handle move of dired-x. Thanks to Sven Joachim + <svenjoac@gmx.de>. (closes: #475519) + + * Use "tail -n +N" rather than "tail +N" in debian/rules. Thanks to + John Zaitseff <J.Zaitseff@zap.org.au>. (closes: #467525) + + * Fix quilt invocation to create README.Debian correctly. + + -- Rob Browning <rlb@defaultvalue.org> Sun, 13 Apr 2008 16:35:04 -0700 + +emacs22-non-dfsg (22.2+1-1) unstable; urgency=low + + * New upstream release. + + * Move dired-x.texi to this package since the license has changed. + + -- Rob Browning <rlb@defaultvalue.org> Thu, 10 Apr 2008 18:57:47 -0700 + +emacs22-non-dfsg (22.1+1-1) unstable; urgency=low + + * New upstream release. [rlb] + + -- Rob Browning <rlb@defaultvalue.org> Fri, 06 Jul 2007 20:41:10 -0700 + +emacs22-non-dfsg (22.0.99+1-1) experimental; urgency=low + + * Update to 22.0.99. + + -- Rob Browning <rlb@defaultvalue.org> Sun, 13 May 2007 11:26:42 -0700 + +emacs22-non-dfsg (22.0.95+1-1) unstable; urgency=low + + * New emacs22 packages. + + -- Rob Browning <rlb@defaultvalue.org> Sun, 15 Apr 2007 16:32:16 -0700 + +emacs21-non-dfsg (21.4a+1-1) unstable; urgency=low + + * New package: in accordance with the recent General Resolution + (http://www.debian.org/vote/2006/vote_001), move all non-DFSG files to + new packages that will be included in Debian's non-free section. + + -- Rob Browning <rlb@defaultvalue.org> Fri, 28 Jul 2006 22:37:16 -0700 + +Local Variables: +coding: utf-8 +End: diff --git a/debian/compat b/debian/compat new file mode 100644 index 00000000000..f599e28b8ab --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +10 diff --git a/debian/control b/debian/control new file mode 100644 index 00000000000..f0be5c26081 --- /dev/null +++ b/debian/control @@ -0,0 +1,34 @@ +Source: emacs-non-dfsg +Section: non-free/editors +Priority: optional +Maintainer: Rob Browning <rlb@defaultvalue.org> +Uploaders: Sean Whitton <spwhitton@spwhitton.name> +Build-Depends: + debhelper (>= 10), + dpkg-dev (>> 1.10.0), + emacs-nox (>= 1:29) | emacs (>= 1:29), + texinfo +Standards-Version: 4.6.1 +XS-Autobuild: yes + +Package: emacs-common-non-dfsg +Architecture: all +Depends: dpkg (>= 1.15.4) | install-info, ${shlibs:Depends}, ${misc:Depends} +Conflicts: + emacs21-common-non-dfsg, + emacs22-common-non-dfsg, + emacs23-common-non-dfsg, + emacs24-common-non-dfsg, + emacs25-common-non-dfsg +Replaces: texinfo-doc-nonfree (<< 6.1.0-1) +Breaks: texinfo-doc-nonfree (<< 6.1.0-1) +Description: GNU Emacs common non-DFSG items, including the core documentation + This package includes the core Emacs documentation: the Emacs Info + pages, the Emacs Lisp Reference Manual, and the Emacs Lisp Intro. + . + GNU Emacs is the extensible self-documenting text editor. This + package contains the architecture independent infrastructure that is + not compliant with the Debian Free Software Guidelines. In + particular, this includes some of the GNU Emacs info pages, as they + are covered under the GFDL, and specify invariant sections. See + http://www.debian.org/vote/2006/vote_001 for more information. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 00000000000..1a1b998d3c1 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,65 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: Emacs +Upstream-Contact: + bug-gnu-emacs@gnu.org + emacs-devel@gnu.org +Source: https://savannah.gnu.org/projects/emacs +Comment: + This package is derived from the main Emacs packages which were + debianized by Rob Browning <rlb@defaultvalue.org> on Tue, 16 Dec 1997 + 00:05:45 -0600. + . + The original source for this package can be found at + git://git.savannah.gnu.org/emacs.git under the + emacs-29.1 tag. That tag was used to create the + Debian upstream archive (emacs-non-dfsg_29.1+1.orig.tar.xz) + after making the adjustments to comply with the DFSG detailed below. + . + Please see /usr/share/doc/emacs-common-non-dfsg/README.Debian for a + description of the Debian specific differences from the upstream + version. + . + This package contains files which have been deemed unsuitable for + Debian GNU/Linux because their licenses do not appear to satisfy the + requirements of the Debian Free Software Guidelines (DFSG). See + http://www.debian.org/social_contract. + . + In particular, some of the info pages included in this package are + covered under the GNU Free Documentation License (GFDL), which Debian + has decided does not satisfy the DFSG in cases where "Invariant + Sections" are specified. See this Debian General Resolution on the + topic: http://www.debian.org/vote/2006/vote_001. + . + Some other files are included here because their license only allows + verbatim copying, or because there was some other question regarding + their license. + . + Please see the files themselves for the relevant Copyright dates. + +Files: * +License: GPL-3+ + On Debian systems, the full text of the GNU General Public License + version 3 can be found in the file /usr/share/common-licenses/GPL-3. + +Files: debian/rules +License: GPL-plus-Ian + This file is licensed under the terms of the Gnu Public License. + With the one additional provision that Ian Jackson's name may not be + removed from the file. + +Files: *.texi +License: GFDL-1.3+ + On Debian systems, the full text of the GNU Free Documentation + License (GFDL) version 1.3, can be found in the file + /usr/share/common-licenses/GFDL-1.3. + +Files: etc/DEVEL.HUMOR +License: none-humor + The Free Software Foundation claims no copyright on this file, + compiled from the public emacs-devel mailing list. + +Files: etc/JOKES +License: none-jokes + The Free Software Foundation claims no copyright on this file, + compiled largely from postings to public newsgroups and mailing + lists, and the GNU project email archives. diff --git a/debian/copyright.in b/debian/copyright.in new file mode 100644 index 00000000000..1eabcbb394e --- /dev/null +++ b/debian/copyright.in @@ -0,0 +1,65 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: Emacs +Upstream-Contact: + bug-gnu-emacs@gnu.org + emacs-devel@gnu.org +Source: https://savannah.gnu.org/projects/emacs +Comment: + This package is derived from the main Emacs packages which were + debianized by Rob Browning <rlb@defaultvalue.org> on Tue, 16 Dec 1997 + 00:05:45 -0600. + . + The original source for this package can be found at + git://git.savannah.gnu.org/emacs.git under the + emacs-@UPSTREAM_VERSION@ tag. That tag was used to create the + Debian upstream archive (emacs-non-dfsg_@DEBORIG_VERSION@.orig.tar.xz) + after making the adjustments to comply with the DFSG detailed below. + . + Please see /usr/share/doc/emacs-common-non-dfsg/README.Debian for a + description of the Debian specific differences from the upstream + version. + . + This package contains files which have been deemed unsuitable for + Debian GNU/Linux because their licenses do not appear to satisfy the + requirements of the Debian Free Software Guidelines (DFSG). See + http://www.debian.org/social_contract. + . + In particular, some of the info pages included in this package are + covered under the GNU Free Documentation License (GFDL), which Debian + has decided does not satisfy the DFSG in cases where "Invariant + Sections" are specified. See this Debian General Resolution on the + topic: http://www.debian.org/vote/2006/vote_001. + . + Some other files are included here because their license only allows + verbatim copying, or because there was some other question regarding + their license. + . + Please see the files themselves for the relevant Copyright dates. + +Files: * +License: GPL-3+ + On Debian systems, the full text of the GNU General Public License + version 3 can be found in the file /usr/share/common-licenses/GPL-3. + +Files: debian/rules +License: GPL-plus-Ian + This file is licensed under the terms of the Gnu Public License. + With the one additional provision that Ian Jackson's name may not be + removed from the file. + +Files: *.texi +License: GFDL-1.3+ + On Debian systems, the full text of the GNU Free Documentation + License (GFDL) version 1.3, can be found in the file + /usr/share/common-licenses/GFDL-1.3. + +Files: etc/DEVEL.HUMOR +License: none-humor + The Free Software Foundation claims no copyright on this file, + compiled from the public emacs-devel mailing list. + +Files: etc/JOKES +License: none-jokes + The Free Software Foundation claims no copyright on this file, + compiled largely from postings to public newsgroups and mailing + lists, and the GNU project email archives. diff --git a/debian/emacs-common-non-dfsg.README.Debian.in b/debian/emacs-common-non-dfsg.README.Debian.in new file mode 100644 index 00000000000..40ab2123d71 --- /dev/null +++ b/debian/emacs-common-non-dfsg.README.Debian.in @@ -0,0 +1,23 @@ +This file details the Debian specific changes to Emacs. + +* Since 24.5+1-1 the info pages have been managed by update-alternatives(1) + +This allows references from either Emacs or the standalone reader to +reach the pages for the currently selected alternative. + +The info files for each version are installed in +/usr/share/info/emacs-N, so you can prefer a particular version's +pages by prepending that directory to your INFOPATH, e.g.: + + INFOPATH=/usr/share/info/emacs info emacs + +This variable also affects Emacs. For example: + + INFOPATH=/usr/share/info/emacs: emacs --eval '(info "emacs")' + +@DEBIAN_NEWS@ + +Local Variables: +mode: outline +outline-regexp: " *\\*+" +End: diff --git a/debian/emacs-common-non-dfsg.lintian-overrides.in b/debian/emacs-common-non-dfsg.lintian-overrides.in new file mode 100644 index 00000000000..61b1da6fcff --- /dev/null +++ b/debian/emacs-common-non-dfsg.lintian-overrides.in @@ -0,0 +1,4 @@ +# We mention the GFDL in the explanation +emacs-common-non-dfsg: copyright-not-using-common-license-for-gfdl +# This is not a license file +emacs-common-non-dfsg: extra-license-file usr/share/emacs/@UPSTREAM_VERSION@/etc/copying.paper diff --git a/debian/emacs-common-non-dfsg.postinst.gen b/debian/emacs-common-non-dfsg.postinst.gen new file mode 100755 index 00000000000..d34b2689d8a --- /dev/null +++ b/debian/emacs-common-non-dfsg.postinst.gen @@ -0,0 +1,47 @@ +#!/bin/bash + +# Expects the full list of uncompressed info files, including emacs.info + +set -ueo pipefail + +if test $# -eq 0; then + echo "No info file names provided" 1>&2 + exit 1 +fi + +cat <<EOF +#!/bin/sh + +set -e + +if [ "\$1" = configure ] ; then + update-alternatives \\ + --install /usr/share/info/emacs.info.gz \\ + emacs.info.gz \\ +EOF +printf -- ' /usr/share/info/%q/emacs.info.gz \\\n' "$DEB_INFO_SUBDIR" +printf -- ' %q \\\n' "$DEB_ALT_PRIORITY" + +first=true +for f in "$@"; do + if [[ $f =~ /emacs.info$ ]]; then + continue + fi + if test $first; then + first='' + echo -ne ' ' + else + echo -ne ' \\\n ' + fi + name="$(basename "$f" .gz)" + printf -- '--slave /usr/share/info/%q.gz %q.gz \\\n' "$name" "$name" + echo -n " " + printf -- ' /usr/share/info/%q/%q.gz' "$DEB_INFO_SUBDIR" "$name" +done + +cat <<EOF + +fi + +#DEBHELPER# +EOF diff --git a/debian/emacs-common-non-dfsg.prerm b/debian/emacs-common-non-dfsg.prerm new file mode 100644 index 00000000000..92389217e3e --- /dev/null +++ b/debian/emacs-common-non-dfsg.prerm @@ -0,0 +1,12 @@ +#! /bin/sh + +set -e + +case "$1" in + remove|deconfigure) + update-alternatives --remove emacs.info.gz \ + /usr/share/info/emacs/emacs.info.gz + ;; +esac + +#DEBHELPER# diff --git a/debian/patch-to-news b/debian/patch-to-news new file mode 100755 index 00000000000..47f5e3fb908 --- /dev/null +++ b/debian/patch-to-news @@ -0,0 +1,25 @@ +#!/bin/bash + +set -eo pipefail + +for patch in "$@"; do + + sed ' + # delete everything after the first line starting with "--- " (the diff) + /^--- [^ ]/,$d' < "$patch" \ +| tac \ +| sed ' + # delete everything up to the first line containing only "---" (the diffstat) + 1,/^---$/d' \ +| tac \ +| sed ' + # delete everything before the first blank line (git summary line) + 1,/^$/d' \ +| sed ' + # convert to our README.Debian NEWS format + 1 s/^/* / + 2,$ s/^/ /' + + echo " Patch: $(basename $patch)" + +done diff --git a/debian/patches/0001-Adjust-the-build-system-to-handle-the-DFSG-split.patch b/debian/patches/0001-Adjust-the-build-system-to-handle-the-DFSG-split.patch new file mode 100644 index 00000000000..41b67be9716 --- /dev/null +++ b/debian/patches/0001-Adjust-the-build-system-to-handle-the-DFSG-split.patch @@ -0,0 +1,67 @@ +From ecd4eeb3cd8350d75264ec7d5d49579e5b687b7a Mon Sep 17 00:00:00 2001 +From: Rob Browning <rlb@defaultvalue.org> +Date: Sat, 9 Apr 2011 20:41:52 -0500 +Subject: Adjust the build system to handle the DFSG split. + +This package contains the Emacs files that do not appear to satisfy +the DFSG. + +Author: Rob Browning <rlb@defaultvalue.org> +Added-by: Rob Browning <rlb@defaultvalue.org> +Status: new +--- + doc/misc/Makefile.in | 20 +++----------------- + 1 file changed, 3 insertions(+), 17 deletions(-) + +diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in +index 2841916dc89..082068c56c8 100644 +--- a/doc/misc/Makefile.in ++++ b/doc/misc/Makefile.in +@@ -68,7 +68,7 @@ DOCMISC_W32 = + + ## Info files to build and install on all platforms. + INFO_COMMON = auth autotype bovine calc ccmode cl dbus dired-x \ +- ebrowse ede ediff edt efaq eglot eieio emacs-gnutls \ ++ ebrowse ede ediff edt eglot eieio emacs-gnutls \ + emacs-mime epa erc ert eshell eudc eww flymake forms gnus \ + htmlfontify idlwave ido info.info mairix-el message mh-e \ + modus-themes newsticker nxml-mode octave-mode org pcl-cvs pgg \ +@@ -82,7 +82,7 @@ INFO_INSTALL = + ## Info files to build on current platform. + ## This is all of them, even though they might not all get installed, + ## because the info files are pre-built in release tarfiles. +-INFO_TARGETS = $(INFO_COMMON) efaq-w32 ++INFO_TARGETS = $(INFO_COMMON) + + ## Some manuals have their source in .org format. + ## This is discouraged because the .texi files it generates +@@ -186,7 +186,7 @@ info.info: + ## Extra dependencies. + + ## FIXME Updating this list manually is unreliable. +-need_emacsver = calc cl dired-x efaq efaq-w32 erc forms ido \ ++need_emacsver = calc cl dired-x erc forms ido \ + newsticker reftex remember use-package woman + need_emacsver_prefix = $(addprefix ${buildinfodir}/,${need_emacsver}) + +@@ -202,20 +202,6 @@ ${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. +-${buildinfodir}/efaq%.info: ${srcdir}/efaq%.texi ${style} | ${buildinfodir} +- $(AM_V_GEN)$(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $< +- +-efaq%.dvi: ${srcdir}/efaq%.texi +- $(ENVADD) $(TEXI2DVI) $< +- +-efaq%.pdf: ${srcdir}/efaq%.texi +- $(ENVADD) $(TEXI2PDF) $< +- +-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} diff --git a/debian/patches/0002-Build-org.info-from-org.org-without-emacs-source-tre.patch b/debian/patches/0002-Build-org.info-from-org.org-without-emacs-source-tre.patch new file mode 100644 index 00000000000..7d24d7eee7d --- /dev/null +++ b/debian/patches/0002-Build-org.info-from-org.org-without-emacs-source-tre.patch @@ -0,0 +1,45 @@ +From 007812c956416ed4b1ebf35f83177bab3fbf2d9c Mon Sep 17 00:00:00 2001 +From: Rob Browning <rlb@defaultvalue.org> +Date: Fri, 15 Jul 2022 14:45:11 -0500 +Subject: Build org.info from org.org without emacs source tree + +--- + doc/misc/Makefile.in | 4 ++-- + doc/misc/org-setup.org | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in +index 082068c56c8..bf4c369894e 100644 +--- a/doc/misc/Makefile.in ++++ b/doc/misc/Makefile.in +@@ -225,7 +225,7 @@ abs_top_builddir = + # Prevent any settings in the user environment causing problems. + unexport EMACSDATA EMACSDOC EMACSLOADPATH EMACSPATH + +-EMACS = ${abs_top_builddir}/src/emacs ++EMACS = /usr/bin/emacs + emacs = "${EMACS}" -batch --no-site-file --no-site-lisp --eval '(setq load-prefer-newer t)' + + # Generated .texi files go in srcdir so they can be included in the +@@ -233,7 +233,7 @@ emacs = + # Work in srcdir (and use abs_top_builddir) so that +setupfile and + # things like org-setup's "version" macro work. Sigh. + define org_template +- $(1:.org=.texi): $(1) ${top_srcdir}/lisp/org/ox-texinfo.el ++ $(1:.org=.texi): $(1) + $${AM_V_GEN}cd "$${srcdir}" && $${emacs} -l ox-texinfo \ + --eval '(setq gc-cons-threshold 50000000)' \ + -f org-texinfo-export-to-texinfo-batch $$(notdir $$<) $$(notdir $$@) +diff --git a/doc/misc/org-setup.org b/doc/misc/org-setup.org +index 50fdd57bd8a..92f0d31da3f 100644 +--- a/doc/misc/org-setup.org ++++ b/doc/misc/org-setup.org +@@ -45,7 +45,7 @@ + # returns major.minor version number. This is sufficient since bugfix + # releases are not expected to add features and therefore imply manual + # modifications. +-#+macro: version (eval (with-current-buffer (find-file-noselect "../../lisp/org/org.el") (org-with-point-at 1 (if (re-search-forward "Version: +\\([0-9.]+\\)" nil t) (mapconcat #'identity (cl-subseq (split-string (match-string-no-properties 1) "\\.") 0 2) ".") (error "Missing \"Version\" keyword in \"org.el\""))))) ++#+macro: version (eval (let ((v (getenv "DEB_EMACS_BUILD_ORG_DOC_VERSION"))) (if v v (error "DEB_EMACS_BUILD_ORG_DOC_VERSION is unset")))) + + # The "kbd" macro turns KBD into @kbd{KBD}. Additionally, it + # encloses case-sensitive special keys (SPC, RET...) within @key{...}. diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 00000000000..731d8fdfef9 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,2 @@ +0001-Adjust-the-build-system-to-handle-the-DFSG-split.patch +0002-Build-org.info-from-org.org-without-emacs-source-tre.patch diff --git a/debian/rules b/debian/rules new file mode 100755 index 00000000000..005a6f64c8f --- /dev/null +++ b/debian/rules @@ -0,0 +1,195 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +# This file is licensed under the terms of the Gnu Public License. +# With the one additional provision that Ian Jackson's name may not be +# removed from the file. + +# Copyright 1994,1995 Ian Jackson +# Copyright 2004-2005 Jérôme Marant <jerome@debian.org> +# Copyright 1998-2018 Rob Browning <rlb@defaultvalue.org> + +# Originally copied from the GNU Hello Debian rules file (1.3). +# Modified for emacs by Mark Eichin <eichin@kitten.gen.ma.us>. +# Debhelper support added via one of Joey Hess' example files. +# See the debian/changelog for further historical information. + +include /usr/share/dpkg/pkg-info.mk + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +SHELL := /bin/bash +pf := set -o pipefail + +# Emacs 28+ reads the version from org.el, which we don't have. +org_version := 9.5 + +# Must match emacs24{,-lucid,-nox} packages +bin_priority := 28 + +# For now we assume that emacs' versioning scheme is always +# MAJOR.MINORtinyrev where MAJOR and MINOR are integers and tinyrev is +# an optional lowercase letter (or letters). We also assume that +# upstream uses a numbering scheme that sorts in a "Debian friendly" +# way. So far that's always been true. If it becomes false, some of +# the values below will have to be set manually. + +# From /usr/share/dpkg/pkg-info.mk +src_name := $(DEB_SOURCE) +debian_ver := $(DEB_VERSION) + +major_ver := $(shell echo $(debian_ver) | sed 's/\..*//') + +# Everything before the last '-' (21.3, 21.3a, 21.3+1, etc.) +debsrc_ver := $(shell echo $(debian_ver) | sed 's/-[^-]\+$$//') + +# Everything before the last '-' minus epoch +deborig_ver := $(shell echo $(debsrc_ver) | sed 's/^[0-9]\+://') + +# Everything before the last '+' (21.2, 21.3a, etc.) minus epoch +upstream_ver := $(shell echo $(deborig_ver) | sed 's/+[^+]\+$$//') + +# 20.5, not 20.5a (used in load-path, etc.) +runtime_ver := $(shell echo $(upstream_ver) | sed 's/[^0-9]\+$$//') + +# These files must always exist, i.e. can't ever be cleaned. +persistent_autogen_install_files := debian/copyright + +transient_autogen_install_files := \ + debian/emacs-common-non-dfsg.README.Debian \ + debian/emacs-common-non-dfsg.lintian-overrides + +autogen_install_files := \ + $(persistent_autogen_install_files) $(transient_autogen_install_files) + +autogen_installdeb_files := debian/emacs-common-non-dfsg.postinst + +pkgdir_common := $(CURDIR)/debian/emacs-common-non-dfsg + +etc_dir := /usr/share/emacs/$(runtime_ver)/etc +etc_files := DEVEL.HUMOR JOKES + +deb_patches := $(addprefix debian/patches/,$(shell cat debian/patches/series)) + +%: + dh $@ + +# For now, assumes there are no "|" characters in the expansions. +debian/autogen.sed: debian/rules debian/changelog + echo 's|@MAJOR_VERSION@|$(major_ver)|g' >> '$@.tmp' + echo 's|@PACKAGE_VERSION@|$(debian_ver)|g' >> '$@.tmp' + echo 's|@UPSTREAM_VERSION@|$(upstream_ver)|g' >> '$@.tmp' + echo 's|@DEBSRC_VERSION@|$(debsrc_ver)|g' >> '$@.tmp' + echo 's|@DEBORIG_VERSION@|$(deborig_ver)|g' >> '$@.tmp' + mv '$@.tmp' '$@' + +.PHONY: debian-sync +debian-sync: $(persistent_autogen_install_files) + # so dh pattern rule doesn't try to handle this target + true + +debian/emacs-common-non-dfsg.README.Debian: \ + debian/emacs-common-non-dfsg.README.Debian.in \ + debian/patches/*.patch $(deb_patches) \ + debian/rules debian/patch-to-news + perl -p \ + -e 's|^\@DEBIAN_NEWS\@\n|`debian/patch-to-news $(deb_patches)`|e' \ + debian/emacs-common-non-dfsg.README.Debian.in > "$@.tmp" + mv "$@.tmp" "$@" + +debian/%: debian/%.in debian/autogen.sed + sed -f debian/autogen.sed "$<" > "$@.tmp" + mv "$@.tmp" "$@" + +debian/emacs-common-non-dfsg.postinst: + shopt -s nullglob; \ + DEB_ALT_PRIORITY='$(bin_priority)' \ + DEB_INFO_SUBDIR=emacs \ + debian/emacs-common-non-dfsg.postinst.gen \ + info/*.info info/*.info-[0-9] info/*.info-[0-9][0-9] \ + > '$@.tmp' + mv '$@.tmp' '$@' + +doc/%/Makefile: doc/%/Makefile.in debian/rules + sed \ + -e "s|@top_srcdir@|$(CURDIR)|g" \ + -e "s|@SHELL@|/bin/bash|g" \ + -e "s|@srcdir@|.|g" \ + -e "s|@MAKEINFO@|makeinfo|g" \ + -e "s|@MKDIR_P@|mkdir -p|g" \ + -e "s|@INFO_OPTS@|--no-split|g" \ + -e "s|@INFO_EXT@|.info|g" "$<" > "$@.tmp" + mv "$@.tmp" "$@" + +doc/emacs/emacsver.texi: doc/emacs/emacsver.texi.in + sed -e 's|@version@|$(upstream_ver)|g' "$^" > "$@" + +doc_makefiles := \ + doc/emacs/Makefile \ + doc/lispintro/Makefile \ + doc/lispref/Makefile \ + doc/misc/Makefile + +override_dh_auto_configure: $(doc_makefiles) doc/emacs/emacsver.texi + +# This target just supports parallel builds +.PHONY: debian/stamp/doc-% +debian/stamp/doc-%: $(doc_makefiles) + $(MAKE) -C $(dir $(patsubst debian/stamp/doc-%,%,$@)) + +# Only needed because parallel seems to be disabled in auto_build otherwise +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + parallel := $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) +else + parallel := 1 +endif + +override_dh_auto_build: $(doc_makefiles) + rm -rf info && install -d info + DEB_EMACS_BUILD_ORG_DOC_VERSION=$(org_version) \ + $(MAKE) -j$(parallel) \ + -f debian/rules $(foreach m,$(doc_makefiles),debian/stamp/doc-$(m)) + +override_dh_auto_install: ; true + +pkg_infodir := $(pkgdir_common)/usr/share/info/emacs + +override_dh_install: $(autogen_install_files) + install -d $(pkg_infodir) + test -e info/emacs.info + shopt -s nullglob; \ + cp -a info/*.info info/*.info-[0-9] info/*.info-[0-9][0-9] \ + $(pkg_infodir) + install -d $(pkgdir_common)/$(etc_dir) + install --mode 0644 $(addprefix etc/,$(etc_files)) \ + $(pkgdir_common)/$(etc_dir) + dh_install + +override_dh_testdir: + dh_testdir \ + debian/emacs-common-non-dfsg.README.Debian.in \ + doc/emacs/emacs.texi + +override_dh_clean: $(persistent_autogen_install_files) + rm -f \ + doc/emacs/emacsver.texi \ + doc/misc/modus-themes.texi \ + doc/misc/org.texi + rm -rf \ + debian/*.tmp \ + doc/emacs/Makefile \ + doc/lispintro/Makefile \ + doc/lispref/Makefile \ + doc/misc/Makefile \ + info \ + debian/stamp + rm -f \ + $(autogen_installdeb_files) \ + $(doc_makefiles) \ + $(transient_autogen_install_files) \ + debian/autogen.sed + dh_clean + +override_dh_installdeb: $(autogen_installdeb_files) + dh_installdeb diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 00000000000..163aaf8d82b --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) |