* convert debian packaging to dh-elpa
@ 2016-11-11 11:46 David Bremner
2016-11-11 11:46 ` [PATCH 1/3] emacs: generate notmuch-pkg.el David Bremner
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: David Bremner @ 2016-11-11 11:46 UTC (permalink / raw)
To: notmuch
The main part which needs sanity checking is
[PATCH 1/3] emacs: generate notmuch-pkg.el
It may make sense later (after we drop support for emacs23) to make
our standard install also use package.el.
This is mainly for information; you can see it drops a lot more than
it adds. People maintaining packages for old derivatives might have
to revert this commit
[PATCH 2/3] debian: convert to use dh-elpa
Initially I thought about doing just a debian upload, but I'll
probably do another point release with some emacs bugfixes from Mark.
[PATCH 3/3] debian: changelog stanza for 0.23.1-2
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH 1/3] emacs: generate notmuch-pkg.el
2016-11-11 11:46 convert debian packaging to dh-elpa David Bremner
@ 2016-11-11 11:46 ` David Bremner
2016-11-16 17:37 ` Tomi Ollila
2016-11-11 11:46 ` [PATCH 2/3] debian: convert to use dh-elpa David Bremner
` (2 subsequent siblings)
3 siblings, 1 reply; 6+ messages in thread
From: David Bremner @ 2016-11-11 11:46 UTC (permalink / raw)
To: notmuch
This file contains metadata for the built in (as of emacs 24) packaging
system.
---
Makefile.local | 3 +++
emacs/.gitignore | 1 +
emacs/Makefile.local | 8 +++++++-
emacs/notmuch-pkg.el.tmpl | 6 ++++++
4 files changed, 17 insertions(+), 1 deletion(-)
create mode 100644 emacs/notmuch-pkg.el.tmpl
diff --git a/Makefile.local b/Makefile.local
index d1b0585..0a122ab 100644
--- a/Makefile.local
+++ b/Makefile.local
@@ -19,9 +19,12 @@ DATE:=$(shell date +%F)
endif
VERSION:=$(shell cat ${srcdir}/version)
+ELPA_VERSION:=$(subst ~,_,$(VERSION))
ifeq ($(filter release release-message pre-release update-versions,$(MAKECMDGOALS)),)
ifeq ($(IS_GIT),yes)
VERSION:=$(shell git --git-dir=${srcdir}/.git describe --abbrev=7 --match '[0-9.]*'|sed -e s/_/~/ -e s/-/+/ -e s/-/~/)
+# drop the ~g$sha1 part
+ELPA_VERSION:=$(word 1,$(subst ~, ,$(VERSION)))
# Write the file 'version.stamp' in case its contents differ from $(VERSION)
FILE_VERSION:=$(shell test -f version.stamp && read vs < version.stamp || vs=; echo $$vs)
ifneq ($(FILE_VERSION),$(VERSION))
diff --git a/emacs/.gitignore b/emacs/.gitignore
index 9fa1c44..8e15eed 100644
--- a/emacs/.gitignore
+++ b/emacs/.gitignore
@@ -1,3 +1,4 @@
.eldeps*
*.elc
notmuch-version.el
+notmuch-pkg.el
diff --git a/emacs/Makefile.local b/emacs/Makefile.local
index 2d6aedb..e4f7a04 100644
--- a/emacs/Makefile.local
+++ b/emacs/Makefile.local
@@ -27,6 +27,12 @@ $(dir)/notmuch-version.el: $(srcdir)/$(dir)/notmuch-version.el.tmpl
@sed -e 's/%AG%/Generated file (from $(<F)) -- do not edit!/' \
-e 's/%VERSION%/"$(VERSION)"/' $< > $@
+$(dir)/notmuch-pkg.el: $(srcdir)/$(dir)/notmuch-pkg.el.tmpl
+ @sed -e 's/%AG%/Generated file (from $(<F)) -- do not edit!/' \
+ -e 's/%VERSION%/"$(ELPA_VERSION)"/' $< > $@
+
+all: $(dir)/notmuch-pkg.el
+install-emacs: $(dir)/notmuch-pkg.el
emacs_images := \
$(srcdir)/$(dir)/notmuch-logo.png
@@ -84,4 +90,4 @@ endif
mkdir -p "$(DESTDIR)$(emacsetcdir)"
install -m0644 $(emacs_images) "$(DESTDIR)$(emacsetcdir)"
-CLEAN := $(CLEAN) $(emacs_bytecode) $(dir)/notmuch-version.el
+CLEAN := $(CLEAN) $(emacs_bytecode) $(dir)/notmuch-version.el $(dir)/notmuch-pkg.el
diff --git a/emacs/notmuch-pkg.el.tmpl b/emacs/notmuch-pkg.el.tmpl
new file mode 100644
index 0000000..de97baa
--- /dev/null
+++ b/emacs/notmuch-pkg.el.tmpl
@@ -0,0 +1,6 @@
+;; %AG%
+(define-package
+ "notmuch"
+ %VERSION%
+ "Emacs based front-end (MUA) for notmuch"
+ nil)
--
2.10.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/3] debian: convert to use dh-elpa
2016-11-11 11:46 convert debian packaging to dh-elpa David Bremner
2016-11-11 11:46 ` [PATCH 1/3] emacs: generate notmuch-pkg.el David Bremner
@ 2016-11-11 11:46 ` David Bremner
2016-11-11 11:46 ` [PATCH 3/3] debian: changelog stanza for 0.23.1-2 David Bremner
2016-11-17 12:29 ` convert debian packaging to dh-elpa David Bremner
3 siblings, 0 replies; 6+ messages in thread
From: David Bremner @ 2016-11-11 11:46 UTC (permalink / raw)
To: notmuch
This packaging helper eliminates most of the boilerplate from packaging
emacs extensions for debian. It requires package.el compatible metadata.
---
debian/control | 14 +++++------
debian/elpa-notmuch.elpa | 1 +
debian/notmuch-emacs.dirs | 1 -
debian/notmuch-emacs.emacsen-compat | 1 -
debian/notmuch-emacs.emacsen-install | 48 ------------------------------------
debian/notmuch-emacs.emacsen-remove | 34 -------------------------
debian/notmuch-emacs.install | 1 -
debian/notmuch-emacs.postinst | 7 ------
debian/notmuch-emacs.prerm | 3 ---
debian/rules | 2 +-
10 files changed, 9 insertions(+), 103 deletions(-)
create mode 100644 debian/elpa-notmuch.elpa
delete mode 100644 debian/notmuch-emacs.dirs
delete mode 100644 debian/notmuch-emacs.emacsen-compat
delete mode 100755 debian/notmuch-emacs.emacsen-install
delete mode 100755 debian/notmuch-emacs.emacsen-remove
delete mode 100644 debian/notmuch-emacs.install
delete mode 100644 debian/notmuch-emacs.postinst
delete mode 100644 debian/notmuch-emacs.prerm
diff --git a/debian/control b/debian/control
index 4027a79..a8c7ce2 100644
--- a/debian/control
+++ b/debian/control
@@ -17,6 +17,7 @@ Build-Depends:
python-all (>= 2.6.6-3~),
python3-all (>= 3.1.2-7~),
dh-python,
+ dh-elpa (>= 1.3),
python-sphinx (>= 1.0),
ruby, ruby-dev (>>1:1.9.3~),
emacs24-nox | emacs24 (>=24~) | emacs24-lucid (>=24~) |
@@ -111,13 +112,12 @@ Description: Ruby interface to the notmuch mail search and index library
Package: notmuch-emacs
Architecture: all
-Section: mail
-Breaks: notmuch (<<0.6~254~)
-Replaces: notmuch (<<0.6~254~)
-Depends: ${misc:Depends}, notmuch (>= ${source:Version}),
- emacs23 (>= 23~) | emacs23-nox (>=23~) | emacs23-lucid (>=23~) |
- emacs24 (>= 24~) | emacs24-nox (>=24~) | emacs24-lucid (>=24~),
- emacsen-common (>= 2.0.8)
+Description: thread-based email index, search and tagging (transitional package)
+ This dummy package help ease transition to the new package elpa-notmuch
+
+Package: elpa-notmuch
+Architecture: all
+Depends: ${misc:Depends}, ${elpa:Depends}
Description: thread-based email index, search and tagging (emacs interface)
Notmuch is a system for indexing, searching, reading, and tagging
large collections of email messages in maildir or mh format. It uses
diff --git a/debian/elpa-notmuch.elpa b/debian/elpa-notmuch.elpa
new file mode 100644
index 0000000..b4e9e17
--- /dev/null
+++ b/debian/elpa-notmuch.elpa
@@ -0,0 +1 @@
+emacs/*.el
diff --git a/debian/notmuch-emacs.dirs b/debian/notmuch-emacs.dirs
deleted file mode 100644
index caeb400..0000000
--- a/debian/notmuch-emacs.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/emacs/site-lisp/notmuch
diff --git a/debian/notmuch-emacs.emacsen-compat b/debian/notmuch-emacs.emacsen-compat
deleted file mode 100644
index 573541a..0000000
--- a/debian/notmuch-emacs.emacsen-compat
+++ /dev/null
@@ -1 +0,0 @@
-0
diff --git a/debian/notmuch-emacs.emacsen-install b/debian/notmuch-emacs.emacsen-install
deleted file mode 100755
index cce95c3..0000000
--- a/debian/notmuch-emacs.emacsen-install
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/bin/sh
-# /usr/lib/emacsen-common/packages/install/notmuch-emacs
-set -e
-
-FLAVOR=$1
-PACKAGE=notmuch
-
-case "${FLAVOR}" in
- emacs)
- return 0
- ;;
- xemacs*|emacs2[12])
- # patches welcome.
- echo install/${PACKAGE}: skipping install for unsupported emacsen flavor ${FLAVOR}
- exit 0
- ;;
- *)
- echo install/${PACKAGE}: Handling install for emacsen flavor ${FLAVOR}
-esac
-
-
-elc_dir=/usr/share/${FLAVOR}/site-lisp/${PACKAGE}
-el_dir=/usr/share/emacs/site-lisp/${PACKAGE}
-
-byte_compile_options="--quick --directory=${el_dir} -batch -f batch-byte-compile"
-
-echo install/${PACKAGE}: byte-compiling for ${FLAVOR}
-
-[ -d ${elc_dir} ] || mkdir ${elc_dir}
-
-# Create symlinks to the .el files (see section 6E in debian-emacs
-# polcy). This makes complation easy, and also allows find-function
-# and find-library to work properly.
-(cd ${elc_dir} && ln -sf ${el_dir}/*.el .)
-
-# Byte compile them
-(cd ${elc_dir}
- set +e
- ${FLAVOR} ${byte_compile_options} *.el > Install.log 2>&1
- if test $? -ne 0
- then
- cat Install.log
- exit 1
- fi
- set -e
- gzip -9f Install.log)
-
-exit 0;
diff --git a/debian/notmuch-emacs.emacsen-remove b/debian/notmuch-emacs.emacsen-remove
deleted file mode 100755
index a555320..0000000
--- a/debian/notmuch-emacs.emacsen-remove
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-# /usr/lib/emacsen-common/packages/remove/notmuch
-
-set -e
-
-FLAVOR=$1
-PACKAGE=notmuch
-elc_dir=/usr/share/${FLAVOR}/site-lisp/${PACKAGE}
-
-case "${FLAVOR}" in
- emacs)
- return 0
- ;;
- xemacs*|emacs2[12])
- # patches welcome.
- echo install/${PACKAGE}: skipping removal for unsupported emacsen flavor ${FLAVOR}
- exit 0
- ;;
- *)
- echo remove/${PACKAGE}: Handling removal for emacsen flavor ${FLAVOR}
-esac
-
-echo remove/${PACKAGE}: Handling removal of emacsen flavor ${FLAVOR}
-
-echo emacsen-common: purging byte-compiled files for ${FLAVOR}
-rm -f ${elc_dir}/*.elc
-rm -f ${elc_dir}/*.el
-rm -f ${elc_dir}/Install.log*
-if test -e "${elc_dir}"
-then
- rmdir --ignore-fail-on-non-empty "${elc_dir}"
-fi
-
-exit 0;
diff --git a/debian/notmuch-emacs.install b/debian/notmuch-emacs.install
deleted file mode 100644
index c73aece..0000000
--- a/debian/notmuch-emacs.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/emacs/site-lisp/notmuch/*.el
diff --git a/debian/notmuch-emacs.postinst b/debian/notmuch-emacs.postinst
deleted file mode 100644
index 1237237..0000000
--- a/debian/notmuch-emacs.postinst
+++ /dev/null
@@ -1,7 +0,0 @@
-dir="/var/lib/emacsen-common/state/package/installed"
-mkdir -p -m 0755 ${dir}
-touch ${dir}/notmuch-emacs
-#DEBHELPER#
-if [ -d /0755 ]; then
- rmdir /0755 || true
-fi
diff --git a/debian/notmuch-emacs.prerm b/debian/notmuch-emacs.prerm
deleted file mode 100644
index 5e2758d..0000000
--- a/debian/notmuch-emacs.prerm
+++ /dev/null
@@ -1,3 +0,0 @@
-#DEBHELPER#
-dir="/var/lib/emacsen-common/state/package/installed"
-rm -f ${dir}/notmuch-emacs
diff --git a/debian/rules b/debian/rules
index 04f0062..15710a8 100755
--- a/debian/rules
+++ b/debian/rules
@@ -3,7 +3,7 @@
python3_all = py3versions -s | xargs -n1 | xargs -t -I {} env {}
%:
- dh $@ --with python2,python3
+ dh $@ --with python2,python3,elpa
override_dh_auto_configure:
./configure --prefix=/usr \
--
2.10.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/3] debian: changelog stanza for 0.23.1-2
2016-11-11 11:46 convert debian packaging to dh-elpa David Bremner
2016-11-11 11:46 ` [PATCH 1/3] emacs: generate notmuch-pkg.el David Bremner
2016-11-11 11:46 ` [PATCH 2/3] debian: convert to use dh-elpa David Bremner
@ 2016-11-11 11:46 ` David Bremner
2016-11-17 12:29 ` convert debian packaging to dh-elpa David Bremner
3 siblings, 0 replies; 6+ messages in thread
From: David Bremner @ 2016-11-11 11:46 UTC (permalink / raw)
To: notmuch
---
debian/changelog | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/debian/changelog b/debian/changelog
index 2c7cd23..05d3522 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+notmuch (0.23.1-2) unstable; urgency=medium
+
+ * Convert notmuch-emacs to dh-elpa, new binary package elpa-notmuch
+ * Bug fix: "maintainer script(s) do not start on #!", thanks to
+ treinen@debian.org; (Closes: #843287).
+
+ -- David Bremner <bremner@debian.org> Thu, 10 Nov 2016 22:36:04 -0400
+
notmuch (0.23.1-1) unstable; urgency=medium
* New upstream bugfix release
--
2.10.2
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 1/3] emacs: generate notmuch-pkg.el
2016-11-11 11:46 ` [PATCH 1/3] emacs: generate notmuch-pkg.el David Bremner
@ 2016-11-16 17:37 ` Tomi Ollila
0 siblings, 0 replies; 6+ messages in thread
From: Tomi Ollila @ 2016-11-16 17:37 UTC (permalink / raw)
To: David Bremner, notmuch
On Fri, Nov 11 2016, David Bremner <david@tethera.net> wrote:
> This file contains metadata for the built in (as of emacs 24) packaging
> system.
Series LGTM.
Tomi
> ---
> Makefile.local | 3 +++
> emacs/.gitignore | 1 +
> emacs/Makefile.local | 8 +++++++-
> emacs/notmuch-pkg.el.tmpl | 6 ++++++
> 4 files changed, 17 insertions(+), 1 deletion(-)
> create mode 100644 emacs/notmuch-pkg.el.tmpl
>
> diff --git a/Makefile.local b/Makefile.local
> index d1b0585..0a122ab 100644
> --- a/Makefile.local
> +++ b/Makefile.local
> @@ -19,9 +19,12 @@ DATE:=$(shell date +%F)
> endif
>
> VERSION:=$(shell cat ${srcdir}/version)
> +ELPA_VERSION:=$(subst ~,_,$(VERSION))
> ifeq ($(filter release release-message pre-release update-versions,$(MAKECMDGOALS)),)
> ifeq ($(IS_GIT),yes)
> VERSION:=$(shell git --git-dir=${srcdir}/.git describe --abbrev=7 --match '[0-9.]*'|sed -e s/_/~/ -e s/-/+/ -e s/-/~/)
> +# drop the ~g$sha1 part
> +ELPA_VERSION:=$(word 1,$(subst ~, ,$(VERSION)))
> # Write the file 'version.stamp' in case its contents differ from $(VERSION)
> FILE_VERSION:=$(shell test -f version.stamp && read vs < version.stamp || vs=; echo $$vs)
> ifneq ($(FILE_VERSION),$(VERSION))
> diff --git a/emacs/.gitignore b/emacs/.gitignore
> index 9fa1c44..8e15eed 100644
> --- a/emacs/.gitignore
> +++ b/emacs/.gitignore
> @@ -1,3 +1,4 @@
> .eldeps*
> *.elc
> notmuch-version.el
> +notmuch-pkg.el
> diff --git a/emacs/Makefile.local b/emacs/Makefile.local
> index 2d6aedb..e4f7a04 100644
> --- a/emacs/Makefile.local
> +++ b/emacs/Makefile.local
> @@ -27,6 +27,12 @@ $(dir)/notmuch-version.el: $(srcdir)/$(dir)/notmuch-version.el.tmpl
> @sed -e 's/%AG%/Generated file (from $(<F)) -- do not edit!/' \
> -e 's/%VERSION%/"$(VERSION)"/' $< > $@
>
> +$(dir)/notmuch-pkg.el: $(srcdir)/$(dir)/notmuch-pkg.el.tmpl
> + @sed -e 's/%AG%/Generated file (from $(<F)) -- do not edit!/' \
> + -e 's/%VERSION%/"$(ELPA_VERSION)"/' $< > $@
> +
> +all: $(dir)/notmuch-pkg.el
> +install-emacs: $(dir)/notmuch-pkg.el
>
> emacs_images := \
> $(srcdir)/$(dir)/notmuch-logo.png
> @@ -84,4 +90,4 @@ endif
> mkdir -p "$(DESTDIR)$(emacsetcdir)"
> install -m0644 $(emacs_images) "$(DESTDIR)$(emacsetcdir)"
>
> -CLEAN := $(CLEAN) $(emacs_bytecode) $(dir)/notmuch-version.el
> +CLEAN := $(CLEAN) $(emacs_bytecode) $(dir)/notmuch-version.el $(dir)/notmuch-pkg.el
> diff --git a/emacs/notmuch-pkg.el.tmpl b/emacs/notmuch-pkg.el.tmpl
> new file mode 100644
> index 0000000..de97baa
> --- /dev/null
> +++ b/emacs/notmuch-pkg.el.tmpl
> @@ -0,0 +1,6 @@
> +;; %AG%
> +(define-package
> + "notmuch"
> + %VERSION%
> + "Emacs based front-end (MUA) for notmuch"
> + nil)
> --
> 2.10.2
>
> _______________________________________________
> notmuch mailing list
> notmuch@notmuchmail.org
> https://notmuchmail.org/mailman/listinfo/notmuch
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: convert debian packaging to dh-elpa
2016-11-11 11:46 convert debian packaging to dh-elpa David Bremner
` (2 preceding siblings ...)
2016-11-11 11:46 ` [PATCH 3/3] debian: changelog stanza for 0.23.1-2 David Bremner
@ 2016-11-17 12:29 ` David Bremner
3 siblings, 0 replies; 6+ messages in thread
From: David Bremner @ 2016-11-17 12:29 UTC (permalink / raw)
To: notmuch
David Bremner <david@tethera.net> writes:
> The main part which needs sanity checking is
>
> [PATCH 1/3] emacs: generate notmuch-pkg.el
>
> It may make sense later (after we drop support for emacs23) to make
> our standard install also use package.el.
series pushed to release, with the debian versioning modified to reflect
an upstream point release
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-11-17 12:29 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-11 11:46 convert debian packaging to dh-elpa David Bremner
2016-11-11 11:46 ` [PATCH 1/3] emacs: generate notmuch-pkg.el David Bremner
2016-11-16 17:37 ` Tomi Ollila
2016-11-11 11:46 ` [PATCH 2/3] debian: convert to use dh-elpa David Bremner
2016-11-11 11:46 ` [PATCH 3/3] debian: changelog stanza for 0.23.1-2 David Bremner
2016-11-17 12:29 ` convert debian packaging to dh-elpa David Bremner
Code repositories for project(s) associated with this public inbox
https://yhetil.org/notmuch.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).