1
0
mirror of https://github.com/irssi/irssi.git synced 2025-02-02 15:08:01 -05:00

Remove debian directory, acked by debian maintainers.

git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4689 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
Emanuele Giaquinta 2008-01-25 12:13:53 +00:00 committed by exg
parent b52a60e9e0
commit bf6c3e72bb
22 changed files with 0 additions and 27876 deletions

12
debian/NEWS.Debian vendored
View File

@ -1,12 +0,0 @@
irssi (0.8.10~rc5-1) unstable; urgency=low
* This package has the beginnings of GNUTLS support for SSL rather
than the upstream OpenSSL code. This may have many bugs in and is
not feature complete. In particular it does not support verification
of the server's certificate. As a result the connection is vunerable
to man in the middle attack. This is only a regression if you use
the -cafile or -capath options to /connect. The data is still
encrypted.
-- David Pashley <david@davidpashley.com> Sun, 17 Jul 2005 19:39:37 +0300

97
debian/botti.1 vendored
View File

@ -1,97 +0,0 @@
.\" This -*- nroff -*- file has been generated from
.\" DocBook SGML with docbook-to-man on Debian GNU/Linux.
...\"
...\" transcript compatibility for postscript use.
...\"
...\" synopsis: .P! <file.ps>
...\"
.de P!
\\&.
.fl \" force out current output buffer
\\!%PB
\\!/showpage{}def
...\" the following is from Ken Flowers -- it prevents dictionary overflows
\\!/tempdict 200 dict def tempdict begin
.fl \" prolog
.sy cat \\$1\" bring in postscript file
...\" the following line matches the tempdict above
\\!end % tempdict %
\\!PE
\\!.
.sp \\$2u \" move below the image
..
.de pF
.ie \\*(f1 .ds f1 \\n(.f
.el .ie \\*(f2 .ds f2 \\n(.f
.el .ie \\*(f3 .ds f3 \\n(.f
.el .ie \\*(f4 .ds f4 \\n(.f
.el .tm ? font overflow
.ft \\$1
..
.de fP
.ie !\\*(f4 \{\
. ft \\*(f4
. ds f4\"
' br \}
.el .ie !\\*(f3 \{\
. ft \\*(f3
. ds f3\"
' br \}
.el .ie !\\*(f2 \{\
. ft \\*(f2
. ds f2\"
' br \}
.el .ie !\\*(f1 \{\
. ft \\*(f1
. ds f1\"
' br \}
.el .tm ? font underflow
..
.ds f1\"
.ds f2\"
.ds f3\"
.ds f4\"
'\" t
.ta 8n 16n 24n 32n 40n 48n 56n 64n 72n
.TH "botti" "1"
.SH "NAME"
botti \(em Run an irssi module, such as a bot, without a UI
.SH "SYNOPSIS"
.PP
\fBbotti\fP [\fB\fIOPTIONS\fP\fP]
.SH "DESCRIPTION"
.PP
This manual page documents briefly the
\fBbotti\fP command.
.PP
Botti allows for you to run an irssi module without a UI.
This is most useful for bots, and by default botti will load the
"bot" module.
.PP
This manual page was written for the \fBDebian\fP distribution
because the original program does not have a manual page.
.SH "OPTIONS"
.IP "\fB--config\fP " 10
Specify the configuration file location. By default,
it is ~/.irssi/config.
.IP "\fB--home\fP " 10
Specify the irssi home directory location. By default,
it is ~/.irssi.
.IP "\fB-l\fP \fB--load\fP " 10
Specify a module to load. By default, it is "bot".
.IP "\fB--session\fP " 10
Option used by the /UPGRADE command.
.IP "\fB-?\fP \fB--help\fP " 10
Print instructions.
.IP "\fB--usage\fP " 10
Print simple usage instructions.
.SH "AUTHOR"
.PP
This manual page was written by David Nusinow \<david_nusinow@yahoo.com\> for
the \fBDebian\fP system (but may be used by others). Permission is
granted to copy, distribute and/or modify this document under
the terms of the GNU Free Documentation
License, Version 1.1 or any later version published by the Free
Software Foundation; with no Invariant Sections, no Front-Cover
Texts and no Back-Cover Texts.
...\" created by instant / docbook-to-man, Thu 24 Apr 2003, 02:34

44
debian/changelog vendored
View File

@ -1,44 +0,0 @@
irssi (0.8.10-2) unstable; urgency=low
* Not uploaded to Debian (work in progress)
* Fix Conflicts and Replaces lines to make backporting to sarge easier
-- David Pashley <david@davidpashley.com> Wed, 14 Dec 2005 08:40:18 +0000
irssi (0.8.10-1) unstable; urgency=low
* new upstream release
-- David Pashley <david@davidpashley.com> Sat, 10 Dec 2005 21:25:51 +0000
irssi (0.8.10~rc8-1) unstable; urgency=low
* New upstream (Closes: #340287)
* Add dpatch to the build-depends
-- David Pashley <david@davidpashley.com> Wed, 30 Nov 2005 23:10:27 +0000
irssi (0.8.10~rc6-1) unstable; urgency=low
* New upstream version
* Disable the GnuTLS patch for now.
* Added Provides, Replaces and Conflicts for irssi-text and irssi-snapshot
-- David Pashley <david@davidpashley.com> Fri, 14 Oct 2005 00:39:15 +0100
irssi (0.8.10~rc5-1) unstable; urgency=low
* Initial packaging to unify irssi-text and irssi-snapshot
* Provide a -dev package for building modules (Closes: #184771)
* Check for an executable file before we try to execute it with /upgrade
(Closes: #242026)
* Only allow /exec to recurse 100 times (Closes: #186416)
* Call SIGTSTP rather than SIGSTOP on ^Z (With thanks to Mark Hymers
<mark.hymers@ncl.ac.uk>) (Closes: #177108)
* Redirect Glib critical errors to the status window rather than to stderr
(Closes: #270596)
* Correctly lower case chat protocols using g_ascii_strdown() rather than
using the deprecated g_strdown() (pushed upstream) (Closes: #232628)
-- David Pashley <david@davidpashley.com> Sun, 10 Jul 2005 15:11:38 +0300

1
debian/compat vendored
View File

@ -1 +0,0 @@
4

45
debian/control vendored
View File

@ -1,45 +0,0 @@
Source: irssi
Section: net
Priority: optional
Maintainer: David Pashley <david@davidpashley.com>
Build-Depends: debhelper (>= 4.0.0), autotools-dev, libglib2.0-dev, perl (>= 5.8.1), libperl-dev (>= 5.8.1), libncurses5-dev, libssl-dev, openssl, dpatch
Standards-Version: 3.6.2
Package: irssi
Architecture: any
Depends: ${shlibs:Depends}, ${perl:Depends}, ${misc:Depends}, perl-base(>= 5.8.1)
Suggests: irssi-scripts (>= 2)
Conflicts: irssi-scripts (= 1), irssi-common, irssi-text (<= 0.8.9-3.1), irssi-snapshot (<= 0.8.9-3.1)
Replaces: irssi-scripts (<= 8), irssi-text (<= 0.8.9-3.1), irssi-snapshot (<= 0.8.9-3.1)
Provides: irssi-text, irssi-snapshot
Description: text-mode version of the irssi IRC client
Irssi is an IRC client from the author of yagirc, Timo Sirainen. It has a
text, GTK and GNOME interface (with integration to the GNOME panel).
Irssi's features include configurability, smart nick completion, DCC resuming,
support for plugins and perl scripting.
.
This package includes the text-mode version of the irssi client.
.
The GTK and GNOME versions of irssi haven't been developed since early
2000, and currently lack much of irssi-text's functionality.
Package: irssi-dev
Architecture: any
Depends: irssi
Conflicts: irssi-snapshot-dev (<= 0.8.6+cvs.20031114-1)
Replaces: irssi-snapshot-dev (<= 0.8.6+cvs.20031114-1)
Provides: irssi-snapshot-dev
Description: text-mode version of the irssi IRC client development files
Irssi is an IRC client from the author of yagirc, Timo Sirainen. It has a
text, GTK and GNOME interface (with integration to the GNOME panel).
Irssi's features include configurability, smart nick completion, DCC resuming,
support for plugins and perl scripting.
.
This package includes the development files for the irssi client.
Package: irssi-text
Architecture: any
Depends: irssi
Description: irssi dummy transition package
This is a dummy transition package from irssi-text and is safe to
remove.

86
debian/copyright vendored
View File

@ -1,86 +0,0 @@
License
=======
src/fe-text/irssi.c includes:
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.
A copy of the GPL can be found in /usr/share/common-licenses/GPL-2
COPYING includes the following addition to the GPL:
Specific permission is granted for the GPLed code in this
distribition to be linked to OpenSSL without invoking GPL clause
2(b).
Sources
=======
The source was obtained from http://www.irssi.org/files/
Copyright
=========
AUTHORS contains:
Original code:
Timo Sirainen <cras@irssi.org>
Large feature patches by:
David Leadbeater (dg, dgl) : isupport
vjt@users.sf.net : SSL support
Joel Eriksson : SSL certs
Heikki Orsila : DCC SEND queueing
Mark Trumbull : DCC SERVER
Francesco Fracassi : Passive DCC
Other patches (grep for "patch" in ChangeLog) by:
Joost Vunderink
Wang WenRui
Valentin Batz
Jochen Eisinger (c0ffee)
Jean-Yves Lefort
Joel Eriksson
Maarten van der Zwaart
Noah Levitt
Wouter Coekaerts (coekie)
Krzysztof Kowalik (Borys)
Peder Stray
mls@suse.de
nix@suhs.nu
Marcin Kowalczyk (Qrczak)
Petr Baudis
Bjoern Krombholz (fuchs)
aldem-irssi@aldem.net,
BC-bd
Juerd
Han
pv2b
Tommi Komulainen (tommik)
mike@po.cs.msu.su
zinx@magenet.net
yathen@web.de
paul@raade.org
Leszek Matok
tygrys@moo.pl
manoj@io.com
cph@cph.demon.co.uk
ganesh@earth.li
Jakub Jankowski (shasta)
vanilla@freebsd.org
Tinuk
Mark Glines
Kjetil Ødegaard
Debian Packaging
================
This packaging was written by David Pashley <david@davidpashley.com> and
contains ideas and code from previous irssi packaging by Pekka Aleksi
Knuutila <pa@debian.org>.

View File

@ -1 +0,0 @@
debian/tmp/usr/include

3
debian/irssi.docs vendored
View File

@ -1,3 +0,0 @@
NEWS
README
TODO

View File

@ -1,7 +0,0 @@
debian/tmp/etc/irssi.conf
debian/tmp/usr/bin/botti
debian/tmp/usr/bin/irssi
debian/tmp/usr/lib/irssi/
debian/tmp/usr/lib/perl5/
debian/tmp/usr/share/doc/irssi/
debian/tmp/usr/share/irssi/

View File

@ -1,2 +0,0 @@
debian/botti.1
debian/tmp/usr/share/man/man1/irssi.1

2
debian/irssi.menu vendored
View File

@ -1,2 +0,0 @@
?package(irssi-text):needs="text" section="Apps/Net" \
title="irssi-text" command="/usr/bin/irssi-text"

11
debian/irssi.postinst vendored
View File

@ -1,11 +0,0 @@
#!/bin/sh -e
#DEBHELPER#
update-alternatives --install /usr/bin/irssi irssi /usr/bin/irssi-text 30 \
--slave /usr/share/man/man1/irssi.1.gz irssi.1.gz \
/usr/share/man/man1/irssi-text.1.gz
update-alternatives --install /usr/bin/irc irc /usr/bin/irssi 19 \
--slave /usr/share/man/man1/irc.1.gz irc.1 \
/usr/share/man/man1/irssi.1.gz

8
debian/irssi.prerm vendored
View File

@ -1,8 +0,0 @@
#!/bin/sh -e
#DEBHELPER#
if [ "$1" != "upgrade" ]; then
update-alternatives --remove irssi /usr/bin/irssi-text
update-alternatives --remove irc /usr/bin/irssi
fi

View File

@ -1,3 +0,0 @@
05upgrade-check-binary
#06gnutls-support
#07gnutls-support-automakery

View File

@ -1,21 +0,0 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 01glib-errors.dpatch by David Pashley <david@davidpashley.com>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: No description.
@DPATCH@
diff -urNad --exclude=CVS --exclude=.svn ./src/fe-common/core/fe-common-core.c /tmp/dpep-work.Z3VDTJ/irssi-0.8.10~rc5/src/fe-common/core/fe-common-core.c
--- ./src/fe-common/core/fe-common-core.c 2004-08-20 03:02:29.000000000 +0300
+++ /tmp/dpep-work.Z3VDTJ/irssi-0.8.10~rc5/src/fe-common/core/fe-common-core.c 2005-07-15 21:57:54.000000000 +0300
@@ -430,6 +430,10 @@
(GLogLevelFlags) (G_LOG_LEVEL_CRITICAL |
G_LOG_LEVEL_WARNING),
(GLogFunc) glog_func, NULL);
+ g_log_set_handler("GLib",
+ (GLogLevelFlags) (G_LOG_LEVEL_CRITICAL |
+ G_LOG_LEVEL_WARNING),
+ (GLogFunc) glog_func, NULL); /* send glib errors to the same place */
if (setup_changed)
signal_emit("setup changed", 0);

View File

@ -1,24 +0,0 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 02tr_TR.dpatch by David Pashley <david@davidpashley.com>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: No description.
@DPATCH@
diff -urNad --exclude=CVS --exclude=.svn ./src/perl/perl-common.c /tmp/dpep-work.uNmkb9/irssi-0.8.10~rc5/src/perl/perl-common.c
--- ./src/perl/perl-common.c 2004-01-20 12:08:41.000000000 +0200
+++ /tmp/dpep-work.uNmkb9/irssi-0.8.10~rc5/src/perl/perl-common.c 2005-07-15 22:10:34.000000000 +0300
@@ -566,8 +566,13 @@
chat_type = chat_protocol_lookup(rec->name);
g_return_if_fail(chat_type >= 0);
+#if GLIB_MAJOR_VERSION < 2
name = g_strdup(rec->name);
g_strdown(name+1);
+#else
+ name = g_ascii_strdown(rec->name,-1);
+ *name = *(rec->name);
+#endif
/* window items: channel, query */
type = module_get_uniq_id_str("WINDOW ITEM TYPE", "CHANNEL");

View File

@ -1,35 +0,0 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 03sigtstp.dpatch by David Pashley <david@davidpashley.com>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: No description.
@DPATCH@
diff -urNad --exclude=CVS --exclude=.svn ./src/fe-text/term-curses.c /tmp/dpep-work.uTVMh2/irssi-0.8.10~rc5/src/fe-text/term-curses.c
--- ./src/fe-text/term-curses.c 2002-02-17 17:42:07.000000000 +0200
+++ /tmp/dpep-work.uTVMh2/irssi-0.8.10~rc5/src/fe-text/term-curses.c 2005-07-15 22:26:23.000000000 +0300
@@ -362,7 +362,7 @@
void term_stop(void)
{
term_deinit_int();
- kill(getpid(), SIGSTOP);
+ kill(getpid(), SIGTSTP);
term_init_int();
irssi_redraw();
}
diff -urNad --exclude=CVS --exclude=.svn ./src/fe-text/term-terminfo.c /tmp/dpep-work.uTVMh2/irssi-0.8.10~rc5/src/fe-text/term-terminfo.c
--- ./src/fe-text/term-terminfo.c 2004-05-14 15:24:23.000000000 +0300
+++ /tmp/dpep-work.uTVMh2/irssi-0.8.10~rc5/src/fe-text/term-terminfo.c 2005-07-15 22:26:23.000000000 +0300
@@ -543,10 +543,10 @@
void term_stop(void)
{
if (term_detached) {
- kill(getpid(), SIGSTOP);
+ kill(getpid(), SIGTSTP);
} else {
terminfo_stop(current_term);
- kill(getpid(), SIGSTOP);
+ kill(getpid(), SIGTSTP);
terminfo_cont(current_term);
irssi_redraw();
}

View File

@ -1,77 +0,0 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 04eval_recurse.dpatch by David Pashley <david@davidpashley.com>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: No description.
@DPATCH@
diff -urNad --exclude=CVS --exclude=.svn ./src/core/commands.c /tmp/dpep-work.k5u2gD/irssi/src/core/commands.c
--- ./src/core/commands.c 2005-07-16 00:48:59.000000000 +0300
+++ /tmp/dpep-work.k5u2gD/irssi/src/core/commands.c 2005-07-16 12:48:01.000000000 +0300
@@ -945,12 +945,18 @@
parse_command(line, expand_aliases, server, item);
}
+static int eval_recursion_depth=0;
/* SYNTAX: EVAL <command(s)> */
static void cmd_eval(const char *data, SERVER_REC *server, void *item)
{
g_return_if_fail(data != NULL);
+ if (eval_recursion_depth > 100)
+ cmd_return_error(CMDERR_EVAL_MAX_RECURSE);
+
+ eval_recursion_depth++;
eval_special_string(data, "", server, item);
+ eval_recursion_depth--;
}
/* SYNTAX: CD <directory> */
diff -urNad --exclude=CVS --exclude=.svn ./src/core/commands.h /tmp/dpep-work.k5u2gD/irssi/src/core/commands.h
--- ./src/core/commands.h 2005-07-16 00:48:59.000000000 +0300
+++ /tmp/dpep-work.k5u2gD/irssi/src/core/commands.h 2005-07-16 12:49:14.000000000 +0300
@@ -39,7 +39,8 @@
CMDERR_ILLEGAL_PROTO, /* requires different chat protocol than the active server */
CMDERR_NOT_GOOD_IDEA, /* not good idea to do, -yes overrides this */
CMDERR_INVALID_TIME, /* invalid time specification */
- CMDERR_INVALID_CHARSET /* invalid charset specification */
+ CMDERR_INVALID_CHARSET, /* invalid charset specification */
+ CMDERR_EVAL_MAX_RECURSE /* eval hit recursion limit */
};
/* Return the full command for `alias' */
diff -urNad --exclude=CVS --exclude=.svn ./src/fe-common/core/fe-core-commands.c /tmp/dpep-work.k5u2gD/irssi/src/fe-common/core/fe-core-commands.c
--- ./src/fe-common/core/fe-core-commands.c 2005-07-16 00:48:55.000000000 +0300
+++ /tmp/dpep-work.k5u2gD/irssi/src/fe-common/core/fe-core-commands.c 2005-07-16 12:50:12.000000000 +0300
@@ -49,7 +49,8 @@
TXT_ILLEGAL_PROTO,
TXT_NOT_GOOD_IDEA,
TXT_INVALID_TIME,
- TXT_INVALID_CHARSET
+ TXT_INVALID_CHARSET,
+ TXT_EVAL_MAX_RECURSE
};
int command_hide_output;
diff -urNad --exclude=CVS --exclude=.svn ./src/fe-common/core/module-formats.c /tmp/dpep-work.k5u2gD/irssi/src/fe-common/core/module-formats.c
--- ./src/fe-common/core/module-formats.c 2005-07-16 00:48:55.000000000 +0300
+++ /tmp/dpep-work.k5u2gD/irssi/src/fe-common/core/module-formats.c 2005-07-16 12:50:59.000000000 +0300
@@ -219,6 +219,7 @@
{ "invalid_level", "Invalid message level", 0 },
{ "invalid_size", "Invalid size", 0 },
{ "invalid_charset", "Invalid charset: $0", 1, { 0 } },
+ { "eval_max_recurse", "/eval hit maximum recursion limit", 0 },
/* ---- */
{ NULL, "Themes", 0 },
diff -urNad --exclude=CVS --exclude=.svn ./src/fe-common/core/module-formats.h /tmp/dpep-work.k5u2gD/irssi/src/fe-common/core/module-formats.h
--- ./src/fe-common/core/module-formats.h 2005-07-16 00:48:55.000000000 +0300
+++ /tmp/dpep-work.k5u2gD/irssi/src/fe-common/core/module-formats.h 2005-07-16 12:51:23.000000000 +0300
@@ -188,6 +188,7 @@
TXT_INVALID_LEVEL,
TXT_INVALID_SIZE,
TXT_INVALID_CHARSET,
+ TXT_EVAL_MAX_RECURSE,
TXT_FILL_11,

View File

@ -1,63 +0,0 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 05upgrade-check-binary.dpatch by David Pashley <david@davidpashley.com>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: No description.
@DPATCH@
diff -urNad --exclude=CVS --exclude=.svn ./src/core/commands.h /tmp/dpep-work.Ftr28C/irssi/src/core/commands.h
--- ./src/core/commands.h 2005-07-16 13:12:12.000000000 +0300
+++ /tmp/dpep-work.Ftr28C/irssi/src/core/commands.h 2005-07-16 13:17:06.000000000 +0300
@@ -40,6 +40,7 @@
CMDERR_NOT_GOOD_IDEA, /* not good idea to do, -yes overrides this */
CMDERR_INVALID_TIME, /* invalid time specification */
CMDERR_INVALID_CHARSET, /* invalid charset specification */
+ CMDERR_PROGRAM_NOT_FOUND, /* program not found */
CMDERR_EVAL_MAX_RECURSE /* eval hit recursion limit */
};
diff -urNad --exclude=CVS --exclude=.svn ./src/core/session.c /tmp/dpep-work.Ftr28C/irssi/src/core/session.c
--- ./src/core/session.c 2005-07-16 00:48:59.000000000 +0300
+++ /tmp/dpep-work.Ftr28C/irssi/src/core/session.c 2005-07-16 13:16:10.000000000 +0300
@@ -95,6 +95,8 @@
data = irssi_binary;
if (data == NULL)
cmd_return_error(CMDERR_NOT_ENOUGH_PARAMS);
+ if (!(data = g_find_program_in_path(data)))
+ cmd_return_error(CMDERR_PROGRAM_NOT_FOUND);
/* save the session */
session_file = g_strdup_printf("%s/session", get_irssi_dir());
diff -urNad --exclude=CVS --exclude=.svn ./src/fe-common/core/fe-core-commands.c /tmp/dpep-work.Ftr28C/irssi/src/fe-common/core/fe-core-commands.c
--- ./src/fe-common/core/fe-core-commands.c 2005-07-16 13:12:12.000000000 +0300
+++ /tmp/dpep-work.Ftr28C/irssi/src/fe-common/core/fe-core-commands.c 2005-07-16 13:17:44.000000000 +0300
@@ -50,6 +50,7 @@
TXT_NOT_GOOD_IDEA,
TXT_INVALID_TIME,
TXT_INVALID_CHARSET,
+ TXT_PROGRAM_NOT_FOUND,
TXT_EVAL_MAX_RECURSE
};
diff -urNad --exclude=CVS --exclude=.svn ./src/fe-common/core/module-formats.c /tmp/dpep-work.Ftr28C/irssi/src/fe-common/core/module-formats.c
--- ./src/fe-common/core/module-formats.c 2005-07-16 13:12:12.000000000 +0300
+++ /tmp/dpep-work.Ftr28C/irssi/src/fe-common/core/module-formats.c 2005-07-16 13:18:27.000000000 +0300
@@ -219,6 +219,7 @@
{ "invalid_level", "Invalid message level", 0 },
{ "invalid_size", "Invalid size", 0 },
{ "invalid_charset", "Invalid charset: $0", 1, { 0 } },
+ { "program_not_found", "Could not find file or file was not executable", 0 },
{ "eval_max_recurse", "/eval hit maximum recursion limit", 0 },
/* ---- */
diff -urNad --exclude=CVS --exclude=.svn ./src/fe-common/core/module-formats.h /tmp/dpep-work.Ftr28C/irssi/src/fe-common/core/module-formats.h
--- ./src/fe-common/core/module-formats.h 2005-07-16 13:12:12.000000000 +0300
+++ /tmp/dpep-work.Ftr28C/irssi/src/fe-common/core/module-formats.h 2005-07-16 13:18:48.000000000 +0300
@@ -188,6 +188,7 @@
TXT_INVALID_LEVEL,
TXT_INVALID_SIZE,
TXT_INVALID_CHARSET,
+ TXT_PROGRAM_NOT_FOUND,
TXT_EVAL_MAX_RECURSE,
TXT_FILL_11,

View File

@ -1,593 +0,0 @@
#! /bin/sh /usr/share/dpatch/dpatch-run
## 06gnutls-support.dpatch by David Pashley <david@davidpashley.com>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: No description.
@DPATCH@
diff -urNad --exclude=CVS --exclude=.svn ./configure.in /tmp/dpep-work.Xa2n5L/irssi/configure.in
--- ./configure.in 2005-07-17 16:00:49.000000000 +0300
+++ /tmp/dpep-work.Xa2n5L/irssi/configure.in 2005-07-17 16:46:18.000000000 +0300
@@ -222,7 +222,11 @@
AC_ARG_ENABLE(ssl,
[ --disable-ssl Disable Secure Sockets Layer support],,
enable_ssl=yes)
-
+if test "$enable_ssl" = "yes"; then
+ AM_PATH_LIBGNUTLS(1.0.16, have_gnutls="true", have_gnutls="false")
+ AC_DEFINE(HAVE_GNUTLS,, Build with GNUTLS support)
+fi
+AM_CONDITIONAL(HAVE_GNUTLS, test "x$have_gnutls" = "xtrue")
dnl **
dnl ** just some generic stuff...
dnl **
diff -urNad --exclude=CVS --exclude=.svn ./src/core/Makefile.am /tmp/dpep-work.Xa2n5L/irssi/src/core/Makefile.am
--- ./src/core/Makefile.am 2005-07-17 16:00:43.000000000 +0300
+++ /tmp/dpep-work.Xa2n5L/irssi/src/core/Makefile.am 2005-07-17 16:46:18.000000000 +0300
@@ -7,6 +7,12 @@
-DSYSCONFDIR=\""$(sysconfdir)"\" \
-DMODULEDIR=\""$(libdir)/irssi/modules"\"
+#if HAVE_OPENSSL
+#SSL = network-openssl.c
+#else
+SSL = network-gnutls.c
+#endif
+
libcore_a_SOURCES = \
args.c \
channels.c \
@@ -30,7 +36,7 @@
net-nonblock.c \
net-sendbuffer.c \
network.c \
- network-openssl.c \
+ $(SSL) \
nicklist.c \
nickmatch-cache.c \
pidwait.c \
diff -urNad --exclude=CVS --exclude=.svn ./src/core/network-gnutls.c /tmp/dpep-work.Xa2n5L/irssi/src/core/network-gnutls.c
--- ./src/core/network-gnutls.c 1970-01-01 02:00:00.000000000 +0200
+++ /tmp/dpep-work.Xa2n5L/irssi/src/core/network-gnutls.c 2005-07-17 16:46:18.000000000 +0300
@@ -0,0 +1,514 @@
+/*
+ network-ssl.c : SSL support
+
+ Copyright (C) 2002 vjt
+
+ 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.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+*/
+
+#include "module.h"
+#include "network.h"
+#include "misc.h"
+
+#define HAVE_GNUTLS
+
+#ifdef HAVE_GNUTLS
+
+#include <gnutls/gnutls.h>
+#include <gnutls/extra.h>
+#include <gnutls/x509.h>
+
+/* ssl i/o channel object */
+typedef struct
+{
+ GIOChannel pad;
+ gint fd;
+ GIOChannel *giochan;
+ gnutls_session session;
+ unsigned int got_cert:1;
+ unsigned int verify:1;
+ unsigned int have_handshaked:1;
+ gnutls_anon_client_credentials anon_cred;
+ gnutls_certificate_credentials xcred;
+} GIOSSLChannel;
+
+static void irssi_ssl_free(GIOChannel *handle)
+{
+ GIOSSLChannel *chan = (GIOSSLChannel *)handle;
+ g_io_channel_unref(chan->giochan);
+ gnutls_bye(chan->session, GNUTLS_SHUT_RDWR);
+ gnutls_deinit(chan->session);
+ g_free(chan);
+}
+
+/*static gboolean irssi_ssl_verify(SSL *ssl, SSL_CTX *ctx, X509 *cert)
+{
+ if (SSL_get_verify_result(ssl) != X509_V_OK) {
+ unsigned char md[EVP_MAX_MD_SIZE];
+ unsigned int n;
+ char *str;
+
+ g_warning("Could not verify SSL servers certificate:");
+ if ((str = X509_NAME_oneline(X509_get_subject_name(cert), 0, 0)) == NULL)
+ g_warning(" Could not get subject-name from peer certificate");
+ else {
+ g_warning(" Subject : %s", str);
+ free(str);
+ }
+ if ((str = X509_NAME_oneline(X509_get_issuer_name(cert), 0, 0)) == NULL)
+ g_warning(" Could not get issuer-name from peer certificate");
+ else {
+ g_warning(" Issuer : %s", str);
+ free(str);
+ }
+ if (! X509_digest(cert, EVP_md5(), md, &n))
+ g_warning(" Could not get fingerprint from peer certificate");
+ else {
+ char hex[] = "0123456789ABCDEF";
+ char fp[EVP_MAX_MD_SIZE*3];
+ if (n < sizeof(fp)) {
+ unsigned int i;
+ for (i = 0; i < n; i++) {
+ fp[i*3+0] = hex[(md[i] >> 4) & 0xF];
+ fp[i*3+1] = hex[(md[i] >> 0) & 0xF];
+ fp[i*3+2] = i == n - 1 ? '\0' : ':';
+ }
+ g_warning(" MD5 Fingerprint : %s", fp);
+ }
+ }
+ return FALSE;
+ }
+ return TRUE;
+}
+*/
+
+int irssi_ssl_handshake(GIOChannel *handle) {
+ GIOSSLChannel *chan = (GIOSSLChannel *)handle;
+ int ret;
+ while(1) {
+ fd_set fds_read;
+ fd_set fds_write;
+ struct timeval timeout={1,0};
+
+ ret = gnutls_handshake(chan->session);
+
+ if((ret != GNUTLS_E_AGAIN) &&
+ (ret != GNUTLS_E_INTERRUPTED))
+ break;
+
+ FD_ZERO(&fds_read);
+ FD_ZERO(&fds_write);
+
+ FD_SET(chan->fd, &fds_read);
+ FD_SET(chan->fd, &fds_write);
+ select(chan->fd+1, &fds_read, &fds_write, NULL, &timeout);
+ }
+ if (ret < 0) {
+ g_warning( "*** Handshake failed: %s", gnutls_strerror(ret));
+ if (ret == GNUTLS_E_FATAL_ALERT_RECEIVED) {
+ g_warning( "*** alert: %s", gnutls_alert_get_name (gnutls_alert_get (chan->session)));
+ }
+
+
+ } else {
+ chan->have_handshaked = 1;
+ g_warning("- Handshake was completed");
+ }
+
+ return ret;
+
+}
+#if GLIB_MAJOR_VERSION < 2
+
+#ifdef G_CAN_INLINE
+G_INLINE_FUNC
+#else
+static
+#endif
+GIOError ssl_errno(gint e)
+{
+ switch(e)
+ {
+ case EINVAL:
+ return G_IO_ERROR_INVAL;
+ case EINTR:
+ case EAGAIN:
+ return G_IO_ERROR_AGAIN;
+ default:
+ return G_IO_ERROR_INVAL;
+ }
+ /*UNREACH*/
+ return G_IO_ERROR_INVAL;
+}
+
+static GIOError irssi_ssl_cert_step(GIOSSLChannel *chan)
+{
+ g_warning("irssi_ssl_cert_step");
+ /*UNREACH*/
+ return G_IO_ERROR_INVAL;
+}
+
+static GIOError irssi_ssl_read(GIOChannel *handle, gchar *buf, guint len, guint *ret)
+{
+ GIOSSLChannel *chan = (GIOSSLChannel *)handle;
+ gint err;
+
+ err = gnutls_record_recv(chan->session, buf, len);
+ if(err < 0) {
+ *ret = 0;
+ return ssl_errno(errno);
+ } else {
+ *ret = err;
+ return G_IO_ERROR_NONE;
+ }
+ /*UNREACH*/
+ return -1;
+}
+
+static GIOError irssi_ssl_write(GIOChannel *handle, gchar *buf, guint len, guint *ret)
+{
+ GIOSSLChannel *chan = (GIOSSLChannel *)handle;
+ gint err;
+
+
+ err = gnutls_record_send(chan->session, buf, len);
+ if(err < 0)
+ {
+ *ret = 0;
+ return ssl_errno(errno);
+ }
+ else
+ {
+ *ret = err;
+ return G_IO_ERROR_NONE;
+ }
+ /*UNREACH*/
+ return G_IO_ERROR_INVAL;
+}
+
+static GIOError irssi_ssl_seek(GIOChannel *handle, gint offset, GSeekType type)
+{
+ GIOSSLChannel *chan = (GIOSSLChannel *)handle;
+ GIOError e;
+ e = g_io_channel_seek(chan->giochan, offset, type);
+ return (e == G_IO_ERROR_NONE) ? G_IO_ERROR_NONE : G_IO_ERROR_INVAL;
+}
+
+static void irssi_ssl_close(GIOChannel *handle)
+{
+ GIOSSLChannel *chan = (GIOSSLChannel *)handle;
+ g_io_channel_close(chan->giochan);
+}
+
+static guint irssi_ssl_create_watch(GIOChannel *handle, gint priority, GIOCondition cond,
+ GIOFunc func, gpointer data, GDestroyNotify notify)
+{
+ GIOSSLChannel *chan = (GIOSSLChannel *)handle;
+
+ return chan->giochan->funcs->io_add_watch(handle, priority, cond, func, data, notify);
+}
+
+/* ssl function pointers */
+static GIOFuncs irssi_ssl_channel_funcs =
+{
+ irssi_ssl_read,
+ irssi_ssl_write,
+ irssi_ssl_seek,
+ irssi_ssl_close,
+ irssi_ssl_create_watch,
+ irssi_ssl_free
+};
+
+#else /* GLIB_MAJOR_VERSION < 2 */
+
+#ifdef G_CAN_INLINE
+G_INLINE_FUNC
+#else
+static
+#endif
+GIOStatus ssl_errno(gint e)
+{
+ switch(e)
+ {
+ case EINVAL:
+ return G_IO_STATUS_ERROR;
+ case EINTR:
+ case EAGAIN:
+ return G_IO_STATUS_AGAIN;
+ default:
+ return G_IO_STATUS_ERROR;
+ }
+ /*UNREACH*/
+ return G_IO_STATUS_ERROR;
+}
+
+static GIOStatus irssi_ssl_cert_step(GIOSSLChannel *chan)
+{
+ g_warning("irssi_ssl_cert_step");
+ /*UNREACH*/
+ return G_IO_STATUS_ERROR;
+}
+
+static GIOStatus irssi_ssl_read(GIOChannel *handle, gchar *buf, guint len, guint *ret, GError **gerr)
+{
+ GIOSSLChannel *chan = (GIOSSLChannel *)handle;
+ gint err;
+ if (!chan->have_handshaked) {
+ irssi_ssl_handshake(handle);
+ }
+
+
+ err = gnutls_record_recv(chan->session, buf, len);
+ if(err < 0)
+ {
+ *ret = 0;
+ return ssl_errno(errno);
+ }
+ else
+ {
+ *ret = err;
+ return G_IO_STATUS_NORMAL;
+ }
+ /*UNREACH*/
+ return G_IO_STATUS_ERROR;
+}
+
+static GIOStatus irssi_ssl_write(GIOChannel *handle, const gchar *buf, gsize len, gsize *ret, GError **gerr)
+{
+ GIOSSLChannel *chan = (GIOSSLChannel *)handle;
+ gint err;
+
+ if (!chan->have_handshaked) {
+ irssi_ssl_handshake(handle);
+ }
+
+
+ err = gnutls_record_send(chan->session, buf, len);
+ if(err < 0)
+ {
+ *ret = 0;
+ return ssl_errno(errno);
+ }
+ else
+ {
+ *ret = err;
+ return G_IO_STATUS_NORMAL;
+ }
+ /*UNREACH*/
+ return G_IO_STATUS_ERROR;
+}
+
+static GIOStatus irssi_ssl_seek(GIOChannel *handle, gint64 offset, GSeekType type, GError **gerr)
+{
+ GIOSSLChannel *chan = (GIOSSLChannel *)handle;
+ GIOError e;
+ e = g_io_channel_seek(chan->giochan, offset, type);
+ return (e == G_IO_ERROR_NONE) ? G_IO_STATUS_NORMAL : G_IO_STATUS_ERROR;
+}
+
+static GIOStatus irssi_ssl_close(GIOChannel *handle, GError **gerr)
+{
+ GIOSSLChannel *chan = (GIOSSLChannel *)handle;
+ g_io_channel_close(chan->giochan);
+
+ return G_IO_STATUS_NORMAL;
+}
+
+static GSource *irssi_ssl_create_watch(GIOChannel *handle, GIOCondition cond)
+{
+ GIOSSLChannel *chan = (GIOSSLChannel *)handle;
+
+ return chan->giochan->funcs->io_create_watch(handle, cond);
+}
+
+static GIOStatus irssi_ssl_set_flags(GIOChannel *handle, GIOFlags flags, GError **gerr)
+{
+ GIOSSLChannel *chan = (GIOSSLChannel *)handle;
+
+ return chan->giochan->funcs->io_set_flags(handle, flags, gerr);
+}
+
+static GIOFlags irssi_ssl_get_flags(GIOChannel *handle)
+{
+ GIOSSLChannel *chan = (GIOSSLChannel *)handle;
+
+ return chan->giochan->funcs->io_get_flags(handle);
+}
+
+static GIOFuncs irssi_ssl_channel_funcs = {
+ irssi_ssl_read,
+ irssi_ssl_write,
+ irssi_ssl_seek,
+ irssi_ssl_close,
+ irssi_ssl_create_watch,
+ irssi_ssl_free,
+ irssi_ssl_set_flags,
+ irssi_ssl_get_flags
+};
+
+#endif
+
+static void tls_log_func(int level, const char *str)
+{
+
+ g_warning( "|<%d>| %s", level, g_strchomp(str));
+}
+
+static gboolean irssi_ssl_init(void)
+{
+ g_warning("irssi_ssl_init");
+ int ret;
+ if ((ret = gnutls_global_init())) {
+ g_warning( "failed to init gnutls: %s", gnutls_strerror(ret));
+ return FALSE;
+ }
+ gnutls_global_set_log_function(tls_log_func);
+ gnutls_global_set_log_level(0);
+
+ return TRUE;
+
+}
+
+int is_socket_connected(int fd) {
+ fd_set fds_write;
+ struct timeval timeout={0,0};
+ FD_ZERO(&fds_write);
+ FD_SET(fd, &fds_write);
+ select(fd+1, 0, &fds_write, NULL, &timeout);
+
+ struct sockaddr s;
+ socklen_t s_len;
+ if (getpeername(fd,&s,&s_len) == -1 && errno == ENOTCONN) {
+ char ch;
+ read(fd,&ch,1);
+ return FALSE;
+ }
+ return TRUE;
+}
+
+
+/*static*/ GIOChannel *irssi_ssl_get_iochannel(GIOChannel *handle, const char *mycert, const char *mypkey, const char *cafile, const char *capath, gboolean verify)
+{
+ g_warning("irssi_ssl_get_iochannel");
+ GIOSSLChannel *chan;
+ GIOChannel *gchan;
+ int ret, fd;
+ gnutls_session session;
+
+
+ gnutls_anon_client_credentials anon_cred;
+ gnutls_certificate_credentials xcred;
+
+ int protocol_priority[] = { GNUTLS_TLS1_1, GNUTLS_TLS1_0, GNUTLS_SSL3, 0 };
+ int kx_priority[] =
+ { GNUTLS_KX_DHE_RSA, GNUTLS_KX_DHE_DSS, GNUTLS_KX_RSA,
+ GNUTLS_KX_SRP_RSA, GNUTLS_KX_SRP_DSS, GNUTLS_KX_SRP,
+ /* Do not use anonymous authentication, unless you know what that means */
+ GNUTLS_KX_RSA_EXPORT, GNUTLS_KX_ANON_DH, 0
+ };
+ int cipher_priority[] =
+ { GNUTLS_CIPHER_AES_256_CBC, GNUTLS_CIPHER_AES_128_CBC,
+ GNUTLS_CIPHER_3DES_CBC, GNUTLS_CIPHER_ARCFOUR_128,
+ GNUTLS_CIPHER_ARCFOUR_40, 0
+ };
+ int comp_priority[] = { GNUTLS_COMP_ZLIB, GNUTLS_COMP_NULL, 0 };
+ int mac_priority[] =
+ { GNUTLS_MAC_SHA, GNUTLS_MAC_MD5, GNUTLS_MAC_RMD160, 0 };
+ int cert_type_priority[] = { GNUTLS_CRT_X509, GNUTLS_CRT_OPENPGP, 0 };
+
+
+ g_return_val_if_fail(handle != NULL, NULL);
+
+ if(!irssi_ssl_init())
+ return NULL;
+
+ fd = g_io_channel_unix_get_fd(handle);
+//if(!(fd = g_io_channel_unix_get_fd(handle)) || !is_socket_connected(fd)) {
+// return NULL;
+// }
+
+ g_warning ("irssi_ssl_get_iochannel sanity checks complete");
+
+
+ gnutls_certificate_allocate_credentials(&xcred);
+ gnutls_certificate_set_verify_flags(xcred, GNUTLS_VERIFY_ALLOW_X509_V1_CA_CRT);
+ gnutls_anon_allocate_client_credentials(&anon_cred);
+ if (cafile) {
+ /* sets the trusted cas file */
+ if ((ret = gnutls_certificate_set_x509_trust_file(xcred, cafile, GNUTLS_X509_FMT_PEM)) < 0) {
+ g_warning( "gnutls_certificate_set_x509_trust_file failed: %s", gnutls_strerror(ret));
+ }
+ }
+
+ /* Initialize TLS session */
+ if (gnutls_init(&session, GNUTLS_CLIENT) < 0 ) {
+ g_warning( "gnutls_init failed: %s", gnutls_strerror(ret));
+ }
+
+ gnutls_certificate_type_set_priority(session, cert_type_priority);
+ gnutls_cipher_set_priority(session, cipher_priority);
+ gnutls_compression_set_priority(session, comp_priority);
+ gnutls_kx_set_priority(session, kx_priority);
+ gnutls_protocol_set_priority(session, protocol_priority);
+ gnutls_mac_set_priority(session, mac_priority);
+
+ gnutls_dh_set_prime_bits(session, 512);
+
+ gnutls_credentials_set(session, GNUTLS_CRD_ANON, anon_cred);
+ gnutls_credentials_set(session, GNUTLS_CRD_CERTIFICATE, xcred);
+
+
+ /* connect to the peer */
+ gnutls_transport_set_ptr(session, (gnutls_transport_ptr) fd);
+
+
+ chan = g_new0(GIOSSLChannel, 1);
+ chan->fd = fd;
+ chan->giochan = handle;
+ chan->session = session;
+ //chan->got_cert = cert != NULL;
+ chan->verify = verify;
+ chan->anon_cred = anon_cred;
+ chan->xcred = xcred;
+
+ gchan = (GIOChannel *)chan;
+ gchan->funcs = &irssi_ssl_channel_funcs;
+ g_io_channel_init(gchan);
+
+ /* Perform the TLS handshake */
+ return gchan;
+}
+
+GIOChannel *net_connect_ip_ssl(IPADDR *ip, int port, IPADDR *my_ip, const char *cert, const char *pkey, const char *cafile, const char *capath, gboolean verify)
+{
+ GIOChannel *handle, *ssl_handle;
+
+ handle = net_connect_ip(ip, port, my_ip);
+ ssl_handle = irssi_ssl_get_iochannel(handle, cert, pkey, cafile, capath, verify);
+ if (ssl_handle == NULL)
+ g_io_channel_unref(handle);
+ return ssl_handle;
+}
+
+#else /* HAVE_OPENSSL */
+
+GIOChannel *net_connect_ip_ssl(IPADDR *ip, int port, IPADDR *my_ip, const char *cert, const char *pkey, const char *cafile, const char *capath, gboolean verify)
+{
+ g_warning("Connection failed: SSL support not enabled in this build.");
+ errno = ENOSYS;
+ return NULL;
+}
+
+#endif /* ! HAVE_OPENSSL */
diff -urNad --exclude=CVS --exclude=.svn ./src/fe-none/Makefile.am /tmp/dpep-work.Xa2n5L/irssi/src/fe-none/Makefile.am
--- ./src/fe-none/Makefile.am 2005-07-17 16:00:41.000000000 +0300
+++ /tmp/dpep-work.Xa2n5L/irssi/src/fe-none/Makefile.am 2005-07-17 16:46:18.000000000 +0300
@@ -12,7 +12,8 @@
@COMMON_NOUI_LIBS@ \
@PERL_LINK_LIBS@ \
@PERL_LINK_FLAGS@ \
- @PROG_LIBS@
+ @PROG_LIBS@ \
+ -lgnutls
botti_SOURCES = \
irssi.c
diff -urNad --exclude=CVS --exclude=.svn ./src/fe-text/Makefile.am /tmp/dpep-work.Xa2n5L/irssi/src/fe-text/Makefile.am
--- ./src/fe-text/Makefile.am 2005-07-17 16:00:44.000000000 +0300
+++ /tmp/dpep-work.Xa2n5L/irssi/src/fe-text/Makefile.am 2005-07-17 16:46:18.000000000 +0300
@@ -21,7 +21,9 @@
@PERL_FE_LINK_LIBS@ \
@PERL_LINK_FLAGS@ \
@PROG_LIBS@ \
- @TEXTUI_LIBS@
+ @TEXTUI_LIBS@ \
+ -lgnutls
+
tparm_sources = \
tparm.c

File diff suppressed because it is too large Load Diff

112
debian/rules vendored
View File

@ -1,112 +0,0 @@
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
include /usr/share/dpatch/dpatch.make
# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
CFLAGS = -Wall -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
config.status: patch-stamp configure
dh_testdir
# Add here commands to configure the package.
CFLAGS="$(CFLAGS)" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
--prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info \
--sysconfdir=/etc \
--without-servertest --enable-ipv6 --with-bot --with-proxy \
--enable-perl --with-perl-lib=vendor
build: build-stamp
build-stamp: config.status
dh_testdir
# Add here commands to compile the package.
$(MAKE)
#docbook-to-man debian/irssi.sgml > irssi.1
touch build-stamp
clean: unpatch
dh_testdir
dh_testroot
rm -f build-stamp
# Add here commands to clean up after the build process.
-$(MAKE) distclean
ifneq "$(wildcard /usr/share/misc/config.sub)" ""
cp -f /usr/share/misc/config.sub config.sub
endif
ifneq "$(wildcard /usr/share/misc/config.guess)" ""
cp -f /usr/share/misc/config.guess config.guess
endif
dh_clean
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
# Add here commands to install the package into debian/tmp.
$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
dh_testroot
dh_installchangelogs ChangeLog
dh_installdocs
dh_installexamples
dh_install
# dh_installmenu
# dh_installdebconf
# dh_installlogrotate
# dh_installemacsen
# dh_installpam
# dh_installmime
# dh_installinit
# dh_installcron
# dh_installinfo
dh_installman
dh_link
dh_strip
dh_compress
dh_fixperms
dh_perl
# dh_python
dh_makeshlibs
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install