diff --git a/Jenkinsfile b/Jenkinsfile index 5dacb95760466eb8dbb06139b126db33a550466d..6b88e3f8e323008402a208741cc7c096c044dcd8 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -76,9 +76,6 @@ pipeline { ' submodules at their Git-recorded commit. When left ' + 'unticked (the default), checkout the submodules at ' + 'their latest commit from their main remote branch.') - booleanParam(name: 'BUILD_ARM', - defaultValue: false, - description: 'Whether to build ARM packages.') booleanParam(name: 'DEPLOY', defaultValue: false, description: 'Whether to deploy packages.') @@ -207,9 +204,6 @@ git tag \$(cat .tarball-version) -am "Jami \$(cat .tarball-version)" } TARGETS = targetsText.split(/\s/) - if (!params.BUILD_ARM) { - TARGETS = TARGETS.findAll { !(it =~ /_(armhf|arm64)$/) } - } def stages = [:] diff --git a/docker/Dockerfile_snap b/docker/Dockerfile_snap index 8c0f68634f28ea9b54bb5e9fb5781c51e28796c3..12cc5600ec11cf921924a953429b72a2302bc52e 100644 --- a/docker/Dockerfile_snap +++ b/docker/Dockerfile_snap @@ -1,5 +1,5 @@ ARG RISK=edge -ARG UBUNTU=xenial +ARG UBUNTU=focal FROM ubuntu:$UBUNTU as builder ARG RISK @@ -22,7 +22,7 @@ RUN unsquashfs -d /snap/core/current core.snap # Grab the core22 snap (which snapcraft uses as a base) from the stable channel # and unpack it in the proper place. -RUN curl -L $(curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/core22?channel=edge' | jq '.download_url' -r) --output core22.snap +RUN curl -L $(curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/core22?channel='$RISK | jq '.download_url' -r) --output core22.snap RUN mkdir -p /snap/core22 RUN unsquashfs -d /snap/core22/current core22.snap @@ -32,6 +32,12 @@ RUN curl -L $(curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/sna RUN mkdir -p /snap/core20 RUN unsquashfs -d /snap/core20/current core20.snap +# Grab the core20 snap (which snapcraft uses as a base) from the stable channel +# and unpack it in the proper place. +RUN curl -L $(curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/lxd' | jq '.download_url' -r) --output lxd.snap +RUN mkdir -p /snap/lxd +RUN unsquashfs -d /snap/lxd/current lxd.snap + # Grab the snapcraft snap from the $RISK channel and unpack it in the proper # place. RUN curl -L $(curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/snapcraft?channel='$RISK | jq '.download_url' -r) --output snapcraft.snap @@ -59,17 +65,18 @@ FROM ubuntu:$UBUNTU COPY --from=builder /snap/core /snap/core COPY --from=builder /snap/core22 /snap/core22 COPY --from=builder /snap/core20 /snap/core20 +COPY --from=builder /snap/lxd /snap/lxd COPY --from=builder /snap/snapcraft /snap/snapcraft COPY --from=builder /snap/bin/snapcraft /snap/bin/snapcraft # Generate locale and install dependencies. -RUN apt-get update && apt-get dist-upgrade --yes && apt-get install --yes snapd sudo locales && locale-gen en_US.UTF-8 +RUN apt-get update && apt-get dist-upgrade --yes && apt-get install --yes snapd sudo apt-transport-https locales && locale-gen en_US.UTF-8 # Set the proper environment. ENV LANG="en_US.UTF-8" ENV LANGUAGE="en_US:en" ENV LC_ALL="en_US.UTF-8" -ENV PATH="/snap/bin:/snap/snapcraft/current/usr/bin:$PATH" +ENV PATH="/snap/bin:/snap/snapcraft/current/usr/bin:/snap/snapcraft/current/libexec/snapcraft/:$PATH" ENV SNAP="/snap/snapcraft/current" ENV SNAP_NAME="snapcraft" ENV SNAP_ARCH="amd64" diff --git a/packaging/rules/snap/jami/snapcraft.yaml b/packaging/rules/snap/jami/snapcraft.yaml index 888fc2a3c081082c3fb87ce8f35c14ebe13f8336..2bf7359dada122064be8aff4bc4da8ceb2bf2f56 100644 --- a/packaging/rules/snap/jami/snapcraft.yaml +++ b/packaging/rules/snap/jami/snapcraft.yaml @@ -85,13 +85,13 @@ description: | confinement: strict grade: stable -base: core22 +base: core20 plugs: - gnome-42-2204: + gnome-3-38-2004: interface: content target: $SNAP/gnome-platform - default-provider: gnome-42-2204:gnome-42-2204 + default-provider: gnome-3-38-2004:gnome-3-38-2004 gtk-3-themes: interface: content target: $SNAP/data-dir/themes @@ -168,7 +168,7 @@ package-repositories: components: [main] suites: [jami] key-id: A295D773307D25A33AE72F2F64CD5FA175348F84 - url: https://dl.jami.net/nightly/ubuntu_22.04/ + url: https://dl.jami.net/nightly/ubuntu_20.04/ parts: desktop-launch: @@ -329,7 +329,7 @@ parts: - libgstreamer-plugins-base1.0-0 - libgstreamer1.0-0 - libgudev-1.0-0 - - libjsoncpp25 + - libjsoncpp1 - libllvm12 - libminizip1 - libnm0 diff --git a/scripts/build-package-snap.sh b/scripts/build-package-snap.sh index c7ce4c40913d12672fcafd6b93d9495e9c0c2b93..fa5c86944b095af7de922c643dfc2f309b331bc4 100755 --- a/scripts/build-package-snap.sh +++ b/scripts/build-package-snap.sh @@ -30,7 +30,7 @@ cd /opt/jami-project/packaging/rules/snap/${SNAP_PKG_NAME}/ # set the version and tarball filename sed -i "s/RELEASE_VERSION/${RELEASE_VERSION}/g" snapcraft.yaml -snapcraft # requires snapcraft >= 4.8 +snapcraft --destructive-mode # requires snapcraft >= 4.8 # move the built snap to output mv *.snap /opt/output/