diff --git a/.github/scripts/build_projects.py b/.github/scripts/build_projects.py index c84ed30d..4e7bb98f 100755 --- a/.github/scripts/build_projects.py +++ b/.github/scripts/build_projects.py @@ -19,7 +19,9 @@ def select_build_target(): DESKTOP, OS_NAME ) - if (PLATFORM_TARGET.startswith("android_") + if OS_NAME == "bionic" and PLATFORM_TARGET.endswith("_mixed"): + return ("libzim", ) + elif (PLATFORM_TARGET.startswith("android_") or PLATFORM_TARGET.startswith("iOS") or PLATFORM_TARGET.startswith("macOS")): return ("libzim", "libkiwix") diff --git a/.github/scripts/common.py b/.github/scripts/common.py index 87a2e59f..a8abd936 100644 --- a/.github/scripts/common.py +++ b/.github/scripts/common.py @@ -45,15 +45,16 @@ DEV_BRANCH = None RELEASE_OS_NAME = "macos" if OS_NAME == "osx" else "linux" +EXTRA_NAME = "-bionic" if OS_NAME == "bionic" else "" PLATFORM_TO_RELEASE = { - "native_mixed": "{os}-x86_64".format(os=RELEASE_OS_NAME), + "native_mixed": "{os}-x86_64{extra}".format(os=RELEASE_OS_NAME, extra=EXTRA_NAME), "native_static": "{os}-x86_64".format(os=RELEASE_OS_NAME), "win32_static": "win-i686", "armhf_static": "{os}-armhf".format(os=RELEASE_OS_NAME), "armhf_mixed": "{os}-armhf".format(os=RELEASE_OS_NAME), "aarch64_static": "{os}-aarch64".format(os=RELEASE_OS_NAME), - "aarch64_mixed": "{os}-aarch64".format(os=RELEASE_OS_NAME), + "aarch64_mixed": "{os}-aarch64{extra}".format(os=RELEASE_OS_NAME, extra=EXTRA_NAME), "i586_static": "{os}-i586".format(os=RELEASE_OS_NAME), "macOS_arm64_static": "{os}-arm64".format(os=RELEASE_OS_NAME), "macOS_arm64_mixed": "{os}-arm64".format(os=RELEASE_OS_NAME), diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index db94518c..ac2aa697 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,6 +31,12 @@ jobs: image_variant: ['focal'] lib_postfix: ['/x86_64-linux-gnu'] include: + - target: native_mixed + image_variant: bionic + lib_postfix: '/x86_64-linux-gnu' + - target: aarch64_mixed + image_variant: bionic + lib_postfix: '/aarch64-linux-gnu' - target: win32_static image_variant: f35 lib_postfix: '64' diff --git a/.github/workflows/container_images.yml b/.github/workflows/container_images.yml index c4a2fd0d..e3f5e0bd 100644 --- a/.github/workflows/container_images.yml +++ b/.github/workflows/container_images.yml @@ -15,7 +15,7 @@ jobs: strategy: fail-fast: false matrix: - variant: [f35, focal, alpine] + variant: [f35, focal, bionic, alpine] runs-on: ubuntu-22.04 steps: diff --git a/.github/workflows/releaseNigthly.yml b/.github/workflows/releaseNigthly.yml index 012d6983..ae974d69 100644 --- a/.github/workflows/releaseNigthly.yml +++ b/.github/workflows/releaseNigthly.yml @@ -38,6 +38,9 @@ jobs: - target: native_mixed image_variant: focal lib_postfix: '/x86_64-linux-gnu' + - target: native_mixed + image_variant: bionic + lib_postfix: '/x86_64-linux-gnu' - target: native_desktop image_variant: focal lib_postfix: '/x86_64-linux-gnu' @@ -56,6 +59,9 @@ jobs: - target: aarch64_mixed image_variant: focal lib_postfix: '/x86_64-linux-gnu' + - target: aarch64_mixed + image_variant: bionic + lib_postfix: '/aarch64-linux-gnu' - target: win32_static image_variant: f35 lib_postfix: '64' diff --git a/ci_images/bionic_builder.dockerfile b/ci_images/bionic_builder.dockerfile index 4f09f2eb..7aaf64e0 100644 --- a/ci_images/bionic_builder.dockerfile +++ b/ci_images/bionic_builder.dockerfile @@ -4,42 +4,21 @@ ENV LANG C.UTF-8 ENV OS_NAME bionic RUN apt update -q \ - && dpkg --add-architecture i386 \ - && apt install -q -y --no-install-recommends software-properties-common \ - && add-apt-repository ppa:beineri/opt-qt-5.15.2-bionic \ && apt-get update \ && apt install -q -y --no-install-recommends \ # Base build tools build-essential automake libtool cmake ccache pkg-config autopoint patch \ python3-pip python3-setuptools python3-wheel git subversion wget unzip \ - ninja-build openssh-client curl libgl-dev \ -# Python (2) is needed to install android-ndk - python \ + ninja-build openssh-client curl \ # Packaged dependencies - libbz2-dev libmagic-dev uuid-dev zlib1g-dev \ - libmicrohttpd-dev aria2 libgtest-dev libgl-dev \ -# Devel package to compile python modules - libxml2-dev libxslt-dev python3-dev \ -# Qt packages - qt515base qt515webengine qt515svg qt515imageformats qt515wayland \ -# To create the appimage of kiwix-desktop - libfuse2 fuse patchelf \ -# Flatpak tools - elfutils flatpak flatpak-builder \ -# Cross compile i586 - libc6-dev-i386 lib32stdc++6 gcc-multilib g++-multilib \ + libbz2-dev uuid-dev zlib1g-dev \ + libgtest-dev \ # Other tools (to remove) # vim less grep \ && apt-get clean -y \ && rm -rf /var/lib/apt/lists/* /usr/share/doc/* /var/cache/debconf/* \ && pip3 install meson pytest gcovr requests distro -# Set qt515 environment (the equivalent of "source /opt/qt515/bin/qt515-env.sh") -# RUN echo "source /opt/qt515/bin/qt515-env.sh" >> /home/runner/.bashrc -ENV PATH=/opt/qt515/bin:$PATH \ - LD_LIBRARY_PATH=/opt/qt515/lib/x86_64-linux-gnu:/opt/qt515/lib:$LD_LIBRARY_PATH \ - PKG_CONFIG_PATH=/opt/qt515/lib/pkgconfig:$PKG_CONFIG_PATH - # Create user RUN groupadd --gid 121 runner RUN useradd --uid 1001 --gid 121 --create-home runner diff --git a/kiwixbuild/dependencies/armhf.py b/kiwixbuild/dependencies/armhf.py index c0b350da..b1501d93 100644 --- a/kiwixbuild/dependencies/armhf.py +++ b/kiwixbuild/dependencies/armhf.py @@ -8,7 +8,7 @@ armhf_base_url = base_url + 'Raspberry%20Pi%20GCC%20Cross-Compiler%20Toolchains/Stretch/GCC%2010.3.0/Raspberry%20Pi%202%2C%203/' # This is Gcc 10.3.0 and ALL rapsberry Pi arch64 -aarch_base_url = base_url + 'Bonus%20Raspberry%20Pi%20GCC%2064-Bit%20Toolchains/Raspberry%20Pi%20GCC%2064-Bit%20Cross-Compiler%20Toolchains/Stretch/GCC%2010.3.0/' +aarch_base_url = base_url + 'Bonus%20Raspberry%20Pi%20GCC%2064-Bit%20Toolchains/Raspberry%20Pi%20GCC%2064-Bit%20Cross-Compiler%20Toolchains/Stretch/GCC%206.3.0/' class armhf_toolchain(Dependency): dont_skip = True @@ -29,8 +29,8 @@ class aarch64_toolchain(Dependency): name = "aarch64" class Source(ReleaseDownload): - archive = Remotefile('cross-gcc-10.3.0-pi_64.tar.gz', - '5b3fdb7ee8c496c377ab8b11d7ffd404b4d3041f4fdcfeebcbcb734d45a5f3e9', - aarch_base_url + 'cross-gcc-10.3.0-pi_64.tar.gz') + archive = Remotefile('cross-gcc-6.3.0-pi_64.tar.gz', + '1b048bb8886ad63d21797cd9129fc37b9ea0dfaac7e3c36f888aa16fbec1d320', + aarch_base_url + 'cross-gcc-6.3.0-pi_64.tar.gz') Builder = NoopBuilder diff --git a/kiwixbuild/versions.py b/kiwixbuild/versions.py index 08c994bf..1337e79e 100644 --- a/kiwixbuild/versions.py +++ b/kiwixbuild/versions.py @@ -39,7 +39,7 @@ # This is the "version" of the whole base_deps_versions dict. # Change this when you change base_deps_versions. -base_deps_meta_version = '85' +base_deps_meta_version = '86' base_deps_versions = { 'zlib' : '1.2.12',