aboutsummaryrefslogtreecommitdiffstats
path: root/tools/debian-setup.sh
AgeCommit message (Collapse)AuthorFilesLines
2023-10-16HTTP3: remove nghttp3 min version, update setup scriptsPeter Wu1-0/+4
* The QPACK decoder code has not significantly changed since the initial nghttp3 0.1.0 release. The `user_data` field of `nghttp3_mem` was renamed from `mem_user_data` in 0.2.0. Since we do not use it, just remove the field to make it build on Ubuntu 22.04 with 0.1.1. * Arch Linux, BSD, Debian, Alpine: add (lib)nghttp3. * debian/control: add libnghttp3-dev dependency. * brew: Install libnghttp2 instead of nghttp2, we only need the library. * brew: libnghttp3 was just made available in Homebrew, so install it: https://github.com/Homebrew/homebrew-core/pull/150922
2023-10-13Tools: Clean up the lists in debian-setupGerald Combs1-69/+83
Quoted multiline strings don't need line continuations. Sort each list.
2022-12-19debian-setup.sh - install libspeexdsp-dev as default as is now requiredMartin Mathieson1-2/+2
2022-08-25tools: Add --install-all option to some setup scriptsJoão Valverde1-0/+9
2022-08-24debian-setup.sh: Add support for Qt6João Valverde1-8/+60
One or both Qt version deps can be selected with a command line option. If no option is given the script will select Qt6 for Ubuntu 22.04 or later, Qt5 otherwise.
2022-08-24debian-setup.sh: Add missing packagesJoão Valverde1-1/+6
2022-07-23Make Perl optional.Gerald Combs1-1/+1
Update our documentation, build configuration, and setup scripts to make Perl optional. Closes #18152.
2022-07-06debian-setup.sh: install pytest and pytest-xdistDavid Perry1-1/+2
2022-04-18Fix tools/*-setup.sh to work with no argumentsnaesten1-11/+13
They were checking for --help in an unusual manner that failed when run with no arguments. I've checked that --help works for each script, and that debian-setup.sh actually works. NOTE: bsd-setup.sh and rpm-setup.sh seem to have sometimes-broken formatting, because they try to pass escape sequences to echo, which POSIX says is implementation-defined (except on XSI-conformant systems). These changes were mostly made using the following script, with a manual fix in bsd-setup.sh because it isn't using "switch case". ```python #!/bin/env python3 import sys import re usage_p = re.compile(r'^if \[ "\$1" = "--help" \]\nthen\n((?:\t(?:printf|echo) .*\n)*)\texit 1\nfi$', re.MULTILINE) case_p = re.compile(r'(^\tcase \$arg in$)', re.MULTILINE) root_check_p = re.compile(r'(\n# Check if the user is root(?:\n|.)*?fi\n)', re.MULTILINE) done_p = re.compile(r'(^done\n)', re.MULTILINE) def fix_setup(name: str): assert name.endswith('-setup.sh') with open(name, 'r') as fin: s = fin.read() s = usage_p.sub(r'function print_usage() {\n\1}', s) s = case_p.sub(r'''\1 \t\t--help) \t\t\tprint_usage \t\t\texit 0 \t\t\t;;''', s) m1 = root_check_p.search(s) if m1: root_check = m1[0] s = root_check_p.sub('', s) pos = done_p.search(s).end() # type: ignore[union-attr] s = s[:pos] + root_check + s[pos:] with open(name, 'w') as fout: fout.write(s) if __name__ == '__main__': for name in sys.argv[1:]: fix_setup(name) ```
2022-04-10Tools: Make the Debian and RPM setup scripts more strict.Gerald Combs1-1/+4
We use debian-setup.sh and rpm-setup.sh to build the containers in https://gitlab.com/wireshark/wireshark-containers/. Make sure they fail with a nonzero exit status, otherwise we might end up with an invalid container image. Make sure OPTIONS is defined in all of the setup scripts that use it.
2022-04-02debian: add ccache to additional_list packagesDylan Ulis1-0/+1
2021-11-14Tools: Add PCRE2 to our setup scripts.Gerald Combs1-0/+1
Add PCRE2 to the base package list in our various setup scripts.
2021-10-01Docs+Packaging: Convert our man pages to Asciidoctor.Gerald Combs1-1/+1
Convert doc/*.pod to Asciidoctor. This: * Means we use the same markup for our man pages, the guides, and release notes. * Lets us add versions to our man pages. * Gives us more formatting options, e.g. AsciiDoc supports `commands`, nested lists and makes it easy to include version information. The manpage backend doesn't seem to support tables very well, unfortunately. Convert our CMake configuration to produce *roff and html man pages using Asciidoctor. Add a "manarg" block macro which makes our synopses wrap correctly. Similar to the release notes, guides, and FAQ, if Asciidoctor isn't found the man pages won't be generated or installed. Move Asciidoctor to the list of package build dependencies in various places. This commit includes the conversion script (pod2adoc.py), which will be removed later. Line count sanity check: Man page .pod .adoc androiddump 260 280 asn2deb 93 105 capinfos 401 471 captype 54 55 ciscodump 241 269 dftest 42 42 dpauxmon 153 169 dumpcap 464 534 editcap 528 583 etwdump 136 156 extcap 157 181 idl2deb 91 103 idl2wrs 120 100 mergecap 206 207 mmdbresolve 75 75 randpkt 107 111 randpktdump 158 184 rawshark 558 610 reordercap 76 78 sdjournal 145 157 sshdump 272 302 text2pcap 274 312 tshark 2135 2360 udpdump 133 151 wireshark-filter 486 479 wireshark 2967 3420
2021-09-13Tools: Migrate compress-pngs.sh to Python.Gerald Combs1-0/+6
Migrate compress-pngs from a Bash script that ran Make to a Python script, which should be usable on more platforms. Add Efficient Compression Tool (ect) to the list of compressors. Add the compressors to the various *-setup.sh scripts, but comment them out for now.
2021-05-14Don't try to install qt5-defaultDavid Perry1-1/+4
As of Debian bullseye and Ubuntu 21.04, `qt5-default` is no longer available. This patch removes it and adds its dependencies instead as suggested in <https://askubuntu.com/a/1335187/580576>.
2021-03-14debian-setup: include GCC and G++ in the basic list.Guy Harris1-1/+3
At least on my just-now-installed Kubuntu 20.04 VM, G++ wasn't installed by default, and you need that to compile Wireshark (you can avoid it if you're not building the GUI code, but the GUI code is Qt-based, so it's in C++). Add both GCC and G++ to the basic list.
2020-11-30wiretap: Convert ascend.y to Lemon.Gerald Combs1-1/+0
Convert wiretap/ascend.y.in from Bison/YACC to Lemon and rename it to wiretap/ascend_parser.lemon. Tighten up some of our scanning and parsing. Make the indentation in it and related files consistent. Aside from the recent IPv4 fragment offset changes, this produces identical output to the 3.4 branch for the Ascend trace files I have here. Remove the comment about supporting other commands. Another timeline might have an Ascend that successfully pivoted to DSL or 15625B+1D gigabit ISDN, but this one has neither. This was our last/only Bison/YACC file, so remove Bison/YACC as a development and packaging dependency and remove references to it from the documentation.
2020-10-03RTP: opus playbackLin Sun1-0/+4
It's possible to play opus payload with libopus (https://opus-codec.org/). Closes #16882. Helped-by: Pascal Quantin <pascal.quantin@gmail.com> Signed-off-by: Lin Sun <lin.sun@zoom.us> Signed-off-by: Yuanzhi Li <ryanlee@mail.ustc.edu.cn>
2020-09-01CI+tools: Install lintian.Gerald Combs1-5/+6
Install lintian instead of devscripts (which pulls in lintian + many other packages) in .gitlab-ci.yml. Add lintian to DEBDEPS_LIST in debian-setup.sh.
2020-03-16tools: do not install doxygenPeter Wu1-1/+0
Most people will never generate API documentation by running the 'wsar_html' target and will not notice any feature degradation. On Ubuntu 18.04, doxygen depends on libclang1-6.0 (and indirectly libllvm6.0), 108M can be saved by not installing these. Change-Id: I51b58f4106696b5475c48afcdaed256f9a97cc81 Reviewed-on: https://code.wireshark.org/review/36416 Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2020-01-20RTP: decode iLBC payloadJirka Novak1-0/+4
It is possible to decode iLBC payload. It uses libilbc library (https://github.com/TimothyGu/libilbc). Bug: 16314 Change-Id: Id4cad7ae32305a0e94ef32beb24e07733d7f834e Reviewed-on: https://code.wireshark.org/review/35686 Reviewed-by: João Valverde <j@v6e.pt> Petri-Dish: Pascal Quantin <pascal@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-12-19test: fix CI builds on linux.Dario Lombardo1-2/+2
Fixes: - sdjournal is available on linux only. - The systemd library has been put in the right group in debian-setup. Change-Id: Ie022f29da4313d17d55201b6e7ea1ab2ae740e18 Reviewed-on: https://code.wireshark.org/review/35478 Reviewed-by: Dario Lombardo <lomato@gmail.com>
2019-12-06tools: use better operators in package scripts.Dario Lombardo1-6/+6
Change-Id: I1de75829de5f77fa5fe6c8715b1df76148937bc5 Reviewed-on: https://code.wireshark.org/review/35326 Reviewed-by: João Valverde <j@v6e.pt> Reviewed-by: Dario Lombardo <lomato@gmail.com>
2019-12-04tools/debian-setup: correctly check the value of shell variablesTamir Duberstein1-3/+3
These conditions would previously always evalute as true. Change-Id: I7eb35f4eae417819090ba47103a266374847cbc5 Reviewed-on: https://code.wireshark.org/review/35305 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Dario Lombardo <lomato@gmail.com>
2019-11-23Add c-ares to the required library list.Gerald Combs1-1/+1
Although c-ares support was techically optional, it was either on by default or required in all of our packaging. Go ahead and require it globally. C-ares is widely available and synchronous name resolution can easily result in a horrific user experience. Change-Id: Id67c797316ed6b8a0ab5052e55a43a1b9e2a2464 Reviewed-on: https://code.wireshark.org/review/35188 Petri-Dish: Gerald Combs <gerald@wireshark.org> Reviewed-by: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Gerald Combs <gerald@wireshark.org>
2019-08-20Kafka: include zstd compression in Kafka message batchesPiotr Smolinski1-0/+1
Change-Id: I1d06486ccf7b174ee9aa621fa3d8acb8b3673777 Reviewed-on: https://code.wireshark.org/review/34222 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-08-01debian-setup.sh: Correct order of apt-get update and add_packageJuergen Kosel1-1/+4
apt-get update must be called before calling add_package otherwise available packages appear as unavailable. Change-Id: Ie449ca9037950b82908f72a3951401cc0c6496d1 Signed-off-by: Juergen Kosel <juergen.kosel@gmx.de> Reviewed-on: https://code.wireshark.org/review/34162 Reviewed-by: Dario Lombardo <lomato@gmail.com>
2019-07-25debian-setup.sh: Add package lsb-releaseJuergen Kosel1-1/+2
The package lsb-release is a build requirement. Especially needed to build wireshark in a docker container based on debian:stable. This change is a prerequisite for the change discussed in https://code.wireshark.org/review/#/c/34042 Change-Id: Ib8ec73c8bffcb8761ad5748882aa9418e8cd7948 Signed-off-by: Juergen Kosel <juergen.kosel@gmx.de> Reviewed-on: https://code.wireshark.org/review/34071 Petri-Dish: Roland Knall <rknall@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2019-07-17Qt: Import Profile informationRoland Knall1-0/+1
Allow easy import of profiles. Profiles must be stored inside a zip file, with no additional hierarchy. Change-Id: I0ae77460c20ef6b3e447906e671b0cefa6b9b032 Reviewed-on: https://code.wireshark.org/review/33881 Petri-Dish: Roland Knall <rknall@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2019-05-13tools: add speexdsp to debian-setup.Dario Lombardo1-1/+2
Internal support of libspeexdsp has been removed in favour of system one in g186f985793. Add it to the list of optional debian packages. Change-Id: Ie15c367c2a113349614351da8bbcc26ef6353028 Reviewed-on: https://code.wireshark.org/review/33180 Reviewed-by: João Valverde <j@v6e.pt> Reviewed-by: Dario Lombardo <lomato@gmail.com>
2019-04-22Add brotli decompression support for HTTP and HTTP2 dissectors.Dániel Bakai1-0/+4
Change-Id: I9c09f55673187f6fee723fcd72798fb6b9958b03 Reviewed-on: https://code.wireshark.org/review/32745 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2019-01-04debian: add dh-python to debian deps.Dario Lombardo1-0/+1
Basic Ubuntu installation lacks it. Change-Id: I208952d15bd32a7813c20625fe94656fb71ae824 Reviewed-on: https://code.wireshark.org/review/31322 Reviewed-by: Peter Wu <peter@lekensteyn.nl> Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Balint Reczey <balint@balintreczey.hu>
2019-01-02tools: fix trailing messages.Dario Lombardo1-3/+8
Change-Id: If4f213daaa27f51b1659939244945d9fdddc7772 Reviewed-on: https://code.wireshark.org/review/31309 Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2018-12-29Add support for RSA decryption using PKCS #11 tokensPeter Wu1-12/+39
Add support for loading RSA private key files from PKCS #11 tokens, identified by PKCS #11 URIs. Add a new 'pkcs11_libs' UAT which can dynamically load PKCS #11 provider libraries that are not found by p11-kit. The configuration GUI will need additional code to discover available PKCS #11 tokens and will be added later. This feature requires GnuTLS 3.4 with PKCS #11 support, so Windows, macOS via Homebrew, Ubuntu 16.04, Debian Stretch. Not supported: RHEL7. Currently macOS via official packages disables PKCS #11 support, so that will also not work. Change-Id: I20646bfd69c6bd13c8c2d27cb65c164a4b0b7a66 Reviewed-on: https://code.wireshark.org/review/30855 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2018-11-30debian-setup: accept GnuTLS 3.2.11 on Ubuntu 14.04 for TravisPeter Wu1-1/+1
Travis still uses Ubuntu 14.04 which ships with GnuTLS 3.2.11-2ubuntu1. That package uses libgmp10 5.1.3+dfsg-1ubuntu1 which is not GPLv2+ compliant (libgmp10 6 or newer is needed), but aside from that it still works. Drop the version requirement to enable GnuTLS with Travis builds. Change-Id: I235f1127e4f56df3e16b5fa279f1929a1b9577f6 Reviewed-on: https://code.wireshark.org/review/30842 Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2018-11-29Drop support for GnuTLS 2.12.x, require GnuTLS 3.2 or newerPeter Wu1-3/+1
Upcoming changes need GnuTLS >= 3.0.2. Require GnuTLS 3.2 (or newer) for licensing reasons. The Debian control file still mentions 3.2.14 because older packages linked with a GMP library that was not GPLv2+ compatible. RHEL6 only has 2.12.23, but is already unsupported anyway. Change-Id: I024b2a734ebb16b73a624bb2435c254e963d8b7d Reviewed-on: https://code.wireshark.org/review/30832 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-20Drop JSON-GLib completelyPeter Wu1-1/+0
JSON-GLib was added in v2.9.0rc0-201-g511c2e166a, but is no longer necessary since we have a home-grown JSON dumper (wsutil/json_dumper.h). Remove the remaining traces and additionally remove GObject from FindGLIB2.cmake since it was only added for JSON-GLib. Change-Id: If9dfd2c60cec130f98109d100bdb6618bde06ba0 Reviewed-on: https://code.wireshark.org/review/30733 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-07Require Python 3, drop Python 2 supportPeter Wu1-2/+2
Python 3 is widely available. All major Linux distributions support it. RHEL is covered via EPEL (which is already required for cmake3). Drop support for Python 2 in order to reduce maintenance costs. The main motivation is being able to simplify the tests. CMake is updated to search for Python >= 3.4 and will fail if unavailable (generating dissectors.c requires Python, so it is quite an important piece to have). The documentation is updated to reflect the Python 3.7 paths used by Chocolatey. Tested the git-review installation instructions in Windows 7 x64 without a previous Chocolatey installation. macOS brew now installs Python 3 (its dependencies are already installed by python@2 for libxml2). The macOS (non-brew variant) is updated to use the official 64-bit installer to install Python 3. Change-Id: I80b1e36957f338e0dad1bfcc173b6418682cddba Reviewed-on: https://code.wireshark.org/review/30192 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-10-22debian-setup: install GLib development headersPeter Wu1-1/+2
Previously installed as transitive dependency of libgtk2.0-dev. Installed as transitive dependency of libjson-glib-dev since v2.9.0rc0-201-g511c2e166a, but this is an optional package. Change-Id: Id4b8523b2d614d273fdb71e91878d4d1a4518572 Fixes: v2.9.0rc0-310-gf23a934492 ("Don't install autotools or GTK+, but do install CMake.") Reviewed-on: https://code.wireshark.org/review/30336 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-10-03debian: add libsystemd-journal-dev as alternative.Dario Lombardo1-0/+6
Required for building on ubuntu 14.04. Change-Id: I2ebdceb1c73d093458adc05cf38629ac0b50c9e4 Reviewed-on: https://code.wireshark.org/review/29990 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Gerald Combs <gerald@wireshark.org>
2018-08-31debian-setup: Fix shellcheck directiveJoão Valverde1-1/+1
It's incorrectly binding to apt-get update and not install. Change-Id: Iac2bc040063e56c9a9ddfe27ebfb816400f82206 Reviewed-on: https://code.wireshark.org/review/29381 Reviewed-by: João Valverde <j@v6e.pt>
2018-08-31tools: add deb build required packages to debian-build.shDario Lombardo1-2/+24
Change-Id: Icc8d3897dc2ee23d9691a24ba489690b6e39589b Reviewed-on: https://code.wireshark.org/review/29364 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-08-31vagrant: Use debian-setup.shJoão Valverde1-0/+1
Change-Id: Idb6c9281d050e89dc8eb564fe9d35ce1d4a27d8a Reviewed-on: https://code.wireshark.org/review/29356 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-06-26Fix shellcheck issues in debian-setup.sh.Gerald Combs1-13/+11
Change-Id: I54956ea4de5e07f1d2a705f9b77624d6c25511a6 Reviewed-on: https://code.wireshark.org/review/28438 Reviewed-by: Gerald Combs <gerald@wireshark.org> Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-06-11debian-setup: fix GnuTLS installation for Ubuntu 14.04Peter Wu1-4/+12
Ubuntu 14.04 ships with gnutls28 3.2.11 which might be license-incompatible with GPL 2.0 and should thus not be used. Fallback to the older gnutls-dev package in that case. Change-Id: I39824a5aee08de1df3790a1a8ff84c9769afd158 Reviewed-on: https://code.wireshark.org/review/28200 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Dario Lombardo <lomato@gmail.com>
2018-05-15CMake: require at least CMake 3.5Peter Wu1-1/+5
CMake 3.11 with the Ninja generator started complaining about CMP0058 related to ui/qt/CMakeFiles/qtui_autogen.dir/RCCstock_iconsInfo.cmake amd other files (AUTORCC). While the policy could be set explicitly, let's try to modernize the CMake configuration: - Drop CMP0042, if this gives issues with macOS, then it must be solved in a different way using non-deprecated methods. - Drop CMP0054 and ensure that all if("${foo}") and if(${foo}) are converted to if(foo). - Remove string comparison against "-NOTFOUND", it already evaluates to false in an if condition. - Use CXX_STANDARD/CXX_STANDARD_REQUIRED for Qt 5.7 and newer. - Assume that copy_if_different can accept multiple sources (CMake 3.5). - Consistency: Out of the 60 CMake 3.11 FindXxx.cmake files that use find_library, 34 contain "XXX_LIBRAR" while 16 contain "Xxx_LIBRAR". Let's assume uppercase variables (now custom MaxMindDB include dirs are correctly used). CMake 3.5 was chosen as the next version because of its wide support. Ubuntu 14.04 ships with cmake3 3.5.1, Debian jessie-backports has 3.6.2, EPEL for CentOS/RHEL6 includes cmake3 3.6.1 and SLES12 SP2 has 3.5. Change-Id: I2fa7b94bf8cc78411f414987d17bab3a33dfb360 Reviewed-on: https://code.wireshark.org/review/27444 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-05-03tools: add missing optional packages in debian/rpm setup.Dario Lombardo1-1/+3
Change-Id: Ie84f8d6e9ebdff0b760bc71ec227358ce23f427d Reviewed-on: https://code.wireshark.org/review/27307 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Dario Lombardo <lomato@gmail.com>
2018-05-03tools: add ninja to debian/rpm additional packages.Dario Lombardo1-1/+2
Change-Id: I56c1af8a5a4bdd4f9c2276a6e246a1b76a003049 Reviewed-on: https://code.wireshark.org/review/27302 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Dario Lombardo <lomato@gmail.com>
2018-04-25Don't install autotools or GTK+, but do install CMake.Guy Harris1-14/+30
We no longer use autotools/libtool, so we don't need to install automake, autoconf, or libtool; we only support CMake, so we *do* need to install it. We no longer support GTK+, so we don't need to install it. Change-Id: I41df9f67c8aba486220e77f7c8c67efa7784a7f2 Reviewed-on: https://code.wireshark.org/review/27152 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-04-24tools: make rpm and debian setup scripts more similar.Dario Lombardo1-1/+1
Change-Id: Ie46d56aff91694a3b8c4c62b4b03e38d3fb1e68a Reviewed-on: https://code.wireshark.org/review/27116 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>