Compare commits

..

114 commits

Author SHA1 Message Date
Bert van der Weerd
bdee933bb7
v116.0.2-1 2023-08-09 09:30:54 +02:00
Bert van der Weerd
cd229782af
bump to v116.0-1 2023-08-02 00:43:35 +02:00
Bert van der Weerd
cb0418a125
release v115.0.2-2 2023-07-12 14:51:03 +02:00
Bert van der Weerd
8f607da74f
v115.0.2-1 builds 2023-07-12 13:40:27 +02:00
Bert van der Weerd
ecbc75b72c
removed macOS from builds. v6 will now build macOS instead 2023-07-10 15:33:14 +02:00
e6d0d3a00e
115.0.1-1 2023-07-09 22:55:22 +02:00
stanzabird
a09088b453 115.0 2023-07-08 20:10:06 +00:00
Bert van der Weerd
af044e3304
Merge branch 'master' of gitlab.com:librewolf-community/browser/bsys5 2023-06-23 13:21:36 +02:00
Bert van der Weerd
083f14d8c7
update to version 114.0.2-1 2023-06-23 13:21:26 +02:00
f4dfbce94b
fix ci 2023-06-15 23:20:50 +02:00
fa50ab2279
114.0.1-2-2 2023-06-12 19:02:42 +02:00
8e511a8753
fix missing dpkg-sig 2023-06-12 19:02:02 +02:00
b737e5783f
add debian 12 target 2023-06-11 10:30:37 +02:00
Bert van der Weerd
4070c5bdeb
bump to 114.0.1-2 2023-06-10 10:57:35 +02:00
Bert van der Weerd
e199efddca
bump version to 114.0.1-1 2023-06-10 01:35:54 +02:00
Bert van der Weerd
383f413bba
remove some tool binaries we dont want 2023-06-09 19:35:11 +02:00
Bert van der Weerd
1f6f06e9b4
bump version to 114.0-1 2023-06-09 12:55:45 +02:00
Bert van der Weerd
8d716372e7 bump to 113.02 2023-05-31 13:21:22 +02:00
5b6e193b9a
add fedora38, remove fedora36 2023-05-28 10:15:46 +02:00
Bert van der Weerd
d8abb1279e
bump to version 113.0.1 2023-05-22 15:59:28 +02:00
Bert van der Weerd
a29404f692 fix merge conflict 2023-05-11 14:10:42 +02:00
Bert van der Weerd
ab018ea341 bump verison to 113.0-1 2023-05-11 14:09:19 +02:00
stanzabird
d3385ccd8f Update 2 files
- /source_release
- /version
2023-04-30 11:24:34 +00:00
9985e3de44
112.0.1-2 2023-04-19 01:21:11 +02:00
Bert van der Weerd
3aafd846ab
bump to 112.0-2 2023-04-17 13:06:16 +02:00
7a4b5f652e Merge branch 'rename-librewolf-desktop' into 'master'
Rename start-librewolf.desktop to librewolf.desktop

See merge request librewolf-community/browser/bsys5!17
2023-04-14 19:02:42 +00:00
Kelvin M. Klann
06af8517f2 Rename start-librewolf.desktop to librewolf.desktop
So that it matches the executable name (/usr/bin/librewolf) and the
filename used in the FAQ (librewolf.desktop)[1].

This also makes the filename consistent with the one used on other
platforms (such as on Arch Linux[2]) and with what is used by Firefox
(firefox.desktop).

Commands used to search and replace:

    $ git grep -Flz start-librewolf.desktop | xargs -0 -I '{}' sh -c \
      "printf '%s\n' \"\$(sed \
        's/start-librewolf/librewolf/g' '{}')\" >'{}'"

[1] 1c5a673547/pages/docs/faq.md
[2] ecb7338cbe/librewolf.desktop

Fixes: https://github.com/netblue30/firejail/issues/5460
2023-04-11 17:52:04 -03:00
Bert van der Weerd
66b780ea0d
bump version to v112.0 2023-04-11 20:48:16 +02:00
Bert van der Weerd
4758ff2508
bump to v111.0.1 2023-03-22 16:28:37 +01:00
Bert van der Weerd
36b08ee7f0
bump to v111.0-3 for theming bug fix 2023-03-17 22:23:00 +01:00
Bert van der Weerd
f2d98eba7e
Now using private version of SDK 13.0 2023-03-16 23:03:33 +01:00
Bert van der Weerd
694cbfbc08
trying macosx64-sdk-toolchain 2023-03-16 13:15:54 +01:00
Bert van der Weerd
17a622c951
trying next artifact for SDK: macosx64-sdk-13.0 2023-03-16 13:07:26 +01:00
Bert van der Weerd
aef036119c
added ./mach artifact toolchain --from-build macosx64-sdk 2023-03-16 12:57:43 +01:00
Bert van der Weerd
63e9a7cafa
commented out SDK statments, testing if mach bootstrap grabs the SDK 2023-03-16 11:55:37 +01:00
Bert van der Weerd
2e2408a16a
Wed Mar 15 07:22:53 PM CET 2023 2023-03-15 19:22:53 +01:00
Bert van der Weerd
a6a221cc59
Wed Mar 15 07:12:02 PM CET 2023 2023-03-15 19:12:02 +01:00
Bert van der Weerd
829d1c8a36
now using sdk 13.0 instead of 11.3 2023-03-15 16:41:10 +01:00
Bert van der Weerd
18135d5494
bump version to 111.0 2023-03-15 16:16:05 +01:00
004feab548
add gitlab link to codeberg release 2023-03-05 13:00:21 +01:00
22acc65b52
110.0.1-1 2023-03-04 11:42:43 +01:00
Bert van der Weerd
9e9f913886
v110.0-2 2023-02-18 23:43:44 +01:00
stanzabird
9dc9e4ecd2 Merge branch 'fix-macos-images' into 'master'
Fix macos images

See merge request librewolf-community/browser/bsys5!15
2023-02-16 16:20:24 +00:00
Bert van der Weerd
8001d745da
Thu Feb 16 05:21:15 PM CET 2023 2023-02-16 17:21:15 +01:00
Bert van der Weerd
d28ed6123f
Thu Feb 16 05:19:07 PM CET 2023 2023-02-16 17:19:07 +01:00
stanzabird
5aa415ad6a let's just try this for now 2023-02-16 13:17:59 +00:00
Bert van der Weerd
dff787bde5
Thu Feb 16 02:07:36 PM CET 2023 2023-02-16 14:07:36 +01:00
Bert van der Weerd
85949fec35
Thu Feb 16 02:06:01 PM CET 2023 2023-02-16 14:06:01 +01:00
Bert van der Weerd
d2bc452167
Thu Feb 16 01:49:34 PM CET 2023 2023-02-16 13:49:34 +01:00
Bert van der Weerd
0a0042c4b5
Thu Feb 16 01:48:26 PM CET 2023 2023-02-16 13:48:26 +01:00
Bert van der Weerd
0090a46403
Thu Feb 16 01:43:54 PM CET 2023 2023-02-16 13:43:54 +01:00
Bert van der Weerd
7e19bbd5c2
not building windows-docker files 2023-02-16 13:16:28 +01:00
d6f27133ea
fix tarball links 2023-02-16 11:46:03 +01:00
Bert van der Weerd
68d4756d6c
added submodules/windows 2023-02-16 11:46:08 +01:00
Bert van der Weerd
71c6415b80
Thu Feb 16 11:44:00 AM CET 2023 2023-02-16 11:44:00 +01:00
91a788d7a6
110.0-1 2023-02-16 11:07:48 +01:00
1ca0993791
comment out windows build 2023-02-16 00:43:10 +01:00
55c910325c
fix 2023-02-15 21:46:05 +01:00
769135543b
fix windows dockerfile 2023-02-15 19:15:56 +01:00
82859aba56
improve windows build 2023-02-15 12:58:04 +01:00
fdb6bda9c2
simplify repo release process in .gitlab-ci.yml 2023-02-12 15:46:53 +01:00
Bert van der Weerd
e0e82a85ed
moved windows to seperate build path for now. 2023-02-12 12:25:51 +01:00
stanzabird
25a0c04a71 Merge branch 'windocker' into 'master'
Sun Feb 12 12:08:39 PM CET 2023

See merge request librewolf-community/browser/bsys5!14
2023-02-12 11:10:31 +00:00
Bert van der Weerd
8ea7f23fe6
Sun Feb 12 12:08:39 PM CET 2023 2023-02-12 12:08:39 +01:00
stanzabird
09f1178eca Merge branch 'windocker' into 'master'
Windocker

