From c784aca7ab170f79afc143bc053e1a9e7c096e69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Malte=20J=C3=BCrgens?= Date: Thu, 21 Jul 2022 21:01:31 +0200 Subject: [PATCH 01/18] bootstrap wasi with `./mach artifact toolchain` --- assets/linux.Dockerfile | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/assets/linux.Dockerfile b/assets/linux.Dockerfile index 69cd3bc..657fd78 100644 --- a/assets/linux.Dockerfile +++ b/assets/linux.Dockerfile @@ -17,20 +17,13 @@ ENV TZ=Europe/Amsterdam RUN ( apt-get -y update && apt-get -y upgrade && apt-get -y install mercurial python3 python3-dev python3-pip wget dpkg-sig ; true) RUN ( dnf -y upgrade && dnf -y install mercurial python3 python3-devel wget rpm-build rpm-sign ; true) -# setup wasi -RUN export target_wasi_location=$HOME/.mozbuild/wrlb/ &&\ - wget -q https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-$wasi_mainversion/wasi-sdk-$wasi_fullversion-linux.tar.gz &&\ - tar xf wasi-sdk-$wasi_fullversion-linux.tar.gz &&\ - mkdir -p $target_wasi_location &&\ - rm -rf $target_wasi_location/wasi-sysroot &&\ - cp -r wasi-sdk-$wasi_fullversion/share/wasi-sysroot $target_wasi_location &&\ - rm -f wasi-sdk-*.tar.gz* && rm -rf wasi-sdk-* - # run the bootstrap -RUN wget -q -O librewolf-$version-$source_release.source.tar.gz https://gitlab.com/librewolf-community/browser/source/-/jobs/artifacts/main/raw/librewolf-$version-$source_release.source.tar.gz?job=Build &&\ +RUN cd /tmp &&\ + wget -q -O librewolf-$version-$source_release.source.tar.gz https://gitlab.com/librewolf-community/browser/source/-/jobs/artifacts/main/raw/librewolf-$version-$source_release.source.tar.gz?job=Build &&\ tar xf librewolf-$version-$source_release.source.tar.gz &&\ cd librewolf-$version-$source_release &&\ MOZBUILD_STATE_PATH=$HOME/.mozbuild ./mach --no-interactive bootstrap --application-choice=browser &&\ + (cd /root/.mozbuild && /tmp/librewolf-$version-$source_release/mach artifact toolchain --from-build sysroot-wasm32-wasi) &&\ /root/.cargo/bin/cargo install cbindgen &&\ cd .. &&\ rm -rf librewolf-$version-$source_release librewolf-$version-$source_release.source.tar.gz From b692336165769e45285e765659b208842b046db5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Malte=20J=C3=BCrgens?= Date: Thu, 21 Jul 2022 22:38:09 +0200 Subject: [PATCH 02/18] bump version to 102.0.1-2 --- source_release | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source_release b/source_release index d00491f..0cfbf08 100644 --- a/source_release +++ b/source_release @@ -1 +1 @@ -1 +2 From ea6e889fb633dd52dfcbceaae7b2bf6ace61e742 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Malte=20J=C3=BCrgens?= Date: Thu, 21 Jul 2022 22:38:47 +0200 Subject: [PATCH 03/18] add `tumbleweed` target --- .gitlab-ci.yml | 13 +++++++++++++ Makefile | 11 ++++++++++- assets/linux.Dockerfile | 5 +++-- assets/linux.build-rpm.sh | 1 + 4 files changed, 27 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d908fbc..3c63454 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -22,6 +22,7 @@ Build Docker Images: - mint20 - fedora35 - fedora36 + - tumbleweed - macos-x86_64 - macos-aarch64 variables: @@ -54,6 +55,7 @@ Build: - mint20 - fedora35 - fedora36 + - tumbleweed - macos-x86_64 - macos-aarch64 variables: @@ -120,6 +122,8 @@ Release: upload_package librewolf-$FILEVER.fc35.x86_64.rpm.sha256sum upload_package librewolf-$FILEVER.fc36.x86_64.rpm upload_package librewolf-$FILEVER.fc36.x86_64.rpm.sha256sum + upload_package librewolf-$FILEVER.tumbleweed.x86_64.rpm + upload_package librewolf-$FILEVER.tumbleweed.x86_64.rpm.sha256sum upload_package librewolf-$FILEVER.en-US.mac.x86_64.dmg upload_package librewolf-$FILEVER.en-US.mac.x86_64.dmg.sha256sum upload_package librewolf-$FILEVER.en-US.mac.aarch64.dmg @@ -171,6 +175,12 @@ Release: - name: Fedora 36 (sha256sum) link_type: other url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc36.x86_64.rpm.sha256sum + - name: openSUSE Tumbleweed (rpm) + link_type: package + url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.tumbleweed.x86_64.rpm + - name: openSUSE Tumbleweed (sha256sum) + link_type: other + url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.tumbleweed.x86_64.rpm.sha256sum - name: macOS x86_64 (dmg) link_type: package url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.mac.x86_64.dmg @@ -231,6 +241,9 @@ Update Repositories: }, { "file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc36.x86_64.rpm" + }, + { + "file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.tumbleweed.x86_64.rpm" } ] } diff --git a/Makefile b/Makefile index 8f871fe..95721ca 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY : help clean veryclean prune docker push rmi build update work docker-debian11 debian11 docker-mint20 mint20 docker-ubuntu20 ubuntu20 docker-ubuntu21 ubuntu21 docker-ubuntu22 ubuntu22 docker-fedora34 fedora34 docker-fedora35 fedora35 docker-fedora36 fedora36 docker-macos-x86_64 macos-x86_64 docker-macos-aarch64 macos-aarch64 tarball +.PHONY : help clean veryclean prune docker push rmi build update work docker-debian11 debian11 docker-mint20 mint20 docker-ubuntu20 ubuntu20 docker-ubuntu21 ubuntu21 docker-ubuntu22 ubuntu22 docker-fedora34 fedora34 docker-fedora35 fedora35 docker-fedora36 fedora36 docker-macos-x86_64 macos-x86_64 docker-macos-aarch64 macos-aarch64 docker-tumbleweed tumbleweed tarball version:=$(shell cat version) release:=$(shell cat release) @@ -23,6 +23,7 @@ help : @echo " [docker-fedora36]" @echo " [docker-macos-x86_64]" @echo " [docker-macos-aarch64]" + @echo " [docker-tumbleweed]" @echo "" @echo "build targets:" @echo " [debian11]" @@ -35,6 +36,7 @@ help : @echo " [fedora36]" @echo " [macos-x64_64]" @echo " [macos-aarch64]" + @echo " [tumbleweed]" @echo " [tarball]" @echo "" @@ -119,6 +121,7 @@ $(tarball) : work : $(tarball) mkdir work (cd work && tar xf ../$(tarball)) + echo ac_add_options --enable-bootstrap >> work/librewolf-$(version)-$(source_release)/mozconfig @@ -175,6 +178,12 @@ docker-fedora36 : fedora36 : ${MAKE} -f assets/linux.mk distro=fedora36 build ${MAKE} -f assets/linux.artifacts.mk fc=fc36 distro=fedora36 artifacts-rpm +## opensuse tumbleweed +docker-tumbleweed : + ${MAKE} -f assets/linux.mk distro=tumbleweed "distro_image=opensuse/tumbleweed" docker +tumbleweed : + ${MAKE} -f assets/linux.mk distro=tumbleweed build + ${MAKE} -f assets/linux.artifacts.mk fc=tumbleweed distro=tumbleweed artifacts-rpm ## tarball tarball : diff --git a/assets/linux.Dockerfile b/assets/linux.Dockerfile index 657fd78..7dba808 100644 --- a/assets/linux.Dockerfile +++ b/assets/linux.Dockerfile @@ -14,8 +14,9 @@ ENV TZ=Europe/Amsterdam # dependencies needed to run ./mach bootstrap -RUN ( apt-get -y update && apt-get -y upgrade && apt-get -y install mercurial python3 python3-dev python3-pip wget dpkg-sig ; true) -RUN ( dnf -y upgrade && dnf -y install mercurial python3 python3-devel wget rpm-build rpm-sign ; true) +RUN ( apt-get -y update && apt-get -y upgrade && apt-get -y install python3 python3-dev python3-pip wget dpkg-sig ; true) +RUN ( dnf -y upgrade && dnf -y install python3 python3-devel wget rpm-build rpm-sign ; true) +RUN ( zypper -n in mercurial python3 python3-pip python3-devel wget rpm-build lld ; true) # run the bootstrap RUN cd /tmp &&\ diff --git a/assets/linux.build-rpm.sh b/assets/linux.build-rpm.sh index d70135c..4ce00c9 100755 --- a/assets/linux.build-rpm.sh +++ b/assets/linux.build-rpm.sh @@ -39,6 +39,7 @@ echo '---' rm -rf rpmbuild mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} +rm -rf /usr/src && ln -sv /WORK /usr/src # Required for openSUSE sed "s/__VERSION__/$version/g" /work/tmp.spec sed "s/__RELEASE__/$full_release/g" rpmbuild/SPECS/librewolf.spec From e25ed5c3dbe5b143d7541e39187582bcd0e78c1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Malte=20J=C3=BCrgens?= Date: Thu, 21 Jul 2022 23:45:57 +0200 Subject: [PATCH 04/18] remove wasi bootstrap --- assets/linux.Dockerfile | 1 - assets/macos.Dockerfile | 9 --------- 2 files changed, 10 deletions(-) diff --git a/assets/linux.Dockerfile b/assets/linux.Dockerfile index 7dba808..8b6432e 100644 --- a/assets/linux.Dockerfile +++ b/assets/linux.Dockerfile @@ -24,7 +24,6 @@ RUN cd /tmp &&\ tar xf librewolf-$version-$source_release.source.tar.gz &&\ cd librewolf-$version-$source_release &&\ MOZBUILD_STATE_PATH=$HOME/.mozbuild ./mach --no-interactive bootstrap --application-choice=browser &&\ - (cd /root/.mozbuild && /tmp/librewolf-$version-$source_release/mach artifact toolchain --from-build sysroot-wasm32-wasi) &&\ /root/.cargo/bin/cargo install cbindgen &&\ cd .. &&\ rm -rf librewolf-$version-$source_release librewolf-$version-$source_release.source.tar.gz diff --git a/assets/macos.Dockerfile b/assets/macos.Dockerfile index 91af949..a463aed 100644 --- a/assets/macos.Dockerfile +++ b/assets/macos.Dockerfile @@ -16,15 +16,6 @@ ENV wasi_mainversion 14 # dependencies needed to run ./mach bootstrap RUN apt-get -y update && apt-get -y upgrade && apt-get -y install mercurial python3 python3-dev python3-pip wget build-essential libpython3-dev m4 unzip uuid zip libasound2-dev libcurl4-openssl-dev libdbus-1-dev libdbus-glib-1-dev libdrm-dev libgtk-3-dev libpulse-dev libx11-xcb-dev libxt-dev xvfb rsync -# setup wasi -RUN export target_wasi_location=$HOME/.mozbuild/wrlb/ &&\ - wget -q https://github.com/WebAssembly/wasi-sdk/releases/download/wasi-sdk-$wasi_mainversion/wasi-sdk-$wasi_fullversion-linux.tar.gz &&\ - tar xf wasi-sdk-$wasi_fullversion-linux.tar.gz &&\ - mkdir -p $target_wasi_location &&\ - rm -rf $target_wasi_location/wasi-sysroot &&\ - cp -r wasi-sdk-$wasi_fullversion/share/wasi-sysroot $target_wasi_location &&\ - rm -f wasi-sdk-*.tar.gz* && rm -rf wasi-sdk-* - # setup osx sdk RUN mkdir -p /osx-cross/MacOSX-SDKs &&\ cd /osx-cross/MacOSX-SDKs &&\ From bf7c7fa1521a1728a565b56eb398cd6521cc81ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Malte=20J=C3=BCrgens?= Date: Fri, 22 Jul 2022 00:02:06 +0200 Subject: [PATCH 05/18] bump version to 102.0.1-3 --- source_release | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source_release b/source_release index 0cfbf08..00750ed 100644 --- a/source_release +++ b/source_release @@ -1 +1 @@ -2 +3 From b35d030dcbface162f2f5e0a1ddbd80531a47e49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Malte=20J=C3=BCrgens?= Date: Sat, 23 Jul 2022 21:18:42 +0200 Subject: [PATCH 06/18] Fix build errors by implmenting dind on gitlab ci --- .gitlab-ci.yml | 34 ++++++---------------------------- Makefile | 20 +++++++++++++++++--- assets/dind.Dockerfile | 9 +++++++++ assets/linux.Dockerfile | 3 ++- assets/linux.mk | 1 + assets/macos.Dockerfile | 2 ++ assets/macos.mozconfig | 4 ---- source_release | 2 +- 8 files changed, 38 insertions(+), 37 deletions(-) create mode 100644 assets/dind.Dockerfile diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3c63454..5309b63 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -9,15 +9,17 @@ Build Docker Images: when: manual only: - master - image: ubuntu + image: registry.gitlab.com/librewolf-community/browser/bsys5/dind + # Needed because we aren't using our custom runners here services: - docker:dind + variables: + DOCKER_HOST: tcp://docker:2375 parallel: matrix: - DISTRO: - debian11 - ubuntu20 - - ubuntu21 - ubuntu22 - mint20 - fedora35 @@ -25,17 +27,7 @@ Build Docker Images: - tumbleweed - macos-x86_64 - macos-aarch64 - variables: - DOCKER_HOST: tcp://docker:2375 - # Install docker and make - before_script: - - apt-get update - - apt-get install -y ca-certificates curl gnupg lsb-release - - curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg - - echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null - - apt-get update - - apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin make - # Build container + - dind script: - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD registry.gitlab.com - make docker-$DISTRO @@ -50,7 +42,6 @@ Build: - DISTRO: - debian11 - ubuntu20 - - ubuntu21 - ubuntu22 - mint20 - fedora35 @@ -60,8 +51,7 @@ Build: - macos-aarch64 variables: SOURCE_URL: $SOURCE_URL - use_docker: "false" - image: registry.gitlab.com/librewolf-community/browser/bsys5/$DISTRO + image: registry.gitlab.com/librewolf-community/browser/bsys5/dind tags: - autoscale except: @@ -112,8 +102,6 @@ Release: upload_package librewolf-$FILEVER.en-US.debian11.x86_64.deb.sha256sum upload_package librewolf-$FILEVER.en-US.ubuntu20.x86_64.deb upload_package librewolf-$FILEVER.en-US.ubuntu20.x86_64.deb.sha256sum - upload_package librewolf-$FILEVER.en-US.ubuntu21.x86_64.deb - upload_package librewolf-$FILEVER.en-US.ubuntu21.x86_64.deb.sha256sum upload_package librewolf-$FILEVER.en-US.ubuntu22.x86_64.deb upload_package librewolf-$FILEVER.en-US.ubuntu22.x86_64.deb.sha256sum upload_package librewolf-$FILEVER.en-US.mint20.x86_64.deb @@ -145,12 +133,6 @@ Release: - name: Ubuntu 20 (sha256sum) link_type: other url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.ubuntu20.x86_64.deb.sha256sum - - name: Ubuntu 21 (deb) - link_type: package - url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.ubuntu21.x86_64.deb - - name: Ubuntu 21 (sha256sum) - link_type: other - url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.ubuntu21.x86_64.deb.sha256sum - name: Ubuntu 22 (deb) link_type: package url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.ubuntu22.x86_64.deb @@ -222,10 +204,6 @@ Update Repositories: "file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.ubuntu20.x86_64.deb", "distros": ["focal"] }, - { - "file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.ubuntu21.x86_64.deb", - "distros": ["impish"] - }, { "file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.ubuntu22.x86_64.deb", "distros": ["jammy"] diff --git a/Makefile b/Makefile index 95721ca..60179e2 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY : help clean veryclean prune docker push rmi build update work docker-debian11 debian11 docker-mint20 mint20 docker-ubuntu20 ubuntu20 docker-ubuntu21 ubuntu21 docker-ubuntu22 ubuntu22 docker-fedora34 fedora34 docker-fedora35 fedora35 docker-fedora36 fedora36 docker-macos-x86_64 macos-x86_64 docker-macos-aarch64 macos-aarch64 docker-tumbleweed tumbleweed tarball +.PHONY : help clean veryclean prune docker push rmi build update work docker-debian11 debian11 docker-mint20 mint20 docker-ubuntu20 ubuntu20 docker-ubuntu21 ubuntu21 docker-ubuntu22 ubuntu22 docker-fedora34 fedora34 docker-fedora35 fedora35 docker-fedora36 fedora36 docker-macos-x86_64 macos-x86_64 docker-macos-aarch64 macos-aarch64 docker-tumbleweed tumbleweed tarball docker-dind version:=$(shell cat version) release:=$(shell cat release) @@ -24,6 +24,7 @@ help : @echo " [docker-macos-x86_64]" @echo " [docker-macos-aarch64]" @echo " [docker-tumbleweed]" + @echo " [docker-dind]" @echo "" @echo "build targets:" @echo " [debian11]" @@ -53,7 +54,7 @@ veryclean : clean prune : docker system prune --all --force -docker : docker-debian11 docker-mint20 docker-ubuntu20 docker-ubuntu21 docker-ubuntu22 docker-fedora34 docker-fedora35 docker-fedora36 docker-macos-x86_64 docker-macos-aarch64 +docker : docker-debian11 docker-mint20 docker-ubuntu20 docker-ubuntu21 docker-ubuntu22 docker-fedora34 docker-fedora35 docker-fedora36 docker-tumbleweed docker-macos-x86_64 docker-macos-aarch64 docker-dind build : ${MAKE} clean @@ -73,6 +74,8 @@ build : ${MAKE} clean ${MAKE} fedora36 ${MAKE} clean + ${MAKE} tumbleweed + ${MAKE} clean ${MAKE} macos-x86_64 ${MAKE} clean ${MAKE} macos-aarch64 @@ -87,8 +90,10 @@ push : docker push registry.gitlab.com/librewolf-community/browser/bsys5/fedora34 docker push registry.gitlab.com/librewolf-community/browser/bsys5/fedora35 docker push registry.gitlab.com/librewolf-community/browser/bsys5/fedora36 + docker push registry.gitlab.com/librewolf-community/browser/bsys5/tumbleweed docker push registry.gitlab.com/librewolf-community/browser/bsys5/macos-x86_64 docker push registry.gitlab.com/librewolf-community/browser/bsys5/macos-aarch64 + docker push registry.gitlab.com/librewolf-community/browser/bsys5/dind rmi : docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/debian11 @@ -99,8 +104,10 @@ rmi : docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/fedora34 docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/fedora35 docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/fedora36 + docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/tumbleweed docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/macos-x86_64 docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/macos-aarch64 + docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/dind update : @wget -q -O version "https://gitlab.com/librewolf-community/browser/source/-/raw/main/version" @@ -121,7 +128,6 @@ $(tarball) : work : $(tarball) mkdir work (cd work && tar xf ../$(tarball)) - echo ac_add_options --enable-bootstrap >> work/librewolf-$(version)-$(source_release)/mozconfig @@ -207,3 +213,11 @@ docker-macos-aarch64 : ${MAKE} -f assets/macos.mk arch=aarch64 docker macos-aarch64 : ${MAKE} -f assets/macos.mk arch=aarch64 build + + +# +# Docker in Docker (for GitLab CI) +# + +docker-dind : + docker build -f assets/dind.Dockerfile -t registry.gitlab.com/librewolf-community/browser/bsys5/dind:latest . diff --git a/assets/dind.Dockerfile b/assets/dind.Dockerfile new file mode 100644 index 0000000..37c2a5a --- /dev/null +++ b/assets/dind.Dockerfile @@ -0,0 +1,9 @@ +FROM ubuntu:jammy + +RUN apt-get update &&\ + apt-get install -y ca-certificates curl gnupg lsb-release &&\ + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg &&\ + echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null &&\ + apt-get update &&\ + apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin make wget lbzip2 &&\ + apt-get clean diff --git a/assets/linux.Dockerfile b/assets/linux.Dockerfile index 8b6432e..fd8de85 100644 --- a/assets/linux.Dockerfile +++ b/assets/linux.Dockerfile @@ -16,7 +16,7 @@ ENV TZ=Europe/Amsterdam # dependencies needed to run ./mach bootstrap RUN ( apt-get -y update && apt-get -y upgrade && apt-get -y install python3 python3-dev python3-pip wget dpkg-sig ; true) RUN ( dnf -y upgrade && dnf -y install python3 python3-devel wget rpm-build rpm-sign ; true) -RUN ( zypper -n in mercurial python3 python3-pip python3-devel wget rpm-build lld ; true) +RUN ( zypper -n in mercurial python3 python3-pip python3-devel wget rpm-build ; true) # run the bootstrap RUN cd /tmp &&\ @@ -24,6 +24,7 @@ RUN cd /tmp &&\ tar xf librewolf-$version-$source_release.source.tar.gz &&\ cd librewolf-$version-$source_release &&\ MOZBUILD_STATE_PATH=$HOME/.mozbuild ./mach --no-interactive bootstrap --application-choice=browser &&\ + (cd /root/.mozbuild && /tmp/librewolf-$version-$source_release/mach artifact toolchain --from-build sysroot-wasm32-wasi) &&\ /root/.cargo/bin/cargo install cbindgen &&\ cd .. &&\ rm -rf librewolf-$version-$source_release librewolf-$version-$source_release.source.tar.gz diff --git a/assets/linux.mk b/assets/linux.mk index 94315e9..5393f4d 100644 --- a/assets/linux.mk +++ b/assets/linux.mk @@ -18,6 +18,7 @@ build : $(outfile) $(outfile).sha256sum $(outfile) : ${MAKE} work + if [ "$(distro)" != "tumbleweed" ]; then ln -sfv ./lw/mozconfig.new.without-bootstrap work/librewolf-$(version)-$(source_release)/mozconfig; fi ifeq ($(use_docker),false) (cd work/librewolf-$(version)-$(source_release) && ./mach build && echo 'Packaging... (output hidden)' && cat browser/locales/shipped-locales | xargs ./mach package-multi-locale --locales >/dev/null) else diff --git a/assets/macos.Dockerfile b/assets/macos.Dockerfile index a463aed..7bcfc5d 100644 --- a/assets/macos.Dockerfile +++ b/assets/macos.Dockerfile @@ -35,11 +35,13 @@ RUN ./mach artifact toolchain --from-build linux64-libdmg RUN ./mach artifact toolchain --from-build linux64-cctools-port RUN ./mach artifact toolchain --from-build linux64-hfsplus RUN ./mach artifact toolchain --from-build linux64-binutils +RUN ./mach artifact toolchain --from-build sysroot-wasm32-wasi ## RUN ./mach artifact toolchain --from-build linux64-clang-macosx-cross RUN /root/.cargo/bin/cargo install cbindgen RUN /root/.cargo/bin/rustup target add $arch-apple-darwin RUN cp -r binutils /root/.mozbuild RUN cp -r cctools /root/.mozbuild +RUN cp -r sysroot-wasm32-wasi /root/.mozbuild ## RUN cp -r clang /root/.mozbuild RUN cp -r dmg /root/.mozbuild RUN cp -r hfsplus-tools /root/.mozbuild diff --git a/assets/macos.mozconfig b/assets/macos.mozconfig index e236eaa..180e0d9 100644 --- a/assets/macos.mozconfig +++ b/assets/macos.mozconfig @@ -55,7 +55,3 @@ mk_add_options MOZ_CRASHREPORTER=0 mk_add_options MOZ_DATA_REPORTING=0 mk_add_options MOZ_SERVICES_HEALTHREPORT=0 mk_add_options MOZ_TELEMETRY_REPORTING=0 - -# wasi: we ask maintainers to all use this as wasi sysroot.. -# There is a script 'setup-wasi-linux.sh' that attempts to download the wasi sdk and place it into the location pointed to below. -ac_add_options --with-wasi-sysroot=/root/.mozbuild/wrlb/wasi-sysroot diff --git a/source_release b/source_release index 00750ed..b8626c4 100644 --- a/source_release +++ b/source_release @@ -1 +1 @@ -3 +4 From 660c1bb4c325de92bf2001175a1d6187e623a335 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Malte=20J=C3=BCrgens?= Date: Sat, 23 Jul 2022 22:02:29 +0200 Subject: [PATCH 07/18] update target table --- README.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index a7bf24a..e548e91 100644 --- a/README.md +++ b/README.md @@ -9,15 +9,16 @@ scripts. ## Supported Targets -| Platform | x86_64 | aarch64 | -| --------------- | --------------------------------- | ------------------ | -| Linux | | | -| └─ Debian (deb) | ✅ (debian11) | - | -| └─ Ubuntu (deb) | ✅ (ubuntu20, ubuntu21, ubuntu22) | - | -| └─ Mint (deb) | ✅ (mint20) | - | -| └─ Fedora (rpm) | ✅ (fedora35, fedora36) | - | -| MacOS (dmg) | ✅ (macos-x64_64) | ✅ (macos-aarch64) | -| Windows | _WIP_ | - | +| Platform | x86_64 | aarch64 | +| ----------------- | ----------------------- | ------------------ | +| Linux | | | +| └─ Debian (deb) | ✅ (debian11) | - | +| └─ Ubuntu (deb) | ✅ (ubuntu20, ubuntu22) | - | +| └─ Mint (deb) | ✅ (mint20) | - | +| └─ Fedora (rpm) | ✅ (fedora35, fedora36) | - | +| └─ openSUSE (rpm) | ✅ (tumbleweed) | - | +| MacOS (dmg) | ✅ (macos-x64_64) | ✅ (macos-aarch64) | +| Windows | _WIP_ | - | ## Running bsys5 Locally From 46f1bf0851e6d75f6b38aa1345d551b7cd061990 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Malte=20J=C3=BCrgens?= Date: Sun, 24 Jul 2022 14:21:09 +0200 Subject: [PATCH 08/18] add `Distribution` header to rpm specfile --- assets/linux.librewolf.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/assets/linux.librewolf.spec b/assets/linux.librewolf.spec index a394600..2c4ef29 100644 --- a/assets/linux.librewolf.spec +++ b/assets/linux.librewolf.spec @@ -6,6 +6,7 @@ Summary: The LibreWolf browser License: MPL URL: https://librewolf-community.gitlab.io/ Source0: lw.tar.gz +Distribution: %(source /etc/os-release && echo $PRETTY_NAME) #BuildRequires: #Requires: %description From 016c20f0acf9f45c623b098681ecec17e3093f75 Mon Sep 17 00:00:00 2001 From: Bert van der Weerd Date: Mon, 25 Jul 2022 17:43:02 +0200 Subject: [PATCH 09/18] Mon 25 Jul 2022 05:43:02 PM CEST --- source_release | 2 +- version | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source_release b/source_release index b8626c4..d00491f 100644 --- a/source_release +++ b/source_release @@ -1 +1 @@ -4 +1 diff --git a/version b/version index 5d5a75a..6772b45 100644 --- a/version +++ b/version @@ -1 +1 @@ -102.0.1 \ No newline at end of file +103.0 \ No newline at end of file From 831d38ad97468a0306ef6fafba3e9d1e977b046f Mon Sep 17 00:00:00 2001 From: Bert van der Weerd Date: Thu, 28 Jul 2022 15:45:44 +0200 Subject: [PATCH 10/18] v103.0-2 --- source_release | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source_release b/source_release index d00491f..0cfbf08 100644 --- a/source_release +++ b/source_release @@ -1 +1 @@ -1 +2 From b064e0d184d86abbb67bae4572677f26810547c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Malte=20J=C3=BCrgens?= Date: Fri, 29 Jul 2022 01:39:02 +0200 Subject: [PATCH 11/18] allow for custom SOURCE_URL --- Makefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Makefile b/Makefile index 60179e2..6a04f6f 100644 --- a/Makefile +++ b/Makefile @@ -122,9 +122,13 @@ update : ## setting up the work folder tarball=librewolf-$(version)-$(source_release).source.tar.gz $(tarball) : +ifeq ($(SOURCE_URL),) wget -q -O $(tarball) "https://gitlab.com/api/v4/projects/32320088/packages/generic/librewolf-source/$(version)-$(source_release)/$(tarball)" wget -q -O $(tarball).sha256sum "https://gitlab.com/api/v4/projects/32320088/packages/generic/librewolf-source/$(version)-$(source_release)/$(tarball).sha256sum" sha256sum -c $(tarball).sha256sum +else + wget -q -O $(tarball) "$(SOURCE_URL)" +endif work : $(tarball) mkdir work (cd work && tar xf ../$(tarball)) From f65583f9bb31f2c116712baea18d4a21f27d54a6 Mon Sep 17 00:00:00 2001 From: Bert van der Weerd Date: Fri, 29 Jul 2022 10:15:05 +0200 Subject: [PATCH 12/18] updated source_release --- source_release | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source_release b/source_release index 0cfbf08..00750ed 100644 --- a/source_release +++ b/source_release @@ -1 +1 @@ -2 +3 From a1831bf8567ff59bed00d0675295323d98a0d6ea Mon Sep 17 00:00:00 2001 From: stanzabird Date: Fri, 29 Jul 2022 09:16:26 +0000 Subject: [PATCH 13/18] Update Makefile --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 6a04f6f..4a60be5 100644 --- a/Makefile +++ b/Makefile @@ -127,7 +127,7 @@ ifeq ($(SOURCE_URL),) wget -q -O $(tarball).sha256sum "https://gitlab.com/api/v4/projects/32320088/packages/generic/librewolf-source/$(version)-$(source_release)/$(tarball).sha256sum" sha256sum -c $(tarball).sha256sum else - wget -q -O $(tarball) "$(SOURCE_URL)" + wget -q -O $(tarball) "$$(SOURCE_URL)" endif work : $(tarball) mkdir work From 25dbc8f9bcc477c97909215d969973ad1a9c1f28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Malte=20J=C3=BCrgens?= Date: Fri, 29 Jul 2022 14:24:42 +0200 Subject: [PATCH 14/18] fix error in gitlab ci --- .gitlab-ci.yml | 2 -- Makefile | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5309b63..82f207e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -49,8 +49,6 @@ Build: - tumbleweed - macos-x86_64 - macos-aarch64 - variables: - SOURCE_URL: $SOURCE_URL image: registry.gitlab.com/librewolf-community/browser/bsys5/dind tags: - autoscale diff --git a/Makefile b/Makefile index 4a60be5..6a04f6f 100644 --- a/Makefile +++ b/Makefile @@ -127,7 +127,7 @@ ifeq ($(SOURCE_URL),) wget -q -O $(tarball).sha256sum "https://gitlab.com/api/v4/projects/32320088/packages/generic/librewolf-source/$(version)-$(source_release)/$(tarball).sha256sum" sha256sum -c $(tarball).sha256sum else - wget -q -O $(tarball) "$$(SOURCE_URL)" + wget -q -O $(tarball) "$(SOURCE_URL)" endif work : $(tarball) mkdir work From ce966941fee14bf1a659c51bd40d3e1906b60e1f Mon Sep 17 00:00:00 2001 From: Bert van der Weerd Date: Fri, 5 Aug 2022 13:19:01 +0200 Subject: [PATCH 15/18] v103.0.1 --- source_release | 2 +- version | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source_release b/source_release index 00750ed..d00491f 100644 --- a/source_release +++ b/source_release @@ -1 +1 @@ -3 +1 diff --git a/version b/version index 6772b45..520a26d 100644 --- a/version +++ b/version @@ -1 +1 @@ -103.0 \ No newline at end of file +103.0.1 \ No newline at end of file From 5c385c24ce587a7a2ca225aece3d3b2163afc9ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Malte=20J=C3=BCrgens?= Date: Sun, 7 Aug 2022 21:19:44 +0200 Subject: [PATCH 16/18] add mint21 target --- .gitlab-ci.yml | 14 ++++++++++++++ Makefile | 16 ++++++++++++++-- README.md | 2 +- 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 82f207e..3294494 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -22,6 +22,7 @@ Build Docker Images: - ubuntu20 - ubuntu22 - mint20 + - mint21 - fedora35 - fedora36 - tumbleweed @@ -44,6 +45,7 @@ Build: - ubuntu20 - ubuntu22 - mint20 + - mint21 - fedora35 - fedora36 - tumbleweed @@ -104,6 +106,8 @@ Release: upload_package librewolf-$FILEVER.en-US.ubuntu22.x86_64.deb.sha256sum upload_package librewolf-$FILEVER.en-US.mint20.x86_64.deb upload_package librewolf-$FILEVER.en-US.mint20.x86_64.deb.sha256sum + upload_package librewolf-$FILEVER.en-US.mint21.x86_64.deb + upload_package librewolf-$FILEVER.en-US.mint21.x86_64.deb.sha256sum upload_package librewolf-$FILEVER.fc35.x86_64.rpm upload_package librewolf-$FILEVER.fc35.x86_64.rpm.sha256sum upload_package librewolf-$FILEVER.fc36.x86_64.rpm @@ -143,6 +147,12 @@ Release: - name: Linux Mint 20 (sha256sum) link_type: other url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.mint20.x86_64.deb.sha256sum + - name: Linux Mint 21 (deb) + link_type: package + url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.mint21.x86_64.deb + - name: Linux Mint 21 (sha256sum) + link_type: other + url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.mint21.x86_64.deb.sha256sum - name: Fedora 35 (rpm) link_type: package url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc35.x86_64.rpm @@ -209,6 +219,10 @@ Update Repositories: { "file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.mint20.x86_64.deb", "distros": ["uma", "una"] + }, + { + "file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.mint21.x86_64.deb", + "distros": ["vanessa"] } ], "rpms": [ diff --git a/Makefile b/Makefile index 6a04f6f..fed1200 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY : help clean veryclean prune docker push rmi build update work docker-debian11 debian11 docker-mint20 mint20 docker-ubuntu20 ubuntu20 docker-ubuntu21 ubuntu21 docker-ubuntu22 ubuntu22 docker-fedora34 fedora34 docker-fedora35 fedora35 docker-fedora36 fedora36 docker-macos-x86_64 macos-x86_64 docker-macos-aarch64 macos-aarch64 docker-tumbleweed tumbleweed tarball docker-dind +.PHONY : help clean veryclean prune docker push rmi build update work docker-debian11 debian11 docker-mint20 mint20 docker-mint21 mint21 docker-ubuntu20 ubuntu20 docker-ubuntu21 ubuntu21 docker-ubuntu22 ubuntu22 docker-fedora34 fedora34 docker-fedora35 fedora35 docker-fedora36 fedora36 docker-macos-x86_64 macos-x86_64 docker-macos-aarch64 macos-aarch64 docker-tumbleweed tumbleweed tarball docker-dind version:=$(shell cat version) release:=$(shell cat release) @@ -15,6 +15,7 @@ help : @echo "docker targets:" @echo " [docker-debian11]" @echo " [docker-mint20]" + @echo " [docker-mint21]" @echo " [docker-ubuntu20]" @echo " [docker-ubuntu21]" @echo " [docker-ubuntu22]" @@ -29,6 +30,7 @@ help : @echo "build targets:" @echo " [debian11]" @echo " [mint20]" + @echo " [mint21]" @echo " [ubuntu20]" @echo " [ubuntu21]" @echo " [ubuntu22]" @@ -54,7 +56,7 @@ veryclean : clean prune : docker system prune --all --force -docker : docker-debian11 docker-mint20 docker-ubuntu20 docker-ubuntu21 docker-ubuntu22 docker-fedora34 docker-fedora35 docker-fedora36 docker-tumbleweed docker-macos-x86_64 docker-macos-aarch64 docker-dind +docker : docker-debian11 docker-mint20 docker-mint21 docker-ubuntu20 docker-ubuntu21 docker-ubuntu22 docker-fedora34 docker-fedora35 docker-fedora36 docker-tumbleweed docker-macos-x86_64 docker-macos-aarch64 docker-dind build : ${MAKE} clean @@ -62,6 +64,8 @@ build : ${MAKE} clean ${MAKE} mint20 ${MAKE} clean + ${MAKE} mint21 + ${MAKE} clean ${MAKE} ubuntu20 ${MAKE} clean ${MAKE} ubuntu21 @@ -84,6 +88,7 @@ build : push : docker push registry.gitlab.com/librewolf-community/browser/bsys5/debian11 docker push registry.gitlab.com/librewolf-community/browser/bsys5/mint20 + docker push registry.gitlab.com/librewolf-community/browser/bsys5/mint21 docker push registry.gitlab.com/librewolf-community/browser/bsys5/ubuntu20 docker push registry.gitlab.com/librewolf-community/browser/bsys5/ubuntu21 docker push registry.gitlab.com/librewolf-community/browser/bsys5/ubuntu22 @@ -98,6 +103,7 @@ push : rmi : docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/debian11 docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/mint20 + docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/mint21 docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/ubuntu20 docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/ubuntu21 docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/ubuntu22 @@ -152,6 +158,12 @@ docker-mint20 : mint20 : ${MAKE} -f assets/linux.mk distro=mint20 build ${MAKE} -f assets/linux.artifacts.mk distro=mint20 artifacts-deb +## mint21 +docker-mint21 : + ${MAKE} -f assets/linux.mk distro=mint21 "distro_image=linuxmintd/mint21-amd64" docker +mint21 : + ${MAKE} -f assets/linux.mk distro=mint21 build + ${MAKE} -f assets/linux.artifacts.mk distro=mint21 artifacts-deb ## ubuntu20 docker-ubuntu20 : ${MAKE} -f assets/linux.mk distro=ubuntu20 "distro_image=ubuntu:focal" docker diff --git a/README.md b/README.md index e548e91..a003fcd 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ scripts. | Linux | | | | └─ Debian (deb) | ✅ (debian11) | - | | └─ Ubuntu (deb) | ✅ (ubuntu20, ubuntu22) | - | -| └─ Mint (deb) | ✅ (mint20) | - | +| └─ Mint (deb) | ✅ (mint20, mint21) | - | | └─ Fedora (rpm) | ✅ (fedora35, fedora36) | - | | └─ openSUSE (rpm) | ✅ (tumbleweed) | - | | MacOS (dmg) | ✅ (macos-x64_64) | ✅ (macos-aarch64) | From 4832eb02084209d16d7f796e60c35972cc6035c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Malte=20J=C3=BCrgens?= Date: Tue, 9 Aug 2022 23:41:16 +0200 Subject: [PATCH 17/18] update to 103.0.2-1 --- version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/version b/version index 520a26d..eba9eb8 100644 --- a/version +++ b/version @@ -1 +1 @@ -103.0.1 \ No newline at end of file +103.0.2 \ No newline at end of file From 342da45bc2883fc58feaabbd99f6266f3808c86a Mon Sep 17 00:00:00 2001 From: Bert van der Weerd Date: Sat, 13 Aug 2022 11:48:48 +0200 Subject: [PATCH 18/18] made help message more compact --- Makefile | 28 +++++++--------------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/Makefile b/Makefile index fed1200..142f471 100644 --- a/Makefile +++ b/Makefile @@ -13,32 +13,18 @@ help : @echo " [update] [prune] - misc." @echo "" @echo "docker targets:" - @echo " [docker-debian11]" - @echo " [docker-mint20]" - @echo " [docker-mint21]" - @echo " [docker-ubuntu20]" - @echo " [docker-ubuntu21]" - @echo " [docker-ubuntu22]" - @echo " [docker-fedora34]" - @echo " [docker-fedora35]" - @echo " [docker-fedora36]" - @echo " [docker-macos-x86_64]" - @echo " [docker-macos-aarch64]" + @echo " [docker-debian11], [docker-mint20], [docker-mint21]" + @echo " [docker-ubuntu20], [docker-ubuntu21], [docker-ubuntu22]" + @echo " [docker-fedora34], [docker-fedora35], [docker-fedora36]" + @echo " [docker-macos-x86_64], [docker-macos-aarch64]" @echo " [docker-tumbleweed]" @echo " [docker-dind]" @echo "" @echo "build targets:" - @echo " [debian11]" - @echo " [mint20]" - @echo " [mint21]" - @echo " [ubuntu20]" - @echo " [ubuntu21]" + @echo " [debian11], [mint20], [mint21], [ubuntu20], [ubuntu21]" @echo " [ubuntu22]" - @echo " [fedora34]" - @echo " [fedora35]" - @echo " [fedora36]" - @echo " [macos-x64_64]" - @echo " [macos-aarch64]" + @echo " [fedora34], [fedora35], [fedora36]" + @echo " [macos-x64_64], [macos-aarch64]" @echo " [tumbleweed]" @echo " [tarball]" @echo ""