Warning, /pim/kitinerary/scripts/README.md is written in an unsupported language. File is not indexed.
0001 # Static extractor executable build 0002 0003 For use e.g. as part of Nextcloud it can be useful to build a fully static executable binary. 0004 0005 This is done by the `static-extractor` Gitlab job, the scripts in this folder are the implementation detail of that job. 0006 0007 ## Supported platforms 0008 0009 Anything x86_64 with GLIBC 2.17 or newer. 0010 0011 ## Deployment 0012 0013 The extractor needs external data in the form of translation catalogs and iso-codes files. Those are provided 0014 in the same archive as the binary, and need to be placed in the same relative location to the binary to be found. 0015 0016 Alternatively, they can be placed in a path listed in the `XDG_DATA_DIRS` environment variable. 0017 0018 ## Translations 0019 0020 When using the iCal output format, translations are relevant. This is done using Gettext and thus follows the 0021 environment variables that influence that (`LANG`, `LANGUAGE`, `LC_ALL`, etc). 0022 0023 This also implies that Glibc locale data has to be installed on the system, Gettext will not work without those. 0024 0025 ## Local builds 0026 0027 If you want to locally reproduce the same build, this can be done by running the commands from the build scripts in the 0028 order specified in `.gitlab-ci.yml` in an environment set up like follows: 0029 0030 ``` 0031 docker run -it --rm centos:centos7 0032 export CI_PROJECT_PATH=pim/kitinerary 0033 export BUILD_ROOT=/builds 0034 export STAGING_ROOT=/builds/staging 0035 ``` 0036 0037 Optionally, map a local folder into `/builds` in the Docker image to retain the checkouts and build results. This 0038 is particularly useful when debugging/optimizing the build itself. 0039 0040 ## Future Work 0041 0042 Ideally this would reuse the static build artifacts produced by the CI already anyway, and reuse the 0043 existing dependency mechanism of the CI.