See merge request librewolf-community/browser/bsys5!13
2023-02-11 20:14:50 +00:00
Bert van der Weerd
97fa92724d
Sat Feb 11 01:26:30 PM CET 2023 2023-02-11 13:26:30 +01:00
Bert van der Weerd
90f7b46f79
Sat Feb 11 01:25:26 PM CET 2023 2023-02-11 13:25:26 +01:00
Bert van der Weerd
15f98171a3
uncommenting the matrix build parts 2023-02-11 13:24:51 +01:00
Bert van der Weerd
abb5a378f4
Thu Feb 9 12:08:31 AM CET 2023 2023-02-09 00:08:31 +01:00
Bert van der Weerd
e300624792
Wed Feb 8 07:50:16 AM CET 2023 2023-02-08 07:50:16 +01:00
Bert van der Weerd
807ffcb40d
Tue Feb 7 11:05:47 PM CET 2023 2023-02-07 23:05:47 +01:00
Bert van der Weerd
d1c324ebd1
try3 2023-02-07 17:43:15 +01:00
Bert van der Weerd
f4816d64ab
add win32 2023-02-07 15:20:02 +01:00
Bert van der Weerd
78364ce675
Tue Feb 7 02:39:47 PM CET 2023 2023-02-07 14:39:47 +01:00
Bert van der Weerd
ccaa7d6cbf
one-character bug 2023-02-07 13:26:27 +01:00
Bert van der Weerd
c62860eb6f
Tue Feb 7 12:51:56 PM CET 2023 2023-02-07 12:51:56 +01:00
Bert van der Weerd
efcc11ba56
Tue Feb 7 12:43:47 PM CET 2023 2023-02-07 12:43:47 +01:00
Bert van der Weerd
376d4cfa8c
Tue Feb 7 12:34:19 PM CET 2023 2023-02-07 12:34:19 +01:00
Bert van der Weerd
76992abd67
fix2 2023-02-07 12:23:49 +01:00
Bert van der Weerd
3dd22413c1
fix 2023-02-07 12:11:46 +01:00
Bert van der Weerd
77a3f04e29
not using the dind image 2023-02-07 12:01:21 +01:00
6a1872110d
Merge branch 'master' into windocker 2023-02-05 13:42:47 +01:00
cfcc1971b9
use our own runners for the container build stage 2023-02-05 13:41:45 +01:00
Bert van der Weerd
902e758ed1
Sun Feb 5 01:01:07 PM CET 2023 2023-02-05 13:01:07 +01:00
Bert van der Weerd
c6c9928ccc
Sun Feb 5 12:35:31 PM CET 2023 2023-02-05 12:35:31 +01:00
Bert van der Weerd
dadf10b618
Sun Feb 5 12:21:31 PM CET 2023 2023-02-05 12:21:31 +01:00
Bert van der Weerd
0e2d879168
Sun Feb 5 12:20:03 PM CET 2023 2023-02-05 12:20:03 +01:00
Bert van der Weerd
643e08734d
adding windocker stuff from bsys6 on this branch 2023-02-05 12:18:46 +01:00
Bert van der Weerd
8506c341d2
bump to 109.0.1-2 2023-02-02 10:17:29 +01:00
Bert van der Weerd
011359bb7a
bump to 109.0.1 2023-02-01 19:18:15 +01:00
b5ee671680
ci: create codeberg release 2023-01-27 01:51:10 +01:00
2a5fac9a03
that shouldn't be removed 2023-01-17 13:41:37 +01:00
1749acf960
updated software repo url 2023-01-17 13:39:46 +01:00
Bert van der Weerd
0e2b04be48
bump to v109.0-1 2023-01-17 08:03:08 +01:00
aca2ee2794
add rpms automatically to repo again 2023-01-15 01:06:37 +01:00
f10c273378
Replace Fedora 35 with Fedora 37 2023-01-14 16:37:19 +01:00
Bert van der Weerd
0649106bde bump to upstream 108.0.2 2023-01-11 19:24:43 +01:00
24765f8704
temporarily leave rpm files out of publish in repo 2023-01-02 23:06:42 +01:00
38d4f63c19
add mint vera to repositories 2022-12-22 16:50:54 +01:00
2139a5bb7a
bump to v108.0.1 2022-12-18 02:16:29 +01:00
8e120aa02f
place the icons in a better location 2022-12-18 01:59:31 +01:00
Bert van der Weerd
af971cc5c5
bugfix by @mochaaP issue 19 2022-12-14 11:35:36 +01:00
9e9d026ad7 Update .gitlab-ci.yml file to update staging LibreWolf software repository 2022-12-10 19:16:13 +00:00
stanzabird
18e492ace4 Update source_release 2022-12-04 18:44:28 +00:00
stanzabird
7420e88731 Update .gitlab-ci.yml file 2022-12-03 14:33:45 +00:00
stanzabird
5fffe2749a Update version 2022-12-03 11:36:09 +00:00
Bert van der Weerd
dd00a6e889
Wed 16 Nov 2022 08:02:51 PM CET 2022-11-16 20:02:51 +01:00
Bert van der Weerd
24ef5bf0a2
bump to version 107.0-1 2022-11-15 16:11:02 +01:00
Bert van der Weerd
c838bb5072
bump to version 106.0.5-1 2022-11-05 12:49:40 +01:00
Bert van der Weerd
ccbbbee766
bump to version 106.0.4-1 2022-11-03 14:35:11 +01:00
Bert van der Weerd
6303d80750
Merge branch 'master' of gitlab.com:librewolf-community/browser/bsys5 2022-11-01 10:33:36 +01:00
Bert van der Weerd
4255e74946
bump version v106.0.3-1 2022-11-01 10:33:30 +01:00
8c2af0467f
add new repository for testing 2022-10-31 21:33:10 +01:00
Bert van der Weerd
8ca3d3a357
update to v106.0.2-1 2022-10-29 18:06:53 +02:00
40 changed files with 263 additions and 1368 deletions

View file

