summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/.git-dpm8
-rw-r--r--debian/.gitignore16
-rw-r--r--debian/changelog377
-rw-r--r--debian/compat1
-rw-r--r--debian/control34
-rw-r--r--debian/copyright65
-rw-r--r--debian/copyright.in65
-rw-r--r--debian/emacs-common-non-dfsg.README.Debian.in23
-rw-r--r--debian/emacs-common-non-dfsg.lintian-overrides.in4
-rwxr-xr-xdebian/emacs-common-non-dfsg.postinst.gen47
-rw-r--r--debian/emacs-common-non-dfsg.prerm12
-rwxr-xr-xdebian/patch-to-news25
-rw-r--r--debian/patches/0001-Adjust-the-build-system-to-handle-the-DFSG-split.patch67
-rw-r--r--debian/patches/0002-Build-org.info-from-org.org-without-emacs-source-tre.patch45
-rw-r--r--debian/patches/series2
-rwxr-xr-xdebian/rules195
-rw-r--r--debian/source/format1
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)