Hello,

Thanks for that patch. I must confess that I find it surprizingly
complex, actually. I would expect that debhelper in recent version
would only require me to give the name of the file to compile and
install.

Those files debian/quilt-el.*-install smell like debhelper version 6
or below, not debhelper version 9 or higher. But it seems to be the
way to go, actually. 

I will try to find the time to test your code soon, but I cannot
really upload quilt before the end of the freeze (which should occure
soon anyway).

Thansk for your work,
Mt.

On Thu, Jan 15, 2015 at 10:10:42PM +0000, Jeremy Sowden wrote:
> "how-can-i-help" suggested this bug as suitable for a newcomer.  Would
> the attached patch be of use?
> 
> J.

> From ba6ab2cbfa5a68d8fca99d43eda119d2a11f3c95 Mon Sep 17 00:00:00 2001
> From: Jeremy Sowden <jer...@azazel.net>
> Date: Thu, 15 Jan 2015 16:29:22 +0000
> Subject: [PATCH] Create quilt-el package.
> 
> ---
>  debian/control                  | 15 ++++++++++++++-
>  debian/quilt-el.emacsen-install | 37 +++++++++++++++++++++++++++++++++++++
>  debian/quilt-el.emacsen-remove  | 10 ++++++++++
>  debian/quilt-el.emacsen-startup | 26 ++++++++++++++++++++++++++
>  debian/rules                    |  8 ++++++++
>  5 files changed, 95 insertions(+), 1 deletion(-)
>  create mode 100644 debian/quilt-el.emacsen-install
>  create mode 100644 debian/quilt-el.emacsen-remove
>  create mode 100644 debian/quilt-el.emacsen-startup
> 
> diff --git a/debian/control b/debian/control
> index 7e0f9ed..da44698 100644
> --- a/debian/control
> +++ b/debian/control
> @@ -31,13 +31,26 @@ Description: Tool to work with series of patches
>   for Linux kernel hackers (Andrew Morton, from the -mm  branch, is the
>   original author), and its main use by the current upstream maintainer is to
>   manage the (hundreds of) patches against the kernel made for the SUSE
> - distribution. 
> + distribution.
>   .
>   This package provides seamless integration into Debhelper or CDBS,
>   allowing maintainers to easily add a quilt-based patch management system in
>   their packages. The package also provides some basic support for those not
>   using those tools. See README.Debian for more information.
>  
> +Package: quilt-el
> +Architecture: all
> +Depends: emacs | emacsen, quilt (>= 0.48), ${misc:Depends}
> +Description: simple Emacs interface of quilt
> + This is an Emacs minor mode for quilt. By using this,
> + it becomes easy to edit files controlled by quilt.
> + The main features are as follows:
> + .
> +  - Automatically detects files that are in a quilt hierarchy
> +   and enables itself.
> +  - Only files in topmost patch can be writable.
> +  - Some handy shortcut keys of quilt commands.
> +
>  # Local Variables:
>  # Coding: utf-8
>  # End:
> diff --git a/debian/quilt-el.emacsen-install b/debian/quilt-el.emacsen-install
> new file mode 100644
> index 0000000..7fafa87
> --- /dev/null
> +++ b/debian/quilt-el.emacsen-install
> @@ -0,0 +1,37 @@
> +#! /bin/sh -e
> +# /usr/lib/emacsen-common/packages/install/quilt-el
> +
> +# Written by Jim Van Zandt <j...@debian.org>, borrowing heavily
> +# from the install scripts for gettext by Santiago Vila
> +# <sanv...@ctv.es> and octave by Dirk Eddelbuettel <e...@debian.org>.
> +
> +FLAVOR=$1
> +PACKAGE=quilt-el
> +
> +if [ ${FLAVOR} = emacs ]; then exit 0; fi
> +
> +echo install/${PACKAGE}: Handling install for emacsen flavor ${FLAVOR}
> +
> +SITEFLAG="-no-site-file"
> +FLAGS="${SITEFLAG} -q -batch -l path.el -f batch-byte-compile"
> +
> +ELDIR=/usr/share/emacs/site-lisp/${PACKAGE}
> +ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE}
> +
> +install -m 755 -d ${ELCDIR}
> +cd ${ELDIR}
> +rm -f ${ELCDIR}/*.el
> +FILES=`echo *.el`
> +cp ${FILES} ${ELCDIR}
> +cd ${ELCDIR}
> +
> +cat << EOF > path.el
> +(setq load-path (cons "." load-path) byte-compile-warnings nil)
> +EOF
> +${FLAVOR} ${FLAGS} ${FILES}
> +rm -f *.el path.el
> +for i in ${FILES}; do
> +  ln -fs ${ELDIR}/$i
> +done
> +
> +exit 0
> diff --git a/debian/quilt-el.emacsen-remove b/debian/quilt-el.emacsen-remove
> new file mode 100644
> index 0000000..b1b15d9
> --- /dev/null
> +++ b/debian/quilt-el.emacsen-remove
> @@ -0,0 +1,10 @@
> +#!/bin/sh -e
> +# /usr/lib/emacsen-common/packages/remove/quilt-el
> +
> +FLAVOR=$1
> +PACKAGE=quilt-el
> +
> +if [ ${FLAVOR} != emacs ]; then
> +    echo remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR}
> +    rm -rf /usr/share/${FLAVOR}/site-lisp/${PACKAGE}
> +fi
> diff --git a/debian/quilt-el.emacsen-startup b/debian/quilt-el.emacsen-startup
> new file mode 100644
> index 0000000..30afb6a
> --- /dev/null
> +++ b/debian/quilt-el.emacsen-startup
> @@ -0,0 +1,26 @@
> +;; -*-emacs-lisp-*-
> +;;
> +;; Emacs startup file, e.g.  /etc/emacs/site-start.d/50quilt-el.el
> +;; for the Debian quilt-el package
> +;;
> +;; Originally contributed by Nils Naumann <naum...@unileoben.ac.at>
> +;; Modified by Dirk Eddelbuettel <e...@debian.org>
> +;; Adapted for dh-make by Jim Van Zandt <j...@debian.org>
> +
> +;; The quilt-el package follows the Debian/GNU Linux 'emacsen' policy and
> +;; byte-compiles its elisp files for each 'emacs flavor' (emacs19,
> +;; xemacs19, emacs20, xemacs20...).  The compiled code is then
> +;; installed in a subdirectory of the respective site-lisp directory.
> +;; We have to add this to the load-path:
> +(let ((package-dir (concat "/usr/share/"
> +                           (symbol-name flavor)
> +                           "/site-lisp/quilt-el")))
> +;; If package-dir does not exist, the quilt-el package must have
> +;; removed but not purged, and we should skip the setup.
> +  (when (file-directory-p package-dir)
> +    (if (fboundp 'debian-pkg-add-load-path-item)
> +     (debian-pkg-add-load-path-item package-dir)
> +      (setq load-path (cons package-dir load-path)))
> +    (autoload 'quilt-mode "quilt"
> +      "Minor mode for editing files on quilt hierarchy."
> +      t)))
> diff --git a/debian/rules b/debian/rules
> index b08cc75..07f7838 100755
> --- a/debian/rules
> +++ b/debian/rules
> @@ -35,6 +35,14 @@ endif
>       pod2man -c Debhelper debian/dh_quilt_patch debian/dh_quilt_patch.1
>       pod2man -c Debhelper debian/dh_quilt_unpatch debian/dh_quilt_unpatch.1
>  
> +override_dh_auto_install:
> +     dh_auto_install
> +     install -d -m 0755 $(CURDIR)/debian/quilt-el/usr/share
> +     mv $(BUILD_ROOT)/usr/share/emacs $(CURDIR)/debian/quilt-el/usr/share
> +
> +override_dh_installdocs:
> +     dh_installdocs --link-doc=quilt
> +
>  override_dh_installchangelogs:
>       dh_installchangelogs NEWS
>  
> -- 
> 2.1.4
> 




-- 
The unavoidable price of reliability is simplicity.   -- Hoare

Attachment: signature.asc
Description: Digital signature

Reply via email to