@ -2,57 +2,49 @@ stages:
- images
- build
- release
- deploy
Build Docker Images:
# Notes; we want short labes so we can see what is what, and
# allow image builds on all branches because don't wan to
# deal with them on the master branch
Images:
stage: images
when: manual
only:
- master
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
tags: [autoscale]
parallel:
matrix:
- DISTRO:
- debian11
- debian12
- ubuntu20
- ubuntu22
- mint20
- mint21
- fedora35
- fedora36
- tumbleweed
- macos-x86_64
- macos-aarch64
- fedora37
- fedora38
- dind
script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD registry.gitlab.com
- 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
- docker push
registry.gitlab.com/librewolf-community/browser/bsys5/$DISTRO:latest
Build:
stage: build
when: manual
only:
- master
allow_failure: false
parallel:
matrix:
- DISTRO:
- debian11
- debian12
- ubuntu20
- ubuntu22
- mint20
- mint21
- fedora35
- fedora36
- tumbleweed
- macos-x86_64
- macos-aarch64
- fedora37
- fedora38
image: registry.gitlab.com/librewolf-community/browser/bsys5/dind
tags:
- autoscale
@ -63,96 +55,20 @@ Build:
- 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"
- "t=$(cat version)-$(cat source_release) ; if ! grep 1 release; then t=$(cat version)-$(cat source_release)-$(cat release); fi; echo FILEVER=$t >> variables.env"
artifacts:
paths:
- librewolf-*.deb
- librewolf-*.deb.sha256sum
- librewolf-*.rpm
- librewolf-*.rpm.sha256sum
- librewolf-*.dmg
- librewolf-*.dmg.sha256sum
- librewolf-*-setup.exe
- librewolf-*-setup.exe.sha256sum
- librewolf-*-portable.zip
- librewolf-*-portable.zip.sha256sum
reports:
dotenv: variables.env
# x86_64
docker-linux-base-x86_64:
stage: images
when: manual
only:
- flatpak
image: registry.gitlab.com/librewolf-community/browser/bsys5/dind
tags:
- autoscale
script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD registry.gitlab.com
- ( cd linux-base && make arch=x86_64 docker-build )
- docker tag linux-base-x86_64:latest registry.gitlab.com/librewolf-community/browser/bsys5/linux-base-x86_64:latest
- docker push registry.gitlab.com/librewolf-community/browser/bsys5/linux-base-x86_64:latest
linux-base-x86_64:
stage: build
when: manual
only:
- flatpak
image: registry.gitlab.com/librewolf-community/browser/bsys5/linux-base-x86_64:latest
tags:
- autoscale
script:
- ( cd linux-base && make fetch && make arch=x86_64 dir pre-build build package post-package )
- cp linux-base/librewolf-*.tar.bz2 .
artifacts:
paths:
- librewolf-*.tar.bz2
# aarch64
docker-linux-base-aarch64:
stage: images
when: manual
only:
- flatpak
image: registry.gitlab.com/librewolf-community/browser/bsys5/dind
tags:
- autoscale
script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD registry.gitlab.com
- ( cd linux-base && make arch=aarch64 docker-build )
- docker tag linux-base-aarch64:latest registry.gitlab.com/librewolf-community/browser/bsys5/linux-base-aarch64:latest
- docker push registry.gitlab.com/librewolf-community/browser/bsys5/linux-base-aarch64:latest
linux-base-aarch64:
stage: build
when: manual
only:
- flatpak
image: registry.gitlab.com/librewolf-community/browser/bsys5/linux-base-aarch64:latest
tags:
- autoscale
script:
- ( cd linux-base && make fetch && make arch=aarch64 dir pre-build build package post-package )
- cp linux-base/librewolf-*.tar.bz2 .
artifacts:
paths:
- librewolf-*.tar.bz2
Release:
stage: release
when: manual
@ -168,18 +84,26 @@ Release:
before_script:
- apt-get update
- apt-get install -y curl
- curl -L --output /usr/local/bin/release-cli "https://release-cli-downloads.s3.amazonaws.com/latest/release-cli-linux-amd64"
- curl -L --output /usr/local/bin/release-cli
"https://release-cli-downloads.s3.amazonaws.com/latest/release-cli-linux-amd64"
- chmod +x /usr/local/bin/release-cli
script:
- |
codeberg_release_body=""
function upload_package() {
echo "Uploading $1"
curl \
--header "JOB-TOKEN: $CI_JOB_TOKEN" \
--upload-file "$1" \
"$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/$1"
codeberg_release_body="${codeberg_release_body}[$1]($CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/$1)\n"
}
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.debian12.x86_64.deb
upload_package librewolf-$FILEVER.en-US.debian12.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.ubuntu22.x86_64.deb
@ -188,19 +112,73 @@ Release:
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
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
upload_package librewolf-$FILEVER.en-US.mac.aarch64.dmg.sha256sum
upload_package librewolf-$FILEVER.fc37.x86_64.rpm
upload_package librewolf-$FILEVER.fc37.x86_64.rpm.sha256sum
upload_package librewolf-$FILEVER.fc38.x86_64.rpm
upload_package librewolf-$FILEVER.fc38.x86_64.rpm.sha256sum
echo "Creating Codeberg release"
codeberg_release_body="${codeberg_release_body}\n[View on GitLab](https://gitlab.com/librewolf-community/browser/bsys5/-/releases/$FILEVER)"
curl -X 'POST' \
"https://codeberg.org/api/v1/repos/librewolf/bsys5/releases?token=$CODEBERG_TOKEN" \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d "{
\"name\": \"$FILEVER\",
\"tag_name\": \"$FILEVER\",
\"body\": \"$codeberg_release_body\"
}"
- |
body=$(cat <<EOF
{
"token": "$REPO_DEPLOY_TOKEN",
"debs": [
{
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.debian11.x86_64.deb",
"distros": ["bullseye"]
},
{
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.debian12.x86_64.deb",
"distros": ["bookworm"]
},
{
"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.ubuntu22.x86_64.deb",
"distros": ["jammy"]
},
{
"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", "vera"]
}
],
"rpms": [
{
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc37.x86_64.rpm"
},
{
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc38.x86_64.rpm"
}
]
}
EOF
)
id=$(curl "https://updaterepos.librewolf.net/job" --request POST --data "$body")
echo "Submitted update request to LibreWolf Software Repository (https://updaterepos.librewolf.net/job?id=$id)"
release:
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))"
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)
@ -209,6 +187,12 @@ Release:
- name: Debian 11 (sha256sum)
link_type: other
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.debian11.x86_64.deb.sha256sum
- name: Debian 12 (deb)
link_type: package
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.debian12.x86_64.deb
- name: Debian 12 (sha256sum)
link_type: other
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.debian12.x86_64.deb.sha256sum
- name: Ubuntu 20 (deb)
link_type: package
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.ubuntu20.x86_64.deb
@ -233,93 +217,15 @@ Release:
- 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)
- name: Fedora 37 (rpm)
link_type: package
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc35.x86_64.rpm
- name: Fedora 35 (sha256sum)
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc37.x86_64.rpm
- name: Fedora 37 (sha256sum)
link_type: other
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc35.x86_64.rpm.sha256sum
- name: Fedora 36 (rpm)
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc37.x86_64.rpm.sha256sum
- name: Fedora 38 (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)
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc38.x86_64.rpm
- name: Fedora 38 (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
- name: macOS x86_64 (sha256sum)
link_type: other
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/$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/$FILEVER/librewolf-$FILEVER.en-US.mac.aarch64.dmg.sha256sum
Update Repositories:
stage: deploy
only:
- master
except:
- merge_requests
image: curlimages/curl
script:
- |
#
FILEVER=$(cat version)-$(cat source_release) ; grep -q 1 release ; if [ ! $? ]; then FILEVER=$(cat version)-$(cat source_release)-$(cat release); fi
curl "https://shorsh.de/update_lw_repos.php?version=$FILEVER&log=false&token=$REPO_DEPLOY_TOKEN"
echo "Submitted update request to live LibreWolf repositories"
body=$(cat <<EOF
{
"token": "$REPO_DEPLOY_TOKEN",
"debs": [
{
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.en-US.debian11.x86_64.deb",
"distros": ["bullseye"]
},
{
"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.ubuntu22.x86_64.deb",
"distros": ["jammy"]
},
{
"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": [
{
"file": "$CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc35.x86_64.rpm"
},
{
"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"
}
]
}
EOF
)
id=$(curl "https://kho.librewolf.net/job" --request POST --data "$body")
echo "Submitted update request to testing LibreWolf repository (https://kho.librewolf.net/job?id=$id)"
url: $CI_API_V4_URL/projects/$CI_PROJECT_ID/packages/generic/librewolf/$FILEVER/librewolf-$FILEVER.fc38.x86_64.rpm.sha256sum

3
.gitmodules vendored Normal file
View file

@ -0,0 +1,3 @@
[submodule "submodules/windows"]
path = submodules/windows
url = https://gitlab.com/librewolf-community/browser/windows.git

View file

@ -1,4 +1,4 @@
.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 docker-flatpak flatpak docker-flatpak-x86_64 docker-flatpak-aarch64 flatpak-x86_64 flatpak-aarch64
.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-fedora37 fedora37 docker-fedora38 fedora38 docker-macos-x86_64 macos-x86_64 docker-macos-aarch64 macos-aarch64 docker-tumbleweed tumbleweed tarball docker-dind windows
version:=$(shell cat version)
release:=$(shell cat release)
@ -13,27 +13,23 @@ help :
@echo " [update] [prune] - misc."
@echo ""
@echo "docker targets:"
@echo " [docker-debian11], [docker-mint20], [docker-mint21]"
@echo " [docker-debian11], [docker-debian12],[docker-mint20], [docker-mint21]"
@echo " [docker-ubuntu20], [docker-ubuntu21], [docker-ubuntu22]"
@echo " [docker-fedora34], [docker-fedora35], [docker-fedora36]"
@echo " [docker-fedora37], [docker-fedora38]"
@echo " [docker-macos-x86_64], [docker-macos-aarch64]"
@echo " [docker-tumbleweed]"
@echo " [docker-dind]"
@echo " [docker-windows]"
@echo ""
@echo "build targets:"
@echo " [debian11], [mint20], [mint21], [ubuntu20], [ubuntu21]"
@echo " [debian11], [debian12], [mint20], [mint21], [ubuntu20], [ubuntu21]"
@echo " [ubuntu22]"
@echo " [fedora34], [fedora35], [fedora36]"
@echo " [fedora37], [fedora38]"
@echo " [macos-x64_64], [macos-aarch64]"
@echo " [tumbleweed]"
@echo " [windows]"
@echo " [tarball]"
@echo ""
@echo "flatpak version:"
@echo " [docker-flatpak]"
@echo " [flatpak]"
@echo ""
@echo " [docker-flatpak-x86_64] [docker-flatpak-aarch64]"
@echo " [flatpak-x86_64] [flatpak-aarch64]"
clean :
@ -48,12 +44,14 @@ veryclean : clean
prune :
docker system prune --all --force
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
docker : docker-debian11 docker-debian12 docker-mint20 docker-mint21 docker-ubuntu20 docker-ubuntu21 docker-ubuntu22 docker-fedora34 docker-fedora37 docker-fedora38 docker-tumbleweed docker-macos-x86_64 docker-macos-aarch64 docker-dind
build :
${MAKE} clean
${MAKE} debian11
${MAKE} clean
${MAKE} debian12
${MAKE} clean
${MAKE} mint20
${MAKE} clean
${MAKE} mint21
@ -66,9 +64,9 @@ build :
${MAKE} clean
${MAKE} fedora34
${MAKE} clean
${MAKE} fedora35
${MAKE} fedora37
${MAKE} clean
${MAKE} fedora36
${MAKE} fedora38
${MAKE} clean
${MAKE} tumbleweed
${MAKE} clean
@ -76,17 +74,20 @@ build :
${MAKE} clean
${MAKE} macos-aarch64
${MAKE} clean
${MAKE} windows
${MAKE} clean
push :
docker push registry.gitlab.com/librewolf-community/browser/bsys5/debian11
docker push registry.gitlab.com/librewolf-community/browser/bsys5/debian12
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
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/fedora37
docker push registry.gitlab.com/librewolf-community/browser/bsys5/fedora38
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
@ -94,14 +95,15 @@ push :
rmi :
docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/debian11
docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/debian12
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
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/fedora37
docker rmi registry.gitlab.com/librewolf-community/browser/bsys5/fedora38
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
@ -144,6 +146,12 @@ docker-debian11 :
debian11 :
${MAKE} -f assets/linux.mk distro=debian11 build
${MAKE} -f assets/linux.artifacts.mk distro=debian11 artifacts-deb
## debian12
docker-debian12 :
${MAKE} -f assets/linux.mk distro=debian12 "distro_image=debian:bookworm" docker
debian12 :
${MAKE} -f assets/linux.mk distro=debian12 build
${MAKE} -f assets/linux.artifacts.mk distro=debian12 artifacts-deb
## mint20
docker-mint20 :
${MAKE} -f assets/linux.mk distro=mint20 "distro_image=linuxmintd/mint20.2-amd64" docker
@ -174,24 +182,18 @@ docker-ubuntu22 :
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
fedora34 :
${MAKE} -f assets/linux.mk distro=fedora34 build
${MAKE} -f assets/linux.artifacts.mk fc=fc34 distro=fedora34 artifacts-rpm
## fedora35
docker-fedora35 :
${MAKE} -f assets/linux.mk distro=fedora35 "distro_image=fedora:35" docker
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
## fedora37
docker-fedora37 :
${MAKE} -f assets/linux.mk distro=fedora37 "distro_image=fedora:37" docker
fedora37 :
${MAKE} -f assets/linux.mk distro=fedora37 build
${MAKE} -f assets/linux.artifacts.mk fc=fc37 distro=fedora37 artifacts-rpm
## fedora38
docker-fedora38 :
${MAKE} -f assets/linux.mk distro=fedora38 "distro_image=fedora:38" docker
fedora38 :
${MAKE} -f assets/linux.mk distro=fedora38 build
${MAKE} -f assets/linux.artifacts.mk fc=fc38 distro=fedora38 artifacts-rpm
## opensuse tumbleweed
docker-tumbleweed :
${MAKE} -f assets/linux.mk distro=tumbleweed "distro_image=opensuse/tumbleweed" docker
@ -222,19 +224,11 @@ docker-macos-aarch64 :
macos-aarch64 :
${MAKE} -f assets/macos.mk arch=aarch64 build
## docker-flatpak-x86_64 docker-flatpak-aarch64 flatpak-x86_64 flatpak-aarch64
docker-flatpak : docker-flatpak-x86_64
flatpak : flatpak-x86_64
docker-flatpak-x86_64 :
${MAKE} -C flatpak arch=x86_64 docker-build
docker-flatpak-aarch64 :
${MAKE} -C flatpak arch=aarch64 docker-build
flatpak-x86_64 :
${MAKE} -C flatpak arch=x86_64 docker-run
flatpak-aarch64 :
${MAKE} -C flatpak arch=aarch64 docker-run
## windows
docker-windows :
${MAKE} -f assets/windows.mk docker
windows :
${MAKE} -f assets/windows.mk build
#
# Docker in Docker (for GitLab CI)

View file

@ -10,15 +10,15 @@ scripts.
## <a id="targets"></a> Supported Targets
| Platform | x86_64 | aarch64 |
| ----------------- | ----------------------- | ------------------ |
| ------------------------ | ----------------------- | ------------------ |
| Linux | | |
| └─ Debian (deb) | ✅ (debian11) | - |
| └─ Debian (deb) | ✅ (debian11,debian12) | - |
| └─ Ubuntu (deb) | ✅ (ubuntu20, ubuntu22) | - |
| └─ Mint (deb) | ✅ (mint20, mint21) | - |
| └─ Fedora (rpm) | ✅ (fedora35, fedora36) | - |
| └─ Fedora (rpm) | ✅ (fedora38, fedora37) | - |
| └─ openSUSE (rpm) | ✅ (tumbleweed) | - |
| MacOS (dmg) | ✅ (macos-x64_64) | ✅ (macos-aarch64) |
| Windows | _WIP_ | - |
| Windows (setup,portable) | ✅ (windows) | - |
## Running bsys5 Locally

View file

@ -14,13 +14,13 @@ 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 ( apt-get -y update && apt-get -y upgrade && apt-get -y install python3 python3-dev python3-pip wget ; apt-get -y install dpkg-sig; true)
RUN ( dnf -y upgrade && dnf -y install python3 python3-devel gcc wget rpm-build rpm-sign ; true)
RUN ( zypper -n in mercurial python3 python3-pip python3-devel wget rpm-build ; true)
# run the bootstrap
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 &&\
wget -q -O librewolf-$version-$source_release.source.tar.gz https://gitlab.com/api/v4/projects/32320088/packages/generic/librewolf-source/$version-$source_release/librewolf-$version-$source_release.source.tar.gz &&\
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 &&\

View file

@ -20,7 +20,7 @@ librewolf-$(full_version).en-US.$(distro).x86_64.deb : $(infile)
(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)
(cd work && sed "s/MYDIR/\/usr\/share\/librewolf/g" < ../assets/linux.librewolf.desktop.in > librewolf.desktop)
ifeq ($(use_docker),false)
(cd work && bash linux.build-deb.sh $(full_version))
else
@ -46,7 +46,7 @@ librewolf-$(full_version).$(fc).x86_64.rpm : $(infile)
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.desktop.in work/librewolf/librewolf.desktop.in
cp -v assets/linux.librewolf.ico work/librewolf/librewolf.ico
[ "$(SIGNING_KEY)" != "" ] && cp -v $(SIGNING_KEY) work/pk.asc ; true
rm -f work/librewolf/browser/features/proxy-failover@mozilla.com.xpi
@ -66,4 +66,3 @@ endif
artifacts-rpm : $(infile) $(infile).sha256sum
sha256sum -c $(infile).sha256sum
${MAKE} -f assets/linux.artifacts.mk fc=$(fc) distro=$(distro) librewolf-$(full_version).$(fc).x86_64.rpm

View file

@ -34,15 +34,21 @@ cd ../..
# add the application icon
mkdir -p usr/share/applications
mkdir -p usr/share/icons
cp -v usr/share/librewolf/browser/chrome/icons/default/default64.png usr/share/icons/librewolf.png
cp -v ../start-librewolf.desktop usr/share/applications/start-librewolf.desktop
mkdir -p usr/share/icons/hicolor/16x16/apps
mkdir -p usr/share/icons/hicolor/32x32/apps
mkdir -p usr/share/icons/hicolor/64x64/apps
mkdir -p usr/share/icons/hicolor/128x128/apps
cp -v usr/share/librewolf/browser/chrome/icons/default/default16.png usr/share/icons/hicolor/16x16/apps/librewolf.png
cp -v usr/share/librewolf/browser/chrome/icons/default/default32.png usr/share/icons/hicolor/32x32/apps/librewolf.png
cp -v usr/share/librewolf/browser/chrome/icons/default/default64.png usr/share/icons/hicolor/64x64/apps/librewolf.png
cp -v usr/share/librewolf/browser/chrome/icons/default/default128.png usr/share/icons/hicolor/128x128/apps/librewolf.png
cp -v ../librewolf.desktop usr/share/applications/librewolf.desktop
cd ..
dpkg-deb --build librewolf
# Sign the deb file if private key is provided
if [[ -f pk.asc ]]; then
# Sign the deb file if private key is provided and we have dpkg-sig available
if [[ -f pk.asc ]] && command -v dpkg-sig &>/dev/null; then
gpg --import pk.asc
dpkg-sig --sign builder librewolf.deb
fi

View file

@ -43,6 +43,9 @@ rm -rf /usr/src && ln -sv /WORK /usr/src # Required for openSUSE
sed "s/__VERSION__/$version/g" </work/librewolf.spec >/work/tmp.spec
sed "s/__RELEASE__/$full_release/g" </work/tmp.spec >rpmbuild/SPECS/librewolf.spec
# fix: remove some tool binaries we don't want
rm -f /work/librewolf/{glxtest,vaapitest}
# copy in the librewolf assets
cp -rv /work/librewolf rpmbuild/SOURCES
@ -59,9 +62,15 @@ cd ../../..
# Application icon
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
mkdir -p librewolf-$version/usr/share/icons/hicolor/16x16/apps
mkdir -p librewolf-$version/usr/share/icons/hicolor/32x32/apps
mkdir -p librewolf-$version/usr/share/icons/hicolor/64x64/apps
mkdir -p librewolf-$version/usr/share/icons/hicolor/128x128/apps
cp -v librewolf-$version/usr/share/librewolf/browser/chrome/icons/default/default16.png librewolf-$version/usr/share/icons/hicolor/16x16/apps/librewolf.png
cp -v librewolf-$version/usr/share/librewolf/browser/chrome/icons/default/default32.png librewolf-$version/usr/share/icons/hicolor/32x32/apps/librewolf.png
cp -v librewolf-$version/usr/share/librewolf/browser/chrome/icons/default/default64.png librewolf-$version/usr/share/icons/hicolor/64x64/apps/librewolf.png
cp -v librewolf-$version/usr/share/librewolf/browser/chrome/icons/default/default128.png librewolf-$version/usr/share/icons/hicolor/128x128/apps/librewolf.png
sed "s/MYDIR/\/usr\/share\/librewolf/g" </work/librewolf/librewolf.desktop.in >librewolf-$version/usr/share/applications/librewolf.desktop
tar cvfz lw.tar.gz librewolf-$version
# todo perhaps: rm -rf librwolf-$version

View file

@ -12,7 +12,7 @@ Comment=LibreWolf Browser
Categories=Network;WebBrowser;Security;
StartupWMClass=librewolf-default
Exec=MYDIR/librewolf %u
Icon=MYDIR/browser/chrome/icons/default/default64.png
Icon=librewolf
Actions=new-window;new-private-window;safe-mode;preferences;

View file

@ -22,7 +22,10 @@ cp -rv * "$RPM_BUILD_ROOT"
%files
/usr/bin/librewolf
/usr/share/applications/librewolf.desktop
/usr/share/icons/librewolf.png
/usr/share/icons/hicolor/16x16/apps/librewolf.png
/usr/share/icons/hicolor/32x32/apps/librewolf.png
/usr/share/icons/hicolor/64x64/apps/librewolf.png
/usr/share/icons/hicolor/128x128/apps/librewolf.png
/usr/share/librewolf/application.ini
/usr/share/librewolf/browser/chrome/icons/default/default128.png
/usr/share/librewolf/browser/chrome/icons/default/default16.png
@ -58,6 +61,7 @@ cp -rv * "$RPM_BUILD_ROOT"
/usr/share/librewolf/librewolf
/usr/share/librewolf/librewolf-bin
/usr/share/librewolf/librewolf.cfg
/usr/share/librewolf/librewolf.desktop.in
/usr/share/librewolf/librewolf.ico
/usr/share/librewolf/libsmime3.so
/usr/share/librewolf/libsoftokn3.so
@ -66,5 +70,3 @@ cp -rv * "$RPM_BUILD_ROOT"
/usr/share/librewolf/omni.ja
/usr/share/librewolf/platform.ini
/usr/share/librewolf/plugin-container
/usr/share/librewolf/start-librewolf.desktop.in

View file

@ -16,20 +16,21 @@ 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 osx sdk
RUN mkdir -p /osx-cross/MacOSX-SDKs &&\
cd /osx-cross/MacOSX-SDKs &&\
wget -q "https://github.com/phracker/MacOSX-SDKs/releases/download/11.3/MacOSX11.3.sdk.tar.xz" &&\
tar xf MacOSX11.3.sdk.tar.xz &&\
rm -f MacOSX11.3.sdk.tar.xz
#
# Setup MacOSX SDK v13.0
RUN mkdir -p /osx-cross/MacOSX-SDKs && cd /osx-cross/MacOSX-SDKs && wget https://files.stanzabird.nl/MacOSX13.0.sdk.zip && unzip MacOSX13.0.sdk.zip && rm MacOSX13.0.sdk.zip
# 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 wget -q -O librewolf-$version-$source_release.source.tar.gz https://gitlab.com/api/v4/projects/32320088/packages/generic/librewolf-source/$version-$source_release/librewolf-$version-$source_release.source.tar.gz
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 echo ac_add_options --with-macos-sdk=/osx-cross/MacOSX-SDKs/MacOSX13.0.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
@ -44,7 +45,7 @@ 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
# 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

View file

@ -2,7 +2,7 @@ ac_add_options --enable-application=browser
# for crosscompiling...
ac_add_options --target=_ARCH_-apple-darwin
ac_add_options --with-macos-sdk=/osx-cross/MacOSX-SDKs/MacOSX11.3.sdk
ac_add_options --with-macos-sdk=/osx-cross/MacOSX-SDKs/MacOSX13.0.sdk
CROSS_BUILD=1
export CROSS=/root/.mozbuild
@ -22,7 +22,7 @@ export HOST_CC="$CROSS/clang/bin/clang"
export HOST_CXX="$CROSS/clang/bin/clang++"
# These are needed for packaging.
export MKFSHFS="$CROSS/hfsplus-tools/newfs_hfs"
# export MKFSHFS="$CROSS/hfsplus-tools/newfs_hfs"
export DMG_TOOL="$CROSS/dmg/dmg"
export HFS_TOOL="$CROSS/dmg/hfsplus"

View file

@ -1,9 +0,0 @@
#!/bin/sh
set -e
tmpfile=/tmp/tmp.784979489.sh
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > $tmpfile
chmod +x $tmpfile
/bin/sh -c "$tmpfile -y"
rm -f $tmpfile

View file

@ -0,0 +1,8 @@
FROM ubuntu:latest
RUN apt-get -y update && apt-get -y upgrade && apt-get -y install bash git wget build-essential zip
RUN dpkg --add-architecture i386 && apt-get -y update && apt-get -y install wine32
RUN tmpdir=$(mktemp -d) && cd $tmpdir && git clone https://gitlab.com/librewolf-community/browser/windows.git && cd windows/linux && make setup-debian && make fetch && make bootstrap && cd /root && rm -rf $tmpdir
WORKDIR /work
VOLUME ["/work"]

42
assets/windows.mk Normal file
View file

@ -0,0 +1,42 @@
# windows.mk - this one is quite a bit different from the others,
# but we can fix that later.
.PHONY : docker build
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-exe=librewolf-$(full_version).en-US.win64-setup.exe
outfile-zip=librewolf-$(full_version).en-US.win64-portable.zip
outfiles=$(outfile-exe) $(outfile-zip)
distro=windows
image=registry.gitlab.com/librewolf-community/browser/bsys5/$(distro):latest
docker :
docker build -t $(image) - < assets/windows.Dockerfile
build :
pwd
rm -rf windows
git clone https://gitlab.com/librewolf-community/browser/windows.git
( cd windows/linux && pwd && ${MAKE} fetch )
ifeq ($(use_docker),false)
( cd windows/linux && ${MAKE} )
else
docker run --rm -v $(shell pwd)/windows/linux:/work:rw registry.gitlab.com/librewolf-community/browser/bsys5/$(distro) sh -c "${MAKE} all"
endif
cp -v windows/linux/$(outfiles) .
sha256sum $(outfile-exe) > $(outfile-exe).sha256sum
cat $(outfile-exe).sha256sum
sha256sum $(outfile-zip) > $(outfile-zip).sha256sum
cat $(outfile-zip).sha256sum

View file

@ -1,156 +0,0 @@
.PHONY : help fetch all clean build dir bootstrap winsdk setup-debian setup-fedora veryclean docker-build docker-run docker-shell docker-clean artifacts pre-build post-package update
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)")
mozbuild=~/.mozbuild
assets=assets/linux-base
ifeq ($(target_type),)
target_type:=flatpak
endif
ifeq ($(arch),)
arch:=x86_64
endif
docker_image_name=linux-base-$(arch)
help :
@echo "use: make [help] [all] [clean] [build] [package] [artifacts]"
@echo ""
@echo " fetch - get the latest tarball. must be done first, at least once."
@echo " update - Only fetch the LibreWolf version-release files. used by 'fetch'"
@echo ""
@echo " all - Build librewolf and it's artifacts."
@echo ""
@echo " dir - just extract and patch the LW tarball."
@echo " pre-build - Perform 'target_type' specific pre-build tasks."
@echo " build - Perform './mach build' on the extracted tarball."
@echo " package - Build symbols, and multilocale package."
@echo " post-package - Perform 'target_type' specific post-package tasks."
@echo " artifacts - Build the artifacts"
@echo ""
@echo " clean - Remove output files and temporary files."
@echo " veryclean - Remove even more stuff."
@echo " bootstrap - try to set up the build environment."
@echo " setup-debian, setup-fedora - needed packages."
@echo ""
@echo " docker-build - Run 'docker build' for " $(docker_image_name) " image."
@echo " docker-run - Run LW build using 'docker run' on then image."
@echo " docker-shell - Run a shell in the docker image."
@echo " docker-clean - Remove the docker image."
@echo ""
@echo "Use arch=x86_64 or arch=aarch64 to specify the target architecture."
@echo "Use target_type=flatpak or target_type=appimage to specify artifacts type."
all : dir pre-build build package post-package artifacts
update :
@wget -q -O version "https://gitlab.com/librewolf-community/browser/source/-/raw/main/version"
@wget -q -O source_release "https://gitlab.com/librewolf-community/browser/source/-/raw/main/release"
@echo "Using LibreWolf version $$(cat version)-$$(cat source_release)."
@echo "Targeting: $(target_type), architecture: $(arch)."
fetch : update
@wget -q -O "librewolf-$$(cat version)-$$(cat source_release).source.tar.gz.sha256sum" "https://gitlab.com/librewolf-community/browser/source/-/jobs/artifacts/main/raw/librewolf-$$(cat version)-$$(cat source_release).source.tar.gz.sha256sum?job=Build"
wget --progress=bar:force -O "librewolf-$$(cat version)-$$(cat source_release).source.tar.gz" "https://gitlab.com/librewolf-community/browser/source/-/jobs/artifacts/main/raw/librewolf-$$(cat version)-$$(cat source_release).source.tar.gz?job=Build"
cat "librewolf-$$(cat version)-$$(cat source_release).source.tar.gz.sha256sum"
sha256sum -c "librewolf-$$(cat version)-$$(cat source_release).source.tar.gz.sha256sum"
clean :
rm -rf librewolf-$(full_version) work
veryclean : clean
rm -rf firefox-$(full_version).en-US.win64.zip librewolf-$(full_version).en-US.win64-setup.exe librewolf-$(full_version).en-US.win64-portable.zip
rm -f "librewolf-$$(cat version)-$$(cat source_release).source.tar.gz" "librewolf-$$(cat version)-$$(cat source_release).source.tar.gz.sha256sum"
rm -f version source_release
rm -f librewolf-*.en-US.linux-*.tar.bz2
# this is the place to apply patches and create a custom mozconfig
pre-build :
./assets/pre_build_patches_mozconfig.sh
build : dir
(cd librewolf-$(full_version) && ./mach build)
package : dir
( cd librewolf-$(full_version) && ./mach buildsymbols )
( cd librewolf-$(full_version) && echo 'Packaging... (output hidden)' && \
cat browser/locales/shipped-locales | xargs ./mach package-multi-locale --locales >/dev/null )
post-package :
cp -v librewolf-$(full_version)/obj-$(arch)-pc-linux-gnu/dist/librewolf-$(full_version).en-US.linux-$(arch).tar.bz2 .
ARCH=$(arch) ./assets/post_package_distini_etc.sh
artifacts :
${MAKE} -f assets/$(target_type)/artifacts.mk artifacts
dir : librewolf-$(full_version)
librewolf-$(full_version) : librewolf-$(full_version).source.tar.gz
rm -rf $@
tar xf $<
touch $@
# we include the standard mozconfig from our $(arch)-specific one
mv librewolf-$(full_version)/mozconfig librewolf-$(full_version)/mozconfig.std
cp assets/mozconfig.$(arch) librewolf-$(full_version)/mozconfig
docker-build :
docker build --no-cache --build-arg "arch=$(arch)" -t $(docker_image_name) - < assets/Dockerfile
docker-run :
docker run --rm $(docker_image_name) sh -c "git pull && make fetch && make arch=$(arch) all"
docker-shell :
docker run -it --rm $(docker_image_name) sh -c "/bin/bash"
docker-clean :
docker rmi $(docker_image_name)
bootstrap : dir
(cd librewolf-$(full_version) && ./mach --no-interactive bootstrap --application-choice=browser)
( export t=$$(pwd)/librewolf-$(full_version) && \
cd $(mozbuild) && \
$$t/mach artifact toolchain --from-build sysroot-aarch64-linux-gnu && \
$$t/mach artifact toolchain --from-build linux64-binutils && \
$$t/mach artifact toolchain --from-build linux64-cctools-port && \
true )
/root/.cargo/bin/rustup target add aarch64-unknown-linux-gnu
setup-debian :
apt-get -y install mercurial python3 python3-dev python3-pip curl wget dpkg-sig libssl-dev zstd
setup-fedora :
dnf -y install python3 curl wget zstd python3-devel python3-pip mercurial openssl-devel

View file

@ -1,29 +0,0 @@
# lw-linux-base
Use `make help` to get this help message:
```
Build for flatpack and appimage files.
use: make [help] [all] [clean] [build] [package] [artifacts]
fetch - get the latest tarball. must be done first, at least once.
update - Only fetch the LibreWolf version-release files. used by 'fetch'
all - Build librewolf and it's artifacts.
build - Perform './mach build' on the extracted tarball.
package - multilocale package.
artifacts - Build the artifacts
clean - Remove output files and temporary files.
veryclean - Remove even more stuff.
dir - just extract and patch the LW tarball.
bootstrap - try to set up the build environment.
setup-debian, setup-fedora - needed packages.
docker-build - Run 'docker build' for lw-linux-base-x86_64 image.
docker-run - Run LW build using 'docker run' on then image.
docker-shell - Run a shell in the docker image.
docker-clean - Remove the docker image.
Use arch=x86_64 or arch=aarch64 to specify the target architecture.
Use target_type=flatpak or target_type=appimage to specify target type.
```

View file

@ -1,14 +0,0 @@
.PHONY: artifacts
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)")
mozbuild=~/.mozbuild
incoming_artifact=firefox-$(full_version).en-US.win64.zip
setupname=librewolf-$(full_version).en-US.win64-setup.exe
zipname=librewolf-$(full_version).en-US.win64-portable.zip
artifacts :
@echo "assets/appimage/artifacts.mk: Starting artifacts build."

View file

@ -1,22 +0,0 @@
FROM ubuntu:jammy
#FROM fedora:36
ARG arch=error
RUN apt-get -y update && apt-get -y upgrade && apt-get -y install make wget git patch gettext-base
#RUN dnf -y update && dnf -y install make wget git patch gettext
RUN git clone https://gitlab.com/librewolf-community/browser/bsys5
WORKDIR bsys5
RUN git checkout flatpak
WORKDIR linux-base
ENV PATH="${PATH}:/root/.cargo/bin"
#RUN make setup-fedora && make fetch && make arch=$arch bootstrap && make veryclean
RUN make setup-debian
RUN make update # this makes it not reproducible
RUN make fetch
RUN sh -c ./assets/setup-rust.sh
RUN make arch=$arch bootstrap
RUN make veryclean

View file

@ -1,24 +0,0 @@
Description: starting with firefox 66, armhf builds on Launchpad frequently
fail with "/usr/bin/ld: final link failed: memory exhausted" when linking
libxul.so. This is an attempt to reduce the memory used by ld.
Author: Olivier Tilloy <olivier.tilloy@canonical.com>
--- a/build/moz.configure/toolchain.configure
+++ b/build/moz.configure/toolchain.configure
@@ -1631,12 +1631,15 @@ set_config("LINKER_KIND", select_linker.KIND)
target_multiarch_dir,
android_platform,
c_compiler,
+ host,
)
@imports("os")
def linker_ldflags(
- linker, target, sysroot, multiarch_dir, android_platform, c_compiler
+ linker, target, sysroot, multiarch_dir, android_platform, c_compiler, host
):
flags = list((linker and linker.LINKER_FLAG) or [])
+ if host.cpu == "arm":
+ flags.append("-Wl,--no-keep-memory")
# rpath-link is irrelevant to wasm, see for more info https://github.com/emscripten-core/emscripten/issues/11076.
if sysroot.path and multiarch_dir and target.os != "WASI":
for d in ("lib", "usr/lib"):

