diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8599616..3465eba 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,8 +1,46 @@ stages: + - images - build - release - deploy +Build Docker Images: + stage: images + when: manual + # only: + # - master + image: ubuntu + services: + - docker:dind + parallel: + matrix: + - DISTRO: + - debian11 + - ubuntu20 + - ubuntu21 + - ubuntu22 + - mint20 + - fedora34 + - fedora35 + - fedora36 + - 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 + script: + - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD registry.gitlab.com + - make docker-$DISTRO + - docker push registry.gitlab.com/librewolf-community/browser/bsys5/$DISTRO:latest + Build: stage: build when: manual @@ -13,15 +51,17 @@ Build: - debian11 - ubuntu20 - ubuntu21 + - ubuntu22 - mint20 - fedora34 - fedora35 + - fedora36 - macos-x86_64 - macos-aarch64 variables: SOURCE_URL: $SOURCE_URL use_docker: "false" - image: librewolf/bsys5-image-$DISTRO + image: registry.gitlab.com/librewolf-community/browser/bsys5/$DISTRO tags: - amd64 # Build on dedicated runner @@ -32,6 +72,8 @@ Build: - make $DISTRO - echo VERSION=$(cat version) >> variables.env - echo RELEASE=$(cat release) >> variables.env + - echo SOURCE_RELEASE=$(cat source_release) >> variables.env + - "t=$(cat version)-$(cat source_release) ; grep 1 release ; if [ ! $? ]; then t=$(cat version)-$(cat source_release)-$(cat release); fi; echo FILEVER=$t >> variables.env" artifacts: paths: - librewolf-*.deb @@ -66,82 +108,99 @@ Release: curl \ --header "JOB-TOKEN: $CI_JOB_TOKEN" \ --upload-file "$1" \ - "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/$1" + "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/$1" } - upload_package librewolf-$VERSION-$RELEASE.en-US.debian11.x86_64.deb - upload_package librewolf-$VERSION-$RELEASE.en-US.debian11.x86_64.deb.sha256sum - upload_package librewolf-$VERSION-$RELEASE.en-US.ubuntu20.x86_64.deb - upload_package librewolf-$VERSION-$RELEASE.en-US.ubuntu20.x86_64.deb.sha256sum - upload_package librewolf-$VERSION-$RELEASE.en-US.ubuntu21.x86_64.deb - upload_package librewolf-$VERSION-$RELEASE.en-US.ubuntu21.x86_64.deb.sha256sum - upload_package librewolf-$VERSION-$RELEASE.en-US.mint20.x86_64.deb - upload_package librewolf-$VERSION-$RELEASE.en-US.mint20.x86_64.deb.sha256sum - upload_package librewolf-$VERSION-$RELEASE.fc34.x86_64.rpm - upload_package librewolf-$VERSION-$RELEASE.fc34.x86_64.rpm.sha256sum - upload_package librewolf-$VERSION-$RELEASE.fc35.x86_64.rpm - upload_package librewolf-$VERSION-$RELEASE.fc35.x86_64.rpm.sha256sum - upload_package librewolf-$VERSION-$RELEASE.en-US.mac.x86_64.dmg - upload_package librewolf-$VERSION-$RELEASE.en-US.mac.x86_64.dmg.sha256sum - upload_package librewolf-$VERSION-$RELEASE.en-US.mac.aarch64.dmg - upload_package librewolf-$VERSION-$RELEASE.en-US.mac.aarch64.dmg.sha256sum + upload_package librewolf-$FILEVER.en-US.debian11.x86_64.deb + 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 + upload_package librewolf-$FILEVER.en-US.mint20.x86_64.deb.sha256sum + upload_package librewolf-$FILEVER.fc34.x86_64.rpm + upload_package librewolf-$FILEVER.fc34.x86_64.rpm.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 + upload_package librewolf-$FILEVER.fc36.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 + upload_package librewolf-$FILEVER.en-US.mac.aarch64.dmg.sha256sum release: - tag_name: "$VERSION-$RELEASE" - description: "## LibreWolf bsys5 Release v$VERSION-$RELEASE\n\n- \n\n(Built on GitLab by pipeline [$CI_PIPELINE_ID](https://gitlab.com/librewolf-community/browser/bsys5/-/pipelines/$CI_PIPELINE_ID))" + tag_name: "$FILEVER" + description: "## LibreWolf bsys5 Release v$FILEVER\n\n- \n\n(Built on GitLab by pipeline [$CI_PIPELINE_ID](https://gitlab.com/librewolf-community/browser/bsys5/-/pipelines/$CI_PIPELINE_ID))" assets: links: - name: Debian 11 (deb) link_type: package - url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.en-US.debian11.x86_64.deb + url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.debian11.x86_64.deb - name: Debian 11 (sha256sum) link_type: other - url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.en-US.debian11.x86_64.deb.sha256sum + url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.debian11.x86_64.deb.sha256sum - name: Ubuntu 20 (deb) link_type: package - url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.en-US.ubuntu20.x86_64.deb + url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.ubuntu20.x86_64.deb - name: Ubuntu 20 (sha256sum) link_type: other - url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.en-US.ubuntu20.x86_64.deb.sha256sum + 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/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.en-US.ubuntu21.x86_64.deb + 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/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.en-US.ubuntu21.x86_64.deb.sha256sum + 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 + - name: Ubuntu 22 (sha256sum) + link_type: other + url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.ubuntu22.x86_64.deb.sha256sum - name: Linux Mint 20 (deb) link_type: package - url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.en-US.mint20.x86_64.deb + url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.mint20.x86_64.deb - name: Linux Mint 20 (sha256sum) link_type: other - url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.en-US.mint20.x86_64.deb.sha256sum + url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.mint20.x86_64.deb.sha256sum - name: Fedora 34 (rpm) link_type: package - url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.fc34.x86_64.rpm + url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc34.x86_64.rpm - name: Fedora 34 (sha256sum) link_type: other - url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.fc34.x86_64.rpm.sha256sum + url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc34.x86_64.rpm.sha256sum - name: Fedora 35 (rpm) link_type: package - url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.fc35.x86_64.rpm + url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc35.x86_64.rpm - name: Fedora 35 (sha256sum) link_type: other - url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.fc35.x86_64.rpm.sha256sum + url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc35.x86_64.rpm.sha256sum + - name: Fedora 36 (rpm) + link_type: package + url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc36.x86_64.rpm + - 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: macOS x86_64 (dmg) link_type: package - url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.en-US.mac.x86_64.dmg + url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.mac.x86_64.dmg - name: macOS x86_64 (sha256sum) link_type: other - url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.en-US.mac.x86_64.dmg.sha256sum + url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.mac.x86_64.dmg.sha256sum - name: macOS aarch64 (dmg) link_type: package - url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.en-US.mac.aarch64.dmg + url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.mac.aarch64.dmg - name: macOS aarch64 (sha256sum) link_type: other - url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$VERSION-$RELEASE/librewolf-$VERSION-$RELEASE.en-US.mac.aarch64.dmg.sha256sum + url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.mac.aarch64.dmg.sha256sum Update Repositories: stage: deploy needs: - job: "Build" + artifacts: true - job: "Release" only: - master @@ -152,4 +211,4 @@ Update Repositories: - apt-get update - apt-get install -y curl script: - - curl "https://shorsh.de/update_lw_repos.php?version=$(cat version)-$(cat release)&log=true&token=$REPO_DEPLOY_TOKEN" + - curl "https://shorsh.de/update_lw_repos.php?version=$FILEVER&log=true&token=$REPO_DEPLOY_TOKEN" diff --git a/Makefile b/Makefile index 2b9caef..39343f7 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,9 @@ -.PHONY : help clean veryclean prune docker push rmi build update work docker-debian11 debian11 docker-mint20 mint20 docker-ubuntu20 ubuntu20 docker-ubuntu21 ubuntu21 docker-fedora34 fedora34 docker-fedora35 fedora35 docker-macos-x86_64 macos-x86_64 docker-macos-aarch64 macos-aarch64 +.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 version:=$(shell cat version) release:=$(shell cat release) source_release:=$(shell cat source_release) +full_version:=$(version)-$(source_release)$(shell [ $(release) -gt 1 ] && echo "-$(release)") help : @echo "Use: make [help]" @@ -16,8 +17,10 @@ help : @echo " [docker-mint20]" @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 "" @@ -26,8 +29,10 @@ help : @echo " [mint20]" @echo " [ubuntu20]" @echo " [ubuntu21]" + @echo " [ubuntu22]" @echo " [fedora34]" @echo " [fedora35]" + @echo " [fedora36]" @echo " [macos-x64_64]" @echo " [macos-aarch64]" @echo "" @@ -45,7 +50,7 @@ veryclean : clean prune : docker system prune --all --force -docker : docker-debian11 docker-mint20 docker-ubuntu20 docker-ubuntu21 docker-fedora34 docker-fedora35 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-macos-x86_64 docker-macos-aarch64 build : ${MAKE} clean @@ -57,34 +62,42 @@ build : ${MAKE} clean ${MAKE} ubuntu21 ${MAKE} clean + ${MAKE} ubuntu22 + ${MAKE} clean ${MAKE} fedora34 ${MAKE} clean ${MAKE} fedora35 ${MAKE} clean + ${MAKE} fedora36 + ${MAKE} clean ${MAKE} macos-x86_64 ${MAKE} clean ${MAKE} macos-aarch64 ${MAKE} clean push : - docker push librewolf/bsys5-image-debian11 - docker push librewolf/bsys5-image-mint20 - docker push librewolf/bsys5-image-ubuntu20 - docker push librewolf/bsys5-image-ubuntu21 - docker push librewolf/bsys5-image-fedora34 - docker push librewolf/bsys5-image-fedora35 - docker push librewolf/bsys5-image-macos-x86_64 - docker push librewolf/bsys5-image-macos-aarch64 + 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/ubuntu20 + docker push registry.gitlab.com/librewolf-community/browser/bsys5/ubuntu21 + docker push registry.gitlab.com/librewolf-community/browser/bsys5/ubuntu22 + 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/macos-x86_64 + docker push registry.gitlab.com/librewolf-community/browser/bsys5/macos-aarch64 rmi : - docker rmi librewolf/bsys5-image-debian11 - docker rmi librewolf/bsys5-image-mint20 - docker rmi librewolf/bsys5-image-ubuntu20 - docker rmi librewolf/bsys5-image-ubuntu21 - docker rmi librewolf/bsys5-image-fedora34 - docker rmi librewolf/bsys5-image-fedora35 - docker rmi librewolf/bsys5-image-macos-x86_64 - docker rmi librewolf/bsys5-image-macos-aarch64 + 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/ubuntu20 + docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/ubuntu21 + docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/ubuntu22 + 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/macos-x86_64 + docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/macos-aarch64 update : @wget -q -O version "https://gitlab.com/librewolf-community/browser/source/-/raw/main/version" @@ -127,16 +140,22 @@ mint20 : ${MAKE} -f assets/linux.artifacts.mk distro=mint20 artifacts-deb ## ubuntu20 docker-ubuntu20 : - ${MAKE} -f assets/linux.mk distro=ubuntu20 "distro_image=ubuntu:20.04" docker + ${MAKE} -f assets/linux.mk distro=ubuntu20 "distro_image=ubuntu:focal" docker ubuntu20 : ${MAKE} -f assets/linux.mk distro=ubuntu20 build ${MAKE} -f assets/linux.artifacts.mk distro=ubuntu20 artifacts-deb ## ubuntu21 docker-ubuntu21 : - ${MAKE} -f assets/linux.mk distro=ubuntu21 "distro_image=ubuntu:21.10" docker + ${MAKE} -f assets/linux.mk distro=ubuntu21 "distro_image=ubuntu:impish" docker ubuntu21 : ${MAKE} -f assets/linux.mk distro=ubuntu21 build ${MAKE} -f assets/linux.artifacts.mk distro=ubuntu21 artifacts-deb +## ubuntu22 +docker-ubuntu22 : + ${MAKE} -f assets/linux.mk distro=ubuntu22 "distro_image=ubuntu:jammy" docker +ubuntu22 : + ${MAKE} -f assets/linux.mk distro=ubuntu22 build + ${MAKE} -f assets/linux.artifacts.mk distro=ubuntu22 artifacts-deb ## fedora34 docker-fedora34 : ${MAKE} -f assets/linux.mk distro=fedora34 "distro_image=fedora:34" docker @@ -149,6 +168,12 @@ docker-fedora35 : fedora35 : ${MAKE} -f assets/linux.mk distro=fedora35 build ${MAKE} -f assets/linux.artifacts.mk fc=fc35 distro=fedora35 artifacts-rpm +## fedora36 +docker-fedora36 : + ${MAKE} -f assets/linux.mk distro=fedora36 "distro_image=fedora:36" docker +fedora36 : + ${MAKE} -f assets/linux.mk distro=fedora36 build + ${MAKE} -f assets/linux.artifacts.mk fc=fc36 distro=fedora36 artifacts-rpm # diff --git a/assets/linux.artifacts.mk b/assets/linux.artifacts.mk index 74caf7f..2280cb5 100644 --- a/assets/linux.artifacts.mk +++ b/assets/linux.artifacts.mk @@ -7,23 +7,24 @@ version:=$(shell cat version) release:=$(shell cat release) source_release:=$(shell cat source_release) +full_version:=$(version)-$(source_release)$(shell [ $(release) -gt 1 ] && echo "-$(release)") -infile=librewolf-$(version)-$(release).en-US.$(distro)-x86_64.tar.bz2 +infile=librewolf-$(full_version).en-US.$(distro)-x86_64.tar.bz2 # # Debian based: # -librewolf-$(version)-$(release).en-US.$(distro).x86_64.deb : $(infile) +librewolf-$(full_version).en-US.$(distro).x86_64.deb : $(infile) mkdir -p work (cd work && tar xf ../$<) cp -v assets/linux.build-deb.sh work/ [ "$(SIGNING_KEY)" != "" ] && cp -v $(SIGNING_KEY) work/pk.asc ; true (cd work && sed "s/MYDIR/\/usr\/share\/librewolf/g" < ../assets/linux.librewolf.desktop.in > start-librewolf.desktop) ifeq ($(use_docker),false) - (cd work && bash linux.build-deb.sh $(version) $(release)) + (cd work && bash linux.build-deb.sh $(full_version)) else - docker run --rm -v $(shell pwd)/work:/work:rw librewolf/bsys5-image-$(distro) sh -c "bash linux.build-deb.sh $(version) $(release)" + docker run --rm -v $(shell pwd)/work:/work:rw registry.gitlab.com/librewolf-community/browser/bsys5/$(distro) sh -c "bash linux.build-deb.sh $(full_version)" endif cp -v work/librewolf.deb $@ sha256sum $@ > $@.sha256sum @@ -31,18 +32,19 @@ endif artifacts-deb : $(infile) $(infile).sha256sum sha256sum -c $(infile).sha256sum - ${MAKE} -f assets/linux.artifacts.mk distro=$(distro) librewolf-$(version)-$(release).en-US.$(distro).x86_64.deb + ${MAKE} -f assets/linux.artifacts.mk distro=$(distro) librewolf-$(full_version).en-US.$(distro).x86_64.deb # # RPM Based: # -librewolf-$(version)-$(release).$(fc).x86_64.rpm : $(infile) +librewolf-$(full_version).$(fc).x86_64.rpm : $(infile) mkdir -p work (cd work && tar xf ../$<) cp -v assets/linux.build-rpm.sh work cp -v version work cp -v release work + cp -v source_release work cp -v assets/linux.librewolf.spec work/librewolf.spec cp -v assets/linux.librewolf.desktop.in work/librewolf/start-librewolf.desktop.in cp -v assets/linux.librewolf.ico work/librewolf/librewolf.ico @@ -52,10 +54,10 @@ librewolf-$(version)-$(release).$(fc).x86_64.rpm : $(infile) rm -f work/librewolf/precomplete rm -f work/librewolf/removed-files ifeq ($(use_docker),false) - (cp -r work / && cd work && bash linux.build-rpm.sh $(version) $(release)) ; \ + (cp -r work / && cd work && bash linux.build-rpm.sh $(fc)) cp -v /work/$@ $@ else - docker run --rm -v $(shell pwd)/work:/work:rw librewolf/bsys5-image-$(distro) sh -c "bash linux.build-rpm.sh $(version) $(release)" ; \ + docker run --rm -v $(shell pwd)/work:/work:rw registry.gitlab.com/librewolf-community/browser/bsys5/$(distro) sh -c "bash linux.build-rpm.sh $(fc)" cp -v work/$@ $@ endif sha256sum $@ > $@.sha256sum @@ -63,5 +65,5 @@ endif artifacts-rpm : $(infile) $(infile).sha256sum sha256sum -c $(infile).sha256sum - ${MAKE} -f assets/linux.artifacts.mk fc=$(fc) distro=$(distro) librewolf-$(version)-$(release).$(fc).x86_64.rpm + ${MAKE} -f assets/linux.artifacts.mk fc=$(fc) distro=$(distro) librewolf-$(full_version).$(fc).x86_64.rpm diff --git a/assets/linux.build-deb.sh b/assets/linux.build-deb.sh index dbdbadd..8386e28 100755 --- a/assets/linux.build-deb.sh +++ b/assets/linux.build-deb.sh @@ -20,7 +20,7 @@ Priority: optional Provides: gnome-www-browser, www-browser, x-www-browser Section: web EOF -echo "Version: $1-$2" >>control +echo "Version: $1" >>control cd .. mkdir -p usr/share/librewolf diff --git a/assets/linux.build-rpm.sh b/assets/linux.build-rpm.sh index ddd879e..c9341d9 100755 --- a/assets/linux.build-rpm.sh +++ b/assets/linux.build-rpm.sh @@ -18,10 +18,17 @@ mkdir /artifacts version=$(cat /work/version) release=$(cat /work/release) +source_release=$(cat /work/source_release) +full_release="$source_release$(if [ $release -gt 1 ]; then echo ".$release"; fi)" +full_version="$version-$source_release$(if [ $release -gt 1 ]; then echo "-$release"; fi)" +fc=$1 echo '---' echo "--- LibreWolf version file is: $version" -echo "--- LibreWolf release is: $release" +echo "--- LibreWolf bsys5 release is: $release" +echo "--- LibreWolf source release is: $source_release" +echo "--- LibreWolf fedora release is: $full_release" +echo "--- LibreWolf full version is: $full_version" echo '---' echo '--- Contents of /artifacts folder:' ls -la /artifacts @@ -30,18 +37,14 @@ echo '--- Contents of /WORK folder:' ls -la /WORK echo '---' - - - rm -rf rpmbuild mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} -sed "s/__VERSION__/$version/g" < /work/librewolf.spec > /work/tmp.spec -sed "s/__RELEASE__/$release/g" < /work/tmp.spec > rpmbuild/SPECS/librewolf.spec +sed "s/__VERSION__/$version/g" /work/tmp.spec +sed "s/__RELEASE__/$full_release/g" rpmbuild/SPECS/librewolf.spec # copy in the librewolf assets cp -rv /work/librewolf rpmbuild/SOURCES - cd rpmbuild/SOURCES mkdir -p librewolf-$version/usr/share/librewolf @@ -57,8 +60,7 @@ cd ../../.. mkdir -p librewolf-$version/usr/share/applications mkdir -p librewolf-$version/usr/share/icons cp -v librewolf-$version/usr/share/librewolf/browser/chrome/icons/default/default64.png librewolf-$version/usr/share/icons/librewolf.png -sed "s/MYDIR/\/usr\/share\/librewolf/g" < /work/librewolf/start-librewolf.desktop.in > librewolf-$version/usr/share/applications/librewolf.desktop - +sed "s/MYDIR/\/usr\/share\/librewolf/g" librewolf-$version/usr/share/applications/librewolf.desktop tar cvfz lw.tar.gz librewolf-$version # todo perhaps: rm -rf librwolf-$version @@ -74,7 +76,7 @@ rpmbuild -v -bb $(pwd)/rpmbuild/SPECS/librewolf.spec echo '--- [debug] Copying output files to /artifacts' #Wrote: /root/rpmbuild/RPMS/x86_64/librewolf-94.0.2-1.fc35.x86_64.rpm -cp -v ~/rpmbuild/RPMS/x86_64/librewolf-*.rpm /work +cp -v ~/rpmbuild/RPMS/x86_64/librewolf-*.rpm /work/librewolf-$full_version.$fc.x86_64.rpm if [[ "$signing" == "true" ]]; then echo '--- [debug] Signing the RPM' diff --git a/assets/linux.mk b/assets/linux.mk index 4d8ba4c..c83802e 100644 --- a/assets/linux.mk +++ b/assets/linux.mk @@ -7,20 +7,21 @@ version:=$(shell cat version) release:=$(shell cat release) source_release:=$(shell cat source_release) +full_version:=$(version)-$(source_release)$(shell [ $(release) -gt 1 ] && echo "-$(release)") -outfile=librewolf-$(version)-$(release).en-US.$(distro)-x86_64.tar.bz2 +outfile=librewolf-$(full_version).en-US.$(distro)-x86_64.tar.bz2 docker : - docker build --build-arg "distro=$(distro_image)" --build-arg "version=$(version)" --build-arg "source_release=$(source_release)" -t librewolf/bsys5-image-$(distro) - < assets/linux.Dockerfile + docker build --build-arg "distro=$(distro_image)" --build-arg "version=$(version)" --build-arg "source_release=$(source_release)" -t registry.gitlab.com/librewolf-community/browser/bsys5/$(distro):latest - < assets/linux.Dockerfile build : $(outfile) $(outfile).sha256sum $(outfile) : ${MAKE} work ifeq ($(use_docker),false) - (cd work/librewolf-$(version)-$(source_release) && ./mach build && ./mach package) + (cd work/librewolf-$(version)-$(source_release) && ./mach build && cat browser/locales/shipped-locales | xargs ./mach package-multi-locale --locales) else - docker run --rm -v $(shell pwd)/work:/work:rw librewolf/bsys5-image-$(distro) sh -c "cd /work/librewolf-$(version)-$(source_release) && ./mach build && ./mach package" + docker run --rm -v $(shell pwd)/work:/work:rw registry.gitlab.com/librewolf-community/browser/bsys5/$(distro) sh -c "cd /work/librewolf-$(version)-$(source_release) && ./mach build && cat browser/locales/shipped-locales | xargs ./mach package-multi-locale --locales" endif cp -v work/librewolf-$(version)-$(source_release)/obj-x86_64-pc-linux-gnu/dist/librewolf-$(version)-$(source_release).en-US.linux-x86_64.tar.bz2 $(outfile) diff --git a/assets/macos.Dockerfile b/assets/macos.Dockerfile index 1293774..50e4b28 100644 --- a/assets/macos.Dockerfile +++ b/assets/macos.Dockerfile @@ -33,28 +33,28 @@ RUN mkdir -p /osx-cross/MacOSX-SDKs &&\ rm -f MacOSX11.3.sdk.tar.xz # 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 &&\ - tar xf librewolf-$version-$source_release.source.tar.gz &&\ - cd librewolf-$version-$source_release &&\ - echo ac_add_options --target=$arch-apple-darwin > mozconfig &&\ - echo ac_add_options --enable-bootstrap >> mozconfig &&\ - echo ac_add_options --with-macos-sdk=/osx-cross/MacOSX-SDKs/MacOSX11.3.sdk >> mozconfig &&\ - MOZBUILD_STATE_PATH=$HOME/.mozbuild ./mach --no-interactive bootstrap --application-choice=browser &&\ - ./mach artifact toolchain --from-build linux64-libdmg &&\ - ./mach artifact toolchain --from-build linux64-cctools-port &&\ - ./mach artifact toolchain --from-build linux64-hfsplus &&\ - ./mach artifact toolchain --from-build linux64-binutils &&\ - ./mach artifact toolchain --from-build linux64-clang-macosx-cross &&\ - /root/.cargo/bin/cargo install cbindgen &&\ - /root/.cargo/bin/rustup target add $arch-apple-darwin &&\ - cp -r binutils /root/.mozbuild &&\ - cp -r cctools /root/.mozbuild &&\ - cp -r clang /root/.mozbuild &&\ - cp -r dmg /root/.mozbuild &&\ - cp -r hfsplus-tools /root/.mozbuild &&\ - pip install testresources pycairo &&\ - cd .. &&\ - rm -rf librewolf-$version-$source_release librewolf-$version-$source_release.source.tar.gz +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 tar xf librewolf-$version-$source_release.source.tar.gz +WORKDIR librewolf-$version-$source_release +RUN echo ac_add_options --target=$arch-apple-darwin > mozconfig +RUN echo ac_add_options --enable-bootstrap >> mozconfig +RUN echo ac_add_options --with-macos-sdk=/osx-cross/MacOSX-SDKs/MacOSX11.3.sdk >> mozconfig +RUN MOZBUILD_STATE_PATH=$HOME/.mozbuild ./mach --no-interactive bootstrap --application-choice=browser +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 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 clang /root/.mozbuild +RUN cp -r dmg /root/.mozbuild +RUN cp -r hfsplus-tools /root/.mozbuild +RUN pip install testresources pycairo +WORKDIR .. +RUN rm -rf librewolf-$version-$source_release librewolf-$version-$source_release.source.tar.gz # our work happens here, on the host filesystem. WORKDIR /work diff --git a/assets/macos.mk b/assets/macos.mk index 200047a..a3b497b 100644 --- a/assets/macos.mk +++ b/assets/macos.mk @@ -6,22 +6,25 @@ version:=$(shell cat version) release:=$(shell cat release) source_release:=$(shell cat source_release) +full_version:=$(version)-$(source_release)$(shell [ $(release) -gt 1 ] && echo "-$(release)") -outfile=librewolf-$(version)-$(release).en-US.mac.$(arch).dmg +outfile=librewolf-$(full_version).en-US.mac.$(arch).dmg docker : - docker build --build-arg "arch=$(arch)" --build-arg "version=$(version)" --build-arg "source_release=$(source_release)" -t librewolf/bsys5-image-macos-$(arch) - < assets/macos.Dockerfile + docker build --build-arg "arch=$(arch)" --build-arg "version=$(version)" --build-arg "source_release=$(source_release)" -t registry.gitlab.com/librewolf-community/browser/bsys5/macos-$(arch) - < assets/macos.Dockerfile build : $(outfile) $(outfile).sha256sum -$(outfile) $(outfile).sha256sum : +$(outfile) : ${MAKE} work sed "s/_ARCH_/$(arch)/g" < assets/macos.mozconfig > work/librewolf-$(version)-$(source_release)/mozconfig ifeq ($(use_docker),false) - (cd work/librewolf-$(version)-$(source_release) && ./mach build && ./mach package) + (cd work/librewolf-$(version)-$(source_release) && ./mach build && cat browser/locales/shipped-locales | xargs ./mach package-multi-locale --locales) else - docker run --rm -v $(shell pwd)/work:/work:rw librewolf/bsys5-image-macos-$(arch) sh -c "cd /work/librewolf-$(version)-$(source_release) && ./mach build && ./mach package" + docker run --rm -v $(shell pwd)/work:/work:rw registry.gitlab.com/librewolf-community/browser/bsys5/macos-$(arch) sh -c "cd /work/librewolf-$(version)-$(source_release) && ./mach build && cat browser/locales/shipped-locales | xargs ./mach package-multi-locale --locales" endif cp -v work/librewolf-$(version)-$(source_release)/obj-$(arch)-apple-darwin/dist/librewolf-$(version)-$(source_release).en-US.mac.dmg $(outfile) + +$(outfile).sha256sum : $(outfile) sha256sum $(outfile) > $(outfile).sha256sum cat $(outfile).sha256sum diff --git a/assets/macos.mozconfig b/assets/macos.mozconfig index eba9dd4..e236eaa 100644 --- a/assets/macos.mozconfig +++ b/assets/macos.mozconfig @@ -47,6 +47,8 @@ ac_add_options --with-branding=browser/branding/librewolf ac_add_options --with-unsigned-addon-scopes=app,system +ac_add_options --with-l10n-base=$PWD/browser/locales/l10n + export MOZ_REQUIRE_SIGNING= mk_add_options MOZ_CRASHREPORTER=0 diff --git a/version b/version index 37bac82..e772e62 100644 --- a/version +++ b/version @@ -1 +1 @@ -99.0.1 \ No newline at end of file +100.0 \ No newline at end of file