Wireshark-dev: [Wireshark-dev] Is Python Still Considered Optional for the Build Process? What
Hi,
I've taken it upon myself to streamline
the build process a little by using a single Python script for the generation
of all registration files (register.c, all instances of plugin.c, tshark-tap-register.c,
and wireshark-tap-register.c). This new and improved Python script incorporates
all the functionality of four similar but different files that were previously
responsible for this: make-dissector-reg(.py), make-tap-reg.py, and make-tapreg-dotc.
The approach of the new and improved
Python script works well and it benefits the project in a few ways so I'd
like to submit it. Now I wonder if I need to port over the Python script
to an equivalent sh script for build environments lacking Python. The developer
documentation and most of the make scripts imply that Python is optional.
However, Python may already be mandatory
if I understand things correctly, UseMakeDissectorReg.cmake defines a macro
named REGISTER_DISSECTOR_FILES that currently supports only Python for
the generation of register.c and all instances of plugin.c, and therefore
automake scripts depend on Python.
But not being familiar enough with the
entire build process, I'm wondering: is Python still optional or is saying
so a vestige from yesteryear? Is it time to re-evaluate Python as a hard
prerequisite so we can avoid implementing things like this twice?
Also, I've taken a dependency on Python
2.5 or later by using the "with" statement (replacing the use
of exception frames) when performing file I/O. The master build scripts
appear to support versions 2.4-2.7, so my use of the "with" statement
is a problem for only the earliest supported version--2.4. According to
Wikipedia, Wireshark's supported versions were released as follows:
Python 2.4 - November 30, 2004
Python 2.5 - September 19, 2006
Python 2.6 - October 1, 2008
Python 2.7 - July 3, 2010
Is the Wireshark developer community
amenable to upping our minimum Python version to 2.5 two for the sake of
code readability? Or what about 2.6 which doesn't require using "from
__future__ import with_statement" for "with" statement support?
Of course these changes would apply
to Wireshark versions 1.9 and beyond.
Robert Bullen
Network Application Analysis (NAA)
1 Meridian Crossing
Richfield, MN 55423-3978
Office: 612-973-6216
Email: robert.bullen@xxxxxxxxxx
U.S. BANCORP made the following annotations
---------------------------------------------------------------------
Electronic Privacy Notice. This e-mail, and any attachments, contains information that is, or may be, covered by electronic communications privacy laws, and is also confidential and proprietary in nature. If you are not the intended recipient, please be advised that you are legally prohibited from retaining, using, copying, distributing, or otherwise disclosing this information in any manner. Instead, please reply to the sender that you have received this communication in error, and then immediately delete it. Thank you in advance for your cooperation.
---------------------------------------------------------------------