Wireshark mailing list archives

Re: Automated RPM-based-Linux build setup? (was Re: Automated Windows build setup? (Chocolatey?))


From: Peter Wu <peter () lekensteyn nl>
Date: Thu, 26 Nov 2015 12:17:52 +0100

On Wed, Nov 25, 2015 at 02:51:18PM -0800, Guy Harris wrote:

On Nov 25, 2015, at 2:44 PM, Guy Harris <guy () alum mit edu> wrote:

On Nov 25, 2015, at 11:01 AM, Peter Wu <peter () lekensteyn nl> 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.

For a CentOS6 VM I used tools/install_rpms_for_devel.sh to find
dependencies, that was mostly sufficient for me. There are some other
deps that were not installed though, but cmake warned me about it. Those
extra packages (for GTK+ 2) are:

 portaudio-devel libnl3-devel krb5-devel geoip-devel libcap-devel
 gnutls-devel 

on top of:

 yum -y install autoconf automake libtool gcc flex bison python perl \
  glib2-devel libpcap-devel zlib-devel lua-devel c-ares-devel \
  gtk3-devel gtk2-devel qt-devel gcc-c++ fop asciidoc git

I also had to install epel-release for something (bash-completion),
maybe it was also needed for one of the above packages.

Usage of "apt-get build-dep" relied on the existing packaging of Debian.
That is a good start to discover most dependencies, if there is anything
missing (libssh), it is reported during the cmake/configure step. I
guess something like this also applies to RPM (though distro-supplied
RPM packages packages seem really ancient, at least for Cent OS).
-- 
Kind regards,
Peter Wu
https://lekensteyn.nl
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request () wireshark org?subject=unsubscribe


Current thread: