summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Pentchev <roam@debian.org>2019-01-23 14:59:13 +0200
committerPeter Pentchev <roam@debian.org>2019-01-23 14:59:13 +0200
commitb43e09b81fed4ac308373522093d9fa41d462c0a (patch)
tree845b6eeff958e5d6e73e7ae7687d0fc1ab242ee8
parent6903d25f5dc16d933386ea114485ea4e32700539 (diff)
parentea352282427280e33107ac1a47a3a1081a733cf5 (diff)
mdk-doc (1.2.10-1) unstable; urgency=medium
* New upstream version: - update the upstream copyright years - refresh the patches * Add the year 2019 to my debian/* copyright notice. * Drop the obsolete and unused get-orig-source target from the rules file. [dgit import unpatched mdk-doc 1.2.10-1]
-rw-r--r--debian/changelog76
-rw-r--r--debian/clean1
-rw-r--r--debian/control32
-rw-r--r--debian/copyright83
-rw-r--r--debian/mdk-doc.doc-base12
-rw-r--r--debian/mdk-doc.install2
-rw-r--r--debian/mdk-doc.lintian-overrides5
-rw-r--r--debian/patches/img-path.patch93
-rw-r--r--debian/patches/series2
-rw-r--r--debian/patches/typos.patch754
-rwxr-xr-xdebian/rules53
-rw-r--r--debian/source/format1
-rw-r--r--debian/tests/control5
-rw-r--r--debian/upstream/metadata7
-rw-r--r--debian/upstream/signing-key.asc61
-rw-r--r--debian/watch6
16 files changed, 1193 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..9604ec8
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,76 @@
+mdk-doc (1.2.10-1) unstable; urgency=medium
+
+ * New upstream version:
+ - update the upstream copyright years
+ - refresh the patches
+ * Add the year 2019 to my debian/* copyright notice.
+ * Drop the obsolete and unused get-orig-source target from
+ the rules file.
+
+ -- Peter Pentchev <roam@debian.org> Wed, 23 Jan 2019 14:59:13 +0200
+
+mdk-doc (1.2.9-5) unstable; urgency=medium
+
+ * Use my Debian e-mail address.
+ * Add a trivial autopkgtest running adequate on the installed package.
+ * Bring up to compliance with Debian Policy 4.3.0: install the upstream
+ release notes (NEWS) as NEWS and not changelog.
+ * Use the B-D: debhelper-compat (= 11) mechanism.
+ * Move away from git-dpm.
+ * Add another correction to the typos patch.
+ * Bump the debhelper compatibility level to 12 with no changes.
+
+ -- Peter Pentchev <roam@debian.org> Tue, 25 Dec 2018 21:55:09 +0200
+
+mdk-doc (1.2.9-4) unstable; urgency=low
+
+ * Bring up to compliance with Debian Policy 4.1.4:
+ - if "nodoc" is specified, produce an empty package
+ - switch some upstream URL references to the HTTPS scheme now that
+ all the upstream-related websites support it
+ * Switch to git-dpm for patch management and rename the patches.
+ * Add "Rules-Requires-Root: no" to the source control stanza.
+ * Bump the year on my debian/* copyright notice.
+ * Bump the debhelper compatibility level to 11 with no changes.
+ * Add a comment to the copyright file explaining the non-free section.
+ * Correct some more typographical errors.
+ * Point the Vcs-* fields to salsa.debian.org.
+
+ -- Peter Pentchev <roam@ringlet.net> Sun, 06 May 2018 15:09:42 +0300
+
+mdk-doc (1.2.9-3) unstable; urgency=medium
+
+ * Enable auto-building since this is a non-free package.
+ Closes: #838904. Thanks, Andreas Beckmann!
+ * Depend on debhelper 10 now that it's even in jessie-backports.
+ * Switch back to pgpsigurlmangle in the watch file; pgpmode=auto will
+ silently ignore a missing upstream signature file.
+ * Use the v4 substitution variables in the watch file.
+ * Import the "typographical errors" patch from the mdk package and
+ extend it to correct more errors.
+
+ -- Peter Pentchev <roam@ringlet.net> Tue, 15 Nov 2016 15:23:34 +0200
+
+mdk-doc (1.2.9-2) unstable; urgency=medium
+
+ * Bump the debhelper compatibility version to 10:
+ - drop the --with autoreconf and --parallel options, default now
+ - drop the dh-autoreconf dependency, debhelper has it now
+ - override the "experimental debhelper version" Lintian warning
+ * Declare compliance with the Debian Policy 3.9.8 with no changes.
+ * Update the watch file to version 4 and use pgpmode=auto to let uscan
+ find the *.sig URL by itself.
+ * Drop some build dependencies not needed for the documentation:
+ - GUI
+ - Guile
+ - NLS (gettext)
+ * Change the copyright format URL to the HTTPS scheme.
+ * Add a doc-base autopkgtest.
+
+ -- Peter Pentchev <roam@ringlet.net> Fri, 15 Jul 2016 11:34:31 +0300
+
+mdk-doc (1.2.9-1) unstable; urgency=low
+
+ * Initial upload. Closes: #544012
+
+ -- Peter Pentchev <roam@ringlet.net> Sat, 19 Mar 2016 16:58:10 +0200
diff --git a/debian/clean b/debian/clean
new file mode 100644
index 0000000..dc159b4
--- /dev/null
+++ b/debian/clean
@@ -0,0 +1 @@
+doc/mdk.info
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..bbd4108
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,32 @@
+Source: mdk-doc
+Section: non-free/doc
+Priority: optional
+Maintainer: Peter Pentchev <roam@debian.org>
+Build-Depends:
+ debhelper-compat (= 12),
+ intltool,
+ libglib2.0-dev,
+ pkg-config,
+ texinfo
+Standards-Version: 4.3.0
+Homepage: https://www.gnu.org/software/mdk/mdk.html
+Vcs-Browser: https://salsa.debian.org/debian/mdk-doc/
+Vcs-Git: https://salsa.debian.org/debian/mdk-doc.git
+XS-Autobuild: yes
+Rules-Requires-Root: no
+
+Package: mdk-doc
+Architecture: all
+Multi-Arch: foreign
+Depends: mdk, ${misc:Depends}
+Enhances: mdk
+Description: Documentation for the MIX Development Kit
+ MDK stands for MIX Development Kit, and provides tools for developing
+ and executing, in a MIX virtual machine, MIXAL programs.
+ .
+ The MIX is Donald Knuth's mythical computer, described in the first
+ volume of The Art of Computer Programming, which is programmed using
+ MIXAL, the MIX assembly language.
+ .
+ This package contains the documentation for the utilities included in
+ the mdk package.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..3ef3f83
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,83 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: mdk
+Upstream-Contact: Jose A. Ortega Ruiz <jao@gnu.org>
+Source: https://www.gnu.org/software/mdk/mdk.html
+Copyright: (C) 1985-2019 Free Software Foundation, Inc.
+License: GPL-3+
+Comment: non-free because of the GFDL doc/* files
+
+Files: *
+Copyright: (C) 1985-2019 Free Software Foundation, Inc.
+License: GPL-3+
+
+Files: doc/*
+Copyright: (C) 1985-2018 Free Software Foundation, Inc.
+License: GFDL-1.2+-inv-fc-bc
+
+Files: doc/MIX.DOC
+Copyright: (C) 1973, 1968 by Addison-Wesley
+License: GFDL-1.2+-inv-fc-bc
+
+Files: lib/*
+ mixlib/testsuite/*
+Copyright: (C) 1994-2018 Free Software Foundation, Inc.
+License: GPL-2+
+
+Files: intl/*
+Copyright: (C) 1996-2012 Free Software Foundation, Inc.
+License: LGPL-2+
+
+Files: mixlib/completion.c mixlib/completion.h
+Copyright: (C) 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
+License: LGPL-2+
+
+Files: debian/*
+Copyright: (C) 2016, 2018, 2019 Peter Pentchev <roam@debian.org>
+License: GPL-2+
+
+License: GPL-2+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+ .
+ On Debian systems, the complete text of the GNU General Public License
+ can be found in "/usr/share/common-licenses/GPL-2".
+
+License: GPL-3+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+ .
+ On Debian systems, the complete text of the GNU General Public License
+ can be found in "/usr/share/common-licenses/GPL-2".
+
+License: LGPL-2+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+ .
+ On Debian systems, the full text of the GNU Library General Public License
+ version 2 can be found in "/usr/share/common-licenses/LGPL-2".
+
+License: GFDL-1.2+-inv-fc-bc
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.2 or
+ any later version published by the Free Software Foundation; with the
+ Invariant Sections being ``GNU General Public License'', with the
+ Front-Cover Texts being ``A GNU Manual,'' and with the Back-Cover Texts
+ as in (a) below. A copy of the license is included in the section
+ entitled ``GNU Free Documentation License''.
+ .
+ (a) The FSF's Back-Cover Text is: ``You have the freedom to
+ copy and modify this GNU manual. Buying copies from the FSF
+ supports it in developing GNU and promoting software freedom.''
+ .
+ Note: the MIX.DOC file is also covered by this license as explained in
+ the doc/COPYING.MIX.DOC file; the Debian mdk-doc package should be
+ considered to be distributed in conjunction with the Debian mdk package.
+ .
+ On Debian systems, the full text of the GNU Free Documentation License
+ version 1.2 can be found in "/usr/share/common-licenses/GFDL-1.2".
diff --git a/debian/mdk-doc.doc-base b/debian/mdk-doc.doc-base
new file mode 100644
index 0000000..12229c9
--- /dev/null
+++ b/debian/mdk-doc.doc-base
@@ -0,0 +1,12 @@
+Document: mdk-doc
+Title: GNU MIX Development Kit (mdk)
+Abstract: Documentation for the MIX Development Kit
+Section: Emulators
+
+Format: HTML
+Index: /usr/share/doc/mdk/html/index.html
+Files: /usr/share/doc/mdk/html/*.html
+
+Format: Info
+Index: /usr/share/info/mdk.info.gz
+Files: /usr/share/info/mdk.info.gz
diff --git a/debian/mdk-doc.install b/debian/mdk-doc.install
new file mode 100644
index 0000000..90b7cc5
--- /dev/null
+++ b/debian/mdk-doc.install
@@ -0,0 +1,2 @@
+doc/img/*.jpg usr/share/doc/mdk/html/img
+doc/MIX.DOC usr/share/doc/mdk
diff --git a/debian/mdk-doc.lintian-overrides b/debian/mdk-doc.lintian-overrides
new file mode 100644
index 0000000..67b348c
--- /dev/null
+++ b/debian/mdk-doc.lintian-overrides
@@ -0,0 +1,5 @@
+# The aim of this dependency is to satisfy the "distributed in
+# conjunction with" licensing terms for MIX.DOC and two more files;
+# please see the doc/COPYING.MIX.DOC file in the source package.
+#
+mdk-doc: doc-package-depends-on-main-package depends
diff --git a/debian/patches/img-path.patch b/debian/patches/img-path.patch
new file mode 100644
index 0000000..649632b
--- /dev/null
+++ b/debian/patches/img-path.patch
@@ -0,0 +1,93 @@
+Description: Fix the paths to the images.
+Forwarded: not-needed
+Author: Peter Pentchev <roam@ringlet.net>
+Last-Update: 2016-01-17
+
+--- a/doc/mdk_gmixvm.texi
++++ b/doc/mdk_gmixvm.texi
+@@ -66,11 +66,11 @@
+ debug your MIX programs.
+
+ @ifinfo
+-@image{img/ss_mix, 400pt}
++@image{/usr/share/doc/mdk-doc/html/img/ss_mix, 400pt}
+ @end ifinfo
+
+ @ifhtml
+-@image{../img/ss_mix, 400pt}
++@image{img/ss_mix, 400pt}
+ @end ifhtml
+
+ Apart from the menu and status bars, we can distinguish two zones (or
+@@ -98,7 +98,7 @@
+ Here is an screenshot showing how @code{gmixvm} looks like when running
+ with a couple of detached windows:
+
+-@image{../img/ss_split, 420pt}
++@image{img/ss_split, 420pt}
+
+ @end ifhtml
+
+@@ -178,7 +178,7 @@
+ @ifhtml
+ The next figure shows the enter word dialog.
+
+-@image{../img/ss_worddlg, 250pt}
++@image{img/ss_worddlg, 250pt}
+
+ @end ifhtml
+
+@@ -203,7 +203,7 @@
+ the currently loaded MIX file.
+
+ @ifhtml
+-@image{../img/ss_mixal, 400pt}
++@image{img/ss_mixal, 400pt}
+ @end ifhtml
+
+ The information is presented in four columns. The first column
+@@ -228,7 +228,7 @@
+
+ @ifhtml
+
+-@image{../img/ss_devices, 400pt}
++@image{img/ss_devices, 400pt}
+
+ @end ifhtml
+
+@@ -303,7 +303,7 @@
+
+ @ifhtml
+
+-@image{../img/ss_symbols, 250pt}
++@image{img/ss_symbols, 250pt}
+
+ @end ifhtml
+
+@@ -335,7 +335,7 @@
+ the contents of MIX binary block devices.
+
+ @ifhtml
+-@image{../img/ss_devform, 250pt}
++@image{img/ss_devform, 250pt}
+ @end ifhtml
+
+ The available formats are decimal (e.g. @w{-1234}) and MIX word
+@@ -347,7 +347,7 @@
+ stored (@file{~/.mdk} is the default location).
+
+ @ifhtml
+-@image{../img/ss_devdir, 250pt}
++@image{img/ss_devdir, 250pt}
+ @end ifhtml
+
+ You can also specify the devices directory using the @code{mixvm}
+@@ -360,7 +360,7 @@
+ for editing and compiling MIXAL source files.
+
+ @ifhtml
+-@image{../img/ss_extprog, 250pt}
++@image{img/ss_extprog, 250pt}
+ @end ifhtml
+
+ The commands are specified as template strings, where the control
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..040f8ff
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,2 @@
+img-path.patch
+typos.patch
diff --git a/debian/patches/typos.patch b/debian/patches/typos.patch
new file mode 100644
index 0000000..028d43b
--- /dev/null
+++ b/debian/patches/typos.patch
@@ -0,0 +1,754 @@
+Description: Correct some typographical and grammatical errors.
+ At least two typos in the intl/ directory were left as-is, since
+ this seems to be imported libintl source code.
+Forwarded: not-yet
+Author: Peter Pentchev <roam@ringlet.net>
+Last-Update: 2019-01-23
+
+--- a/ChangeLog.2
++++ b/ChangeLog.2
+@@ -50,7 +50,7 @@
+
+ * misc/mixal-mode.el: -g option no longer needed on compilation.
+
+- * doc/mdk_mixasm.texi: fix of grammer mistake.
++ * doc/mdk_mixasm.texi: fix a grammar mistake.
+
+ 2005-03-26 Sergey Poznyakoff <gray@gnu.org>
+
+--- a/INSTALL
++++ b/INSTALL
+@@ -4,7 +4,7 @@
+ Download the source tarball
+ ===========================
+
+- GNU MDK is distributed as a source tarball available for download in
++ GNU MDK is distributed as a source tarball available for download at
+ the following URLs:
+
+ * <ftp://ftp.gnu.org/pub/gnu/mdk> (or one of its mirrors
+@@ -48,7 +48,7 @@
+ - GNU Libguile 2.0.x (http://www.gnu.org/software/guile) (optional)
+
+ If present, readline and history are used to provide command
+-completion and history management to the command line MIX virtual
++completion and history management to the command-line MIX virtual
+ machine, `mixvm'. GTK+ and libglade are needed if you want to build
+ the graphical interface to the MIX virtual machine, `gmixvm'. Finally,
+ if libguile is found, the MDK utilities will be compiled with Guile
+@@ -74,7 +74,7 @@
+
+ The first command, `configure', will setup the makefiles for your
+ system. In particular, `configure' will look for GTK+ and libglade,
+-and, if they are present, will generate the appropiate makefiles for
++and, if they are present, will generate the appropriate makefiles for
+ building the `gmixvm' graphical user interface. Upon completion, you
+ should see a message with the configuration results like the following:
+
+@@ -87,7 +87,7 @@
+ - gmixvm (mixvm GTK+ GUI, with guile support)
+ - mixguile (the mixvm guile shell)
+
+-where the last lines may be missing if you lack the above mentioned
++where the last lines may be missing if you lack the above-mentioned
+ libraries.
+
+ The next command, `make', will actually build the MDK programs in
+@@ -102,14 +102,14 @@
+ - `mixguile/mixguile'
+
+ You can run these programs from within their directories, but I
+-recommend you to install them in proper locations using `make install'
++recommend that you install them in the proper locations using `make install'
+ from a root shell.
+
+ Emacs support
+ =============
+
+ `mixvm' can be run within an Emacs GUD buffer using the elisp
+-program `misc/mixvm.el', kindly contributed by {No value for `PHILIP'}.
++program `misc/mixvm.el', kindly contributed by Philip Ellis King.
+
+ `mixvm.el' provides an interface between MDK's `mixvm' and Emacs,
+ via GUD. Place this file in your load-path, optionally adding the
+@@ -120,8 +120,8 @@
+ Special configure flags
+ =======================
+
+- You can fine tunning the configuration process using the following
+-switches with configure:
++ You can fine-tune the configuration process using the following
++switches for configure:
+
+ - User Option: -enable-gui[=yes|no]
+ - User Option: -disable-gui
+--- a/NEWS
++++ b/NEWS
+@@ -130,7 +130,7 @@
+ - cbpo help string corrected (thanks to Michael Vernov).
+ - I1 and I2 in mixvm swapped to their correct position (closes #15746).
+ - Obsolete CFLAGS for Darwin removed.
+- - mixal-mode.el syncronised with Emacs CVS.
++ - mixal-mode.el synchronised with Emacs CVS.
+ - Segmentation fault when clicking Memory title (closes #15910).
+ - Writing to char devices caused an out-of-bounds array access
+ (thanks to Aleix Conchillo).
+--- a/THANKS
++++ b/THANKS
+@@ -34,7 +34,7 @@
+ reviewed the MDK documentation, providing insightful advice.
+
+ * Eric S. Raymond contributed the documentation file doc/MIX.DOC
+- and the samples sample/elevator.mixal, sample/mistery.mixal from
++ and the samples sample/elevator.mixal, sample/mystery.mixal from
+ his MIXAL package.
+
+ * Ryan Schmidt, Agustin Navarro (<anp@cantv.net>), Ying-Chieh Liao
+--- a/doc/MIX.DOC
++++ b/doc/MIX.DOC
+@@ -44,7 +44,7 @@
+ it can be used to hold information shifted to the right out of rA. The index
+ registers rI1, rI2, rI3, rI4, rI5, and rI6 are used primarily for counting and
+ for referencing variable memory addresses. The J-register always hold the
+-address of the instruction following the preceding ``JUMP'' intruction, and it
++address of the instruction following the preceding ``JUMP'' instruction, and it
+ is primarily used in connection with subroutines.
+ Besides thesee registers, MIX contains
+
+@@ -124,7 +124,7 @@
+ If I is zero, the ``,I'' is omitted. If F is the -normal- F-specification
+ for this particular operator, the ``(F)'' need not be written. The normal F-
+ specification for almost all operators is (0:5), representing a whole word.
+-If a different F is standard, it will be mentioned explicity when we discuss
++If a different F is standard, it will be mentioned explicitly when we discuss
+ a particular operator.
+
+ ...
+--- a/doc/mdk_gmixvm.texi
++++ b/doc/mdk_gmixvm.texi
+@@ -298,7 +298,7 @@
+ @deffn Debug Symbols...
+ Opens a dialog showing the list of symbols defined in the currently
+ loaded MIX program. The font used to display this list can be
+-customised using the meny entry @code{@w{Settings->Change font->Symbol
++customised using the menu entry @code{@w{Settings->Change font->Symbol
+ list}}.
+
+ @ifhtml
+@@ -325,7 +325,7 @@
+
+ @deffn Settings @w{Change font}
+ Lets you change the font used in the various @code{gmixv} widgets
+-(i.e. commad prompt, command log, Virtual machine, Source, Devices and
++(i.e. command prompt, command log, Virtual machine, Source, Devices and
+ Symbol list). There is also an entry (@code{All}) to change all fonts
+ at once.
+ @end deffn
+--- a/doc/mdk_mixguile.texi
++++ b/doc/mdk_mixguile.texi
+@@ -288,7 +288,7 @@
+
+ @defun mix-add-break-hook hook
+ @defunx mix-add-cond-break hook
+-Add a hook funtion to be executed when an explicit (resp. conditional)
++Add a hook function to be executed when an explicit (resp. conditional)
+ breakpoint is encountered during program execution. @var{hook} is a
+ function taking two arguments: the source line number where the hook has
+ occurred, and the current program counter value. The following code
+--- a/doc/mdk_tut.texi
++++ b/doc/mdk_tut.texi
+@@ -397,7 +397,7 @@
+ operations: they are used to store a subfield of a register
+ into a memory location. Here, MOD represents the subfield of the memory
+ cell that is to be overwritten with bytes from a register. These bytes
+-are taken beginning by the rightmost side of the register.
++are taken starting with the rightmost side of the register.
+
+ @ftable @code
+ @item STA
+@@ -823,7 +823,7 @@
+ @comment node-name, next, previous, up
+ @subsubsection Execution times
+
+-@cindex exection time
++@cindex execution time
+ @cindex time
+
+ When writing MIXAL programs (or any kind of programs, for that
+--- a/misc/mixal-mode.el
++++ b/misc/mixal-mode.el
+@@ -162,7 +162,7 @@
+ ; (makunbound 'mixal-operation-codes-alist)
+
+ (defun mixal-add-operation-code (op-code group full-name C-byte F-byte description execution-time)
+- "Add an operation code to the list that contains information about possible op code's."
++ "Add an operation code to the list that contains information about possible opcodes."
+ (setq mixal-operation-codes-alist (cons (list op-code group full-name C-byte F-byte
+ description execution-time)
+ mixal-operation-codes-alist )))
+@@ -188,7 +188,7 @@
+ "Put in rI1 the contents of cell no. M.
+ Uses a + when there is no sign in subfield. Subfield is left padded with
+ zeros to make a word. Index registers only have 2 bytes and a sign, Trying
+-to set anything more that that will result in undefined behavior."
++to set anything more than that will result in undefined behavior."
+ 2)
+
+ (mixal-add-operation-code
+@@ -196,7 +196,7 @@
+ "Put in rI2 the contents of cell no. M.
+ Uses a + when there is no sign in subfield. Subfield is left padded with
+ zeros to make a word. Index registers only have 2 bytes and a sign, Trying
+-to set anything more that that will result in undefined behavior."
++to set anything more than that will result in undefined behavior."
+ 2)
+
+ (mixal-add-operation-code
+@@ -204,7 +204,7 @@
+ "Put in rI3 the contents of cell no. M.
+ Uses a + when there is no sign in subfield. Subfield is left padded with
+ zeros to make a word. Index registers only have 2 bytes and a sign, Trying
+-to set anything more that that will result in undefined behavior."
++to set anything more than that will result in undefined behavior."
+ 2)
+
+ (mixal-add-operation-code
+@@ -212,7 +212,7 @@
+ "Put in rI4 the contents of cell no. M.
+ Uses a + when there is no sign in subfield. Subfield is left padded with
+ zeros to make a word. Index registers only have 2 bytes and a sign, Trying
+-to set anything more that that will result in undefined behavior."
++to set anything more than that will result in undefined behavior."
+ 2)
+
+ (mixal-add-operation-code
+@@ -220,7 +220,7 @@
+ "Put in rI5 the contents of cell no. M.
+ Uses a + when there is no sign in subfield. Subfield is left padded with
+ zeros to make a word. Index registers only have 2 bytes and a sign, Trying
+-to set anything more that that will result in undefined behavior."
++to set anything more than that will result in undefined behavior."
+ 2)
+
+ (mixal-add-operation-code
+@@ -228,7 +228,7 @@
+ "Put in rI6 the contents of cell no. M.
+ Uses a + when there is no sign in subfield. Subfield is left padded with
+ zeros to make a word. Index registers only have 2 bytes and a sign, Trying
+-to set anything more that that will result in undefined behavior."
++to set anything more than that will result in undefined behavior."
+ 2)
+
+ (mixal-add-operation-code
+@@ -250,7 +250,7 @@
+ "Put in rI1 the contents of cell no. M, with opposite sign.
+ Uses a + when there is no sign in subfield, otherwise use the opposite sign.
+ Subfield is left padded with zeros to make a word. Index registers only
+-have 2 bytes and a sign, Trying to set anything more that that will result
++have 2 bytes and a sign, Trying to set anything more than that will result
+ in undefined behavior."
+ 2)
+
+@@ -259,7 +259,7 @@
+ "Put in rI2 the contents of cell no. M, with opposite sign.
+ Uses a + when there is no sign in subfield, otherwise use the opposite sign.
+ Subfield is left padded with zeros to make a word. Index registers only
+-have 2 bytes and a sign, Trying to set anything more that that will result
++have 2 bytes and a sign, Trying to set anything more than that will result
+ in undefined behavior."
+ 2)
+
+@@ -268,7 +268,7 @@
+ "Put in rI3 the contents of cell no. M, with opposite sign.
+ Uses a + when there is no sign in subfield, otherwise use the opposite sign.
+ Subfield is left padded with zeros to make a word. Index registers only
+-have 2 bytes and a sign, Trying to set anything more that that will result
++have 2 bytes and a sign, Trying to set anything more than that will result
+ in undefined behavior."
+ 2)
+
+@@ -277,7 +277,7 @@
+ "Put in rI4 the contents of cell no. M, with opposite sign.
+ Uses a + when there is no sign in subfield, otherwise use the opposite sign.
+ Subfield is left padded with zeros to make a word. Index registers only
+-have 2 bytes and a sign, Trying to set anything more that that will result
++have 2 bytes and a sign, Trying to set anything more than that will result
+ in undefined behavior."
+ 2)
+
+@@ -286,7 +286,7 @@
+ "Put in rI5 the contents of cell no. M, with opposite sign.
+ Uses a + when there is no sign in subfield, otherwise use the opposite sign.
+ Subfield is left padded with zeros to make a word. Index registers only
+-have 2 bytes and a sign, Trying to set anything more that that will result
++have 2 bytes and a sign, Trying to set anything more than that will result
+ in undefined behavior."
+ 2)
+
+@@ -295,7 +295,7 @@
+ "Put in rI6 the contents of cell no. M, with opposite sign.
+ Uses a + when there is no sign in subfield, otherwise use the opposite sign.
+ Subfield is left padded with zeros to make a word. Index registers only
+-have 2 bytes and a sign, Trying to set anything more that that will result
++have 2 bytes and a sign, Trying to set anything more than that will result
+ in undefined behavior."
+ 2)
+
+@@ -304,7 +304,7 @@
+ "Store in cell Nr. M the contents of rA.
+ The modification of the operation code represents the subfield of the
+ memory cell that is to be overwritten with bytes from a register. These
+-bytes are taken beginning by the rightmost side of the register. The
++bytes are taken starting with the rightmost side of the register. The
+ sign of the memory cell is not changed, unless it is part of the subfield."
+ 2)
+
+@@ -313,7 +313,7 @@
+ "Store in cell Nr. M the contents of rX.
+ The modification of the operation code represents the subfield of the
+ memory cell that is to be overwritten with bytes from a register. These
+-bytes are taken beginning by the rightmost side of the register. The
++bytes are taken starting with the rightmost side of the register. The
+ sign of the memory cell is not changed, unless it is part of the subfield."
+ 2)
+
+@@ -322,7 +322,7 @@
+ "Store in cell Nr. M the contents of rI1.
+ The modification of the operation code represents the subfield of the
+ memory cell that is to be overwritten with bytes from a register. These
+-bytes are taken beginning by the rightmost side of the register. The
++bytes are taken starting with the rightmost side of the register. The
+ sign of the memory cell is not changed, unless it is part of the subfield.
+ Because index registers only have 2 bytes and a sign, the rest of the bytes
+ are assumed to be 0."
+@@ -333,7 +333,7 @@
+ "Store in cell Nr. M the contents of rI2.
+ The modification of the operation code represents the subfield of the
+ memory cell that is to be overwritten with bytes from a register. These
+-bytes are taken beginning by the rightmost side of the register. The
++bytes are taken starting with the rightmost side of the register. The
+ sign of the memory cell is not changed, unless it is part of the subfield.
+ Because index registers only have 2 bytes and a sign, the rest of the bytes
+ are assumed to be 0."
+@@ -344,7 +344,7 @@
+ "Store in cell Nr. M the contents of rI3.
+ The modification of the operation code represents the subfield of the
+ memory cell that is to be overwritten with bytes from a register. These
+-bytes are taken beginning by the rightmost side of the register. The
++bytes are taken starting with the rightmost side of the register. The
+ sign of the memory cell is not changed, unless it is part of the subfield.
+ Because index registers only have 2 bytes and a sign, the rest of the bytes
+ are assumed to be 0."
+@@ -355,7 +355,7 @@
+ "Store in cell Nr. M the contents of rI4.
+ The modification of the operation code represents the subfield of the
+ memory cell that is to be overwritten with bytes from a register. These
+-bytes are taken beginning by the rightmost side of the register. The
++bytes are taken starting with the rightmost side of the register. The
+ sign of the memory cell is not changed, unless it is part of the subfield.
+ Because index registers only have 2 bytes and a sign, the rest of the bytes
+ are assumed to be 0."
+@@ -366,7 +366,7 @@
+ "Store in cell Nr. M the contents of rI5.
+ The modification of the operation code represents the subfield of the
+ memory cell that is to be overwritten with bytes from a register. These
+-bytes are taken beginning by the rightmost side of the register. The
++bytes are taken starting with the rightmost side of the register. The
+ sign of the memory cell is not changed, unless it is part of the subfield.
+ Because index registers only have 2 bytes and a sign, the rest of the bytes
+ are assumed to be 0."
+@@ -377,7 +377,7 @@
+ "Store in cell Nr. M the contents of rI6.
+ The modification of the operation code represents the subfield of the
+ memory cell that is to be overwritten with bytes from a register. These
+-bytes are taken beginning by the rightmost side of the register. The
++bytes are taken starting with the rightmost side of the register. The
+ sign of the memory cell is not changed, unless it is part of the subfield.
+ Because index registers only have 2 bytes and a sign, the rest of the bytes
+ are assumed to be 0."
+@@ -388,7 +388,7 @@
+ "Store in cell Nr. M the contents of rJ.
+ The modification of the operation code represents the subfield of the
+ memory cell that is to be overwritten with bytes from a register. These
+-bytes are taken beginning by the rightmost side of the register. The sign
++bytes are taken starting with the rightmost side of the register. The sign
+ of rJ is always +, sign of the memory cell is not changed, unless it is
+ part of the subfield. The default field for STJ is (0:2)."
+ 2)
+@@ -404,7 +404,7 @@
+ 'ADD 'arithmetic "add" 1 'field
+ "Add to A the contents of cell Nr. M.
+ Subfield is padded with zero to make a word.
+-If the result is to large, the operation result modulo 1,073,741,823 (the
++If the result is too large, the operation result modulo 1,073,741,823 (the
+ maximum value storable in a MIX word) is stored in `rA', and the overflow
+ toggle is set to TRUE."
+ 2)
+@@ -413,7 +413,7 @@
+ 'SUB 'arithmetic "subtract" 2 'field
+ "Subtract to A the contents of cell Nr. M.
+ Subfield is padded with zero to make a word.
+-If the result is to large, the operation result modulo 1,073,741,823 (the
++If the result is too large, the operation result modulo 1,073,741,823 (the
+ maximum value storable in a MIX word) is stored in `rA', and the overflow
+ toggle is set to TRUE."
+ 2)
+@@ -427,8 +427,8 @@
+ (mixal-add-operation-code
+ 'DIV 'arithmetic "divide" 4 'field
+ "Both rA and rX are taken together and divided by cell Nr. M, quotient is placed in rA, remainder in rX.
+-The sign is taken from rA, and after the divide the sign of rA is set to + when
+-both the sign of rA and M where the same. Divide by zero and overflow of rA result
++The sign is taken from rA, and after the division the sign of rA is set to + when
++both the signs of rA and M where the same. Divide by zero and overflow of rA result
+ in undefined behavior."
+ 12)
+
+@@ -656,7 +656,7 @@
+ 'CMP1 'comparison "compare I1" (+ 56 1) 'field
+ "Compare contents of rI1 with contents of M.
+ The field specifier works on both fields. The comparison indicator
+-is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
++is set to LESS, EQUAL or GREATER depending on the outcome. Bits 1, 2 and 3
+ have a value of 0."
+ 2)
+
+@@ -665,7 +665,7 @@
+ 'CMP2 'comparison "compare I2" (+ 56 2) 'field
+ "Compare contents of rI2 with contents of M.
+ The field specifier works on both fields. The comparison indicator
+-is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
++is set to LESS, EQUAL or GREATER depending on the outcome. Bits 1, 2 and 3
+ have a value of 0."
+ 2)
+
+@@ -674,7 +674,7 @@
+ 'CMP3 'comparison "compare I3" (+ 56 3) 'field
+ "Compare contents of rI3 with contents of M.
+ The field specifier works on both fields. The comparison indicator
+-is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
++is set to LESS, EQUAL or GREATER depending on the outcome. Bits 1, 2 and 3
+ have a value of 0."
+ 2)
+
+@@ -683,7 +683,7 @@
+ 'CMP4 'comparison "compare I4" (+ 56 4) 'field
+ "Compare contents of rI4 with contents of M.
+ The field specifier works on both fields. The comparison indicator
+-is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
++is set to LESS, EQUAL or GREATER depending on the outcome. Bits 1, 2 and 3
+ have a value of 0."
+ 2)
+
+@@ -692,7 +692,7 @@
+ 'CMP5 'comparison "compare I5" (+ 56 5) 'field
+ "Compare contents of rI5 with contents of M.
+ The field specifier works on both fields. The comparison indicator
+-is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
++is set to LESS, EQUAL or GREATER depending on the outcome. Bits 1, 2 and 3
+ have a value of 0."
+ 2)
+
+@@ -701,7 +701,7 @@
+ 'CMP6 'comparison "compare I6" (+ 56 6) 'field
+ "Compare contents of rI6 with contents of M.
+ The field specifier works on both fields. The comparison indicator
+-is set to LESS, EQUAL or GREATER depending on the outcome. Bit 1,2 and 3
++is set to LESS, EQUAL or GREATER depending on the outcome. Bits 1, 2 and 3
+ have a value of 0."
+ 2)
+
+@@ -1188,21 +1188,21 @@
+
+ (mixal-add-operation-code
+ 'SLA 'miscellaneous "shift left A" 6 0
+- "Shift to A, M bytes left.
+-Hero's will be added to the right."
++ "Shift A, M bytes to the left.
++Zeros will be added to the right."
+ 2)
+
+
+ (mixal-add-operation-code
+ 'SRA 'miscellaneous "shift right A" 6 1
+- "Shift to A, M bytes right.
++ "Shift A, M bytes to the right.
+ Zeros will be added to the left."
+ 2)
+
+
+ (mixal-add-operation-code
+ 'SLAX 'miscellaneous "shift left AX" 6 2
+- "Shift AX, M bytes left.
++ "Shift AX, M bytes to the left.
+ Zeros will be added to the right."
+ 2)
+
+@@ -1210,32 +1210,32 @@
+
+ (mixal-add-operation-code
+ 'SRAX 'miscellaneous "shift right AX" 6 3
+- "Shift AX, M bytes right.
++ "Shift AX, M bytes to the right.
+ Zeros will be added to the left."
+ 2)
+
+
+ (mixal-add-operation-code
+ 'SLC 'miscellaneous "shift left AX circularly" 6 4
+- "Shift AX, M bytes left circularly.
+-The bytes that fall off to the left will be added to the right."
++ "Shift AX, M bytes to the left circularly.
++The bits that fall off on the left will be added to the right."
+ 2)
+
+
+ (mixal-add-operation-code
+ 'SRC 'miscellaneous "shift right AX circularly" 6 4
+- "Shift AX, M bytes right circularly.
+-The bytes that fall off to the right will be added to the left."
++ "Shift AX, M bytes to the right circularly.
++The bytes that fall off on the right will be added to the left."
+ 2)
+
+ (mixal-add-operation-code
+ 'SLB 'miscellaneous "shift left AX binary" 6 6
+- "Shift AX, M binary places left."
++ "Shift AX, M binary places to the left."
+ 2)
+
+ (mixal-add-operation-code
+ 'SRB 'miscellaneous "shift right AX binary" 6 7
+- "Shift AX, M binary places right."
++ "Shift AX, M binary places to the right."
+ 2)
+
+ (mixal-add-operation-code
+@@ -1285,15 +1285,15 @@
+
+ (mixal-add-operation-code
+ 'NUM 'conversion "convert to numeric" 5 0
+- "Convert rAX to its numerical value and store it in rA.
+-the register rAX is assumed to contain a character representation of
++ "Convert rAX to its numerical value and store it into rA.
++The register rAX is assumed to contain a character representation of
+ a number."
+ 10)
+
+ (mixal-add-operation-code
+ 'CHAR 'conversion "convert to characters" 5 1
+ "Convert the number stored in rA to a character representation.
+-The converted character representation is stored in rAX."
++The converted character representation is stored into rAX."
+ 10)
+
+ (defvar mixal-describe-operation-code-history nil
+@@ -1302,15 +1302,15 @@
+ (defun mixal-describe-operation-code (&optional op-code)
+ "Display the full documentation of OP-CODE."
+ (interactive)
+- ;; we like to provide completition and history, so do it ourself (interactive "?bla")?
++ ;; we like to provide completion and history, so do it ourself (interactive "?bla")?
+ (unless op-code
+ (let* ((completion-ignore-case t)
+ ;; we already have a list, but it is not in the right format
+- ;; transform it to a valid table so completition can use it
++ ;; transform it to a valid table so completion can use it
+ (table (mapcar '(lambda (elm)
+ (cons (symbol-name (car elm)) nil))
+ mixal-operation-codes-alist))
+- ;; prompt is different depending on we are close to a valid op-code
++ ;; prompt is different depending on whether we are close to a valid op-code
+ (have-default (member (current-word) mixal-operation-codes))
+ (prompt (concat "Describe operation code "
+ (if have-default
+@@ -1334,7 +1334,7 @@
+
+ ;;;; Running
+ (defun mixal-run ()
+- "Run's mixal file in current buffer, assumes that file has been compiled"
++ "Runs mixal file in current buffer, assumes that file has been compiled"
+ (interactive)
+ (mixvm (concat "mixvm -r -t -d "
+ (file-name-sans-extension (buffer-file-name)))))
+--- a/mixguile/mixguile-commands.scm
++++ b/mixguile/mixguile-commands.scm
+@@ -19,7 +19,7 @@
+ ;
+ ;;
+
+-;; auxiliar functions for argument conversion
++;; auxiliary functions for argument conversion
+ (define argsym->string
+ (lambda (arg)
+ (cond ((symbol? arg) (symbol->string arg))
+--- a/mixguile/mixguile.c
++++ b/mixguile/mixguile.c
+@@ -101,7 +101,7 @@
+ g_assert (dispatcher_);
+ }
+
+-/* access the mixguile comand dispatcher */
++/* access the mixguile command dispatcher */
+ mix_vm_cmd_dispatcher_t *
+ mixguile_get_cmd_dispatcher (void)
+ {
+--- a/mixguile/mixguile.h
++++ b/mixguile/mixguile.h
+@@ -58,7 +58,7 @@
+ extern void
+ mixguile_enter_repl (void *closure, int argc, char *argv[]);
+
+-/* access the comand dispatcher */
++/* access the command dispatcher */
+ extern mix_vm_cmd_dispatcher_t *
+ mixguile_get_cmd_dispatcher (void);
+
+--- a/mixguile/xmixguile_cmd_dispatcher.c
++++ b/mixguile/xmixguile_cmd_dispatcher.c
+@@ -363,7 +363,7 @@
+
+ /* ----- hook functions ---- */
+
+-/* auxiliar arg list maker */
++/* auxiliary arg list maker */
+ static SCM
+ make_arg_list_ (const gchar *arg)
+ {
+@@ -380,7 +380,7 @@
+ return argument;
+ }
+
+-/* command hook auxiliar functions and types */
++/* command hook auxiliary functions and types */
+ /*
+ static SCM
+ hook_error_handler_ (void *data, SCM tag, SCM args){}
+@@ -413,7 +413,7 @@
+ scm_handle_by_message_noexit, dis);
+ }
+
+-/* global hook auxiliar functions and types */
++/* global hook auxiliary functions and types */
+ typedef struct
+ {
+ SCM function;
+--- a/mixlib/mix_eval.c
++++ b/mixlib/mix_eval.c
+@@ -183,7 +183,7 @@
+ {
+ g_return_val_if_fail (eval != NULL, FALSE);
+ if (eval->table != NULL)
+- return mix_symbol_table_substract_table (eval->table, table);
++ return mix_symbol_table_subtract_table (eval->table, table);
+ else
+ return FALSE;
+ }
+--- a/mixlib/mix_eval.h
++++ b/mixlib/mix_eval.h
+@@ -32,7 +32,7 @@
+
+ /* possible evaluation outcomes*/
+ typedef enum {
+- MIX_EVAL_OK, /* sucess*/
++ MIX_EVAL_OK, /* success*/
+ MIX_EVAL_SYNTAX, /* syntax error */
+ MIX_EVAL_INV_FSPEC, /* out of range fspec */
+ MIX_EVAL_MIS_PAREN, /* mismatched parenthesis */
+--- a/mixlib/mix_symbol_table.c
++++ b/mixlib/mix_symbol_table.c
+@@ -97,7 +97,7 @@
+ }
+
+ gboolean
+-mix_symbol_table_substract_table (mix_symbol_table_t *table,
++mix_symbol_table_subtract_table (mix_symbol_table_t *table,
+ const mix_symbol_table_t *other)
+ {
+ g_return_val_if_fail (table != NULL, FALSE);
+--- a/mixlib/mix_symbol_table.h
++++ b/mixlib/mix_symbol_table.h
+@@ -53,7 +53,7 @@
+ const mix_symbol_table_t *from);
+
+ extern gboolean
+-mix_symbol_table_substract_table (mix_symbol_table_t *table,
++mix_symbol_table_subtract_table (mix_symbol_table_t *table,
+ const mix_symbol_table_t *other);
+
+ /* Add/remove symbols one by one */
+--- a/mixlib/mix_types.h
++++ b/mixlib/mix_types.h
+@@ -50,7 +50,7 @@
+ /* Operations */
+ /* Addition */
+ #define mix_byte_add(x,y) mix_byte_new((x) + (y))
+-/* Substraction */
++/* Subtraction */
+ #define mix_byte_sub(x,y) mix_byte_new((x) - (y))
+ /* Product */
+ #define mix_byte_mul(x,y) mix_byte_new((x) * (y))
+--- a/mixlib/mix_vm.c
++++ b/mixlib/mix_vm.c
+@@ -525,7 +525,7 @@
+ N_("Cannot access device for reading"),
+ N_("Cannot access device for writing"),
+ N_("Unexpected error"),
+- N_("Unknow error code")
++ N_("Unknown error code")
+ };
+
+ return errors[code > MIX_VM_ERROR_UNEXPECTED ?
+--- a/mixlib/xmix_vm.c
++++ b/mixlib/xmix_vm.c
+@@ -23,7 +23,7 @@
+
+ #include "xmix_vm.h"
+
+-/* auxiliar functions */
++/* auxiliary functions */
+ G_INLINE_FUNC mix_address_t
+ get_M_ (const mix_vm_t *vm, const mix_ins_t *ins);
+ G_INLINE_FUNC mix_word_t
+--- a/mixlib/xmix_vm.h
++++ b/mixlib/xmix_vm.h
+@@ -52,7 +52,7 @@
+ mix_device_t * devices[BD_NO_];
+ mix_address_t start_addr; /* start address of loaded file */
+ GTree *line_table; /* source line no -> address */
+- GTree *address_table; /* adress -> source line no */
++ GTree *address_table; /* address -> source line no */
+ gint8 bp[MEM_CELLS_NO_/8]; /* each bit signals a break point */
+ mix_vm_clock_t *clock; /* the vm clock */
+ mix_symbol_table_t *symbol_table;
+--- a/po/de.po
++++ b/po/de.po
+@@ -304,7 +304,7 @@
+ #: mixlib/mix_predicate.c:197
+ #, c-format
+ msgid "Comparison flag changed to %s"
+-msgstr "Comparision Flag geändert zu %s"
++msgstr "Comparison Flag geändert zu %s"
+
+ #: mixlib/mix_predicate.c:201
+ #, c-format
+--- a/mixgtk/mixgtk.glade
++++ b/mixgtk/mixgtk.glade
+@@ -454,7 +454,7 @@
+ <child>
+ <widget class="GtkCheckMenuItem" id="save_on_exit">
+ <property name="visible">True</property>
+- <property name="tooltip" translatable="yes">Toogle save settings on exit</property>
++ <property name="tooltip" translatable="yes">Toggle save settings on exit</property>
+ <property name="label" translatable="yes">Save on _exit</property>
+ <property name="use_underline">True</property>
+ <signal name="toggled" handler="on_save_on_exit_toggle"/>
+@@ -1444,7 +1444,7 @@
+ <property name="visible">True</property>
+ <property name="xalign">0.47999998927116394</property>
+ <property name="yalign">0.52999997138977051</property>
+- <property name="label" translatable="yes">MIX asssembler path</property>
++ <property name="label" translatable="yes">MIX assembler path</property>
+ <property name="single_line_mode">True</property>
+ </widget>
+ <packing>
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..31ba897
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,53 @@
+#!/usr/bin/make -f
+#
+# Debhelper rules file for mdk-doc
+
+AUTOPOINT= intltoolize --automake --copy
+export AUTOPOINT
+
+p= mdk-doc
+d= ${CURDIR}
+t= $d/debian/$p
+doc= /usr/share/doc/mdk
+mhtml= ${doc}/mdk.html
+html= ${doc}/html
+
+ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS) $(DEB_BUILD_PROFILES)))
+DEB_NODOC=0
+else
+DEB_NODOC=1
+endif
+
+override_dh_auto_configure:
+ifeq (${DEB_NODOC},0)
+ dh_auto_configure -- --docdir=${doc} --disable-gui --disable-nls \
+ --without-guile --without-readline
+endif
+
+override_dh_auto_build:
+ifeq (${DEB_NODOC},0)
+ dh_auto_build -- -C doc all html
+endif
+
+override_dh_auto_test:
+ # Nothing
+
+override_dh_auto_install:
+ifeq (${DEB_NODOC},0)
+ dh_auto_install -- -C doc install install-html
+
+ # Easier than messing with the internals of doc/Makefile.in
+ mv -v $t/${mhtml} $t/${html}
+endif
+
+ifeq (${DEB_NODOC},1)
+override_dh_install:
+ # Nothing
+endif
+
+override_dh_installchangelogs:
+ dh_installchangelogs
+ install -m 644 NEWS debian/mdk-doc/usr/share/doc/mdk-doc/
+
+%:
+ dh $@
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/tests/control b/debian/tests/control
new file mode 100644
index 0000000..b4e8dd8
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,5 @@
+Test-Command: /usr/sbin/install-docs -c /usr/share/doc-base/mdk-doc
+Depends: @, doc-base
+
+Test-Command: adequate mdk-doc
+Depends: @, adequate
diff --git a/debian/upstream/metadata b/debian/upstream/metadata
new file mode 100644
index 0000000..48535cc
--- /dev/null
+++ b/debian/upstream/metadata
@@ -0,0 +1,7 @@
+Name: mdk
+Archive: https://www.gnu.org/software/
+Bug-Database: https://savannah.gnu.org/bugs/?group=mdk
+Contact: https://lists.gnu.org/mailman/listinfo/bug-mdk
+Repository: https://git.savannah.gnu.org/git/mdk.git
+Repository-Browse: https://git.savannah.gnu.org/gitweb/?p=mdk.git;a=summary
+Security-Contact: Jose A. Ortega Ruiz <jao@gnu.org>
diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc
new file mode 100644
index 0000000..484266c
--- /dev/null
+++ b/debian/upstream/signing-key.asc
@@ -0,0 +1,61 @@
+pub 1024D/5343A3EC 2003-12-06
+ Key fingerprint = 6873 F551 F65A E92D B917 D731 957D 8F6D 5343 A3EC
+uid Jose Antonio Ortega Ruiz (jao) <jao@gnu.org>
+uid Jose Antonio Ortega Ruiz <jao@ccd.uab.es>
+uid Jose Antonio Ortega Ruiz <jao@google.com>
+uid Jose Antonio Ortega Ruiz <jao@oblong.net>
+uid Jose Antonio Ortega Ruiz <jao@member.fsf.org>
+uid Jose Antonio Ortega Ruiz <jaortega@gmail.com>
+uid Jose Antonio Ortega Ruiz <baggins@telefonica.net>
+uid Jose Antonio Ortega Ruiz <JoseAntonio.Ortega@uab.es>
+sub 1024g/9C2AC9EB 2003-12-06
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1
+
+mQGiBD/R4nMRBACbOInmQtBJNwQ4WC7nPzOXi48U8gq+y26ufDMMuQs2OMpoCsYJ
+7LeW/dLC2q3DUFezLYcSLIq7GYPUEvAg6p7/P/D2e2HCEWZ2gk73+CklYeBOJlTs
+TLZZLRy3CeGRMF4EaNu9NQetqkONgoR20yfpRJVLx9J3XCiknVPQokShowCgy5xA
+GAbtZ5bBNeCA4t5OIEU1tAcD/1rxztKpb0N0YKs8ddu9FQHOQUIZ13IohVwV6aij
+S7TGZ3w43I8ZyiFsuyfCMdV1OwiuYnXOWWqV2oFp0jQpBJJrvrk7yyVE3YMBB5n0
+V4fopvA8pE6MX8CGxuCIB14hNmMhNKFVHQ84ebXTVtGj9gjiWS+LMyw/IF6GIkIq
+1HhuBACIxayFTDUtluOKVY0NufSjnDHlS0IN30kicwhOXkDWzxGEGtFq3Jl9y489
+CqEsfMhpO+Gdbt+ScfdNvZFLiMmioK9w+EY0SHwSyGl9bzQWds9zwJrGD1GcxmIP
+EKc5e/a2qs7LlX4+f2M4S6mpzgiu7DvnELKkkDCfYtoG2EDr+bQsSm9zZSBBbnRv
+bmlvIE9ydGVnYSBSdWl6IChqYW8pIDxqYW9AZ251Lm9yZz6IXgQTEQIAHgUCP9Hi
+cwIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRCVfY9tU0Oj7BORAJ4h6AGUJH2N
+l7bks7XzN5w7Cnl9ZQCfZkXF6oGjbPu2mUkGRTa198diqpiIXgQTEQIAHgUCQEHk
+rgIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRCVfY9tU0Oj7KOGAKDHatYUnh4q
+8i7BelVyD0ptCMKL3ACgnj0+kcBnWtWSIDgBO/GgtKwfAueIYQQTEQIAIQIbAwYL
+CQgHAwIDFQIDAxYCAQIeAQIXgAUCQEHlSAIZAQAKCRCVfY9tU0Oj7OUzAJ9wI2B2
+TFewJN8zmHpMKm12psYuwgCfVKYGQmM3GZRat+ICcUHQbdvjvASIYQQTEQIAIQIb
+AwYLCQgHAwIDFQIDAxYCAQIeAQIXgAUCRzeUcgIZAQAKCRCVfY9tU0Oj7ExRAKCv
+3SRQgof/IRfxEd/4Fm+iySHaeQCfRlhoZS/zoEzQALFJIEPdHInAfo6IZgQTEQIA
+HgUCP9HicwIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAASCRCVfY9tU0Oj7AdlR1BH
+AAEBE5EAniHoAZQkfY2XtuSztfM3nDsKeX1lAJ9mRcXqgaNs+7aZSQZFNrX3x2Kq
+mLQpSm9zZSBBbnRvbmlvIE9ydGVnYSBSdWl6IDxqYW9AY2NkLnVhYi5lcz6IXgQT
+EQIAHgUCQEHkrgIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRCVfY9tU0Oj7KOG
+AKDHatYUnh4q8i7BelVyD0ptCMKL3ACgnj0+kcBnWtWSIDgBO/GgtKwfAue0KUpv
+c2UgQW50b25pbyBPcnRlZ2EgUnVpeiA8amFvQGdvb2dsZS5jb20+iGAEExECACAF
+Akc3lScCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRCVfY9tU0Oj7KCsAJ9P
+jbj0Bd10ubSo/aWp2hWM1+XGxQCfa9aM6pZYLh3eIjT7p8RHurJ99oS0KUpvc2Ug
+QW50b25pbyBPcnRlZ2EgUnVpeiA8amFvQG9ibG9uZy5uZXQ+iGAEExECACAFAkib
+i2ACGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRCVfY9tU0Oj7LFRAJ9eC4uJ
+Dq73wBV1TtgVNCjsDqY+wQCgx1gumMM6/HJ9gRREWfMTBmo3rn+0LUpvc2UgQW50
+b25pbyBPcnRlZ2EgUnVpeiA8amFvQG1lbWJlci5mc2Yub3JnPohgBBMRAgAgBQJH
+2xBtAhsDBgsJCAcDAgQVAggDBBYCAwECHgECF4AACgkQlX2PbVNDo+zu8ACfRv79
+wuIdzobIyMGSfPtDHqzcf4EAn29qI5sHBX/aWqUzI5yzK6ugrJY1tC1Kb3NlIEFu
+dG9uaW8gT3J0ZWdhIFJ1aXogPGphb3J0ZWdhQGdtYWlsLmNvbT6IYAQTEQIAIAUC
+RzeU/QIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEJV9j21TQ6PszbYAnRTl
+lNWlODVAMrNs6YuOUTM6Y2FbAJ9Dnd9ic/Dun842NOMbKGTWHscG6rQxSm9zZSBB
+bnRvbmlvIE9ydGVnYSBSdWl6IDxiYWdnaW5zQHRlbGVmb25pY2EubmV0PoheBBMR
+AgAeBQJAQeUKAhsDBgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEJV9j21TQ6PsnuoA
+niaZhTQxCqCgdWCALkfc51gNZoqmAJ4juwy4KPlPKqQiPkpMPsoYs5ycU7Q0Sm9z
+ZSBBbnRvbmlvIE9ydGVnYSBSdWl6IDxKb3NlQW50b25pby5PcnRlZ2FAdWFiLmVz
+PoheBBMRAgAeBQI/0eJzAhsDBgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEJV9j21T
+Q6PsE5EAniHoAZQkfY2XtuSztfM3nDsKeX1lAJ9mRcXqgaNs+7aZSQZFNrX3x2Kq
+mIheBBMRAgAeBQJAQeTbAhsDBgsJCAcDAgMVAgMDFgIBAh4BAheAAAoJEJV9j21T
+Q6PsPIcAniz/mS4k7PrxlpE6ASkyZ6iXcmKHAJwKxVcV7yFTfWLMJd4Nw/VfdfML
+ng==
+=G47e
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..7b9cde6
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,6 @@
+version=4
+opts="\
+filenamemangle=s%.*\/mdk-@ANY_VERSION@(@ARCHIVE_EXT@)%mdk-doc_$1.orig$2%,\
+pgpsigurlmangle=s/$/.sig/\
+" \
+https://www.gnu.org/software/mdk/mdk.html (?:.*/)?mdk-@ANY_VERSION@@ARCHIVE_EXT@