Skip to content

Commit a432015

Browse files
committed
Add libs folder as a placeholder and a README file
1 parent 086122b commit a432015

2 files changed

Lines changed: 54 additions & 0 deletions

File tree

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,7 @@
1414
*.pyo
1515
*.egg*
1616
*.so
17+
18+
# Downloaded dependency archives
19+
/libs/*
20+
!/libs/README.md

libs/README.md

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# Dependency archive cache
2+
3+
This directory is used as the local cache for third-party libraries needed by
4+
the static build tooling.
5+
6+
## How it works
7+
8+
`build_libs_xmlsec.py` and `LibXmlsecDependencyBuilder` look in `libs/` first.
9+
If a matching archive is already present here, that file is reused. If not, the
10+
build tooling downloads the archive into this directory and then continues.
11+
12+
The default lookup path is:
13+
14+
```bash
15+
libs/
16+
```
17+
18+
You can override it with either:
19+
20+
```bash
21+
python build_libs_xmlsec.py --libs-dir /path/to/cache
22+
```
23+
24+
or:
25+
26+
```bash
27+
export PYXMLSEC_LIBS_DIR=/path/to/cache
28+
```
29+
30+
## What belongs here
31+
32+
Store downloaded source or binary archives here, for example:
33+
34+
- `openssl*.tar.gz`
35+
- `zlib*.tar.gz`
36+
- `libiconv*.tar.gz`
37+
- `libxml2*.tar.xz`
38+
- `libxslt*.tar.xz`
39+
- `xmlsec1*.tar.gz`
40+
- Windows binary archives such as `libxml2-<version>.<suffix>.zip`
41+
42+
Extracted build artifacts do not belong in this directory. Those are created
43+
under `build/tmp/libs/`.
44+
45+
## Why keep this directory
46+
47+
- Speeds up local rebuilds by reusing previously downloaded archives.
48+
- Matches the CI cache strategy in `.github/workflows/cache_libs.yml`.
49+
- Makes it possible to pre-populate dependency archives for offline or
50+
repeatable builds.

0 commit comments

Comments
 (0)