diff options
Diffstat (limited to 't/recipes/checks/emacs')
33 files changed, 269 insertions, 0 deletions
diff --git a/t/recipes/checks/emacs/elpa/elpa/build-spec/debian/control.in b/t/recipes/checks/emacs/elpa/elpa/build-spec/debian/control.in new file mode 100644 index 0000000..0fb6a67 --- /dev/null +++ b/t/recipes/checks/emacs/elpa/elpa/build-spec/debian/control.in @@ -0,0 +1,19 @@ +Source: [% $source %] +Priority: optional +Section: [% $section %] +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %], dh-elpa +Homepage: https://lintian.debian.org/ +# dh-elpa in stretch chokes on unknown fields T_T +#Rules-Requires-Root: no + +Package: elpa-foo +Section: lisp +Architecture: [% $package_architecture %] +Depends: ${shlibs:Depends}, ${misc:Depends}, ${elpa:Depends} +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. diff --git a/t/recipes/checks/emacs/elpa/elpa/build-spec/debian/elpa-foo.elpa b/t/recipes/checks/emacs/elpa/elpa/build-spec/debian/elpa-foo.elpa new file mode 100644 index 0000000..63163f5 --- /dev/null +++ b/t/recipes/checks/emacs/elpa/elpa/build-spec/debian/elpa-foo.elpa @@ -0,0 +1 @@ +foo.el diff --git a/t/recipes/checks/emacs/elpa/elpa/build-spec/debian/rules b/t/recipes/checks/emacs/elpa/elpa/build-spec/debian/rules new file mode 100755 index 0000000..e8e22ba --- /dev/null +++ b/t/recipes/checks/emacs/elpa/elpa/build-spec/debian/rules @@ -0,0 +1,4 @@ +#!/usr/bin/make -f + +%: + dh $@ --with elpa diff --git a/t/recipes/checks/emacs/elpa/elpa/build-spec/fill-values b/t/recipes/checks/emacs/elpa/elpa/build-spec/fill-values new file mode 100644 index 0000000..e80a217 --- /dev/null +++ b/t/recipes/checks/emacs/elpa/elpa/build-spec/fill-values @@ -0,0 +1,4 @@ +Testname: elpa +Skeleton: upload-non-native +Description: Tests for emacsen-common packages using dh-elpa +Extra-Build-Depends: dh-elpa diff --git a/t/recipes/checks/emacs/elpa/elpa/build-spec/orig/foo.el b/t/recipes/checks/emacs/elpa/elpa/build-spec/orig/foo.el new file mode 100644 index 0000000..6234f9d --- /dev/null +++ b/t/recipes/checks/emacs/elpa/elpa/build-spec/orig/foo.el @@ -0,0 +1,16 @@ +;;; foo.el --- foo + +;; Copyright (C) 2017 Sean Whitton + +;; Author: Sean Whitton <spwhitton@spwhitton.name> +;; Version: 1.0 +;; Keywords: strings + +;;; Commentary: + +;;; Code: + +(message "Hello, world") + +(provide 'foo) +;;; foo.el ends here diff --git a/t/recipes/checks/emacs/elpa/elpa/eval/desc b/t/recipes/checks/emacs/elpa/elpa/eval/desc new file mode 100644 index 0000000..bbc2b36 --- /dev/null +++ b/t/recipes/checks/emacs/elpa/elpa/eval/desc @@ -0,0 +1,4 @@ +Testname: elpa +Check: emacs/elpa +Test-Against: + emacsen-common-without-dh-elpa diff --git a/t/recipes/checks/emacs/elpa/elpa/eval/hints b/t/recipes/checks/emacs/elpa/elpa/eval/hints new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/t/recipes/checks/emacs/elpa/elpa/eval/hints diff --git a/t/recipes/checks/emacs/elpa/emacsen-common/build-spec/debian/emacsen-compat b/t/recipes/checks/emacs/elpa/emacsen-common/build-spec/debian/emacsen-compat new file mode 100644 index 0000000..573541a --- /dev/null +++ b/t/recipes/checks/emacs/elpa/emacsen-common/build-spec/debian/emacsen-compat @@ -0,0 +1 @@ +0 diff --git a/t/recipes/checks/emacs/elpa/emacsen-common/build-spec/debian/emacsen-install b/t/recipes/checks/emacs/elpa/emacsen-common/build-spec/debian/emacsen-install new file mode 100755 index 0000000..32dd6a5 --- /dev/null +++ b/t/recipes/checks/emacs/elpa/emacsen-common/build-spec/debian/emacsen-install @@ -0,0 +1,44 @@ +#! /bin/sh -e +# /usr/lib/emacsen-common/packages/install/muse + +# Written by Jim Van Zandt <jrv@vanzandt.mv.com>, borrowing heavily +# from the install scripts for gettext by Santiago Vila +# <sanvila@ctv.es> and octave by Dirk Eddelbuettel <edd@debian.org>. + +FLAVOR=$1 +PACKAGE=foo-el + +if [ ${FLAVOR} = emacs ]; then exit 0; fi + +echo install/${PACKAGE}: Handling install for emacsen flavor ${FLAVOR} + +FLAVORTEST=`echo $FLAVOR | cut -c-6` +if [ ${FLAVORTEST} = xemacs ] ; then + SITEFLAG="-no-site-file" +else + SITEFLAG="--no-site-file" +fi +FLAGS="${SITEFLAG} -q -batch -l path.el -f batch-byte-compile" +ELPREFIX=/usr/share/emacs/site-lisp/${PACKAGE} + +for i in ${PACKAGE} ${PACKAGE}/contrib; do + + ELDIR=/usr/share/emacs/site-lisp/$i + ELCDIR=/usr/share/${FLAVOR}/site-lisp/$i + + install -m 755 -d ${ELCDIR} + cd ${ELDIR} + FILES=`ls -1 *.el | grep -v autoloads` + rm -f ${ELCDIR}/*.el + cd ${ELCDIR} + ln -sf ${ELDIR}/*.el . + + cat << EOF > path.el +(setq load-path (cons "${ELPREFIX}" (cons "${ELPREFIX}/contrib" load-path)) + byte-compile-warnings nil) +EOF + ${FLAVOR} ${FLAGS} ${FILES} 2>&1 | gzip -9qf > CompilationLog.gz + rm -f path.el +done + +exit 0 diff --git a/t/recipes/checks/emacs/elpa/emacsen-common/build-spec/debian/emacsen-remove b/t/recipes/checks/emacs/elpa/emacsen-common/build-spec/debian/emacsen-remove new file mode 100755 index 0000000..9bc1fb3 --- /dev/null +++ b/t/recipes/checks/emacs/elpa/emacsen-common/build-spec/debian/emacsen-remove @@ -0,0 +1,15 @@ +#!/bin/sh -e +# /usr/lib/emacsen-common/packages/remove/muse + +FLAVOR=$1 +PACKAGE=foo-el + +if [ ${FLAVOR} != emacs ]; then + # if test -x /usr/sbin/install-info-altdir; then + # echo remove/${PACKAGE}: removing Info links for ${FLAVOR} + # install-info-altdir --quiet --remove --dirname=${FLAVOR} /usr/info/emacs-wiki.info.gz + # fi + + echo remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR} + rm -rf /usr/share/${FLAVOR}/site-lisp/${PACKAGE} +fi diff --git a/t/recipes/checks/emacs/elpa/emacsen-common/build-spec/debian/emacsen-startup b/t/recipes/checks/emacs/elpa/emacsen-common/build-spec/debian/emacsen-startup new file mode 100644 index 0000000..3a059c3 --- /dev/null +++ b/t/recipes/checks/emacs/elpa/emacsen-common/build-spec/debian/emacsen-startup @@ -0,0 +1,24 @@ +;; -*-emacs-lisp-*- +;; +;; Emacs startup file for the Debian GNU/Linux muse package +;; +;; Originally contributed by Nils Naumann <naumann@unileoben.ac.at> +;; Modified by Dirk Eddelbuettel <edd@debian.org> +;; Adapted for dh-make by Jim Van Zandt <jrv@vanzandt.mv.com> +;; Adapted for Muse by Michael Olson <mwolson@gnu.org> + +;; The muse 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: + +(if (not (file-exists-p "/usr/share/emacs/site-lisp/foo-el")) + (message "Package foo-el removed but not purged. Skipping setup.") + (let ((prefix (concat "/usr/share/" + (symbol-name flavor) + "/site-lisp/foo-el"))) + (debian-pkg-add-load-path-item prefix) + (debian-pkg-add-load-path-item (concat prefix "/contrib"))) + + (load "foo-autoloads.el")) diff --git a/t/recipes/checks/emacs/elpa/emacsen-common/build-spec/debian/install b/t/recipes/checks/emacs/elpa/emacsen-common/build-spec/debian/install new file mode 100644 index 0000000..a2af265 --- /dev/null +++ b/t/recipes/checks/emacs/elpa/emacsen-common/build-spec/debian/install @@ -0,0 +1 @@ +foo.el /usr/share/emacs/site-lisp/foo-el diff --git a/t/recipes/checks/emacs/elpa/emacsen-common/build-spec/fill-values b/t/recipes/checks/emacs/elpa/emacsen-common/build-spec/fill-values new file mode 100644 index 0000000..f0df98f --- /dev/null +++ b/t/recipes/checks/emacs/elpa/emacsen-common/build-spec/fill-values @@ -0,0 +1,3 @@ +Testname: emacsen-common +Skeleton: upload-non-native +Description: Tests for emacsen-common packages not using dh-elpa diff --git a/t/recipes/checks/emacs/elpa/emacsen-common/build-spec/orig/foo.el b/t/recipes/checks/emacs/elpa/emacsen-common/build-spec/orig/foo.el new file mode 100644 index 0000000..414739b --- /dev/null +++ b/t/recipes/checks/emacs/elpa/emacsen-common/build-spec/orig/foo.el @@ -0,0 +1 @@ +(message "Hello, world") diff --git a/t/recipes/checks/emacs/elpa/emacsen-common/eval/desc b/t/recipes/checks/emacs/elpa/emacsen-common/eval/desc new file mode 100644 index 0000000..093a753 --- /dev/null +++ b/t/recipes/checks/emacs/elpa/emacsen-common/eval/desc @@ -0,0 +1,2 @@ +Testname: emacsen-common +Check: emacs/elpa diff --git a/t/recipes/checks/emacs/elpa/emacsen-common/eval/hints b/t/recipes/checks/emacs/elpa/emacsen-common/eval/hints new file mode 100644 index 0000000..8cf5a53 --- /dev/null +++ b/t/recipes/checks/emacs/elpa/emacsen-common/eval/hints @@ -0,0 +1 @@ +emacsen-common (binary): emacsen-common-without-dh-elpa diff --git a/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/binary.docs b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/binary.docs new file mode 100644 index 0000000..42f92ea --- /dev/null +++ b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/binary.docs @@ -0,0 +1,3 @@ +read-only +README +some-file diff --git a/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/binary.init b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/binary.init new file mode 100644 index 0000000..4ebbdf5 --- /dev/null +++ b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/binary.init @@ -0,0 +1,21 @@ +#!/bin/sh + +set -e + +### BEGIN INIT INFO +# Provides: binary +# Required-Start: +# Required-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Useless +# Description: Does nothing +### END INIT INFO + +. /lib/lsb/init-functions + +case "$1" in + start|stop|force-reload|restart|status|*) + echo hello world + ;; +esac diff --git a/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/binary.install b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/binary.install new file mode 100644 index 0000000..c759290 --- /dev/null +++ b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/binary.install @@ -0,0 +1,9 @@ +sample.ali usr/lib/some-where/ +script-uid usr/bin/ +script-ugid usr/bin/ +script-gid usr/bin/ +script-wexec usr/bin/ +script-wuid usr/bin/ +script-ro usr/bin/ +script etc/cron.d/ +script etc/emacs.d/ diff --git a/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/binary.manpages b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/binary.manpages new file mode 100644 index 0000000..ad3e735 --- /dev/null +++ b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/binary.manpages @@ -0,0 +1 @@ +script-*.1 diff --git a/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/clean b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/clean new file mode 100644 index 0000000..1e7cec6 --- /dev/null +++ b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/clean @@ -0,0 +1 @@ +script*.1 diff --git a/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/control.in b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/control.in new file mode 100644 index 0000000..5c8703f --- /dev/null +++ b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/control.in @@ -0,0 +1,30 @@ +Source: [% $source %] +Priority: optional +Section: devel +Maintainer: [% $author %] +Standards-Version: [% $standards_version %] +Build-Depends: [% $build_depends %] +Rules-Requires-Root: binary-targets + +Package: binary +Architecture: all +Pre-Depends: ${misc:Pre-Depends} +Depends: ${misc:Depends}, lsb-base (>= 3.0-6) +Description: [% $description %] + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + +Package: game +Architecture: all +Section: games +Depends: ${misc:Depends} +Description: [% $description %] - game + This is a test package designed to exercise some feature or tag of + Lintian. It is part of the Lintian test suite and may do very odd + things. It should not be installed like a regular package. It may + be an empty package. + . + Game package. + diff --git a/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/game.install b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/game.install new file mode 100644 index 0000000..f708f99 --- /dev/null +++ b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/game.install @@ -0,0 +1 @@ +script usr/games/ diff --git a/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/game.manpages b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/game.manpages new file mode 100644 index 0000000..8d16fb4 --- /dev/null +++ b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/game.manpages @@ -0,0 +1 @@ +script.1 diff --git a/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/rules b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/rules new file mode 100644 index 0000000..951f84c --- /dev/null +++ b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/debian/rules @@ -0,0 +1,31 @@ +#!/usr/bin/make -f + +GPKG:=game +PKG:=binary + +%: + dh $@ + +override_dh_auto_build: + for N in uid gid ugid wexec wuid ro; do \ + sed s/script/script-$$N/ < script > script-$$N ; \ + pod2man --section 1 script-$$N > script-$$N.1 ; \ + done + pod2man --section 1 script > script.1 + +override_dh_fixperms: + dh_fixperms + + chmod 0444 debian/$(PKG)/usr/share/doc/$(PKG)/read-only + chmod 4755 debian/$(PKG)/usr/bin/script-uid + chmod 2755 debian/$(PKG)/usr/bin/script-gid + chmod 6755 debian/$(PKG)/usr/bin/script-ugid + chmod 0775 debian/$(PKG)/usr/bin/script-wexec + chmod 4744 debian/$(PKG)/usr/bin/script-wuid + chmod 0751 debian/$(PKG)/usr/bin/script-ro + chmod 0644 debian/$(PKG)/usr/lib/some-where/sample.ali + chmod 0744 debian/$(PKG)/usr/share/doc/$(PKG) + chmod 0755 debian/$(PKG)/usr/share/doc/$(PKG)/some-file + chmod 0755 debian/$(PKG)/etc/cron.d/script + chmod 0755 debian/$(PKG)/etc/emacs.d/script + chmod 0765 debian/$(PKG)/etc/init.d/binary diff --git a/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/fill-values b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/fill-values new file mode 100644 index 0000000..c914891 --- /dev/null +++ b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/fill-values @@ -0,0 +1,3 @@ +Skeleton: upload-native +Testname: files-bad-perm-owner +Description: General permissions and owner tests diff --git a/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/orig/README b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/orig/README new file mode 100644 index 0000000..336f590 --- /dev/null +++ b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/orig/README @@ -0,0 +1 @@ +Hallo World diff --git a/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/orig/read-only b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/orig/read-only new file mode 100644 index 0000000..1a3fca1 --- /dev/null +++ b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/orig/read-only @@ -0,0 +1 @@ +Fadango on the core diff --git a/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/orig/sample.ali b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/orig/sample.ali new file mode 100644 index 0000000..fec3fc8 --- /dev/null +++ b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/orig/sample.ali @@ -0,0 +1 @@ +This is not a valid ali file diff --git a/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/orig/script b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/orig/script new file mode 100755 index 0000000..8521013 --- /dev/null +++ b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/orig/script @@ -0,0 +1,20 @@ +#!/bin/sh + +set -e + +echo "Aloha" + +exit 0 + +=head1 NAME + +script -- prints Aloha to stdout + +=head1 SYNOPSIS + + script + +=head1 DESCRIPTION + +Prints Aloha to stdout and that is it. + diff --git a/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/orig/some-file b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/orig/some-file new file mode 100644 index 0000000..0dfa8ff --- /dev/null +++ b/t/recipes/checks/emacs/files-bad-perm-owner/build-spec/orig/some-file @@ -0,0 +1,2 @@ +This is executable and should not be. :) + - Unfortunately it triggers an extra tag... oh well. diff --git a/t/recipes/checks/emacs/files-bad-perm-owner/eval/desc b/t/recipes/checks/emacs/files-bad-perm-owner/eval/desc new file mode 100644 index 0000000..d6f6fcc --- /dev/null +++ b/t/recipes/checks/emacs/files-bad-perm-owner/eval/desc @@ -0,0 +1,2 @@ +Testname: files-bad-perm-owner +Check: emacs diff --git a/t/recipes/checks/emacs/files-bad-perm-owner/eval/hints b/t/recipes/checks/emacs/files-bad-perm-owner/eval/hints new file mode 100644 index 0000000..e9bbc5f --- /dev/null +++ b/t/recipes/checks/emacs/files-bad-perm-owner/eval/hints @@ -0,0 +1 @@ +binary (binary): bad-permissions-for-etc-emacs-script 0755 != 0644 [etc/emacs.d/script] |