diff options
-rw-r--r-- | .gitignore | 5 | ||||
-rw-r--r-- | debian/changelog | 139 | ||||
-rw-r--r-- | debian/control | 44 | ||||
-rw-r--r-- | debian/dirs | 1 | ||||
-rw-r--r-- | debian/emacs-snapshot.sh | 3 | ||||
-rwxr-xr-x | debian/install | 3 | ||||
-rw-r--r-- | debian/links | 1 | ||||
-rwxr-xr-x | debian/merge-snapshot | 37 | ||||
-rwxr-xr-x | debian/postinst | 7 | ||||
-rwxr-xr-x | debian/prerm | 7 | ||||
-rwxr-xr-x | debian/rules | 25 | ||||
-rw-r--r-- | debian/source/format | 1 | ||||
-rw-r--r-- | debian/source/patch-header | 8 | ||||
-rw-r--r-- | lisp/emacs-lisp/package.el | 1 | ||||
-rw-r--r-- | lisp/startup.el | 7 |
15 files changed, 288 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore index 0ecbcd061fb..b35439604fb 100644 --- a/.gitignore +++ b/.gitignore @@ -23,6 +23,11 @@ # in Git 1.8.2 (March 2013). +# Debian packaging +config.guess +config.sub +debian/emacs-snapshot/ + # Personal customization. .dir-locals-2.el diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 00000000000..508c9ff0134 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,139 @@ +emacs-snapshot (29~git20220816.1) unstable; urgency=medium + + * Package git snapshot. + * d/control: update b-d to libgccjit-12-dev for current sid. + + -- Sean Whitton <spwhitton@spwhitton.name> Wed, 17 Aug 2022 15:14:59 -0700 + +emacs-snapshot (29~git20220714.1) unstable; urgency=medium + + * Package git snapshot. + + -- Sean Whitton <spwhitton@spwhitton.name> Mon, 18 Jul 2022 16:18:38 -0700 + +emacs-snapshot (29~git20220630.1) unstable; urgency=medium + + * Package git snapshot. + + -- Sean Whitton <spwhitton@spwhitton.name> Thu, 30 Jun 2022 17:40:17 -0700 + +emacs-snapshot (29~git20220509.1) unstable; urgency=medium + + * Package git snapshot. + + -- Sean Whitton <spwhitton@spwhitton.name> Mon, 09 May 2022 22:05:59 -0700 + +emacs-snapshot (29~git20220505.1) unstable; urgency=medium + + * Package git snapshot. + + -- Sean Whitton <spwhitton@spwhitton.name> Fri, 06 May 2022 17:48:14 -0700 + +emacs-snapshot (29~git20220412.1) unstable; urgency=medium + + * Package git snapshot. + * d/merge-snapshot: use git-merge-base(1) to determine what to merge. + + -- Sean Whitton <spwhitton@spwhitton.name> Wed, 13 Apr 2022 17:53:27 -0700 + +emacs-snapshot (29~git20220317.1) unstable; urgency=medium + + * Package git snapshot. + + -- Sean Whitton <spwhitton@spwhitton.name> Thu, 17 Mar 2022 13:42:54 -0700 + +emacs-snapshot (29~git20220222.1) unstable; urgency=medium + + * Package git snapshot. + + -- Sean Whitton <spwhitton@spwhitton.name> Thu, 24 Feb 2022 13:16:15 -0700 + +emacs-snapshot (29~git20220124.1) unstable; urgency=medium + + * Package git snapshot. + + -- Sean Whitton <spwhitton@spwhitton.name> Mon, 24 Jan 2022 17:29:50 -0700 + +emacs-snapshot (29~git20220116.1) unstable; urgency=medium + + * Package git snapshot. + * Drop temporarily-included org-checklist.el and ol-notmuch.el. + + -- Sean Whitton <spwhitton@spwhitton.name> Sun, 16 Jan 2022 16:08:06 -0700 + +emacs-snapshot (29~git20220113.1) unstable; urgency=medium + + * Package git snapshot. + * d/rules: export NATIVE_FULL_AOT=1 to precompile all .eln files. + + -- Sean Whitton <spwhitton@spwhitton.name> Thu, 13 Jan 2022 15:06:02 -0700 + +emacs-snapshot (29~git20211218.1) unstable; urgency=medium + + * Package git snapshot. + * d/rules: switch --with-x-toolkit=lucid -> --with-pgtk. + * d/control: b-d on libgtk-3-dev. + * d/control: update b-d to libgccjit-11-dev for current sid. + + -- Sean Whitton <spwhitton@spwhitton.name> Sun, 19 Dec 2021 16:19:26 -0700 + +emacs-snapshot (28~git20210819.1) unstable; urgency=medium + + * Package git snapshot. + * d/rules: enable native-comp. + * d/control: b-d on libgccjit-10-dev. + + -- Sean Whitton <spwhitton@spwhitton.name> Sat, 21 Aug 2021 15:36:34 -0700 + +emacs-snapshot (28~git20210208.1) unstable; urgency=medium + + * Package git snapshot. + + -- Sean Whitton <spwhitton@spwhitton.name> Thu, 11 Feb 2021 18:51:35 -0700 + +emacs-snapshot (28~git20210131.1) unstable; urgency=medium + + * Package git snapshot. + + -- Sean Whitton <spwhitton@spwhitton.name> Mon, 01 Feb 2021 17:20:13 -0700 + +emacs-snapshot (28~git20210119.1) unstable; urgency=medium + + * Package git snapshot. + * Temporarily include org-checklist.el and ol-notmuch.el from Org-mode's + 9.4.4 release. + Debian's Org-mode package fails to bytecompile against Emacs 28 atm, + so rely on the version of Org bundled with Emacs, plus these two + contrib files. + + -- Sean Whitton <spwhitton@spwhitton.name> Thu, 21 Jan 2021 18:44:32 -0700 + +emacs-snapshot (28~git20201101.1) unstable; urgency=medium + + * Package git snapshot. + + -- Sean Whitton <spwhitton@spwhitton.name> Sat, 28 Nov 2020 19:13:41 -0700 + +emacs-snapshot (28~git20200906.1) unstable; urgency=medium + + * Package git snapshot. + + -- Sean Whitton <spwhitton@spwhitton.name> Sun, 13 Sep 2020 14:36:27 -0700 + +emacs-snapshot (28~git20200820.1) unstable; urgency=medium + + * Package git snapshot. + + -- Sean Whitton <spwhitton@spwhitton.name> Fri, 21 Aug 2020 15:37:38 -0700 + +emacs-snapshot (28~git20200806.1) unstable; urgency=medium + + * Package git snapshot. + + -- Sean Whitton <spwhitton@spwhitton.name> Thu, 06 Aug 2020 16:35:04 -0700 + +emacs-snapshot (28~git20200726.1) unstable; urgency=medium + + * Package git snapshot. + + -- Sean Whitton <spwhitton@spwhitton.name> Wed, 05 Aug 2020 16:42:49 -0700 diff --git a/debian/control b/debian/control new file mode 100644 index 00000000000..02380cc33f5 --- /dev/null +++ b/debian/control @@ -0,0 +1,44 @@ +Source: emacs-snapshot +Section: editors +Priority: optional +Maintainer: Sean Whitton <spwhitton@spwhitton.name> +Build-Depends: + autoconf, + automake, + bsd-mailx | mailx, + dbus-x11, + debhelper-compat (= 12), + dh-exec, + gnupg-agent, + imagemagick, + libacl1-dev, + libasound2-dev, + libdbus-1-dev, + libgccjit-12-dev, + libgif-dev, + libgnutls28-dev, + libgpm-dev, + libgtk-3-dev, + libjpeg-dev, + liblockfile-dev, + libm17n-dev, + libmagick++-6.q16-dev, + libncurses5-dev, + libotf-dev, + libpng-dev, + librsvg2-dev, + libselinux1-dev, + libsystemd-dev, + libtiff-dev, + libxaw7-dev, + libxml2-dev, + procps, + sharutils, + texinfo, + xaw3dg-dev, + zlib1g-dev, + +Package: emacs-snapshot +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: Emacs git snapshot diff --git a/debian/dirs b/debian/dirs new file mode 100644 index 00000000000..057f2009f6c --- /dev/null +++ b/debian/dirs @@ -0,0 +1 @@ +/usr/share/emacs-snapshot/site-lisp/elpa diff --git a/debian/emacs-snapshot.sh b/debian/emacs-snapshot.sh new file mode 100644 index 00000000000..12c67a4a44a --- /dev/null +++ b/debian/emacs-snapshot.sh @@ -0,0 +1,3 @@ +if [ "`id -u`" -ne 0 ]; then + PATH=/opt/emacs-snapshot/bin:$PATH +fi diff --git a/debian/install b/debian/install new file mode 100755 index 00000000000..f54a4f644b4 --- /dev/null +++ b/debian/install @@ -0,0 +1,3 @@ +#!/usr/bin/dh-exec +debian/emacs-snapshot.sh => /etc/profile.d/emacs-snapshot.sh +debian/emacs-snapshot.sh => /etc/X11/Xsession.d/01emacs-snapshot diff --git a/debian/links b/debian/links new file mode 100644 index 00000000000..12be0815e45 --- /dev/null +++ b/debian/links @@ -0,0 +1 @@ +/opt/emacs-snapshot/bin/emacs /usr/bin/emacs-snapshot diff --git a/debian/merge-snapshot b/debian/merge-snapshot new file mode 100755 index 00000000000..18acea9115e --- /dev/null +++ b/debian/merge-snapshot @@ -0,0 +1,37 @@ +#!/usr/bin/perl + +use 5.028; +use strict; +use warnings; + +use Cwd; +use Git::Wrapper; + +my $git = Git::Wrapper->new(getcwd); + +($git->rev_parse({ abbrev_ref => 1 }, "HEAD"))[0] eq "athena/unstable" + or die "on wrong branch!"; + +my ($to_merge) = $git->merge_base("melete", "origin/master"); + +chomp(my $prev_version = `dpkg-parsechangelog -SVersion`); +chomp(my $prev_distn = `dpkg-parsechangelog -SDistribution`); + +my ($prev_date, $prev_rev) = ($prev_version =~ /git([0-9]+).([0-9]+)/); +my ($new_date) = $git->show("-s", { format => "%ci" }, $to_merge); +$new_date =~ /\A([0-9]{4})-([0-9]{2})-([0-9]{2})/ + or die "couldn't parse new commit committer date"; +$new_date = $1 . $2 . $3; +my $new_rev = $prev_date eq $new_date ? $prev_rev + 1 : 1; + +$git->merge({ + message => + "Merge remote-tracking branch 'origin/master' into athena/unstable" + }, + $to_merge +); + +system "dch", "-v29~git${new_date}.${new_rev}", + $prev_distn eq "UNRELEASED" ? "" : "Package git snapshot."; +$git->add("debian/changelog"); +$git->commit({ message => "changelog" }); diff --git a/debian/postinst b/debian/postinst new file mode 100755 index 00000000000..6e1fde4934b --- /dev/null +++ b/debian/postinst @@ -0,0 +1,7 @@ +#!/bin/sh + +set -e + +/usr/lib/emacsen-common/emacs-install emacs-snapshot + +#DEBHELPER# diff --git a/debian/prerm b/debian/prerm new file mode 100755 index 00000000000..e72305bba57 --- /dev/null +++ b/debian/prerm @@ -0,0 +1,7 @@ +#!/bin/sh + +set -e + +/usr/lib/emacsen-common/emacs-remove emacs-snapshot + +#DEBHELPER# diff --git a/debian/rules b/debian/rules new file mode 100755 index 00000000000..d03b58c15d1 --- /dev/null +++ b/debian/rules @@ -0,0 +1,25 @@ +#!/usr/bin/make -f + +export NATIVE_FULL_AOT = 1 + +%: + dh $@ + +override_dh_update_autotools_config: + cp -a /usr/share/misc/config.guess /usr/share/misc/config.sub . + +override_dh_autoreconf: + ./autogen.sh + +override_dh_auto_configure: + ./configure --prefix=/opt/emacs-snapshot \ + --with-native-compilation --with-pgtk + +override_dh_shlibdeps: + dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info + +# ensure .elc files are newer than their counterparts to prevent +# recursive load errors with jka-compr.el (see #803462) +override_dh_strip_nondeterminism: + +override_dh_auto_test: diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 00000000000..89ae9db8f88 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (native) diff --git a/debian/source/patch-header b/debian/source/patch-header new file mode 100644 index 00000000000..69436f69f1c --- /dev/null +++ b/debian/source/patch-header @@ -0,0 +1,8 @@ +The Debian packaging of emacs-snapshot is maintained in git, using the +merging workflow described in dgit-maint-merge(7). There isn't a +patch queue that can be represented as a quilt series. + +A detailed breakdown of the changes is available from their canonical +representation - git commits in the packaging repository. + +A single combined diff, containing all the changes, follows. diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el index ed23ee5f221..24880a66a05 100644 --- a/lisp/emacs-lisp/package.el +++ b/lisp/emacs-lisp/package.el @@ -312,6 +312,7 @@ packages in `package-directory-list'." (and (stringp f) (equal (file-name-nondirectory f) "site-lisp") (push (expand-file-name "elpa" f) result))) + (push "/usr/share/emacs-snapshot/site-lisp/elpa" result) (nreverse result)) "List of additional directories containing Emacs Lisp packages. Each directory name should be absolute. diff --git a/lisp/startup.el b/lisp/startup.el index b0fbf7a34cd..fe68c0f8a6f 100644 --- a/lisp/startup.el +++ b/lisp/startup.el @@ -1449,7 +1449,12 @@ please check its value") ;; 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 + (when site-run-file + (let ((file "/etc/emacs/site-start.d/00debian.el")) + ;; When the Emacs build invokes Emacs, such as in the + ;; Makefile rule for ${unidir}/emoji-labels.el, 00debian.el + ;; might not exist. Should be fine to just skip the load. + (when (file-readable-p file) (load file))) ;; Sites should not disable the startup screen. ;; Only individuals should disable the startup screen. (let ((inhibit-startup-screen inhibit-startup-screen)) |