[DO-1171] update ubuntu to 24.04 (#3)
Reviewed-on: https://git.avroid.tech/Docker/tavro-build-linux/pulls/3 Co-authored-by: aleksandr.vodyanov <aleksandr.vodyanov@avroid.tech> Co-committed-by: aleksandr.vodyanov <aleksandr.vodyanov@avroid.tech>
This commit is contained in:
committed by
Aleksandr Vodyanov
parent
40ea9163e2
commit
0f23f14d6a
49
.gitea/workflows/build-and-push-image.yaml
Normal file
49
.gitea/workflows/build-and-push-image.yaml
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
name: Build and publish docker image
|
||||||
|
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
env:
|
||||||
|
CI: ON
|
||||||
|
|
||||||
|
# Allow workflow to be manually run from the Gitea UI
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build_and_push:
|
||||||
|
runs-on: docker
|
||||||
|
name: Builds the image and publishes to docker hub
|
||||||
|
container:
|
||||||
|
image: harbor.avroid.tech/docker-hub-proxy/catthehacker/ubuntu:act-latest
|
||||||
|
steps:
|
||||||
|
- run: printenv
|
||||||
|
|
||||||
|
- name: Login to Harbor Docker Registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: https://harbor.avroid.tech
|
||||||
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKER_TOKEN }}
|
||||||
|
|
||||||
|
- name: Check out repository code
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
|
- name: "Build image and push"
|
||||||
|
run: |
|
||||||
|
make build
|
||||||
|
|
||||||
|
- name: "Push image"
|
||||||
|
run: |
|
||||||
|
make push
|
||||||
|
if: gitea.branch_name == 'master'
|
||||||
|
|
||||||
|
- name: "Clear image"
|
||||||
|
run: |
|
||||||
|
make clean
|
||||||
|
|
||||||
|
- name: Create and push tag
|
||||||
|
run: |
|
||||||
|
git config user.name "Jenkins"
|
||||||
|
git config user.email "svc-jenkins@avroid.tech"
|
||||||
|
git tag $(make getTag)
|
||||||
|
git push origin $(make getTag)
|
||||||
|
if: gitea.branch_name == 'master'
|
||||||
@@ -1,5 +1,13 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## 1.3
|
||||||
|
|
||||||
|
### 07.10.2024
|
||||||
|
|
||||||
|
CHANGE:
|
||||||
|
|
||||||
|
* Update build base image
|
||||||
|
|
||||||
## 1.2
|
## 1.2
|
||||||
|
|
||||||
### 10.09.2024
|
### 10.09.2024
|
||||||
|
|||||||
20
Dockerfile
20
Dockerfile
@@ -1,12 +1,11 @@
|
|||||||
ARG DOCKER_REGISTRY=harbor.avroid.tech
|
ARG DOCKER_REGISTRY=harbor.avroid.tech
|
||||||
|
|
||||||
# https://hub.docker.com/_/ubuntu
|
# https://hub.docker.com/_/ubuntu
|
||||||
FROM ${DOCKER_REGISTRY}/all/base-build-image:1.4
|
FROM ${DOCKER_REGISTRY}/all/base-build-image:1.8
|
||||||
LABEL description="Linux image for Tavro build" \
|
LABEL description="Linux image for Tavro build" \
|
||||||
tools.qt.version="5.15.14"
|
tools.qt.version="5.15.14"
|
||||||
|
|
||||||
###QT BUILD###
|
###QT BUILD###
|
||||||
ARG NEXUS_URL="https://nexus.avroid.tech"
|
|
||||||
ARG NEXUS_QT_REPO="qt_repo" \
|
ARG NEXUS_QT_REPO="qt_repo" \
|
||||||
VERSION=5.15.14
|
VERSION=5.15.14
|
||||||
|
|
||||||
@@ -52,22 +51,25 @@ RUN apt update && \
|
|||||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||||
|
|
||||||
#download, configure and build qt
|
#download, configure and build qt
|
||||||
|
COPY ./* /tmp/patches/
|
||||||
|
|
||||||
RUN wget ${NEXUS_URL}/repository/${NEXUS_QT_REPO}/v${VERSION}/qt-everywhere-opensource-src-${VERSION}.tar.xz && tar -xJf qt-everywhere-opensource-src-${VERSION}.tar.xz && \
|
RUN wget ${NEXUS_URL}/repository/${NEXUS_QT_REPO}/v${VERSION}/qt-everywhere-opensource-src-${VERSION}.tar.xz && tar -xJf qt-everywhere-opensource-src-${VERSION}.tar.xz && \
|
||||||
ln -sf /usr/bin/python3 /usr/bin/python && rm qt-everywhere-opensource-src-${VERSION}.tar.xz && cd qt-everywhere* && \
|
ln -sf /usr/bin/python3 /usr/bin/python && rm qt-everywhere-opensource-src-${VERSION}.tar.xz && cd qt-everywhere* && \
|
||||||
|
#install patches \
|
||||||
|
patch -p1 < /tmp/patches/0015-remove-detected-xkb-keys.patch && \
|
||||||
|
sed -i '6i #include <cstdint>' qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/geometry.hpp && \
|
||||||
|
sed -i '7i #include <cstdint>' qtlocation/src/3rdparty/mapbox-gl-native/include/mbgl/util/string.hpp && \
|
||||||
|
sed -i '4i #include <cstdint>' qtlocation/src/3rdparty/mapbox-gl-native/src/mbgl/gl/stencil_mode.hpp && \
|
||||||
|
#configure and build qt \
|
||||||
./configure -release -opensource -confirm-license -nomake tests -nomake examples -skip qt3d -skip qtactiveqt -skip qtandroidextras -skip qtdoc -skip qtmacextras -skip qtscript -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebview -skip qtwinextras -skip qtserialbus -xkbcommon -system-harfbuzz -system-libjpeg -no-openssl && \
|
./configure -release -opensource -confirm-license -nomake tests -nomake examples -skip qt3d -skip qtactiveqt -skip qtandroidextras -skip qtdoc -skip qtmacextras -skip qtscript -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebview -skip qtwinextras -skip qtserialbus -xkbcommon -system-harfbuzz -system-libjpeg -no-openssl && \
|
||||||
make -j$(nproc) && make install -j$(nproc) && cd .. && rm -rf qt-everywhere*
|
make -j$(nproc) && make install -j$(nproc) && cd .. && rm -rf qt-everywhere* /tmp/patches
|
||||||
|
|
||||||
# Personalization
|
# Personalization
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
#
|
#
|
||||||
ARG UID=1000
|
ARG USER=ubuntu
|
||||||
ARG GID=1000
|
|
||||||
ARG USER=jenkins
|
|
||||||
ARG USER_GROUP=jenkins
|
|
||||||
ARG USER_HOME=/home/${USER}
|
ARG USER_HOME=/home/${USER}
|
||||||
|
|
||||||
RUN (groupadd -g ${GID} ${USER_GROUP} || true) && \
|
|
||||||
useradd -d ${USER_HOME} -g ${GID} -u ${UID} --shell /bin/bash ${USER}
|
|
||||||
|
|
||||||
USER ${USER}
|
USER ${USER}
|
||||||
WORKDIR ${USER_HOME}
|
WORKDIR ${USER_HOME}
|
||||||
|
|||||||
14
Makefile
14
Makefile
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
IMAGE_NAME = tavro-build-linux
|
IMAGE_NAME = tavro-build-linux
|
||||||
IMAGE_GROUP = tavro
|
IMAGE_GROUP = tavro
|
||||||
IMAGE_TAG = 1.2
|
IMAGE_TAG = 1.3
|
||||||
REVISION =
|
REVISION =
|
||||||
DOCKER_REGISTRY = harbor.avroid.tech
|
DOCKER_REGISTRY = harbor.avroid.tech
|
||||||
|
|
||||||
@@ -14,15 +14,19 @@ all:
|
|||||||
@echo ' make clean'
|
@echo ' make clean'
|
||||||
|
|
||||||
build:
|
build:
|
||||||
DOCKER_BUILDKIT=1 docker build \
|
|
||||||
|
ifeq ($(CI), false)
|
||||||
|
CI_FLAGS='--no-cache'
|
||||||
|
endif
|
||||||
|
|
||||||
|
DOCKER_BUILDKIT=1 $(CI_FLAGS) \
|
||||||
|
docker build \
|
||||||
-f Dockerfile \
|
-f Dockerfile \
|
||||||
--platform linux/amd64 \
|
--platform linux/amd64 \
|
||||||
|
--network "host" \
|
||||||
-t $(DOCKER_REGISTRY)/$(IMAGE_GROUP)/$(IMAGE_NAME):$(IMAGE_TAG)$(REVISION) src/
|
-t $(DOCKER_REGISTRY)/$(IMAGE_GROUP)/$(IMAGE_NAME):$(IMAGE_TAG)$(REVISION) src/
|
||||||
|
|
||||||
push:
|
push:
|
||||||
ifeq ($(CI), false)
|
|
||||||
docker login https://$(DOCKER_REGISTRY)
|
|
||||||
endif
|
|
||||||
docker push $(DOCKER_REGISTRY)/$(IMAGE_GROUP)/$(IMAGE_NAME):$(IMAGE_TAG)$(REVISION)
|
docker push $(DOCKER_REGISTRY)/$(IMAGE_GROUP)/$(IMAGE_NAME):$(IMAGE_TAG)$(REVISION)
|
||||||
|
|
||||||
getTag:
|
getTag:
|
||||||
|
|||||||
45
src/0015-remove-detected-xkb-keys.patch
Normal file
45
src/0015-remove-detected-xkb-keys.patch
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
diff --git a/qtbase/src/corelib/global/qnamespace.h b/qtbase/src/corelib/global/qnamespace.h
|
||||||
|
index 8a2769a3ed..584d3620c9 100644
|
||||||
|
--- a/qtbase/src/corelib/global/qnamespace.h
|
||||||
|
+++ b/qtbase/src/corelib/global/qnamespace.h
|
||||||
|
@@ -832,10 +832,6 @@ namespace Qt {
|
||||||
|
Key_Dead_Small_Schwa = 0x0100128a,
|
||||||
|
Key_Dead_Capital_Schwa = 0x0100128b,
|
||||||
|
Key_Dead_Greek = 0x0100128c,
|
||||||
|
- Key_Dead_Lowline = 0x01001290,
|
||||||
|
- Key_Dead_Aboveverticalline = 0x01001291,
|
||||||
|
- Key_Dead_Belowverticalline = 0x01001292,
|
||||||
|
- Key_Dead_Longsolidusoverlay = 0x01001293,
|
||||||
|
|
||||||
|
// multimedia/internet keys - ignored by default - see QKeyEvent c'tor
|
||||||
|
Key_Back = 0x01000061,
|
||||||
|
diff --git a/qtbase/src/corelib/global/qnamespace.qdoc b/qtbase/src/corelib/global/qnamespace.qdoc
|
||||||
|
index 78c69176d8..1623517b5a 100644
|
||||||
|
--- a/qtbase/src/corelib/global/qnamespace.qdoc
|
||||||
|
+++ b/qtbase/src/corelib/global/qnamespace.qdoc
|
||||||
|
@@ -1654,10 +1654,6 @@
|
||||||
|
\value Key_Dead_Small_Schwa
|
||||||
|
\value Key_Dead_Capital_Schwa
|
||||||
|
\value Key_Dead_Greek
|
||||||
|
- \value Key_Dead_Lowline
|
||||||
|
- \value Key_Dead_Aboveverticalline
|
||||||
|
- \value Key_Dead_Belowverticalline
|
||||||
|
- \value Key_Dead_Longsolidusoverlay
|
||||||
|
\value Key_Back
|
||||||
|
\value Key_Forward
|
||||||
|
\value Key_Stop
|
||||||
|
diff --git a/qtbase/src/platformsupport/input/xkbcommon/qxkbcommon.cpp
|
||||||
|
index fc014b38e2..af1cbbd42a 100644
|
||||||
|
--- a/qtbase/src/platformsupport/input/xkbcommon/qxkbcommon.cpp
|
||||||
|
+++ b/qtbase/src/platformsupport/input/xkbcommon/qxkbcommon.cpp
|
||||||
|
@@ -239,10 +239,6 @@ static constexpr const auto KeyTbl = qMakeArray(
|
||||||
|
Xkb2Qt<XKB_KEY_dead_small_schwa, Qt::Key_Dead_Small_Schwa>,
|
||||||
|
Xkb2Qt<XKB_KEY_dead_capital_schwa, Qt::Key_Dead_Capital_Schwa>,
|
||||||
|
Xkb2Qt<XKB_KEY_dead_greek, Qt::Key_Dead_Greek>,
|
||||||
|
- Xkb2Qt<XKB_KEY_dead_lowline, Qt::Key_Dead_Lowline>,
|
||||||
|
- Xkb2Qt<XKB_KEY_dead_aboveverticalline, Qt::Key_Dead_Aboveverticalline>,
|
||||||
|
- Xkb2Qt<XKB_KEY_dead_belowverticalline, Qt::Key_Dead_Belowverticalline>,
|
||||||
|
- Xkb2Qt<XKB_KEY_dead_longsolidusoverlay, Qt::Key_Dead_Longsolidusoverlay>,
|
||||||
|
|
||||||
|
// Special keys from X.org - This include multimedia keys,
|
||||||
|
// wireless/bluetooth/uwb keys, special launcher keys, etc.
|
||||||
Reference in New Issue
Block a user