File: Development-Dependencies.md

package info (click to toggle)
plaso 20201007-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 519,924 kB
  • sloc: python: 79,002; sh: 629; xml: 72; sql: 14; vhdl: 11; makefile: 10
file content (165 lines) | stat: -rw-r--r-- 4,918 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
# Plaso Development Dependencies

This page contains detailed instructions on how to install dependencies for
development.

There are multiple ways to install the dependencies:

* [Using prepackaged dependencies](Development-Dependencies.md#prepackaged-dependencies)
* [Batch build](Development-Dependencies.md#batch-build)
* [Manual build](Development-Dependencies.md#manual-build)

## Optional dependencies

Some dependencies for Plaso are optional:

* [Timesketch](https://github.com/google/timesketch/blob/master/docs/Installation.md)

## Prepackaged dependencies

### Fedora

**Note that these instructions assume you are running on Fedora 31 or 32.
Installing packages from the copr on other versions and/or distributions
is not recommended.**

The [GIFT copr](https://copr.fedorainfracloud.org/groups/g/gift/coprs/) contains
the necessary packages for running Plaso. GIFT copr provides the following
tracks:

* stable; track intended for the "packaged release" of Plaso and dependencies;
* dev; track intended for development of Plaso;
* testing; track intended for testing newly created packages.

To add the dev track to your dnf configuration run:

```bash
sudo dnf install dnf-plugins-core
sudo dnf copr enable @gift/dev
```

To install the dependencies run:

```bash
./config/linux/gift_copr_install.sh include-development include-test
```

For troubleshooting crashes it is recommended to install the following debug
symbol packages as well:

```bash
./config/linux/gift_copr_install.sh include-debug
```

### MacOS

The [l2tbinaries](https://github.com/log2timeline/l2tbinaries)
repository contains the necessary packages for running Plaso. l2tbinaries
provides the following branches:

* master; branch intended for the "packaged release" of Plaso and dependencies;
* dev; branch intended for development of Plaso;
* testing; branch intended for testing newly created packages.

The l2tdevtools project provides
[an update script](https://github.com/log2timeline/l2tdevtools/wiki/Update-script)
 to ease the process of keeping the dependencies up to date.

To install the development versions of the dependencies run:

```bash
PYTHONPATH=. python tools/update.py --preset plaso --track dev
```

### Ubuntu

**Note that the instructions in this page assume you are running on Ubuntu 18.04
or 20.04. Installing packages from the PPA on other versions and/or
distributions is not recommended.**

The [GIFT PPA](https://launchpad.net/~gift) contains the necessary packages for
running Plaso. The GIFT PPA provides the following tracks:

* Release (stable) track intended for the "packaged release" of Plaso and
its dependencies;
* Bleeding Edge (dev) track intended for development of Plaso;
* Testing (testing) track intended for testing newly created packages.

To install Plaso from the GIFT PPA you'll need to have Ubuntu universe enabled:

```bash
sudo add-apt-repository universe
sudo apt-get update
```

To add the dev track to your apt configuration run:

```bash
sudo add-apt-repository ppa:gift/dev
```

To install the dependencies run:

```bash
./config/linux/gift_ppa_install.sh include-development include-test
```

For troubleshooting crashes it is recommended to install the following debug
symbol packages as well:

```bash
./config/linux/gift_ppa_install.sh include-debug
```

### Windows

The [l2tbinaries](https://github.com/log2timeline/l2tbinaries)
repository contains the necessary packages for running plaso. l2tbinaries
provides the following branches:

* master; branch intended for the "packaged release" of Plaso and dependencies;
* dev; branch intended for the development of Plaso;
* testing; branch intended for testing newly created packages.

The l2tdevtools project provides
[an update script](https://github.com/log2timeline/l2tdevtools/wiki/Update-script)
 to ease the process of keeping the dependencies up to date.

The script requires [pywin32](https://github.com/mhammond/pywin32/releases) and
[Python WMI](https://pypi.python.org/pypi/WMI/).

To install the development versions of the dependencies run:

```
set PYTHONPATH=.

C:\Python38\python.exe tools\update.py --preset plaso --track dev
```

## Batch build

**Note that the batch build script is currently still work in progress, but it
will build most of the dependencies.**

Set up the [l2tdevtools build script](https://github.com/log2timeline/l2tdevtools/wiki/Build-script).

On Windows run:

```
set PYTHONPATH=.

C:\Python38\python.exe tools\build.py --preset plaso BUILD_TARGET
```

On other platforms run:

```
PYTHONPATH=. python tools/build.py --preset plaso BUILD_TARGET
```

Where `BUILD_TARGET` is the build target for your configuration. If you can't
identify the proper build target we do not recommend using this installation
method.

Successfully built packages will be stored in the build directory, which is
`build` by default. You can use your preferred installation method to install them.