Move /osquery/python_tests/* to /tools/tests
Move test_extensions process controls to test_base module
Use test_base.Testing to implement each module's main()
- This applies a default argparse with --build
- test_base.ARGS is the argparse-parsed namespace
- Use test_base.ARGS.build for the platform-specific dir
Move WatchdogTests to /tools/tests/test_watchdog.py
```
[root@localhost vagrant]# make sync
mkdir -p build/sync
rm -rf build/sync/osquery*
cp -R osquery build/sync
cp -R include/osquery build/sync
cp -R build/centos6/sdk/generated/ build/sync/osquery
cp osquery.thrift build/sync/osquery/extensions
find build/sync -type f -name "CMakeLists.txt" -exec rm -f {} \;
mkdir -p build/sync/code-analysis
cd build/sync/code-analysis && SDK=True cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ../../../
CMake Warning at CMakeLists.txt:95 (message):
Requested dependencies may have changed, run: make deps
-- Building for CentOS
-- Found components for DL
-- Found readline library
-- Looking for include files libunwind.h, unwind.h
-- Looking for include files libunwind.h, unwind.h - not found
-- Found RocksDB
-- Thrift version 0.9.1
-- Found library dependency /usr/lib/x86_64-linux-gnu/libboost_thread.a
-- Found library dependency /usr/lib/x86_64-linux-gnu/librt.a
-- Found library dependency /usr/lib/x86_64-linux-gnu/libboost_system.a
-- Found library dependency /usr/lib/x86_64-linux-gnu/libboost_filesystem.a
-- Configuring done
-- Generating done
-- Build files have been written to: /vagrant/build/sync/code-analysis
SDK=True
python tools/codegen/gentargets.py -i build/sync/code-analysis/compile_commands.json > build/sync/osquery/TARGETS
cd build/sync && tar -zcf osquery-sync-1.4.1-29-g472c605.tar.gz osquery
The output file is located at build/sync/osquery-sync-1.4.1-29-g472c605.tar.gz
```
I used CPack to generate deb package files from the CMake "install"
target. What this means is, whatever would get installed my "make
install" will get installed by the deb.
"make package" on ubuntu will generate a file named: `osquery-$VERSION-$DISTRO.$ARCH.deb`
Consider the following example:
```
root@vagrant-ubuntu-trusty-64:/vagrant/build# dpkg --info osquery-0.0.1-trusty.amd64.deb
new debian package, version 2.0.
size 11311330 bytes: control archive=350 bytes.
207 bytes, 9 lines control
102 bytes, 2 lines md5sums
Package: osquery
Version: 0.0.1
Section: devel
Priority: optional
Architecture: amd64
Installed-Size: 43369
Maintainer: marpaia@fb.com
Description: osquery is an operating system instrumentation toolchain.
```