Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Kiwix desktop jammy appimage #771

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

veloman-yunkan
Copy link
Collaborator

A working appimage was created using the updated scripts/create_kiwix-desktop_appImage.sh in a docker container build using the following Dockerfile (copied and modified from kiwix-build_ci/focal_builder.dockerfile in https://github.com/kiwix/container-images; I know that I forgot to update OS_NAME):

FROM ubuntu:jammy
LABEL org.opencontainers.image.source https://github.com/kiwix/container-images

ENV LANG C.UTF-8
ENV OS_NAME focal
ENV DEBIAN_FRONTEND noninteractive

RUN apt update -q \
  && 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 \
# 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
    libqt5gui5 qtbase5-dev qtwebengine5-dev libqt5svg5-dev qt5-image-formats-plugins \
# To create the appimage of kiwix-desktop
    libfuse2 fuse patchelf \
# Flatpak tools
    elfutils flatpak flatpak-builder \
# Cross win32 compiler
    g++-mingw-w64-i686 gcc-mingw-w64-i686 gcc-mingw-w64-base mingw-w64-tools \
# Cross compile i586
    libc6-dev-i386 lib32stdc++6 gcc-multilib g++-multilib \
# 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

# Create user
RUN groupadd --gid 121 runner
RUN useradd --uid 1001 --gid 121 --create-home runner
USER runner
ENV PATH /home/runner/.local/bin:$PATH

- Switched from linuxdeployqt to (linuxdeploy + linuxdeploy-plugin-qt)

- Eliminated custom creation of the AppDir & most manual copying of
  some stuff into it (trusting linuxdeploy to do everything needed
  for the correct operation of the appimage). Note, however, that
  nss/ libs are no longer bundled with the appimage (libthai.so is
  forcefully bundled via a special option to linuxdeploy).
@veloman-yunkan veloman-yunkan changed the title Kiwix desktop jammy appimage [WIP] Kiwix desktop jammy appimage Oct 30, 2024
@veloman-yunkan
Copy link
Collaborator Author

So we need to introduce a jammy builder. The big question is which of our CI/CD jobs should we switch to that new build platform? Should we only create the kiwix-desktop appimage under jammy or some other builds should be upgraded as well?

@kelson42
Copy link
Contributor

@veloman-yunkan Great but I don't know how/what to answer to you. We probably need to move the whole linux compilation ci/cd on jammy.

@veloman-yunkan
Copy link
Collaborator Author

@veloman-yunkan Great but I don't know how/what to answer to you. We probably need to move the whole linux compilation ci/cd on jammy.

@kelson42 Then I believe that such a transition shouldn't be done as part of this PR. Rather a separate ticket must be opened and the pros and cons of the proposed upgrade should be discussed there in a broader scope.

@kelson42
Copy link
Contributor

kelson42 commented Nov 5, 2024

@veloman-yunkan So what would be the solution for 2.4.0?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants