Fedora 28 support (#1820)
authorBrenden Blanco <bblanco@gmail.com>
Mon, 23 Jul 2018 15:15:56 +0000 (08:15 -0700)
committeryonghong-song <ys114321@gmail.com>
Mon, 23 Jul 2018 15:15:56 +0000 (08:15 -0700)
commite8001c394155afff8b9b57666fc4ef3899b90a30
treef70c6d3b66cdac67467eed1d78487236d9d2227d
parent5148fcec9eb93d29949b04ccdfe9b6e6edc6362d
Fedora 28 support (#1820)

* tools: use printb for more python3 compat

Switch to printb in killsnoop and wakeuptime

* tests: use subproceess sleep to trigger test

In some python implementations, time.sleep uses select instead of
nanosleep and hence won't trigger the bpf kprobe.

* tools: remove explicit python3 shebang

Use an ambiguous python invocation in the shebang line. Instead, rely on
packaging stage to mangle the line to specify a python version.

* cmake: add ENABLE_LLVM_SHARED option

This adds an option to specify that only the dynamic libraries should be
used to link bcc. This is most likely to be used in systems that don't
build/provide the llvm-static and clang-static package options
(fedora-based).

* rpm: enable llvm_shared and python3 build options

Enable rpm packaging with two new features:
 - shared-only packaging (no static linking)
 - python3
To enable these build features (off by default), run:
 RPM_WITH_OPTS="--with llvm_shared --with python3" ./scripts/build-rpm.sh

* rpm: protect python3-bcc package declaration

Don't define python3-bcc if --with python3 isn't explicitly specified.

* specs: only build python3 if requested

* man: compress man pages

* specs: enable python3 by default in fc28+/rh8+

- Enable llvm_shared and python3 --with options by default in new fedora
- Fix string quoting
- Update spec changelog
CMakeLists.txt
SPECS/bcc.spec
cmake/clang_libs.cmake
man/man8/CMakeLists.txt
scripts/build-rpm.sh
tests/python/test_array.py
tools/inject.py
tools/killsnoop.py
tools/wakeuptime.py