ANNOUNCEMENT: Live Wireshark University & Allegro Packets online APAC Wireshark Training Session
April 17th, 2024 | 14:30-16:00 SGT (UTC+8) | Online

Wireshark-dev: Re: [Wireshark-dev] Automated RPM-based-Linux build setup? (was Re: Automated Wi

From: Guy Harris <guy@xxxxxxxxxxxx>
Date: Wed, 25 Nov 2015 14:51:18 -0800
On Nov 25, 2015, at 2:44 PM, Guy Harris <guy@xxxxxxxxxxxx> wrote:

> On Nov 25, 2015, at 11:01 AM, Peter Wu <peter@xxxxxxxxxxxxx> wrote:
> 
>> Has there been any progress/work on an automated Windows environment
>> setup? On Debian/Ubuntu it is as easy as "apt-get build-dep wireshark".
> 
> Speaking of automated build setups:
> 
> A quick look at the DNF man page on Fedora 23 doesn't seem to indicate that there's any equivalent to build-dep, i.e. nothing to find out what are the *source* packages for the dependencies of a binary package, and installing *them*.
> 
> For RPM, is there not a way to say "what packages are required to build this possibly-not-installed package?"  ("Possibly-not-installed" is significant here - somebody might not have Wireshark installed from the repository, and might want to build it from source without having to build and install all its dependencies from source.)
> 
> I.e., for a package in the repository (whether it's installed or not), what packages are mentioned in the BuildRequires entries for that package?

Actually, that's *not* necessarily what we want; what we *really* want is probably "what packages are mentioned in the BuildRequires entries in the packaging/rpm/SPECS/wireshark.spec.in file in the Wireshark source directory?", as the packaged Wireshark for your OS might require different packages from what the Wireshark source you're trying to build does (for example, if the packaged Wireshark uses GTK+ but you want to build a 2.x release).

That would require the ability to parse an RPM spec file - and to expand some or all of @AC_MIN_VERSION@, @GLIB_MIN_VERSION@, @QT_MIN_VERSION@, @GTK3_MIN_VERSION@, and @GTK2_MIN_VERSION@ without having the autotools installed, as the point of that setup is to install stuff automatically, including the autotools.