aboutsummaryrefslogtreecommitdiffstats
path: root/debian/patches
diff options
context:
space:
mode:
authorJörg Mayer <jmayer@loplof.de>2005-08-13 05:55:06 +0000
committerJörg Mayer <jmayer@loplof.de>2005-08-13 05:55:06 +0000
commit46c021dffde11023b3f3c4f3371ee9a7009dbfa9 (patch)
tree7b22fb7740587e9d12cff030f5551cf57a4b03cd /debian/patches
parent3508a46ead8d4a10b21269b6c9a0cbab1b4855c6 (diff)
Aplly those parts of ethereal_0.10.12-3.diff.gz
from Debian, that change debian/ svn path=/trunk/; revision=15331
Diffstat (limited to 'debian/patches')
-rw-r--r--debian/patches/00list11
-rw-r--r--debian/patches/01_idl2deb.dpatch424
-rw-r--r--debian/patches/02_asn2deb.dpatch392
-rw-r--r--debian/patches/03_preferences.dpatch28
-rw-r--r--debian/patches/04_drop-capabilities.dpatch183
-rw-r--r--debian/patches/05_plugin-libdir.dpatch28
-rw-r--r--debian/patches/06_giop-buffer.dpatch19
-rw-r--r--debian/patches/07_gcc4.dpatch32
-rw-r--r--debian/patches/08_ethereal-desktop-menu.dpatch29
-rw-r--r--debian/patches/09_idl2eth.dpatch46
-rw-r--r--debian/patches/10_ethereal_gen.dpatch19
-rw-r--r--debian/patches/11_diameter_vendors.dpatch19
12 files changed, 1230 insertions, 0 deletions
diff --git a/debian/patches/00list b/debian/patches/00list
new file mode 100644
index 0000000000..d05e06e813
--- /dev/null
+++ b/debian/patches/00list
@@ -0,0 +1,11 @@
+01_idl2deb
+02_asn2deb
+03_preferences
+04_drop-capabilities
+05_plugin-libdir
+06_giop-buffer
+07_gcc4
+08_ethereal-desktop-menu
+09_idl2eth
+10_ethereal_gen
+11_diameter_vendors
diff --git a/debian/patches/01_idl2deb.dpatch b/debian/patches/01_idl2deb.dpatch
new file mode 100644
index 0000000000..400b853fde
--- /dev/null
+++ b/debian/patches/01_idl2deb.dpatch
@@ -0,0 +1,424 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 01_idl2deb.dpatch by <fpeters@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: idl2deb - create Debian packages from idl2eth modules
+
+@DPATCH@
+diff -urNad --exclude=CVS --exclude=.svn ./idl2deb /tmp/dpep-work.K2bQz4/ethereal-0.10.11/idl2deb
+--- ./idl2deb 1970-01-01 01:00:00.000000000 +0100
++++ /tmp/dpep-work.K2bQz4/ethereal-0.10.11/idl2deb 2005-07-17 19:35:08.000000000 +0200
+@@ -0,0 +1,252 @@
++#!/usr/bin/env python
++
++# idl2deb - quick hack by W. Borgert <debacle@debian.org> to create
++# Debian GNU/Linux packages from idl2eth modules for Ethereal.
++# Copyright 2003, W. Borgert
++
++# Makefile.am and configure.ac code by:
++# Copyright 2001, Ericsson Inc.
++# Frank Singleton <frank.singleton@ericsson.com>
++#
++# Ethereal - Network traffic analyzer
++# By Gerald Combs <gerald@ethereal.com>
++# Copyright 1998 Gerald Combs
++
++# 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.
++
++import getopt, os, string, sys, time
++
++scriptinfo = """idl2deb version 2003-10-03
++Copyright 2003, W. Borgert
++Free software, released under the terms of the GPL."""
++
++options = {'dbopts': "",
++ 'email': "invalid@invalid.invalid",
++ 'help': 0,
++ 'idl': None,
++ 'name': "No Name",
++ 'preserve': 0,
++ 'version': 0}
++
++def bootstrap():
++ """Generate Makefile.in and configure script."""
++ os.system("aclocal")
++ os.system("autoconf")
++ os.system("libtoolize --automake --copy --force")
++ os.system("automake --add-missing --copy --foreign")
++
++def create_file(filename, content, mode = None):
++ """Create a file with given content."""
++ global options
++ if options['preserve'] and os.path.isfile(filename):
++ return
++ f = open(filename, 'w')
++ f.write(content)
++ f.close()
++ if mode:
++ os.chmod(filename, mode)
++
++def create_files(version, deb, email, idl, name, iso, rfc):
++ """Create all files for the .deb build process."""
++ base = idl.lower()[:-4]
++ create_file("Makefile.am", """#
++
++plugindir = @plugindir@
++
++plugin_LTLIBRARIES = %s.la
++%s_la_SOURCES = packet-%s.c
++%s_la_LDFLAGS = -module -avoid-version
++
++GLIB_CFLAGS = `pkg-config --cflags glib-2.0`
++GLIB_LIBS = `pkg-config --libs glib-2.0`
++BUILT_SOURCES = packet-%s.c
++INCLUDES = -DHAVE_CONFIG -DHAVE_SYS_TYPES_H -DHAVE_SYS_TIME_H \\
++ -DHAVE_STDARG_H -D_U_=\"__attribute__((unused))\" \\
++ -I/usr/include/ethereal -DETH_VAR_IMPORT=extern $(GLIB_CFLAGS)
++LDADD = $(GLIB_LIBS)
++
++# Libs must be cleared, or else libtool won't create a shared module.
++# If your module needs to be linked against any particular libraries,
++# add them here.
++LIBS =
++
++%s_la_DEPENDENCIES = packet-%s-static.o
++
++packet-%s-static.o: packet-%s.c
++ $(LTCOMPILE) -c -o packet-%s-static.o \\
++ -D__ETHEREAL_STATIC__ packet-%s.c
++
++packet-%s.c: """ % ((base,) * 12) + idl + """
++ $(IDL2ETH) $< > $@
++""")
++
++ create_file("configure.ac", """AC_INIT(%s, 1.0)
++AC_PROG_LIBTOOL
++AM_INIT_AUTOMAKE
++AM_MAINTAINER_MODE
++AC_PROG_CC
++AC_STDC_HEADERS
++AC_PROG_INSTALL
++AC_SUBST(CFLAGS)
++AC_SUBST(CPPFLAGS)
++AC_SUBST(LDFLAGS)
++PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.2.2)
++AC_SUBST(GLIB_CFLAGS)
++AC_SUBST(GLIB_LIBS)
++IDL2ETH=\"`type -p idl2eth`\"
++AC_SUBST(IDL2ETH)
++ETHEREAL_VERSION=\"%s\"
++plugindir=\"$libdir/ethereal/plugins/$ETHEREAL_VERSION\"
++AC_SUBST(plugindir)
++AC_OUTPUT([Makefile])
++""" % (base, version))
++
++ if not os.path.isdir("debian"):
++ os.mkdir("debian")
++
++ create_file("debian/rules", """#!/usr/bin/make -f
++
++include /usr/share/cdbs/1/rules/debhelper.mk
++include /usr/share/cdbs/1/class/autotools.mk
++
++PREFIX=`pwd`/debian/ethereal-giop-%s
++
++binary-post-install/ethereal-giop-%s::
++ rm -f $(PREFIX)/usr/lib/ethereal/plugins/%s/*.a
++""" % (base, base, version), 0755)
++
++ create_file("debian/control", """Source: ethereal-giop-%s
++Section: net
++Priority: optional
++Maintainer: %s <%s>
++Standards-Version: 3.6.1.0
++Build-Depends: ethereal-dev, autotools-dev, debhelper, cdbs
++
++Package: ethereal-giop-%s
++Architecture: any
++Depends: ethereal (= %s), ${shlibs:Depends}
++Description: GIOP dissector for CORBA interface %s
++ This package provides a dissector for GIOP (General Inter-ORB
++ Protocol) for the Ethereal protocol analyser. It decodes the CORBA
++ (Common Object Request Broker Architecture) interfaces described
++ in the IDL (Interface Definition Language) file '%s.idl'.
++""" % (base, name, email, base, deb, base, base))
++
++ create_file("debian/changelog",
++ """ethereal-giop-%s (0.0.1-1) unstable; urgency=low
++
++ * Automatically created package.
++
++ -- %s <%s> %s
++""" % (base, name, email, rfc + "\n (" + iso + ")"))
++
++ create_file("debian/copyright",
++ """This package has been created automatically be idl2deb on
++%s for Debian GNU/Linux.
++
++Ethereal: http://www.ethereal.com/
++
++Copyright:
++
++GPL, as evidenced by existence of GPL license file \"COPYING\".
++(the GNU GPL may be viewed on Debian systems in
++/usr/share/common-licenses/GPL)
++""" % (iso))
++
++def get_eth_version():
++ """Detect version of ethereal-dev package."""
++ deb = os.popen(
++ "dpkg-query -W --showformat='${Version}' ethereal-dev").read()
++ debv = string.find(deb, "-")
++ if debv == -1: debv = len(deb)
++ version = deb[string.find(deb, ":")+1:debv]
++ return version, deb
++
++def get_time():
++ """Detect current time and return ISO and RFC time string."""
++ currenttime = time.gmtime()
++ return time.strftime("%Y-%m-%d %H:%M:%S +0000", currenttime), \
++ time.strftime("%a, %d %b %Y %H:%M:%S +0000", currenttime)
++
++def main():
++ global options
++ process_opts(sys.argv)
++ iso, rfc = get_time()
++ version, deb = get_eth_version()
++ create_files(version, deb,
++ options['email'], options['idl'], options['name'],
++ iso, rfc)
++ bootstrap()
++ os.system("dpkg-buildpackage " + options['dbopts'])
++
++def process_opts(argv):
++ """Process command line options."""
++ global options
++ try:
++ opts, args = getopt.getopt(argv[1:], "d:e:hi:n:pv",
++ ["dbopts=",
++ "email=",
++ "help",
++ "idl=",
++ "name=",
++ "preserve",
++ "version"])
++ except getopt.GetoptError:
++ usage(argv[0])
++ sys.exit(1)
++ for o, a in opts:
++ if o in ("-d", "--dbopts"):
++ options['dbopts'] = a
++ if o in ("-e", "--email"):
++ options['email'] = a
++ if o in ("-h", "--help"):
++ options['help'] = 1
++ if o in ("-i", "--idl"):
++ options['idl'] = a
++ if o in ("-n", "--name"):
++ options['name'] = a
++ if o in ("-p", "--preserve"):
++ options['preserve'] = 1
++ if o in ("-v", "--version"):
++ options['version'] = 1
++ if options['help']:
++ usage(argv[0])
++ sys.exit(0)
++ if options['version']:
++ print scriptinfo
++ sys.exit(0)
++ if not options['idl']:
++ print "mandatory IDL file parameter missing"
++ sys.exit(1)
++ if not os.access(options['idl'], os.R_OK):
++ print "IDL file not accessible"
++ sys.exit(1)
++
++def usage(name):
++ """Print usage help."""
++ print "Usage: " + name + " <parameters>\n" + \
++ "Parameters are\n" + \
++ " --dbopts -d opts, options for dpkg-buildpackage\n" + \
++ " --email -e address, use e-mail address\n" + \
++ " --idl -i idlfile, IDL file to use (mandatory)\n" + \
++ " --help -h, print help and exit\n" + \
++ " --name -n name, use user name\n" + \
++ " --preserve -p, do not overwrite files\n" + \
++ " --version -v, print version and exit\n" + \
++ "Example:\n" + \
++ name + " -e me@foo.net -i bar.idl -n \"My Name\" " + \
++ "-d \"-rfakeroot -uc -us\""
++if __name__ == '__main__':
++ main()
+diff -urNad --exclude=CVS --exclude=.svn ./idl2deb.dbk /tmp/dpep-work.K2bQz4/ethereal-0.10.11/idl2deb.dbk
+--- ./idl2deb.dbk 1970-01-01 01:00:00.000000000 +0100
++++ /tmp/dpep-work.K2bQz4/ethereal-0.10.11/idl2deb.dbk 2005-07-17 19:35:08.000000000 +0200
+@@ -0,0 +1,157 @@
++<?xml version='1.0' encoding='ISO-8859-1'?>
++<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
++"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
++ <!ENTITY command "<command>idl2deb</command>">
++ <!ENTITY email "<email>debacle@debian.org</email>">
++ <!ENTITY author "W. Borgert">
++ <!ENTITY debian "<productname>Debian GNU/Linux</productname>">
++]>
++
++<refentry>
++ <refentryinfo>
++ <address>
++ &email;
++ </address>
++ <author>
++ <firstname>W.</firstname>
++ <surname>Borgert</surname>
++ </author>
++ <copyright>
++ <year>2003</year>
++ <year>2005</year>
++ <holder>&author;</holder>
++ </copyright>
++ <date>2003-08-17</date>
++ <keywordset>
++ <keyword>CORBA</keyword>
++ <keyword>IDL</keyword>
++ <keyword>Ethereal</keyword>
++ </keywordset>
++ <revhistory>
++ <revision>
++ <revnumber>2003-08-17</revnumber>
++ <date>2003-08-17</date>
++ <authorinitials>debacle</authorinitials>
++ <revremark>First version.</revremark>
++ </revision>
++ </revhistory>
++ </refentryinfo>
++ <refmeta>
++ <refentrytitle>idl2deb</refentrytitle>
++
++ <manvolnum>1</manvolnum>
++ </refmeta>
++ <refnamediv>
++ <refname>idl2deb</refname>
++
++ <refpurpose>create a Debian package for CORBA monitoring from IDL</refpurpose>
++ </refnamediv>
++ <refsynopsisdiv>
++ <cmdsynopsis>
++ &command;
++ <arg><option>-d <replaceable>opts</replaceable></option></arg>
++ <arg><option>--dbopts=<replaceable>opts</replaceable></option></arg>
++ <arg><option>-e <replaceable>address</replaceable></option></arg>
++ <arg><option>--email=<replaceable>address</replaceable></option></arg>
++ <arg>-i <replaceable>idlfile</replaceable></arg>
++ <arg>--idl=<replaceable>idlfile</replaceable></arg>
++ <arg><option>-h</option></arg>
++ <arg><option>--help</option></arg>
++ <arg><option>-n <replaceable>name</replaceable></option></arg>
++ <arg><option>--name=<replaceable>name</replaceable></option></arg>
++ <arg><option>-p</option></arg>
++ <arg><option>--preserve</option></arg>
++ <arg><option>-v</option></arg>
++ <arg><option>--version</option></arg>
++ </cmdsynopsis>
++ </refsynopsisdiv>
++ <refsect1>
++ <title>Description</title>
++
++ <para>This manual page documents briefly the
++ <command>idl2deb</command> command.</para>
++
++ <para>&command; takes an CORBA IDL file as input and creates a
++ Debian package from it. The package contains a loadable module
++ for the ethereal network analyser.</para>
++ </refsect1>
++ <refsect1>
++ <title>Options</title>
++
++ <variablelist>
++ <varlistentry>
++ <term><option>-d <replaceable>opts</replaceable></option>
++ <option>--dbopts=<replaceable>opts</replaceable></option></term>
++ <listitem>
++ <para>options for dpkg-buildpackage.</para>
++ </listitem>
++ </varlistentry>
++ <varlistentry>
++ <term><option>-e <replaceable>address</replaceable></option>
++ <option>--email=<replaceable>address</replaceable></option></term>
++ <listitem>
++ <para>use e-mail address.</para>
++ </listitem>
++ </varlistentry>
++ <varlistentry>
++ <term><option>-i <replaceable>idlfile</replaceable></option>
++ <option>--idl=<replaceable>idlfile</replaceable></option></term>
++ <listitem>
++ <para>IDL file to use (mandatory).</para>
++ </listitem>
++ </varlistentry>
++ <varlistentry>
++ <term><option>-h</option>
++ <option>--help</option>
++ </term>
++ <listitem>
++ <para>print help and exit.</para>
++ </listitem>
++ </varlistentry>
++ <varlistentry>
++ <term><option>-n <replaceable>name</replaceable></option>
++ <option>--name=<replaceable>name</replaceable></option></term>
++ <listitem>
++ <para>use user name.</para>
++ </listitem>
++ </varlistentry>
++ <varlistentry>
++ <term><option>-p</option>
++ <option>--preserve</option></term>
++ <listitem>
++ <para>do not overwrite files.</para>
++ </listitem>
++ </varlistentry>
++ <varlistentry>
++ <term><option>-v</option>
++ <option>--version</option></term>
++ <listitem>
++ <para>print version and exit.</para>
++ </listitem>
++ </varlistentry>
++ </variablelist>
++
++ <para>Example:</para>
++
++ <programlisting>/usr/bin/idl2deb -e me@foo.net -i bar.idl \
++-n &quot;My Name&quot; -d &quot;-rfakeroot -uc -us&quot;</programlisting>
++
++ </refsect1>
++ <refsect1>
++ <title>See Also</title>
++
++ <para>A lot of tools are used, which you have to
++ <command>apt-get install</command>: ethereal-dev, python,
++ cdbs, autotools-dev, debhelper, dpkg-dev.</para>
++ </refsect1>
++
++ <refsect1>
++ <title>Copying</title>
++
++ <para>This manual page was written by &author; &email; for
++ &debian; (but may be used by others). Permission is granted to
++ copy, distribute and/or modify this document under the terms of
++ the GNU General Public License, Version 2 or any later
++ version published by the Free Software Foundation.</para>
++ </refsect1>
++</refentry>
diff --git a/debian/patches/02_asn2deb.dpatch b/debian/patches/02_asn2deb.dpatch
new file mode 100644
index 0000000000..e2bbcf3abd
--- /dev/null
+++ b/debian/patches/02_asn2deb.dpatch
@@ -0,0 +1,392 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 02_asn2deb.dpatch by <fpeters@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: asn2deb - create Debian packages from ASN.1 files
+
+@DPATCH@
+diff -urNad --exclude=CVS --exclude=.svn ./asn2deb /tmp/dpep-work.5BSR7A/ethereal-0.10.11/asn2deb
+--- ./asn2deb 1970-01-01 01:00:00.000000000 +0100
++++ /tmp/dpep-work.5BSR7A/ethereal-0.10.11/asn2deb 2005-07-17 19:37:02.000000000 +0200
+@@ -0,0 +1,219 @@
++#!/usr/bin/env python
++
++# asn2deb - quick hack by W. Borgert <debacle@debian.org> to create
++# Debian GNU/Linux packages from ASN.1 files for Ethereal.
++# Copyright 2004, W. Borgert
++
++# ASN.1 module for Ethereal, use of snacc type table:
++# Copyright 2003, Matthijs Melchior <matthijs.melchior@xs4all.nl>
++#
++# Ethereal - Network traffic analyzer
++# By Gerald Combs <gerald@ethereal.com>
++# Copyright 1998 Gerald Combs
++
++# 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.
++
++import getopt, os, string, sys, time
++
++scriptinfo = """asn2deb version 2004-02-17
++Copyright 2004, W. Borgert
++Free software, released under the terms of the GPL."""
++
++options = {'asn': None,
++ 'dbopts': "",
++ 'email': "invalid@invalid.invalid",
++ 'help': 0,
++ 'name': "No Name",
++ 'preserve': 0,
++ 'version': 0}
++
++def bootstrap():
++ """Generate Makefile.in and configure script."""
++ os.system("aclocal-1.7")
++ os.system("autoconf")
++ os.system("automake-1.7 --add-missing --copy --foreign")
++
++def create_file(filename, content, mode = None):
++ """Create a file with given content."""
++ global options
++ if options['preserve'] and os.path.isfile(filename):
++ return
++ f = open(filename, 'w')
++ f.write(content)
++ f.close()
++ if mode:
++ os.chmod(filename, mode)
++
++def create_files(version, deb, email, asn, name, iso, rfc):
++ """Create all files for the .deb build process."""
++ base = asn.lower()[:-5]
++ create_file("Makefile.am", """#
++
++BUILT_SOURCES = %s.tt
++asn1ttdir = $(datadir)/ethereal/asn1
++asn1tt_DATA = %s.tt
++
++%s.tt: """ % ((base,) * 3) + asn + """
++ snacc -u /usr/include/snacc/asn1/asn-useful.asn1 -T $@ $<
++""")
++
++ create_file("configure.ac", """AC_INIT(%s, 1.0)
++AM_INIT_AUTOMAKE
++AM_MAINTAINER_MODE
++AC_PROG_INSTALL
++SNACC=\"`type -p snacc`\"
++AC_SUBST(SNACC)
++dnl ETHEREAL_VERSION=\"%s\"
++dnl plugindir=\"$prefix/share/ethereal/asn.1\"
++dnl AC_SUBST(plugindir)
++AC_OUTPUT([Makefile])
++""" % (base, version))
++
++ if not os.path.isdir("debian"):
++ os.mkdir("debian")
++
++ create_file("debian/rules", """#!/usr/bin/make -f
++
++include /usr/share/cdbs/1/rules/debhelper.mk
++include /usr/share/cdbs/1/class/autotools.mk
++
++PREFIX=`pwd`/debian/ethereal-asn1-%s
++
++binary-post-install/ethereal-asn1-%s::
++ rm -f $(PREFIX)/usr/lib/ethereal/plugins/%s/*.a
++""" % (base, base, version), 0755)
++
++ create_file("debian/control", """Source: ethereal-asn1-%s
++Section: net
++Priority: optional
++Maintainer: %s <%s>
++Standards-Version: 3.6.1.0
++Build-Depends: snacc, autotools-dev, debhelper, cdbs
++
++Package: ethereal-asn1-%s
++Architecture: all
++Depends: ethereal (= %s)
++Description: ASN.1/BER dissector for %s
++ This package provides a type table for decoding BER (Basic Encoding
++ Rules) data over TCP or UDP, described by an ASN.1 (Abstract Syntax
++ Notation 1) file '%s.asn1'.
++""" % (base, name, email, base, deb, base, base))
++
++ create_file("debian/changelog",
++ """ethereal-asn1-%s (0.0.1-1) unstable; urgency=low
++
++ * Automatically created package.
++
++ -- %s <%s> %s
++""" % (base, name, email, rfc + "\n (" + iso + ")"))
++
++ create_file("debian/copyright",
++ """This package has been created automatically be asn2deb on
++%s for Debian GNU/Linux.
++
++Ethereal: http://www.ethereal.com/
++
++Copyright:
++
++GPL, as evidenced by existence of GPL license file \"COPYING\".
++(the GNU GPL may be viewed on Debian systems in
++/usr/share/common-licenses/GPL)
++""" % (iso))
++
++def get_eth_version():
++ """Detect version of ethereal-dev package."""
++ deb = os.popen(
++ "dpkg-query -W --showformat='${Version}' ethereal-dev").read()
++ debv = string.find(deb, "-")
++ if debv == -1: debv = len(deb)
++ version = deb[string.find(deb, ":")+1:debv]
++ return version, deb
++
++def get_time():
++ """Detect current time and return ISO and RFC time string."""
++ currenttime = time.gmtime()
++ return time.strftime("%Y-%m-%d %H:%M:%S +0000", currenttime), \
++ time.strftime("%a, %d %b %Y %H:%M:%S +0000", currenttime)
++
++def main():
++ global options
++ process_opts(sys.argv)
++ iso, rfc = get_time()
++ version, deb = get_eth_version()
++ create_files(version, deb,
++ options['email'], options['asn'], options['name'],
++ iso, rfc)
++ bootstrap()
++ os.system("dpkg-buildpackage " + options['dbopts'])
++
++def process_opts(argv):
++ """Process command line options."""
++ global options
++ try:
++ opts, args = getopt.getopt(argv[1:], "a:d:e:hn:pv",
++ ["asn=",
++ "dbopts=",
++ "email=",
++ "help",
++ "name=",
++ "preserve",
++ "version"])
++ except getopt.GetoptError:
++ usage(argv[0])
++ sys.exit(1)
++ for o, a in opts:
++ if o in ("-a", "--asn"):
++ options['asn'] = a
++ if o in ("-d", "--dbopts"):
++ options['dbopts'] = a
++ if o in ("-e", "--email"):
++ options['email'] = a
++ if o in ("-h", "--help"):
++ options['help'] = 1
++ if o in ("-n", "--name"):
++ options['name'] = a
++ if o in ("-p", "--preserve"):
++ options['preserve'] = 1
++ if o in ("-v", "--version"):
++ options['version'] = 1
++ if options['help']:
++ usage(argv[0])
++ sys.exit(0)
++ if options['version']:
++ print scriptinfo
++ sys.exit(0)
++ if not options['asn']:
++ print "mandatory ASN.1 file parameter missing"
++ sys.exit(1)
++ if not os.access(options['asn'], os.R_OK):
++ print "ASN.1 file not accessible"
++ sys.exit(1)
++
++def usage(name):
++ """Print usage help."""
++ print "Usage: " + name + " <parameters>\n" + \
++ "Parameters are\n" + \
++ " --asn -a asn1file, ASN.1 file to use (mandatory)\n" + \
++ " --dbopts -d opts, options for dpkg-buildpackage\n" + \
++ " --email -e address, use e-mail address\n" + \
++ " --help -h, print help and exit\n" + \
++ " --name -n name, use user name\n" + \
++ " --preserve -p, do not overwrite files\n" + \
++ " --version -v, print version and exit\n" + \
++ "Example:\n" + \
++ name + " -e me@foo.net -a bar.asn1 -n \"My Name\" " + \
++ "-d \"-rfakeroot -uc -us\""
++if __name__ == '__main__':
++ main()
+diff -urNad --exclude=CVS --exclude=.svn ./asn2deb.dbk /tmp/dpep-work.5BSR7A/ethereal-0.10.11/asn2deb.dbk
+--- ./asn2deb.dbk 1970-01-01 01:00:00.000000000 +0100
++++ /tmp/dpep-work.5BSR7A/ethereal-0.10.11/asn2deb.dbk 2005-07-17 19:37:02.000000000 +0200
+@@ -0,0 +1,158 @@
++<?xml version='1.0' encoding='ISO-8859-1'?>
++<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
++"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
++ <!ENTITY command "<command>asn2deb</command>">
++ <!ENTITY email "<email>debacle@debian.org</email>">
++ <!ENTITY author "W. Borgert">
++ <!ENTITY debian "<productname>Debian GNU/Linux</productname>">
++]>
++
++<refentry>
++ <refentryinfo>
++ <address>
++ &email;
++ </address>
++ <author>
++ <firstname>W.</firstname>
++ <surname>Borgert</surname>
++ </author>
++ <copyright>
++ <year>2003</year>
++ <year>2005</year>
++ <holder>&author;</holder>
++ </copyright>
++ <date>2004-02-18</date>
++ <keywordset>
++ <keyword>ASN.1</keyword>
++ <keyword>BER</keyword>
++ <keyword>Ethereal</keyword>
++ </keywordset>
++ <revhistory>
++ <revision>
++ <revnumber>1</revnumber>
++ <date>2004-02-18</date>
++ <authorinitials>debacle</authorinitials>
++ <revremark>First version.</revremark>
++ </revision>
++ </revhistory>
++ </refentryinfo>
++ <refmeta>
++ <refentrytitle>asn2deb</refentrytitle>
++
++ <manvolnum>1</manvolnum>
++ </refmeta>
++ <refnamediv>
++ <refname>asn2deb</refname>
++
++ <refpurpose>create a Debian package for BER monitoring from ASN.1</refpurpose>
++ </refnamediv>
++ <refsynopsisdiv>
++ <cmdsynopsis>
++ &command;
++ <arg>-a <replaceable>ASN.1 file</replaceable></arg>
++ <arg>--asn=<replaceable>ASN.1 file</replaceable></arg>
++ <arg><option>-d <replaceable>opts</replaceable></option></arg>
++ <arg><option>--dbopts=<replaceable>opts</replaceable></option></arg>
++ <arg><option>-e <replaceable>address</replaceable></option></arg>
++ <arg><option>--email=<replaceable>address</replaceable></option></arg>
++ <arg><option>-h</option></arg>
++ <arg><option>--help</option></arg>
++ <arg><option>-n <replaceable>name</replaceable></option></arg>
++ <arg><option>--name=<replaceable>name</replaceable></option></arg>
++ <arg><option>-p</option></arg>
++ <arg><option>--preserve</option></arg>
++ <arg><option>-v</option></arg>
++ <arg><option>--version</option></arg>
++ </cmdsynopsis>
++ </refsynopsisdiv>
++ <refsect1>
++ <title>Description</title>
++
++ <para>This manual page documents briefly the
++ <command>asn2deb</command> command.</para>
++
++ <para>&command; takes an ASN.1 file as input and creates a Debian
++ package from it. The package contains a loadable type table file
++ for the ethereal network analyser. The type table is generated by
++ the ASN.1 compiler <command>snacc</command>.</para>
++ </refsect1>
++ <refsect1>
++ <title>Options</title>
++
++ <variablelist>
++ <varlistentry>
++ <term><option>-a <replaceable>ASN.1 file</replaceable></option>
++ <option>--asn=<replaceable>ASN.1 file</replaceable></option></term>
++ <listitem>
++ <para>ASN.1 file to use (mandatory).</para>
++ </listitem>
++ </varlistentry>
++ <varlistentry>
++ <term><option>-d <replaceable>opts</replaceable></option>
++ <option>--dbopts=<replaceable>opts</replaceable></option></term>
++ <listitem>
++ <para>options for dpkg-buildpackage.</para>
++ </listitem>
++ </varlistentry>
++ <varlistentry>
++ <term><option>-e <replaceable>address</replaceable></option>
++ <option>--email=<replaceable>address</replaceable></option></term>
++ <listitem>
++ <para>use e-mail address.</para>
++ </listitem>
++ </varlistentry>
++ <varlistentry>
++ <term><option>-h</option>
++ <option>--help</option>
++ </term>
++ <listitem>
++ <para>print help and exit.</para>
++ </listitem>
++ </varlistentry>
++ <varlistentry>
++ <term><option>-n <replaceable>name</replaceable></option>
++ <option>--name=<replaceable>name</replaceable></option></term>
++ <listitem>
++ <para>use user name.</para>
++ </listitem>
++ </varlistentry>
++ <varlistentry>
++ <term><option>-p</option>
++ <option>--preserve</option></term>
++ <listitem>
++ <para>do not overwrite files.</para>
++ </listitem>
++ </varlistentry>
++ <varlistentry>
++ <term><option>-v</option>
++ <option>--version</option></term>
++ <listitem>
++ <para>print version and exit.</para>
++ </listitem>
++ </varlistentry>
++ </variablelist>
++
++ <para>Example:</para>
++
++ <programlisting>/usr/bin/asn2deb -e me@foo.net -a bar.asn1 \
++-n &quot;My Name&quot; -d &quot;-rfakeroot -uc -us&quot;</programlisting>
++
++ </refsect1>
++ <refsect1>
++ <title>See Also</title>
++
++ <para>A lot of tools are used, which you have to
++ <command>apt-get install</command>: ethereal-dev, python,
++ cdbs, autotools-dev, debhelper, dpkg-dev, snacc.</para>
++ </refsect1>
++
++ <refsect1>
++ <title>Copying</title>
++
++ <para>This manual page was written by &author; &email; for
++ &debian; (but may be used by others). Permission is granted to
++ copy, distribute and/or modify this document under the terms of
++ the GNU General Public License, Version 2 or any later
++ version published by the Free Software Foundation.</para>
++ </refsect1>
++</refentry>
diff --git a/debian/patches/03_preferences.dpatch b/debian/patches/03_preferences.dpatch
new file mode 100644
index 0000000000..5b0415a04c
--- /dev/null
+++ b/debian/patches/03_preferences.dpatch
@@ -0,0 +1,28 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 03_preferences.dpatch by <fpeters@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: use known working monospace font and Debian sensible-browser
+
+@DPATCH@
+diff -urNad --exclude=CVS --exclude=.svn ./epan/prefs.c /tmp/dpep-work.b0Uwke/ethereal-0.10.11/epan/prefs.c
+--- ./epan/prefs.c 2005-07-17 18:36:36.000000000 +0200
++++ /tmp/dpep-work.b0Uwke/ethereal-0.10.11/epan/prefs.c 2005-07-17 18:38:45.000000000 +0200
+@@ -1026,7 +1026,7 @@
+ */
+ prefs.gui_font_name1 = g_strdup("-misc-fixed-medium-r-semicondensed-*-*-120-*-*-*-*-iso8859-1");
+ /* XXX- is this the correct default font name for GTK2 none win32? */
+- prefs.gui_font_name2 = g_strdup("fixed medium 12");
++ prefs.gui_font_name2 = g_strdup("monospace 10");
+ #endif
+ prefs.gui_marked_fg.pixel = 65535;
+ prefs.gui_marked_fg.red = 65535;
+@@ -1046,7 +1046,7 @@
+ prefs.gui_fileopen_preview = 3;
+ prefs.gui_ask_unsaved = TRUE;
+ prefs.gui_find_wrap = TRUE;
+- prefs.gui_webbrowser = g_strdup("mozilla %s");
++ prefs.gui_webbrowser = g_strdup("sensible-browser %s");
+ prefs.gui_window_title = g_strdup("");
+ prefs.gui_layout_type = layout_type_5;
+ prefs.gui_layout_content_1 = layout_pane_content_plist;
diff --git a/debian/patches/04_drop-capabilities.dpatch b/debian/patches/04_drop-capabilities.dpatch
new file mode 100644
index 0000000000..45a881ef17
--- /dev/null
+++ b/debian/patches/04_drop-capabilities.dpatch
@@ -0,0 +1,183 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 04_drop-capabilities.dpatch by <fpeters@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Drop all capabilities but CAP_NET_RAW
+
+@DPATCH@
+diff -urNad --exclude=CVS --exclude=.svn ./config.h.in /tmp/dpep-work.rT2mW8/ethereal-0.10.12/config.h.in
+--- ./config.h.in 2005-07-31 12:50:13.000000000 +0200
++++ /tmp/dpep-work.rT2mW8/ethereal-0.10.12/config.h.in 2005-07-31 12:54:13.000000000 +0200
+@@ -55,6 +55,9 @@
+ /* Define if krb5.h defines KEYTYPE_ARCFOUR_56 */
+ #undef HAVE_KEYTYPE_ARCFOUR_56
+
++/* Define if libcap is available to restrict process capabilities */
++#undef HAVE_LIBCAP
++
+ /* Define to use libpcap library */
+ #undef HAVE_LIBPCAP
+
+diff -urNad --exclude=CVS --exclude=.svn ./configure.in /tmp/dpep-work.rT2mW8/ethereal-0.10.12/configure.in
+--- ./configure.in 2005-07-31 12:50:26.000000000 +0200
++++ /tmp/dpep-work.rT2mW8/ethereal-0.10.12/configure.in 2005-07-31 12:54:13.000000000 +0200
+@@ -737,6 +737,47 @@
+ fi
+
+
++dnl libcap check
++AC_MSG_CHECKING(whether to use libcap to improve security)
++
++AC_ARG_WITH(cap,
++[ --with-cap[[=DIR]] use libcap (located in directory DIR, if supplied) to improve security. [[default=yes, if available]]],
++[
++ if test $withval = no
++ then
++ want_cap=no
++ elif test $withval = yes
++ then
++ want_cap=yes
++ else
++ want_cap=yes
++ cap_dir=$withval
++ fi
++],[
++ #
++ # Use libcap if it's present, otherwise don't.
++ #
++ want_cap=ifavailable
++ cap_dir=
++])
++if test "x$want_cap" = "xno" ; then
++ AC_MSG_RESULT(no)
++ cap_message="no (disabled by explicit request)"
++else
++ AC_MSG_RESULT(yes)
++ AC_CHECK_LIB(cap, cap_init, [
++ AC_DEFINE(HAVE_LIBCAP, 1, [
++ Define if libcap is available to restrict process capabilities
++ ])
++ LIBS="$LIBS -lcap"
++ cap_message="yes"
++ ], [
++ AC_MSG_WARN([libcap check failed])
++ cap_message="no (check failed)"
++ ])
++fi
++
++
+ dnl Check if ethereal should be installed setuid
+ AC_ARG_ENABLE(setuid-install,
+ [ --enable-setuid-install install ethereal as setuid. DANGEROUS!!! [default=no]],enable_setuid_install=$enableval,enable_setuid_install=no)
+@@ -1322,3 +1363,4 @@
+ echo " Use SSL crypto library : $ssl_message"
+ echo " Use IPv6 name resolution : $enable_ipv6"
+ echo " Use UCD SNMP/Net-SNMP library : $snmp_libs_message"
++echo " Use cap library : $cap_message"
+diff -urNad --exclude=CVS --exclude=.svn ./gtk/main.c /tmp/dpep-work.rT2mW8/ethereal-0.10.12/gtk/main.c
+--- ./gtk/main.c 2005-07-31 12:50:37.000000000 +0200
++++ /tmp/dpep-work.rT2mW8/ethereal-0.10.12/gtk/main.c 2005-07-31 12:54:13.000000000 +0200
+@@ -1671,6 +1671,9 @@
+ runtime_info_str = g_string_new("Running ");
+ get_runtime_version_info(runtime_info_str);
+
++#ifdef HAVE_LIBCAP
++ dropexcesscapabilities();
++#endif
+
+ /*** "pre-scan" the command line parameters, if we have "console only" parameters ***/
+ /* (e.g. don't start GTK+, if we only have to show the command line help) */
+diff -urNad --exclude=CVS --exclude=.svn ./tethereal.c /tmp/dpep-work.rT2mW8/ethereal-0.10.12/tethereal.c
+--- ./tethereal.c 2005-07-31 12:49:37.000000000 +0200
++++ /tmp/dpep-work.rT2mW8/ethereal-0.10.12/tethereal.c 2005-07-31 12:54:13.000000000 +0200
+@@ -663,6 +663,10 @@
+ capture_opts_init(&capture_opts, NULL /* cfile */);
+ #endif
+
++#ifdef HAVE_LIBCAP
++ dropexcesscapabilities();
++#endif
++
+ set_timestamp_setting(TS_RELATIVE);
+
+ /* Register all dissectors; we must do this before checking for the
+diff -urNad --exclude=CVS --exclude=.svn ./util.c /tmp/dpep-work.rT2mW8/ethereal-0.10.12/util.c
+--- ./util.c 2005-07-31 12:49:42.000000000 +0200
++++ /tmp/dpep-work.rT2mW8/ethereal-0.10.12/util.c 2005-07-31 12:56:35.000000000 +0200
+@@ -69,6 +69,10 @@
+ #include <windows.h>
+ #endif
+
++#ifdef HAVE_LIBCAP
++#include <sys/capability.h>
++#endif
++
+ #include "util.h"
+
+ /*
+@@ -311,3 +315,46 @@
+ }
+ return "";
+ }
++
++
++#ifdef HAVE_LIBCAP
++void dropexcesscapabilities(void)
++{
++ cap_t cap_d;
++ cap_value_t cap_values[] = {
++ /* capabilities we need to keep */
++ CAP_NET_RAW,
++ CAP_DAC_READ_SEARCH
++ };
++ cap_flag_value_t current_cap;
++
++ cap_d = cap_get_proc();
++ if (!cap_d) {
++ g_warning("Could not get capabilities\n");
++ return;
++ }
++
++ cap_get_flag(cap_d, CAP_NET_RAW, CAP_EFFECTIVE, &current_cap);
++ cap_free(&cap_d);
++ if (current_cap == CAP_CLEAR) {
++ return;
++ }
++
++ cap_d = cap_init();
++ if (!cap_d) {
++ g_warning("Could not alloc cap struct\n");
++ return;
++ }
++
++ cap_clear(cap_d);
++ cap_set_flag(cap_d, CAP_PERMITTED, 2, cap_values, CAP_SET);
++ cap_set_flag(cap_d, CAP_EFFECTIVE, 2, cap_values, CAP_SET);
++
++ if (cap_set_proc(cap_d) != 0) {
++ g_warning("Could not set capabilities: %s\n", strerror(errno));
++ cap_free(&cap_d);
++ return;
++ }
++ cap_free(&cap_d);
++}
++#endif /* HAVE_LIBCAP */
+diff -urNad --exclude=CVS --exclude=.svn ./util.h /tmp/dpep-work.rT2mW8/ethereal-0.10.12/util.h
+--- ./util.h 2005-07-31 12:49:42.000000000 +0200
++++ /tmp/dpep-work.rT2mW8/ethereal-0.10.12/util.h 2005-07-31 12:54:13.000000000 +0200
+@@ -43,6 +43,15 @@
+ /* Create a capture filter for the connection */
+ char *get_conn_cfilter(void);
+
++#ifdef HAVE_LIBCAP
++/*
++ * Limit the potential impact of undiscovered security vulnerabilities by
++ * dropping all capabilities except the sniffer capability we need to do our
++ * job.
++ */
++void dropexcesscapabilities(void);
++#endif /* HAVE_LIBCAP */
++
+ #ifdef __cplusplus
+ }
+ #endif /* __cplusplus */
diff --git a/debian/patches/05_plugin-libdir.dpatch b/debian/patches/05_plugin-libdir.dpatch
new file mode 100644
index 0000000000..5c09ba62e4
--- /dev/null
+++ b/debian/patches/05_plugin-libdir.dpatch
@@ -0,0 +1,28 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 05_plugin-libdir.dpatch by <fpeters@debian.org>
+##
+## 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.avwGQ1/ethereal-0.10.11/configure.in
+--- ./configure.in 2005-05-02 23:28:53.000000000 +0200
++++ /tmp/dpep-work.avwGQ1/ethereal-0.10.11/configure.in 2005-07-17 18:46:26.000000000 +0200
+@@ -1130,7 +1130,7 @@
+ dnl check whether plugins should be enabled and, if they should be,
+ dnl check for plugins directory - stolen from Amanda's configure.in
+ dnl
+-plugindir="$libdir/ethereal/plugins/$VERSION"
++plugindir="$libdir/plugins/$VERSION"
+ AC_ARG_WITH(plugins,
+ [ --with-plugins[[=DIR]] support plugins (installed in DIR, if supplied).],
+ [
+@@ -1172,7 +1172,7 @@
+ #
+ # The plugin dissectors reside in ./plugins/PROTO/
+ #
+-PLUGIN_LIBS="-L../../epan -lethereal $GLIB_LIBS"
++PLUGIN_LIBS="-L../../epan $GLIB_LIBS"
+ AC_SUBST(PLUGIN_LIBS)
+
+ dnl libtool defs
diff --git a/debian/patches/06_giop-buffer.dpatch b/debian/patches/06_giop-buffer.dpatch
new file mode 100644
index 0000000000..2e3864e438
--- /dev/null
+++ b/debian/patches/06_giop-buffer.dpatch
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 06_giop-buffer.dpatch by <fpeters@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad --exclude=CVS --exclude=.svn ./epan/dissectors/packet-giop.c /tmp/dpep-work.7N90PO/ethereal-0.10.11/epan/dissectors/packet-giop.c
+--- ./epan/dissectors/packet-giop.c 2005-07-17 18:52:08.000000000 +0200
++++ /tmp/dpep-work.7N90PO/ethereal-0.10.11/epan/dissectors/packet-giop.c 2005-07-17 18:55:32.000000000 +0200
+@@ -1760,6 +1760,8 @@
+
+ if (len == 0)
+ return FALSE;
++ if (*offset > header->message_size)
++ return FALSE;
+
+ saved_proto = pinfo->current_proto;
+ for (i=0; i<len; i++) {
diff --git a/debian/patches/07_gcc4.dpatch b/debian/patches/07_gcc4.dpatch
new file mode 100644
index 0000000000..47c41cdad7
--- /dev/null
+++ b/debian/patches/07_gcc4.dpatch
@@ -0,0 +1,32 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 07_gcc4.dpatch by <fpeters@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad --exclude=CVS --exclude=.svn ./epan/dissectors/packet-cmip.c /tmp/dpep-work.5KBC28/ethereal-0.10.11/epan/dissectors/packet-cmip.c
+--- ./epan/dissectors/packet-cmip.c 2005-07-17 18:52:24.000000000 +0200
++++ /tmp/dpep-work.5KBC28/ethereal-0.10.11/epan/dissectors/packet-cmip.c 2005-07-17 18:53:53.000000000 +0200
+@@ -1895,7 +1895,8 @@
+ return offset;
+ }
+
+-
++int
++dissect_cmip_InvokeIDType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_);
+
+ static int
+ dissect_cmip_Argument(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+diff -urNad --exclude=CVS --exclude=.svn ./epan/dissectors/packet-cms.c /tmp/dpep-work.5KBC28/ethereal-0.10.11/epan/dissectors/packet-cms.c
+--- ./epan/dissectors/packet-cms.c 2005-07-17 18:51:59.000000000 +0200
++++ /tmp/dpep-work.5KBC28/ethereal-0.10.11/epan/dissectors/packet-cms.c 2005-07-17 18:53:59.000000000 +0200
+@@ -330,6 +330,8 @@
+ return dissect_cms_T_eContentType(FALSE, tvb, offset, pinfo, tree, hf_cms_eContentType);
+ }
+
++static int
++dissect_cms_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_);
+
+ static int
+ dissect_cms_T_eContent(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
diff --git a/debian/patches/08_ethereal-desktop-menu.dpatch b/debian/patches/08_ethereal-desktop-menu.dpatch
new file mode 100644
index 0000000000..40eed290cb
--- /dev/null
+++ b/debian/patches/08_ethereal-desktop-menu.dpatch
@@ -0,0 +1,29 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 08_ethereal-desktop-menu.dpatch by <fpeters@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad --exclude=CVS --exclude=.svn ./ethereal.desktop /tmp/dpep-work.5CrOMD/ethereal-0.10.11/ethereal.desktop
+--- ./ethereal.desktop 2005-07-17 19:39:10.000000000 +0200
++++ /tmp/dpep-work.5CrOMD/ethereal-0.10.11/ethereal.desktop 2005-07-17 19:39:22.000000000 +0200
+@@ -68,15 +68,16 @@
+ GenericName[zh_TW]=網路分析程式
+ GenericName[zu]=Umhloli Woxhumano olusakazekile
+ Comment=Network traffic analyzer
++Comment[fr]=Analyseur de trafic réseau
+ Comment[fi]=Verkkoliikenne analysaattori
+ Comment[sv]=Nätverkstrafikanalysator
+-Icon=ethereal.png
++Icon=hi48-app-ethereal.png
+ TryExec=ethereal
+ Exec=ethereal
+ Path=
+ Terminal=false
+ MimeType=
+-Categories=Application;GTK;Network;X-Red-Hat-Extra;
++Categories=GNOME;Application;Network;
+ # Found in Suse 9.1:
+ X-KDE-SubstituteUID=true
+ # Deprecated:
diff --git a/debian/patches/09_idl2eth.dpatch b/debian/patches/09_idl2eth.dpatch
new file mode 100644
index 0000000000..9b29b179fa
--- /dev/null
+++ b/debian/patches/09_idl2eth.dpatch
@@ -0,0 +1,46 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 09_idl2eth.dpatch by <fpeters@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad --exclude=CVS --exclude=.svn ./idl2eth.sh /tmp/dpep-work.ZF6eGD/ethereal-0.10.11/idl2eth.sh
+--- ./idl2eth.sh 2005-07-17 19:40:44.000000000 +0200
++++ /tmp/dpep-work.ZF6eGD/ethereal-0.10.11/idl2eth.sh 2005-07-17 19:41:12.000000000 +0200
+@@ -48,34 +48,5 @@
+ exit 1;
+ fi
+
+-#
+-# Run ethereal backend, looking for ethereal_be.py and ethereal_gen.py
+-# in pythons's "site-packages" directory. If cannot find that, then
+-# try looking in current directory. If still cannot, then exit with
+-# error.
+-
+-if [ -f $PYTHONPATH/site-packages/ethereal_be.py ] && [ -f $PYTHONPATH/site-packages/ethereal_gen.py ]; then
+- omniidl -p $PYTHONPATH/site-packages -b ethereal_be $1
+- exit $?
+-fi
+-
+-# Try current directory.
+-
+-if [ -f ./ethereal_be.py ] && [ -f ./ethereal_gen.py ]; then
+- omniidl -p ./ -b ethereal_be $1
+- exit $?
+-fi
+-
+-# Could not find both ethereal_be.py AND ethereal_gen.py
+-
+-echo "idl2eth Error: Could not find both ethereal_be.py AND ethereal_gen.py."
+-echo "Please ensure you have the PYTHONPATH variable set, or that ethereal_be.py "
+-echo "and ethereal_gen.py exist in the current directory. "
+-echo
+-echo "On this system, PYTHONPATH is : $PYTHONPATH"
+-echo
+-
+-exit 2
+-
+-
++omniidl -b ethereal_be $1
+
diff --git a/debian/patches/10_ethereal_gen.dpatch b/debian/patches/10_ethereal_gen.dpatch
new file mode 100644
index 0000000000..e9340dbbe4
--- /dev/null
+++ b/debian/patches/10_ethereal_gen.dpatch
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 10_ethereal_gen.dpatch by <fpeters@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad --exclude=CVS --exclude=.svn ./ethereal_gen.py /tmp/dpep-work.vCo5MH/ethereal-0.10.11/ethereal_gen.py
+--- ./ethereal_gen.py 2005-07-17 19:42:15.000000000 +0200
++++ /tmp/dpep-work.vCo5MH/ethereal-0.10.11/ethereal_gen.py 2005-07-17 19:42:34.000000000 +0200
+@@ -2188,7 +2188,8 @@
+ #include <glib.h>
+ #include <epan/packet.h>
+ #include <epan/proto.h>
+ #include <epan/dissectors/packet-giop.h>
++#include <plugins/plugin_api_defs.h>
+
+ #ifndef ENABLE_STATIC
+ G_MODULE_EXPORT const gchar version[] = "0.0.1";
diff --git a/debian/patches/11_diameter_vendors.dpatch b/debian/patches/11_diameter_vendors.dpatch
new file mode 100644
index 0000000000..e8d85b2833
--- /dev/null
+++ b/debian/patches/11_diameter_vendors.dpatch
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 11_diameter_vendors.dpatch by <fpeters@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad --exclude=CVS --exclude=.svn ./epan/dissectors/packet-diameter.c /tmp/dpep-work.Xqh7hj/ethereal-0.10.11/epan/dissectors/packet-diameter.c
+--- ./epan/dissectors/packet-diameter.c 2005-05-02 23:28:44.000000000 +0200
++++ /tmp/dpep-work.Xqh7hj/ethereal-0.10.11/epan/dissectors/packet-diameter.c 2005-07-18 20:18:26.000000000 +0200
+@@ -690,7 +690,7 @@
+ return -1;
+ }
+
+- return (addVendor(atoi(code), id, name));
++ return (addVendor(atoi(id), code, name));
+
+ } /* addVendor */
+