View file

@ -1,17 +0,0 @@
Description: Remove an extra constant definition that is now being generated by newer versions of cbindgen (0.24),
and causing build failures because it is defined in several places.
Author: Olivier Tilloy <olivier.tilloy@canonical.com>
Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1773259
Forwarded: not-needed
--- a/gfx/webrender_bindings/webrender_ffi.h
+++ b/gfx/webrender_bindings/webrender_ffi.h
@@ -73,8 +73,6 @@ struct WrPipelineInfo;
struct WrPipelineIdAndEpoch;
using WrPipelineIdEpochs = nsTArray<WrPipelineIdAndEpoch>;
-const uint64_t ROOT_CLIP_CHAIN = ~0;
-
} // namespace wr
} // namespace mozilla

View file

@ -1,19 +0,0 @@
Description: Fix FTBFS on bionic. Compiler errors:
In file included from Unified_cpp_widget_gtk1.cpp:2:
/<<BUILDDIR>>/firefox-92.0~b2+build1/widget/gtk/WaylandBuffer.cpp:261:39: error: unknown type name 'GLContext'; did you mean 'EGLContext'?
const LayoutDeviceIntSize& aSize, GLContext* aGL) {
^~~~~~~~~
Author: Rico Tzschichholz <ricotz@ubuntu.com>
--- a/widget/gtk/WaylandBuffer.cpp
+++ b/widget/gtk/WaylandBuffer.cpp
@@ -258,7 +258,7 @@
/* static */
RefPtr<WaylandBufferDMABUF> WaylandBufferDMABUF::Create(
- const LayoutDeviceIntSize& aSize, GLContext* aGL) {
+ const LayoutDeviceIntSize& aSize, gl::GLContext* aGL) {
RefPtr<WaylandBufferDMABUF> buffer = new WaylandBufferDMABUF(aSize);
const auto flags =

View file

@ -1,21 +0,0 @@
Description: reduce the rust debuginfo level
because compiling with debuginfo=2 causes the OOM killer to interrupt the build
on launchpad builders. Initially this was only on 32 bit architectures, but
with firefox 63 it started happening frequently on arm64 and ppc64el too,
with newer versions it started happening very frequently on s390x too, and with
firefox 84 (built with rustc 1.47) it started happening on amd64 too.
This patch would initially decrease debug_info for selected architectures, but
with recent versions of rustc pretty much all supported architectures are
affected, so it is now unconditional.
--- a/build/moz.configure/rust.configure
+++ b/build/moz.configure/rust.configure
@@ -2167,7 +2167,7 @@ def rust_compile_flags(opt_level, debug_
debug_assertions = False
if debug_symbols:
- debug_info = "2"
+ debug_info = "1"
opts = []

View file

@ -1,13 +0,0 @@
diff -r 08cd64cdbc3b config/external/icu/data/convert_icudata.py
--- a/config/external/icu/data/convert_icudata.py Fri Jul 17 11:18:09 2020 +0000
+++ b/config/external/icu/data/convert_icudata.py Sat Jul 18 14:40:33 2020 +0200
@@ -11,7 +11,7 @@
subprocess.run(
[
- os.path.join(buildconfig.topobjdir, "dist", "host", "bin", "icupkg"),
+ "icupkg",
"-tb",
data_file,
output.name,
]

View file

@ -1,369 +0,0 @@
This file contains the PGP keys of various developers that work on
Mozilla and its subprojects (such as Firefox and Thunderbird).
Please realize that this file itself or the public key servers may be
compromised. You are encouraged to validate the authenticity of these keys in
an out-of-band manner.
Mozilla users: pgp < KEY
pub rsa4096 2015-07-17 [SC]
14F26682D0916CDD81E37B6D61B7B526D98F0353
uid [ full ] Mozilla Software Releases <release@mozilla.com>
sub rsa4096 2015-07-17 [S] [expired: 2017-07-16]
sub rsa4096 2017-06-22 [S] [expired: 2019-06-22]
sub rsa4096 2019-05-30 [S] [expires: 2021-05-29]
sub rsa4096 2021-05-17 [S] [expires: 2023-05-17]
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=81zK
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -1,47 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>io.gitlab.librewolf-community</id>
<launchable type="desktop-id">io.gitlab.librewolf-community.desktop</launchable>
<name>LibreWolf</name>
<developer_name>LibreWolf Community</developer_name>
<summary>LibreWolf Web Browser</summary>
<metadata_license>CC0-1.0</metadata_license>
<project_license>MPL-2.0</project_license>
<screenshots>
<screenshot type="default">
<image type="source" width="1121" height="902">https://librewolf.net/screenshot.png</image>
</screenshot>
</screenshots>
<description>
<p>LibreWolf</p>
<p>This project is an independent fork of Firefox, with the primary goals of privacy security and user freedom. It is the community run successor to LibreFox.</p>
<p>LibreWolf uses more than 500 privacy/security/performance settings, patches, LibreWolf-Addons (optional) and is designed to minimize data collection and telemetry as much as possible (updater, crashreporter and Firefoxs integrated addons that dont respect privacy are removed).</p>
<p>LibreWolf is NOT associated with Mozilla or its products.</p>
<p>Features:</p>
<ul>
<li>Latest Version of Firefox: LibreWolf is compiled directly from the latest build of Firefox Stable. You will have the the latest features, and security updates.</li>
<li>Completely Independent Build: LibreWolf uses a completely independent build from Firefox and has its own settings, profile folder and installation path. As a result, it can be installed alongside Firefox or any other browser.</li>
<li>Settings protection: important settings are enforced/locked within librewolf.cfg and policies.json, those settings cannot be changed by addons/updates/LibreWolf itself or unwanted/accidental manipulation; To change those settings you can easily do it by editing librewolf.cfg and policies.json.</li>
<li>LibreWolf-addons: set of optional LibreWolf extensions</li>
<li>Statistics disabled: telemetry and similar functions are disabled</li>
<li>Tested settings: settings are performance aware</li>
<li>Recommended and code reviewed addons list</li>
<li>Community-Driven</li>
<li>And much more…</li>
</ul>
</description>
<releases>
<release version="$pkgver-$pkgrel" date="$DATE"/>
</releases>
<keywords>
<keyword>librewolf</keyword>
<keyword>internet</keyword>
<keyword>web</keyword>
</keywords>
<url type="homepage">https://librewolf.net/</url>
<url type="bugtracker">https://gitlab.com/groups/librewolf-community/-/issues/</url>
<provides>
<id>io.gitlab.librewolf-community</id>
</provides>
<content_rating type="oars-1.1" />
</component>

View file

@ -1,29 +0,0 @@
#!/usr/bin/env bash
INSTALL_FOLDER=$(realpath $(dirname $0));
INSTALL_SETTINGS_FOLDER=$INSTALL_FOLDER/settings;
PROFILE_SETTINGS_FOLDER=$HOME/.librewolf/settings;
# Adds option to install settings if argument is passed
if [ "$1" = "--install-settings" ]; then
mkdir -p $PROFILE_SETTINGS_FOLDER;
cp $INSTALL_SETTINGS_FOLDER/defaults/pref/local-settings.js $PROFILE_SETTINGS_FOLDER/local-settings.js;
cp $INSTALL_SETTINGS_FOLDER/distribution/policies.json $PROFILE_SETTINGS_FOLDER/policies.json;
cp $INSTALL_SETTINGS_FOLDER/librewolf.cfg $PROFILE_SETTINGS_FOLDER/librewolf.cfg;
cp $INSTALL_SETTINGS_FOLDER/toggle-settings.sh $PROFILE_SETTINGS_FOLDER/toggle-settings.sh;
fi
# Sets up settings links
mkdir -p $INSTALL_FOLDER/defaults/pref/;
mkdir -p $INSTALL_FOLDER/distribution/;
ln -s $PROFILE_SETTINGS_FOLDER/local-settings.js $INSTALL_FOLDER/defaults/pref/local-settings.js;
ln -s $PROFILE_SETTINGS_FOLDER/policies.json $INSTALL_FOLDER/distribution/policies.json;
ln -s $PROFILE_SETTINGS_FOLDER/librewolf.cfg $INSTALL_FOLDER/librewolf.cfg;
# Sets env variables to disable dedicated profiles (which breaks some packaging methods)
export MOZ_LEGACY_PROFILES=1;
export SNAP_NAME="firefox";
# Launches librewolf
chmod +x $INSTALL_FOLDER/librewolf;
$INSTALL_FOLDER/librewolf "$@";

View file

@ -1,21 +0,0 @@
#!/usr/bin/env bash
# Exit script with a non-zero exit code if:
# - any command fails (-e | --errexit)
# - any variable is unset (-u | --nounset)
# - a part of a piped sequence fails (-o pipefail)
set -euo pipefail
SCRIPT_FOLDER=$(realpath $(dirname $0));
# Enable settings ------------------------------------------------------------------------------------------
if [[ "${1}" = "--enable" ]]; then
mv "${SCRIPT_FOLDER}/[DISABLED] local-settings.js" "${SCRIPT_FOLDER}/local-settings.js";
mv "${SCRIPT_FOLDER}/[DISABLED] policies.json" "${SCRIPT_FOLDER}/policies.json";
mv "${SCRIPT_FOLDER}/[DISABLED] librewolf.cfg" "${SCRIPT_FOLDER}/librewolf.cfg";
# Disable settings ------------------------------------------------------------------------------------------
elif [[ "${1}" = "--disable" ]]; then
mv "${SCRIPT_FOLDER}/local-settings.js" "${SCRIPT_FOLDER}/[DISABLED] local-settings.js";
mv "${SCRIPT_FOLDER}/policies.json" "${SCRIPT_FOLDER}/[DISABLED] policies.json";
mv "${SCRIPT_FOLDER}/librewolf.cfg" "${SCRIPT_FOLDER}/[DISABLED] librewolf.cfg";
fi

View file

@ -1,5 +0,0 @@
. "$topsrcdir/mozconfig.std"
ac_add_options --target=aarch64-pc-linux-gnu
ac_add_options --enable-linker=lld
ac_add_options --enable-bootstrap

View file

@ -1,4 +0,0 @@
. "$topsrcdir/mozconfig.std"
ac_add_options --target=x86_64-pc-linux-gnu
ac_add_options --enable-bootstrap

View file

@ -1,45 +0,0 @@
#!/bin/sh
set -e
version=$(cat version)
release=$(cat release)
source_release=$(cat source_release)
tmp="" && [ $release -gt 1 ] && tmp=-$release
full_version=$version-$source_release$tmp
arch="x86_64" && [ ! -z $ARCH ] && arch=$ARCH
echo assets/post_package_distini_etc.sh: Starting Post-package script for version $full_version for $arch.
# ---
# See: https://gitlab.com/librewolf-community/browser/linux/-/blob/master/scripts/5_Configure_Binary_Tarball.sh
binary_tarball=librewolf-$full_version.en-US.linux-$arch.tar.bz2
# Extract tarball
mkdir -p work
tar --strip-components=1 -xf $binary_tarball -C work
# Add distribution.ini
distini="work/distribution/distribution.ini"
install -Dvm644 /dev/stdin $distini <<END
[Global]
id=io.gitlab.librewolf-community
version=1.0
about=LibreWolf
[Preferences]
app.distributor="LibreWolf Community"
app.distributor.channel=librewolf
app.partner.librewolf=librewolf
END
# Create Appstream metadate file
export DATE=$(date +%Y-%m-%d)
envsubst < assets/from-linux-repo/content/io.gitlab.librewolf-community.appdata.xml.in > work/io.gitlab.librewolf-community.appdata.xml
# Recompress tarball
rm -f $binary_tarball
tar -jvcf $binary_tarball -C work .

View file

@ -1,45 +0,0 @@
#!/bin/sh
set -e
version=$(cat version)
release=$(cat release)
source_release=$(cat source_release)
tmp="" && [ $release -gt 1 ] && tmp=-$release
full_version=$version-$source_release$tmp
arch="x86_64" && [ ! -z $ARCH ] && arch=$ARCH
echo assets/pre_build_patches_mozconfig.sh: Starting Pre-build script for version $full_version for $arch.
# ---
# See: https://gitlab.com/librewolf-community/browser/linux/-/blob/master/scripts/3_Configure_Source_Code.sh
#
# 1) Creating a valid mozconfig is already done by Makefile. Skipped.
#
# allow setting limited resource usage via ENV / CI:
if [ ! -z ${CORES_TO_USE} ]; then
echo "mk_add_options MOZ_MAKE_FLAGS=\"-j${CORES_TO_USE}\"" >> librewolf-${full_version}/mozconfig
fi
#
# 2) apply patches not already done in the source tarball
#
cd librewolf-$full_version
# hopefully the magic sauce that makes things build on 18.04 and later on work "everywhere"
patch -Np1 -i ../assets/deb_patches/armhf-reduce-linker-memory-use.patch
patch -Np1 -i ../assets/deb_patches/reduce-rust-debuginfo.patch
patch -Np1 -i ../assets/deb_patches/use-system-icupkg.patch
# might make the build just a tiny bit cleaner, not really required though
patch -Np1 -i ../assets/deb_patches/fix-wayland-build.patch
cd ..

View file

@ -1,9 +0,0 @@
#!/bin/sh
set -e
tmpfile=/tmp/tmp.784979489.sh
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > $tmpfile
chmod +x $tmpfile
/bin/sh -c "$tmpfile -y"
rm -f $tmpfile

View file

@ -1,34 +0,0 @@
.PHONY: artifacts
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)")
ifeq ($(target_type),)
target_type:=flatpak
endif
ifeq ($(arch),)
arch:=x86_64
endif
binary_tarball:=librewolf-$(full_version).en-US.linux-$(arch).tar.bz2
flatpak_repo=librewolf-$(full_version).$(arch).flatpak-repo
flatpak_bundle=LibreWolf-$(full_version).$(arch).flatpak
flatpak_build_folder=work
artifacts :
@echo "assets/flatpak/artifacts.mk: Starting artifacts build for version $(full_version) for $(arch)."
rm -rf work
# ideally, we wanna do this somewhere else
sudo ./assets/flatpak/setup-debian.sh
rm -rf assets/flatpak/shared-modules
( cd assets/flatpak && git clone "https://github.com/flathub/shared-modules.git" && cd shared-modules && git checkout fd4d38328ccb078b88ad4a891807e593ae8de806)
flatpak-builder --disable-rofiles-fuse --repo="$(flatpak_repo)" "$(flatpak_build_folder)" assets/flatpak/io.gitlab.librewolf-community.json
rm -rf assets/flatpak/shared-modules
flatpak build-bundle $(flatpak_repo) $(flatpak_bundle) io.gitlab.librewolf-community master

View file

@ -1,135 +0,0 @@
{
"app-id": "io.gitlab.librewolf-community",
"runtime": "org.freedesktop.Platform",
"runtime-version": "21.08",
"sdk": "org.freedesktop.Sdk",
"add-extensions": {
"org.freedesktop.Platform.ffmpeg-full": {
"directory": "lib/ffmpeg",
"version": "21.08",
"add-ld-path": "."
}
},
"command": "librewolf",
"finish-args": [
"--share=ipc",
"--share=network",
"--socket=wayland",
"--socket=fallback-x11",
"--socket=pcsc",
"--socket=pulseaudio",
"--socket=cups",
"--env=GTK_PATH=/app/lib/gtkmodules",
"--persist=.librewolf",
"--filesystem=xdg-download:rw",
"--filesystem=xdg-run/pipewire-0",
"--device=dri",
"--talk-name=org.freedesktop.FileManager1",
"--system-talk-name=org.freedesktop.NetworkManager",
"--talk-name=org.a11y.Bus",
"--talk-name=org.gnome.SessionManager",
"--talk-name=org.freedesktop.ScreenSaver",
"--talk-name=org.gtk.vfs.*",
"--talk-name=org.freedesktop.Notifications",
"--env=MOZ_ENABLE_WAYLAND=1",
"--env=MOZ_USE_XINPUT2=1",
"--own-name=io.gitlab.librewolf.*",
"--own-name=org.mpris.MediaPlayer2.firefox.*",
"--share=network"
],
"modules": [
"shared-modules/dbus-glib/dbus-glib-0.110.json",
{
"name": "librewolf",
"buildsystem": "simple",
"build-commands": [
"mkdir -p /app/lib",
"mv librewolf.tar.bz2 /app/lib/librewolf",
"install -D -m644 /app/lib/librewolf/browser/chrome/icons/default/default128.png /app/share/icons/hicolor/128x128/apps/io.gitlab.librewolf-community.png",
"install -D -m644 /app/lib/librewolf/browser/chrome/icons/default/default128.png /app/usr/share/icons/hicolor/128x128/apps/io.gitlab.librewolf-community.png",
"install -D -m644 /app/lib/librewolf/io.gitlab.librewolf-community.appdata.xml -t /app/share/metainfo",
"install -D -m644 io.gitlab.librewolf-community.desktop -t /app/share/applications",
"install -D -m755 librewolf.sh /app/bin/librewolf",
"install -d /app/lib/ffmpeg"
],
"sources": [
{
"type": "archive",
"url": "https://www.dropbox.com/s/09dcce6xjj37c6x/librewolf-106.0.1-1.en-US.linux-x86_64.tar.bz2",
"sha256":"b844c0dafacb7d77d1131cc63912a651752d271d5500c4af84a7bd25835518d0",
"dest": "librewolf.tar.bz2",
"strip-components": 0,
"only-arches": [
"x86_64"
]
},
{
"type": "file",
"path": "io.gitlab.librewolf-community.desktop"
},
{
"type": "file",
"path": "librewolf.sh"
}
]
},
{
"name": "gtk-cups-backend",
"buildsystem": "meson",
"make-args": [
"modules/printbackends/libprintbackend-cups.so"
],
"no-make-install": true,
"post-install": [
"install -Dm 755 modules/printbackends/libprintbackend-cups.so -t /app/lib/gtkmodules/3.0.0/printbackends/"
],
"sources": [
{
"type": "archive",
"url": "https://download.gnome.org/core/41/41.0/sources/gtk%2B-3.24.30.tar.xz",
"sha256": "ba75bfff320ad1f4cfbee92ba813ec336322cc3c660d406aad014b07087a3ba9"
},
{
"type": "patch",
"path": "gtk3-werror.patch"
}
]
},
{
"name": "gtk-settings",
"buildsystem": "simple",
"build-commands": [
"install -Dm 644 gtk-settings.ini /app/etc/xdg/gtk-3.0/settings.ini"
],
"sources": [
{
"type": "file",
"path": "gtk-settings.ini"
}
]
},
{
"name": "libnotify",
"buildsystem": "meson",
"config-opts": [
"-Dtests=false",
"-Dintrospection=disabled",
"-Dman=false",
"-Dgtk_doc=false",
"-Ddocbook_docs=disabled"
],
"sources": [
{
"sha256": "d033e6d4d6ccbf46a436c31628a4b661b36dca1f5d4174fe0173e274f4e62557",
"type": "archive",
"url": "https://download.gnome.org/sources/libnotify/0.8/libnotify-0.8.1.tar.xz",
"x-checker-data": {
"project-id": 13149,
"type": "anitya",
"url-template": "https://download.gnome.org/sources/libnotify/$major.$minor/libnotify-$version.tar.xz"
}
}
]
}
]
}

View file

@ -1,9 +0,0 @@
set -e
flathub_repo="flathub https://flathub.org/repo/flathub.flatpakrepo"
flathub_packages_to_install="org.freedesktop.Platform//21.08 org.freedesktop.Sdk//21.08"
apt update && apt install -y software-properties-common bzip2 flatpak flatpak-builder
flatpak remote-add --if-not-exists $flathub_repo;
flatpak install -y flathub $flathub_packages_to_install;

View file

@ -1 +0,0 @@
1

1
submodules/windows Submodule

@ -0,0 +1 @@
Subproject commit 70b155aca44a159c3a93430f283efd2df2381547

View file

@ -1 +1 @@
106.0.2
116.0.2

1
windows Submodule

@ -0,0 +1 @@
Subproject commit b3b007f1710ccfe2c9b6442f5f836a16af8b5acb