Commit graph

17 commits

Author SHA1 Message Date
Franciszek Stachura
7d09affd5b Dockerfile: Build and use ctags v6.1.0 (upgrade from v5.9)
Changelogs: https://github.com/universal-ctags/ctags/releases

There are some function definitions that are not found by ctags v5.9.
We must upgrade to the latest release but it isn't packaged by Debian.

We only copy the ctags executable. Debian's package files are:
https://packages.debian.org/sid/amd64/universal-ctags/filelist
We drop:
 - The optscript and readtags executables,
 - The changelog and copyright files and,
 - All manpages.
2025-02-14 09:58:00 +01:00
Théo Lebrun
5a225c5c43 Dockerfile: move COPY . /usr/local/elixir/ to be the last step
On my machine, a `docker build` after any file change is:
 - Before this patch: 7.29s
 - Afterwards:        2.18s

Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
2025-02-05 14:51:30 +01:00
Théo Lebrun
808ed15dbc Dockerfile: add utils/ in $PATH by default, for easy indexing
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
2025-01-31 19:27:17 +01:00
Théo Lebrun
43a0eba20a Dockerfile: set PYTHONUNBUFFERED=1 by default
This changes the stdout/stderr buffering behavior of Python. Without it,
indexing scripts don't stream updates and use really big buffers.

Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
2025-01-31 19:27:17 +01:00
Théo Lebrun
9cd1b140d2 Dockerfile: add virtualenv to $PATH by default
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
2024-12-25 03:48:53 +01:00
Théo Lebrun
38c258c0ef Dockerfile: copy requirements.txt early to reduce iteration time
Before, we copied all source files at the start of the Dockerfile; that
meant we always rebuilt most steps. Only copy requirements.txt first,
then copy the rest after many steps.

Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
2024-12-25 03:48:33 +01:00
Théo Lebrun
9c387e4835 docker: add gitconfig to mark all safe directories
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
2024-12-24 16:05:17 +01:00
Lukas Joisten
1a761e98d3 Dockerfile: set environment variable $ELIXIR_ROOT
Set env variable $ELIXIR_ROOT inside the Dockerfile. That is used by
utils/index-all-repositories to know where to put repo/data directories.

With that adjustment the docker setup is working as indicated in the
README.

Fix the following error:

$ docker exec -it -e PYTHONUNBUFFERED=1 elixir-container /bin/bash -c \
  'export "PATH=/usr/local/elixir/venv/bin:$PATH" ; /usr/local/elixir/utils/index-all-repositories'
Error: ELIXIR_ROOT environment variable not set
It's where Elixir data are stored
2024-12-02 18:14:27 +01:00
Franciszek Stachura
5e8eb77912 Migrate from bsddb3 to berkeleydb
Following official documentation, move away from bsddb3 to berkeleydb.
https://www.jcea.es/programacion/pybsddb.htm

Main change: key and values are now bytes and not strings.

The code diff is really simple because all operations on keys/values is
done from elixir/data.py and that works fine with both bytes and
strings (it does explicit casting).
2024-11-07 16:55:14 +01:00
Franciszek Stachura
6b47af27a7 README, Dockerfile: Update to support version in footer 2024-11-06 17:18:07 +01:00
Franciszek Stachura
6e01f3b023 Dockerfile: update to support WSGI Elixir
* Build bsddb in a separate stage to avoid using system packages in venv
* Update Docker Apache config to support WSGI
2024-08-27 11:33:19 +02:00
Franciszek Stachura
22c1d7646d Remove custom ctags version from Dockerfile
As mentioned in 8ffb3d9, required changes were merged into upstream.

Version packaged for Debian 12 seems to contain these changes.
Ubuntu 22.04 mentioned in commit description is based on Debian 12.
universal-ctags has the same version string in both repos.

https://packages.debian.org/bookworm/amd64/universal-ctags
https://packages.ubuntu.com/jammy/universal-ctags
2024-08-05 15:17:23 +02:00
Franciszek Stachura
3714430aef Remove 'HttpProtocolOptions Unsafe' apache.conf insertion from Dockerfile
* Also remove mention of 'HttpProtocolOptions Unsafe' from README
2024-08-05 15:15:57 +02:00
Franciszek Stachura
ffe8d79c40 Simplify and refactor Dockerfile
* Remove repository indexing from Dockerfile
* Copy Elixir code from the context instead of cloning it from Github
* Move Dockerfile from docker/debian/Dockerfile to docker/Dockerfile
* Add docs for the new Dockerfile
* Add an utility script that allows easier repository configuration
* Add .dockerignore
* Use relative paths in Docker section in README
2024-08-05 14:54:03 +02:00
Michael Opdenacker
23a0419a14 Move Debian Docker file
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
2019-07-18 08:08:52 +02:00
Michael Opdenacker
fd81603a4e Update URLs
- In particular the GitHub URL for the project

Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
2018-07-18 08:23:27 +02:00
darx0r
a6a9d0143f * Elixir Dockerfile based on debian with ARG of git URL of project to index (usually linux kernel) 2017-07-12 22:40:07 +03:00