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] Cmake and RPM

From: Jonne Zutt <jonne.zutt.ml@xxxxxxxxx>
Date: Wed, 17 Aug 2016 10:41:26 +0200
Currently looking into this:

 $ egrep "am__.*tar =" Makefile
am__tar = false
am__untar = false

On Wed, Aug 17, 2016 at 10:34 AM, Jonne Zutt <jonne.zutt.ml@xxxxxxxxx> wrote:
After a "make" or "make all", I do not have the tar ball, also not in my top-level build directory.
Also not after a "make rpm-package".
My packaging/rpm folder, including sub-folders, is quite empty except for a few Makefiles and wireshark.spec and wireshark.spec.in.

"make dist" does create the archive in my top-level build directory, but it doesn't look good (empty):
$ ls -lsh wireshark-2.3.0.tar.xz
4.0K -rw-rw-r-- 1 jonne jonne 32 Aug 17 02:33 wireshark-2.3.0.tar.xz

Running "make rpm-package" also removes the wireshark-2.3.0.tar.xz in my top-level build directory, so that's why I perhaps do not see it after a "make" or "make all" too, it might get created and deleted later.

The executables are in a .libs folder in my top-level build directory:
$ ls .libs
capinfos  dftest     dumpcap  lt-wireshark  randpkt   rawsharkS.o  text2pcap  tsharkS.o  wiresharkS.o
captype   dftestS.o  editcap  mergecap      rawshark  reordercap   tshark     wireshark

And for each or most of them there's also a script in the top-level build directory:
$ file wireshark tshark mergecap
wireshark: POSIX shell script, ASCII text executable, with very long lines
tshark:    POSIX shell script, ASCII text executable, with very long lines
mergecap:  POSIX shell script, ASCII text executable, with very long lines

This is the first part of logging of "make dist":
$ make dist
make  dist-xz am__post_remove_distdir='@:'
make[1]: Entering directory `/home/jonne/wireshark/wireshark'
if test -d "wireshark-2.3.0"; then find "wireshark-2.3.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "wireshark-2.3.0" || { sleep 5 && rm -rf "wireshark-2.3.0"; }; else :; fi
test -d "wireshark-2.3.0" || mkdir "wireshark-2.3.0"
 (cd capchild && make  top_distdir=../wireshark-2.3.0 distdir=../wireshark-2.3.0/capchild \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)
make[2]: Entering directory `/home/jonne/wireshark/wireshark/capchild'
make[2]: Leaving directory `/home/jonne/wireshark/wireshark/capchild'
 (cd caputils && make  top_distdir=../wireshark-2.3.0 distdir=../wireshark-2.3.0/caputils \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)
make[2]: Entering directory `/home/jonne/wireshark/wireshark/caputils'
make[2]: Leaving directory `/home/jonne/wireshark/wireshark/caputils'
 (cd codecs && make  top_distdir=../wireshark-2.3.0 distdir=../wireshark-2.3.0/codecs \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)

Not much seems to happen there, and also not afterwards.

At the end of "make dist", I see:

make[2]: Entering directory `/home/jonne/wireshark/wireshark/wsutil'
make[2]: Leaving directory `/home/jonne/wireshark/wireshark/wsutil'
 (cd extcap && make  top_distdir=../wireshark-2.3.0 distdir=../wireshark-2.3.0/extcap \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)
make[2]: Entering directory `/home/jonne/wireshark/wireshark/extcap'
make[2]: Leaving directory `/home/jonne/wireshark/wireshark/extcap'
 (cd docbook && make  top_distdir=../wireshark-2.3.0 distdir=../wireshark-2.3.0/docbook \
     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)
make[2]: Entering directory `/home/jonne/wireshark/wireshark/docbook'
make[2]: Leaving directory `/home/jonne/wireshark/wireshark/docbook'
test -n "" \
|| find "wireshark-2.3.0" -type d ! -perm -755 \
        -exec chmod u+rwx,go+rx {} \; -o \
  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
  ! -type d ! -perm -444 -exec /bin/sh /export/home/jonne/wireshark/wireshark/install-sh -c -m a+r {} {} \; \
|| chmod -R a+r "wireshark-2.3.0"
tardir=wireshark-2.3.0 && false | XZ_OPT=${XZ_OPT--e} xz -c >wireshark-2.3.0.tar.xz
make[1]: Leaving directory `/home/jonne/wireshark/wireshark'
if test -d "wireshark-2.3.0"; then find "wireshark-2.3.0" -type d ! -perm -200 -exec chmod u+w {} ';' && rm -rf "wireshark-2.3.0" || { sleep 5 && rm -rf "wireshark-2.3.0"; }; else :; fi

The script at the end removes the wireshark-2.3.0 folder again, and leaves me with an empty tar.xz.
I don't see <top-level>/.libs referenced anywhere.

I disabled the removal of this wireshark-2.3.0 folder. There's a lot of files in there. It has a total size of 226M. It doesn't contain executables like wireshark, mergecap, tshark though.

How is the above xz command supposed to know what it should compress?
I guess that does not look good. Should that not be part of the previous find command?

Jonne.

On Wed, Aug 17, 2016 at 12:25 AM, Jeff Morriss <jeff.morriss.ws@xxxxxxxxx> wrote:


On Tue, Aug 16, 2016 at 2:46 PM, Jonne Zutt <jonne.zutt.ml@xxxxxxxxx> wrote:
I don't seem to have any /path/to/wireshark-2.3.0.tar.xz anywhere.
Should make dist create that?


For completeness: yes, the "make dist" step (the first step of "make rpm-package") should have created the source tarball in the top-level directory of your build directory.  One of the subsequent steps should symlink that into your SOURCES directory.

Do you not have the source tarball even in your top-level build directory?

___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request@wireshark.org?subject=unsubscribe