From 0b66c28097723fcd73aa01c0f6005e56d72f841f Mon Sep 17 00:00:00 2001 From: Rizky Maulana Nugraha Date: Thu, 28 Jan 2021 01:59:12 +0700 Subject: [PATCH] Add several default locale for testing --- .example.env | 2 ++ .github/workflows/build-latest.yaml | 4 ++++ Dockerfile | 3 +++ base_build/scripts/locale-filter.sh | 9 +++++++++ 4 files changed, 18 insertions(+) create mode 100644 base_build/scripts/locale-filter.sh diff --git a/.example.env b/.example.env index 14f0d9c..7bc4714 100644 --- a/.example.env +++ b/.example.env @@ -10,6 +10,8 @@ IMAGE_VARIANT=slim GENERATE_ALL_LOCALE=1 # Set the language if you need to specify LANG locale at build time LANG=en_US.UTF-8 +# locale filter to include in the locale generator +LANGS="en_US.UTF-8,id_ID.UTF-8" POSTGRES_MAJOR_VERSION=13 POSTGIS_MAJOR_VERSION=3 diff --git a/.github/workflows/build-latest.yaml b/.github/workflows/build-latest.yaml index 5777dcc..6e55bd3 100644 --- a/.github/workflows/build-latest.yaml +++ b/.github/workflows/build-latest.yaml @@ -65,6 +65,7 @@ jobs: DISTRO=${{ matrix.distro }} IMAGE_VERSION=${{ matrix.imageVersion }} IMAGE_VARIANT=${{ matrix.imageVariant }} + LANGS=en_US.UTF-8,id_ID.UTF-8 GENERATE_ALL_LOCALE=0 POSTGRES_MAJOR_VERSION=${{ matrix.postgresMajorVersion }} POSTGIS_MAJOR_VERSION=${{ matrix.postgisMajorVersion }} @@ -86,6 +87,7 @@ jobs: DISTRO=${{ matrix.distro }} IMAGE_VERSION=${{ matrix.imageVersion }} IMAGE_VARIANT=${{ matrix.imageVariant }} + LANGS=en_US.UTF-8,id_ID.UTF-8 GENERATE_ALL_LOCALE=0 POSTGRES_MAJOR_VERSION=${{ matrix.postgresMajorVersion }} POSTGIS_MAJOR_VERSION=${{ matrix.postgisMajorVersion }} @@ -107,6 +109,7 @@ jobs: DISTRO=${{ matrix.distro }} IMAGE_VERSION=${{ matrix.imageVersion }} IMAGE_VARIANT=${{ matrix.imageVariant }} + LANGS=en_US.UTF-8,id_ID.UTF-8 GENERATE_ALL_LOCALE=0 POSTGRES_MAJOR_VERSION=${{ matrix.postgresMajorVersion }} POSTGIS_MAJOR_VERSION=${{ matrix.postgisMajorVersion }} @@ -163,6 +166,7 @@ jobs: DISTRO=${{ matrix.distro }} IMAGE_VERSION=${{ matrix.imageVersion }} IMAGE_VARIANT=${{ matrix.imageVariant }} + LANGS=en_US.UTF-8,id_ID.UTF-8 GENERATE_ALL_LOCALE=0 POSTGRES_MAJOR_VERSION=${{ matrix.postgresMajorVersion }} POSTGIS_MAJOR_VERSION=${{ matrix.postgisMajorVersion }} diff --git a/Dockerfile b/Dockerfile index 8a01f5f..b63c9ce 100644 --- a/Dockerfile +++ b/Dockerfile @@ -36,15 +36,18 @@ RUN chmod 0755 /gdal_install.sh;/bin/bash /gdal_install.sh # Generate all locale only on deployment mode build # Set to empty string to generate only default locale ARG GENERATE_ALL_LOCALE=1 +ARG LANGS="en_US.UTF-8,id_ID.UTF-8" ARG LANG=en_US.UTF-8 ENV LANG=en_US.UTF-8 \ LANGUAGE=en_US:en \ LC_ALL=en_US.UTF-8 COPY base_build/scripts/locale.gen /etc/all.locale.gen +COPY base_build/scripts/locale-filter.sh /etc/locale-filter.sh RUN if [ -z "${GENERATE_ALL_LOCALE}" ] || [ $GENERATE_ALL_LOCALE -eq 0 ]; \ then \ cat /etc/all.locale.gen | grep "${LANG}" > /etc/locale.gen; \ + /bin/bash /etc/locale-filter.sh; \ else \ cp -f /etc/all.locale.gen /etc/locale.gen; \ fi; \ diff --git a/base_build/scripts/locale-filter.sh b/base_build/scripts/locale-filter.sh new file mode 100644 index 0000000..8b37747 --- /dev/null +++ b/base_build/scripts/locale-filter.sh @@ -0,0 +1,9 @@ +#!/usr/bin/env bash + +## Filter list of locales from a given filter args +## Parse into array +LANG_ARR=(${LANGS//,/ }) +echo "" > /etc/locale.gen +for i in "${LANG_ARR[@]}"; do + cat /etc/all.locale.gen | grep "$i" >> /etc/locale.gen +done