diff --git a/CMakeLists.txt b/CMakeLists.txt index 5ffcbce467..8f442fd049 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1148,7 +1148,7 @@ find_package(GCRYPT "1.8.0" REQUIRED) reset_find_package(CARES) find_package(CARES "1.14.0" REQUIRED) find_package(LEX REQUIRED) -find_package(Perl REQUIRED) +find_package(Perl) find_package(PCRE2 REQUIRED) if(CMAKE_VERSION VERSION_LESS "3.12") diff --git a/README.md b/README.md index 950e8c7bb1..e33198557c 100644 --- a/README.md +++ b/README.md @@ -46,11 +46,13 @@ operating system. This is the case for Windows XP, which is supported by Wireshark 1.10 and earlier. In other cases the standard package for Wireshark might simply be old. This is the case for Solaris and HP-UX. -Both Perl and Python 3 are needed, the former for building the man -pages. +Python 3 is needed to build Wireshark. AsciiDoctor is required to build +the documentation, including the man pages. Perl and flex are required +to generate some of the source code. -You must therefore install Perl, Python, GNU "make", and "flex" (vanilla -"lex" won't work) on systems that lack them. +You must therefore install Python 3, AsciiDoctor, and GNU "flex" (vanilla +"lex" won't work) on systems that lack them. You might need to install +Perl as well. Full installation instructions can be found in the INSTALL file and in the Developer's Guide at https://www.wireshark.org/docs/wsdg_html_chunked/ diff --git a/docbook/wsdg_src/WSDG_chapter_quick_setup.adoc b/docbook/wsdg_src/WSDG_chapter_quick_setup.adoc index 9817b5e57c..c11f4d19d1 100644 --- a/docbook/wsdg_src/WSDG_chapter_quick_setup.adoc +++ b/docbook/wsdg_src/WSDG_chapter_quick_setup.adoc @@ -16,7 +16,6 @@ The following must be installed in order to build Wireshark: * a C compiler and a C++ compiler; * the Flex lexical analyzer; -* Perl; * Python 3; * CMake; * several required libraries. @@ -26,6 +25,8 @@ those must be installed. To build the manual pages, Developer's Guide and User's Guide, Asciidoctor, Xsltproc, and DocBook must be installed. +Perl is required to generate some code and run some code analysis checks. + Some features of Wireshark require additional libraries to be installed. For Debian, and for Linux distributions based on Debian, such as Ubuntu, @@ -234,9 +235,9 @@ You can install Chocolatey packages using the command `choco install` (or its sh ---- > rem Flex is required. > choco install -y winflexbison3 -> rem Git, CMake, Perl, Python, etc are also required, but can be installed +> rem Git, CMake, Python, etc are also required, but can be installed > rem via their respective installation packages. -> choco install -y git cmake strawberryperl python3 +> choco install -y git cmake python3 ---- @@ -333,22 +334,6 @@ Chocolatey will likely install Python in one of the locations above, or possibly // winget has Python 3 packages. // https://github.com/microsoft/winget-pkgs/tree/master/manifests/p/Python/Python/3 -==== Install Perl - -Get a Perl installer from http://strawberryperl.com/ or -https://www.activestate.com/ and install Perl into the default location. - -Alternatively you can install Perl using Chocolatey: - ----- -PS$> choco install -y strawberryperl -# ...or... -PS$> choco install -y activeperl ----- - -// winget has StrawberryPerl. -// https://github.com/microsoft/winget-pkgs/tree/master/manifests/s/StrawberryPerl/StrawberryPerl - [#ChSetupGit] ==== Install Git @@ -464,6 +449,25 @@ Chocolatey ensures win_flex.exe is on your path. // winget has no bison package. +==== Optional: Install Perl + +If needed you can get a Perl installer from +http://strawberryperl.com/ +or +https://www.activestate.com/ +and install Perl into the default location. + +Alternatively you can install Perl using Chocolatey: + +---- +PS$> choco install -y strawberryperl +# ...or... +PS$> choco install -y activeperl +---- + +// winget has StrawberryPerl. +// https://github.com/microsoft/winget-pkgs/tree/master/manifests/s/StrawberryPerl/StrawberryPerl + ==== Install and Prepare Sources [TIP] diff --git a/docbook/wsdg_src/WSDG_chapter_tools.adoc b/docbook/wsdg_src/WSDG_chapter_tools.adoc index b0572ebc77..c7225ed8e5 100644 --- a/docbook/wsdg_src/WSDG_chapter_tools.adoc +++ b/docbook/wsdg_src/WSDG_chapter_tools.adoc @@ -519,7 +519,7 @@ The Ruby and Java flavors can be used to build Wireshark’s documentation, but The guides and release notes were originally written in DocBook (hence the directory name). They were later converted to AsciiDoc and then migrated to Asciidoctor. The man pages were originally in Perl’s POD (Plain Old Documentation) format and were later converted to Asciidoctor. -We currently use Asciidoctor’s modern (>= 1.5.0) syntax. +We use Asciidoctor’s modern (>= 1.5.0) syntax. PDF output requires Asciidoctor’s PDF backend. It is included with AsciidoctorJ but _not_ with Asciidoctor. @@ -698,95 +698,6 @@ Python 3.5.1 Your version string may vary of course. -[#ChToolsPerl] - -=== Perl - -Perl is an interpreted programming language. The -homepage of the Perl project is -https://www.perl.org[]. Perl is used to convert -various text files into usable source code. Perl version 5.6 -and above should work fine. - -[#ChToolsUnixPerl] - -[discrete] -==== Unix - -Perl is available for most UNIX and UNIX-like platforms. If perl isn't -already installed or available as a package for your platform, you can -get it at https://www.perl.org/[]. - -After correct installation, typing at the -bash command line prompt: - -[source,sh] ----- -$ perl --version ----- - -should result in something like: - ----- -This is perl 5, version 26, subversion 0 (v5.26.0) built for x86_64-linux-gnu-thread-multi -(with 62 registered patches, see perl -V for more detail) - -Copyright 1987-2017, Larry Wall - -Perl may be copied only under the terms of either the Artistic License or the -GNU General Public License, which may be found in the Perl 5 source kit. - -Complete documentation for Perl, including FAQ lists, should be found on -this system using "man perl" or "perldoc perl". If you have access to the -Internet, point your browser at http://www.perl.org/, the Perl Home Page. ----- - -However, the version string may vary. - -[#ChToolsWindowsPerl] - -[discrete] -==== Windows - -A native Windows Perl package can be obtained from -http://strawberryperl.com/[Strawberry Perl] or -https://www.activestate.com[Active State]. The installation should be -straightforward. - -You may also use Chocolatey to install either package: - ----- -PS:\> choco install strawberryperl ----- - -or - ----- -PS:\> choco install activeperl ----- - -After correct installation, typing at the command -line prompt (cmd.exe): - ----- -> perl -v ----- - -should result in something like: - ----- -This is perl, v5.8.0 built for MSWin32-x86-multi-thread -(with 1 registered patch, see perl -V for more detail) - -Copyright 1987-2002, Larry Wall - -Binary build 805 provided by ActiveState Corp. http://www.ActiveState.com -Built 18:08:02 Feb 4 2003 -... ----- - -However, the version string may vary. - [#ChToolsFlex] === Flex @@ -931,6 +842,93 @@ https://git-scm.com/downloads/guis[] for details. // [[ChToolsUnixGitGUI]] // XXX Add Gui client section +[#ChToolsPerl] + +=== Perl (Optional) + +https://www.perl.org[Perl] is an interpreted programming language. +Perl is used to convert various text files into usable source code and for various source code checks. +Perl version 5.6 and above should work fine. + +[#ChToolsUnixPerl] + +[discrete] +==== Unix + +Perl is available for most UNIX and UNIX-like platforms. If it isn't +already installed or available as a package for your platform, you can +get it at https://www.perl.org/[]. + +After correct installation, typing at the +bash command line prompt: + +[source,sh] +---- +$ perl --version +---- + +should result in something like: + +---- +This is perl 5, version 26, subversion 0 (v5.26.0) built for x86_64-linux-gnu-thread-multi +(with 62 registered patches, see perl -V for more detail) + +Copyright 1987-2017, Larry Wall + +Perl may be copied only under the terms of either the Artistic License or the +GNU General Public License, which may be found in the Perl 5 source kit. + +Complete documentation for Perl, including FAQ lists, should be found on +this system using "man perl" or "perldoc perl". If you have access to the +Internet, point your browser at http://www.perl.org/, the Perl Home Page. +---- + +However, the version string may vary. + +[#ChToolsWindowsPerl] + +[discrete] +==== Windows + +A native Windows Perl package can be obtained from +http://strawberryperl.com/[Strawberry Perl] or +https://www.activestate.com[Active State]. The installation should be +straightforward. + +You may also use Chocolatey to install either package: + +---- +PS:\> choco install strawberryperl +---- + +or + +---- +PS:\> choco install activeperl +---- + +After correct installation, typing at the command +line prompt (cmd.exe): + +---- +> perl -v +---- + +should result in something like: + +---- +This is perl, v5.8.0 built for MSWin32-x86-multi-thread +(with 1 registered patch, see perl -V for more detail) + +Copyright 1987-2002, Larry Wall + +Binary build 805 provided by ActiveState Corp. http://www.ActiveState.com +Built 18:08:02 Feb 4 2003 +... +---- + +However, the version string may vary. + [#ChToolsPatch] === patch (Optional) diff --git a/tools/alpine-setup.sh b/tools/alpine-setup.sh index 81e5f14b20..93ed2384e9 100755 --- a/tools/alpine-setup.sh +++ b/tools/alpine-setup.sh @@ -52,7 +52,6 @@ BASIC_LIST="cmake \ glib-dev \ libgcrypt-dev \ flex \ - perl \ tiff-dev \ c-ares-dev \ pcre2-dev \ @@ -81,6 +80,7 @@ ADDITIONAL_LIST=" minizip-dev \ speexdsp-dev \ brotli-dev \ + perl \ " # Uncomment to add PNG compression utilities used by compress-pngs: diff --git a/tools/arch-setup.sh b/tools/arch-setup.sh index acc43996b7..35e4e81670 100755 --- a/tools/arch-setup.sh +++ b/tools/arch-setup.sh @@ -81,7 +81,6 @@ BASIC_LIST="base-devel \ minizip \ ninja \ pcre2 \ - perl \ python \ qt5-base \ qt5-multimedia \ @@ -98,7 +97,8 @@ ADDITIONAL_LIST="asciidoctor \ docbook-xml \ docbook-xsl \ doxygen \ - libxslt" + libxslt \ + perl" TESTDEPS_LIST="python-pytest \ python-pytest-xdist" diff --git a/tools/debian-setup.sh b/tools/debian-setup.sh index d2dd2eca91..a7be5ea5a6 100755 --- a/tools/debian-setup.sh +++ b/tools/debian-setup.sh @@ -72,7 +72,6 @@ BASIC_LIST="gcc \ flex \ make \ python3 \ - perl \ libgcrypt-dev" ADDITIONAL_LIST="libnl-3-dev \ @@ -91,6 +90,7 @@ ADDITIONAL_LIST="libnl-3-dev \ libminizip-dev \ git \ ninja-build \ + perl \ xsltproc \ ccache \ libspeexdsp-dev" diff --git a/tools/msys2-setup.sh b/tools/msys2-setup.sh index 2046d7a4d3..fea6ded479 100644 --- a/tools/msys2-setup.sh +++ b/tools/msys2-setup.sh @@ -72,7 +72,6 @@ BASIC_LIST="base-devel \ mingw-w64-x86_64-ninja \ mingw-w64-x86_64-opus \ mingw-w64-x86_64-pcre2 \ - mingw-w64-x86_64-perl \ mingw-w64-x86_64-python \ mingw-w64-x86_64-qt5-base \ mingw-w64-x86_64-qt5-multimedia \ @@ -88,6 +87,7 @@ BASIC_LIST="base-devel \ ADDITIONAL_LIST="mingw-w64-x86_64-asciidoctor \ mingw-w64-x86_64-ccache \ mingw-w64-x86_64-doxygen \ + mingw-w64-x86_64-perl \ mingw-w64-x86_64-libxslt" TESTDEPS_LIST="mingw-w64-x86_64-python-pytest \ diff --git a/tools/rpm-setup.sh b/tools/rpm-setup.sh index 6d2bd4f59f..0a4af082b3 100755 --- a/tools/rpm-setup.sh +++ b/tools/rpm-setup.sh @@ -55,7 +55,6 @@ BASIC_LIST="cmake \ gcc-c++ \ flex \ python3 \ - perl \ desktop-file-utils \ git \ glib2-devel \ @@ -72,6 +71,7 @@ ADDITIONAL_LIST="libcap-devel \ minizip-devel \ lz4 \ libxml2-devel \ + perl \ spandsp-devel \ systemd-devel"