Partial rewrite of build process
Switching to an Arch based build process for easier maintenance and using specific runners for tasks where that might be necessary. Right now, parent/child pipelines for somewhat parallel builds for different architectures / semi-independent pak-builds don't seem to properly work yet due to `trigger:` not being recognized when it should, so that's not yet implemented.
This commit is contained in:
parent
737d1510e5
commit
8378fcc076
16 changed files with 987 additions and 81 deletions
123
.gitlab-ci.yml
123
.gitlab-ci.yml
|
|
@ -1,54 +1,83 @@
|
||||||
image: ubuntu:18.04
|
|
||||||
|
|
||||||
variables:
|
|
||||||
BINARY_TARBALL: "$CI_PROJECT_DIR/LibreWolf.tar.bz2"
|
|
||||||
APPIMAGE_FILE: "$CI_PROJECT_DIR/LibreWolf.AppImage"
|
|
||||||
FLATPAK_REPO: "$CI_PROJECT_DIR/librewolf-flatpak-repo"
|
|
||||||
FLATPAK_BUNDLE: "$CI_PROJECT_DIR/LibreWolf.flatpak"
|
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- Build
|
- build
|
||||||
- Package
|
- paks
|
||||||
- Deploy
|
|
||||||
|
|
||||||
Build Tarball:
|
.carch_aarch64: &carch_aarch64
|
||||||
stage: Build
|
variables:
|
||||||
tags: [librewolf]
|
CARCH: 'aarch64'
|
||||||
|
|
||||||
|
.carch_x86_64: &carch_x86_64
|
||||||
|
variables:
|
||||||
|
CARCH: 'x86_64'
|
||||||
|
|
||||||
|
.main_build_config: &main_build_config
|
||||||
|
stage: build
|
||||||
script:
|
script:
|
||||||
- $CI_PROJECT_DIR/binary_tarball/build_tarball.sh $BINARY_TARBALL
|
- ./scripts/01_arch_build.sh
|
||||||
|
- ./scripts/02_configure_tarball.sh
|
||||||
artifacts:
|
artifacts:
|
||||||
name: "Librewolf-$CI_COMMIT_REF_NAME-Linux-Tarball"
|
name: "Librewolf-${CI_COMMIT_TAG}-${CARCH}"
|
||||||
paths:
|
paths:
|
||||||
- "$BINARY_TARBALL"
|
- "librewolf*pkg.tar*"
|
||||||
|
- "LibreWolf.${CARCH}.tar.bz2"
|
||||||
Build AppImage:
|
|
||||||
stage: Package
|
|
||||||
tags: [gitlab-org]
|
|
||||||
script:
|
|
||||||
- $CI_PROJECT_DIR/appimage/build_appimage.sh $BINARY_TARBALL $APPIMAGE_FILE
|
|
||||||
artifacts:
|
|
||||||
name: "Librewolf-$CI_COMMIT_REF_NAME-Linux-Appimage"
|
|
||||||
paths:
|
|
||||||
- "$APPIMAGE_FILE"
|
|
||||||
|
|
||||||
Build Flatpak:
|
|
||||||
image: black0/flatpak
|
|
||||||
stage: Package
|
|
||||||
tags:
|
|
||||||
- gitlab-org
|
|
||||||
script:
|
|
||||||
- $CI_PROJECT_DIR/flatpak/build_flatpak.sh $BINARY_TARBALL $FLATPAK_REPO $FLATPAK_BUNDLE
|
|
||||||
artifacts:
|
|
||||||
name: "Librewolf-$CI_COMMIT_REF_NAME-Linux-Flatpak"
|
|
||||||
paths:
|
|
||||||
- "$FLATPAK_REPO"
|
|
||||||
- "$FLATPAK_BUNDLE"
|
|
||||||
|
|
||||||
Release to Gitlab:
|
|
||||||
stage: Deploy
|
|
||||||
image: python3
|
|
||||||
script:
|
|
||||||
- pip3 install gitlab-release
|
|
||||||
- gitlab-release LibreWolf.tar.bz2 LibreWolf.AppImage librewolf-flatpak-repo LibreWolf.flatpak
|
|
||||||
only:
|
only:
|
||||||
- tags
|
- tags
|
||||||
|
|
||||||
|
.flatpak_config: &flatpak_config
|
||||||
|
stage: paks
|
||||||
|
artifacts:
|
||||||
|
name: "Librewolf-${CI_COMMIT_TAG}-Flatpak-${CARCH}"
|
||||||
|
paths:
|
||||||
|
- "LibreWolf.${CARCH}.flatpak"
|
||||||
|
- "${CI_PROJECT_DIR}/librewolf-flatpak-repo"
|
||||||
|
only:
|
||||||
|
- tags
|
||||||
|
script:
|
||||||
|
- ./flatpak/build_flatpak.sh "${CI_PROJECT_DIR}/LibreWolf.${CARCH}.tar.bz2" "${CI_PROJECT_DIR}/librewolf-flatpak-repo" "${CI_PROJECT_DIR}/LibreWolf.${CARCH}.flatpak"
|
||||||
|
|
||||||
|
.appimage_config: &appimage_config
|
||||||
|
stage: paks
|
||||||
|
artifacts:
|
||||||
|
name: "Librewolf-${CI_COMMIT_TAG}-AppImage-${CARCH}"
|
||||||
|
paths:
|
||||||
|
- "LibreWolf.${CARCH}.AppImage"
|
||||||
|
only:
|
||||||
|
- tags
|
||||||
|
script:
|
||||||
|
- ./appimage/build_appimage.sh "${CI_PROJECT_DIR}/LibreWolf.${CARCH}.tar.bz2" "${CI_PROJECT_DIR}/LibreWolf.${CARCH}.AppImage"
|
||||||
|
|
||||||
|
build_x86_64:
|
||||||
|
image: archlinux/base
|
||||||
|
tags: [x86_64b]
|
||||||
|
<<: *carch_x86_64
|
||||||
|
<<: *main_build_config
|
||||||
|
|
||||||
|
build_aarch64:
|
||||||
|
image: registry.gitlab.com/ohfp/manjaro-arm-docker
|
||||||
|
tags: [aarch64b]
|
||||||
|
<<: *carch_aarch64
|
||||||
|
<<: *main_build_config
|
||||||
|
|
||||||
|
flatpak_x86_64:
|
||||||
|
image: ubuntu:18.04
|
||||||
|
tags: [flat_runner]
|
||||||
|
<<: *carch_x86_64
|
||||||
|
<<: *flatpak_config
|
||||||
|
|
||||||
|
flatpak_aarch64:
|
||||||
|
image: arm64v8/ubuntu:18.04
|
||||||
|
tags: [flat_runner_aarch64]
|
||||||
|
<<: *carch_aarch64
|
||||||
|
<<: *flatpak_config
|
||||||
|
|
||||||
|
appimage_x86_64:
|
||||||
|
image: ubuntu:18.04
|
||||||
|
tags: [x86_64b]
|
||||||
|
<<: *carch_x86_64
|
||||||
|
<<: *appimage_config
|
||||||
|
|
||||||
|
appimage_aarch64:
|
||||||
|
image: arm64v8/ubuntu:18.04
|
||||||
|
tags: [aarch64b]
|
||||||
|
<<: *carch_aarch64
|
||||||
|
<<: *appimage_config
|
||||||
|
|
|
||||||
276
PKGBUILD
Normal file
276
PKGBUILD
Normal file
|
|
@ -0,0 +1,276 @@
|
||||||
|
# Maintainer: lsf
|
||||||
|
# Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
|
||||||
|
# Contributor: Ionut Biru <ibiru@archlinux.org>
|
||||||
|
# Contributor: Jakub Schmidtke <sjakub@gmail.com>
|
||||||
|
|
||||||
|
pkgname=librewolf
|
||||||
|
_pkgname=LibreWolf
|
||||||
|
pkgver=73.0.1
|
||||||
|
pkgrel=1
|
||||||
|
pkgdesc="Community-maintained fork of Librefox: a privacy and security-focused browser"
|
||||||
|
arch=(x86_64 aarch64)
|
||||||
|
license=(MPL GPL LGPL)
|
||||||
|
url="https://LibreWolf.gitlab.io"
|
||||||
|
depends=(gtk3 libxt startup-notification mime-types dbus-glib ffmpeg nss
|
||||||
|
ttf-font libpulse)
|
||||||
|
makedepends=(unzip zip diffutils python2-setuptools yasm mesa imake inetutils
|
||||||
|
xorg-server-xvfb autoconf2.13 rust clang llvm jack gtk2
|
||||||
|
python nodejs python2-psutil cbindgen nasm git binutils)
|
||||||
|
optdepends=('networkmanager: Location detection via available WiFi networks'
|
||||||
|
'libnotify: Notification integration'
|
||||||
|
'pulseaudio: Audio support'
|
||||||
|
'speech-dispatcher: Text-to-Speech'
|
||||||
|
'hunspell-en_US: Spell checking, American English')
|
||||||
|
options=(!emptydirs !makeflags !strip)
|
||||||
|
install='librewolf.install'
|
||||||
|
source=(https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz
|
||||||
|
$pkgname.desktop
|
||||||
|
$pkgname.cfg.patch
|
||||||
|
"git+https://gitlab.com/${pkgname}-community/browser/common.git"
|
||||||
|
"git+https://gitlab.com/${pkgname}-community/settings.git")
|
||||||
|
sha256sums=('53415180e74da60fc91700ce1ff33bf5b6f51e65353017a98270899a08e0c3d2'
|
||||||
|
'0471d32366c6f415f7608b438ddeb10e2f998498c389217cdd6cc52e8249996b'
|
||||||
|
'e03332f0e865949df5af9c231a364e9e1068fca0439621b98c2d4160d93e674f'
|
||||||
|
'SKIP'
|
||||||
|
'SKIP')
|
||||||
|
|
||||||
|
if [[ $CARCH == 'aarch64' ]]; then
|
||||||
|
source+=(arm.patch
|
||||||
|
https://raw.githubusercontent.com/archlinuxarm/PKGBUILDs/master/extra/firefox/build-arm-libopus.patch)
|
||||||
|
sha256sums+=('6ca87d2ac7dc48e6f595ca49ac8151936afced30d268a831c6a064b52037f6b7'
|
||||||
|
'2d4d91f7e35d0860225084e37ec320ca6cae669f6c9c8fe7735cdbd542e3a7c9')
|
||||||
|
fi
|
||||||
|
|
||||||
|
prepare() {
|
||||||
|
_POCKET_SED_STRING="s/'pocket'/#'pocket'/g"
|
||||||
|
# this one only to remove an annoying error message:
|
||||||
|
_POCKET_SED_STRING_2='s#SaveToPocket.init();#// SaveToPocket.init();#g'
|
||||||
|
_POCKET_FILE=./browser/components/moz.build
|
||||||
|
_POCKET_FILE_2=./browser/components/BrowserGlue.jsm
|
||||||
|
|
||||||
|
mkdir mozbuild
|
||||||
|
cd firefox-$pkgver
|
||||||
|
|
||||||
|
# NOTE:
|
||||||
|
# unlock some prefs I deem worthy of keeping unlocked or slightly less restricted
|
||||||
|
# (with librewolf installed systemwide, you'd otherwise always have to sudo around in /usr/lib)
|
||||||
|
# it mainly keeps addon update / install settings / urls unlocked
|
||||||
|
# as well as form fill settings
|
||||||
|
# uncomment it if you are OK with a slight potential decrease in privacy,
|
||||||
|
# or even better: check what I'm doing there.
|
||||||
|
|
||||||
|
cd ${srcdir}/settings
|
||||||
|
patch -Np1 -i ${srcdir}/${pkgname}.cfg.patch
|
||||||
|
rm -f librewolf.cfg.orig
|
||||||
|
cd ${srcdir}/firefox-$pkgver
|
||||||
|
|
||||||
|
cat >../mozconfig <<END
|
||||||
|
ac_add_options --enable-application=browser
|
||||||
|
|
||||||
|
# This supposedly speeds up compilation (We test through dogfooding anyway)
|
||||||
|
ac_add_options --disable-tests
|
||||||
|
ac_add_options --disable-debug
|
||||||
|
|
||||||
|
ac_add_options --prefix=/usr
|
||||||
|
ac_add_options --enable-release
|
||||||
|
ac_add_options --enable-hardening
|
||||||
|
ac_add_options --enable-rust-simd
|
||||||
|
export CC='clang'
|
||||||
|
export CXX='clang++'
|
||||||
|
export AR=llvm-ar
|
||||||
|
export NM=llvm-nm
|
||||||
|
export RANLIB=llvm-ranlib
|
||||||
|
|
||||||
|
# Branding
|
||||||
|
ac_add_options --enable-update-channel=release
|
||||||
|
ac_add_options --with-app-name=${pkgname}
|
||||||
|
ac_add_options --with-app-basename=${_pkgname}
|
||||||
|
ac_add_options --with-branding=browser/branding/${pkgname}
|
||||||
|
ac_add_options --with-distribution-id=io.gitlab.${pkgname}
|
||||||
|
ac_add_options --with-unsigned-addon-scopes=app,system
|
||||||
|
export MOZ_REQUIRE_SIGNING=0
|
||||||
|
|
||||||
|
# System libraries
|
||||||
|
ac_add_options --with-system-nspr
|
||||||
|
ac_add_options --with-system-nss
|
||||||
|
|
||||||
|
# Features
|
||||||
|
ac_add_options --enable-alsa
|
||||||
|
ac_add_options --enable-jack
|
||||||
|
ac_add_options --enable-startup-notification
|
||||||
|
ac_add_options --disable-crashreporter
|
||||||
|
ac_add_options --disable-gconf
|
||||||
|
ac_add_options --disable-updater
|
||||||
|
ac_add_options --disable-tests
|
||||||
|
|
||||||
|
# Disables crash reporting, telemetry and other data gathering tools
|
||||||
|
mk_add_options MOZ_CRASHREPORTER=0
|
||||||
|
mk_add_options MOZ_DATA_REPORTING=0
|
||||||
|
mk_add_options MOZ_SERVICES_HEALTHREPORT=0
|
||||||
|
mk_add_options MOZ_TELEMETRY_REPORTING=0
|
||||||
|
|
||||||
|
# options for ci / weaker build systems
|
||||||
|
# mk_add_options MOZ_MAKE_FLAGS="-j4"
|
||||||
|
# ac_add_options --enable-linker=gold
|
||||||
|
END
|
||||||
|
|
||||||
|
if [[ $CARCH == 'aarch64' ]]; then
|
||||||
|
cat >>../mozconfig <<END
|
||||||
|
# taken from manjaro build:
|
||||||
|
ac_add_options --enable-lto
|
||||||
|
ac_add_options --enable-optimize="-g0 -O2"
|
||||||
|
export MOZ_DEBUG_FLAGS=" "
|
||||||
|
export CFLAGS+=" -g0"
|
||||||
|
export CXXFLAGS+=" -g0"
|
||||||
|
export RUSTFLAGS="-Cdebuginfo=0"
|
||||||
|
|
||||||
|
# from ALARM
|
||||||
|
ac_add_options --disable-webrtc
|
||||||
|
|
||||||
|
END
|
||||||
|
|
||||||
|
# ac_add_options --enable-optimize <- ?
|
||||||
|
|
||||||
|
LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
|
||||||
|
patch -p1 -i ../arm.patch
|
||||||
|
patch -p1 -i ../build-arm-libopus.patch
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -f ${srcdir}/common/source_files/mozconfig
|
||||||
|
cp -r ${srcdir}/common/source_files/* ./
|
||||||
|
|
||||||
|
# Disabling Pocket
|
||||||
|
sed -i ${_POCKET_SED_STRING} $_POCKET_FILE
|
||||||
|
# sed -i ${_POCKET_SED_STRING_2} $_POCKET_FILE_2
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
build() {
|
||||||
|
cd firefox-$pkgver
|
||||||
|
|
||||||
|
export MOZ_SOURCE_REPO="$_repo"
|
||||||
|
export MOZ_NOSPAM=1
|
||||||
|
export MOZBUILD_STATE_PATH="$srcdir/mozbuild"
|
||||||
|
|
||||||
|
# LTO needs more open files
|
||||||
|
ulimit -n 4096
|
||||||
|
|
||||||
|
if [[ $CARCH != 'aarch64' ]]; then
|
||||||
|
# -fno-plt with cross-LTO causes obscure LLVM errors
|
||||||
|
# LLVM ERROR: Function Import: link error
|
||||||
|
CFLAGS="${CFLAGS/-fno-plt/}"
|
||||||
|
CXXFLAGS="${CXXFLAGS/-fno-plt/}"
|
||||||
|
|
||||||
|
# Do 3-tier PGO
|
||||||
|
echo "Building instrumented browser..."
|
||||||
|
cat >.mozconfig ../mozconfig - <<END
|
||||||
|
ac_add_options --enable-profile-generate=cross
|
||||||
|
END
|
||||||
|
./mach build
|
||||||
|
|
||||||
|
echo "Profiling instrumented browser..."
|
||||||
|
./mach package
|
||||||
|
LLVM_PROFDATA=llvm-profdata \
|
||||||
|
JARLOG_FILE="$PWD/jarlog" \
|
||||||
|
xvfb-run -s "-screen 0 1920x1080x24 -nolisten local" \
|
||||||
|
./mach python build/pgo/profileserver.py
|
||||||
|
|
||||||
|
if [[ ! -s merged.profdata ]]; then
|
||||||
|
echo "No profile data produced."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -s jarlog ]]; then
|
||||||
|
echo "No jar log produced."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Removing instrumented browser..."
|
||||||
|
./mach clobber
|
||||||
|
|
||||||
|
echo "Building optimized browser..."
|
||||||
|
cat >.mozconfig ../mozconfig - <<END
|
||||||
|
ac_add_options --enable-lto=cross
|
||||||
|
ac_add_options --enable-profile-use=cross
|
||||||
|
ac_add_options --with-pgo-profile-path=${PWD@Q}/merged.profdata
|
||||||
|
ac_add_options --with-pgo-jarlog=${PWD@Q}/jarlog
|
||||||
|
# seems to break on arm
|
||||||
|
ac_add_options --enable-linker=gold
|
||||||
|
END
|
||||||
|
else
|
||||||
|
cat >.mozconfig ../mozconfig
|
||||||
|
fi
|
||||||
|
|
||||||
|
./mach build
|
||||||
|
|
||||||
|
echo "Building symbol archive..."
|
||||||
|
./mach buildsymbols
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
cd firefox-$pkgver
|
||||||
|
DESTDIR="$pkgdir" ./mach install
|
||||||
|
|
||||||
|
# also create regular tarball for non-distro-specific packaging
|
||||||
|
./mach package
|
||||||
|
|
||||||
|
local vendorjs="$pkgdir/usr/lib/$pkgname/browser/defaults/preferences/vendor.js"
|
||||||
|
install -Dvm644 /dev/stdin "$vendorjs" <<END
|
||||||
|
// Use LANG environment variable to choose locale
|
||||||
|
pref("intl.locale.requested", "");
|
||||||
|
|
||||||
|
// Use system-provided dictionaries
|
||||||
|
pref("spellchecker.dictionary_path", "/usr/share/hunspell");
|
||||||
|
|
||||||
|
// Disable default browser checking.
|
||||||
|
pref("browser.shell.checkDefaultBrowser", false);
|
||||||
|
|
||||||
|
// Don't disable extensions in the application directory
|
||||||
|
pref("extensions.autoDisableScopes", 11);
|
||||||
|
END
|
||||||
|
|
||||||
|
cp -r ${srcdir}/settings/* ${pkgdir}/usr/lib/${pkgname}/
|
||||||
|
|
||||||
|
local distini="$pkgdir/usr/lib/$pkgname/distribution/distribution.ini"
|
||||||
|
install -Dvm644 /dev/stdin "$distini" <<END
|
||||||
|
[Global]
|
||||||
|
id=io.gitlab.${pkgname}
|
||||||
|
version=1.0
|
||||||
|
about=LibreWolf Arch Linux
|
||||||
|
|
||||||
|
[Preferences]
|
||||||
|
app.distributor=archlinux
|
||||||
|
app.distributor.channel=$pkgname
|
||||||
|
app.partner.archlinux=archlinux
|
||||||
|
END
|
||||||
|
|
||||||
|
for i in 16 32 48 64 128; do
|
||||||
|
install -Dvm644 browser/branding/${pkgname}/default$i.png \
|
||||||
|
"$pkgdir/usr/share/icons/hicolor/${i}x${i}/apps/$pkgname.png"
|
||||||
|
done
|
||||||
|
install -Dvm644 browser/branding/librewolf/content/about-logo.png \
|
||||||
|
"$pkgdir/usr/share/icons/hicolor/192x192/apps/$pkgname.png"
|
||||||
|
|
||||||
|
# arch upstream provides a separate svg for this. we don't have that, so let's re-use 16.png
|
||||||
|
install -Dvm644 browser/branding/${pkgname}/default16.png \
|
||||||
|
"$pkgdir/usr/share/icons/hicolor/symbolic/apps/$pkgname-symbolic.png"
|
||||||
|
|
||||||
|
install -Dvm644 ../$pkgname.desktop \
|
||||||
|
"$pkgdir/usr/share/applications/$pkgname.desktop"
|
||||||
|
|
||||||
|
# Install a wrapper to avoid confusion about binary path
|
||||||
|
install -Dvm755 /dev/stdin "$pkgdir/usr/bin/$pkgname" <<END
|
||||||
|
#!/bin/sh
|
||||||
|
exec /usr/lib/$pkgname/librewolf "\$@"
|
||||||
|
END
|
||||||
|
|
||||||
|
# Replace duplicate binary with wrapper
|
||||||
|
# https://bugzilla.mozilla.org/show_bug.cgi?id=658850
|
||||||
|
ln -srfv "$pkgdir/usr/bin/$pkgname" "$pkgdir/usr/lib/$pkgname/librewolf-bin"
|
||||||
|
# Use system certificates
|
||||||
|
local nssckbi="$pkgdir/usr/lib/$pkgname/libnssckbi.so"
|
||||||
|
if [[ -e $nssckbi ]]; then
|
||||||
|
ln -srfv "$pkgdir/usr/lib/libnssckbi.so" "$nssckbi"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/sh
|
#!/bin/bash
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -14,8 +14,8 @@ BINARY_TARBALL=$1
|
||||||
APPIMAGE_FILE=$2
|
APPIMAGE_FILE=$2
|
||||||
_SCRIPT_FOLDER=$(realpath $(dirname $0));
|
_SCRIPT_FOLDER=$(realpath $(dirname $0));
|
||||||
_BINARY_TARBALL_EXTRACTED_FOLDER=$_SCRIPT_FOLDER/librewolf;
|
_BINARY_TARBALL_EXTRACTED_FOLDER=$_SCRIPT_FOLDER/librewolf;
|
||||||
_BUILD_APPIMAGE_FILE=$_SCRIPT_FOLDER/LibreWolf*.AppImage;
|
_BUILD_APPIMAGE_FILE=$_SCRIPT_FOLDER/LibreWolf.AppImage;
|
||||||
_APPIMAGETOOL_DOWNLOAD_URL=https://github.com/AppImage/AppImageKit/releases/latest/download/appimagetool-x86_64.AppImage;
|
_APPIMAGETOOL_DOWNLOAD_URL=https://github.com/AppImage/AppImageKit/releases/latest/download/appimagetool-${CARCH}.AppImage;
|
||||||
_APPIMAGETOOL_EXTRACTED_FOLDER=$_SCRIPT_FOLDER/squashfs-root;
|
_APPIMAGETOOL_EXTRACTED_FOLDER=$_SCRIPT_FOLDER/squashfs-root;
|
||||||
_APPIMAGETOOL_FILE=$_SCRIPT_FOLDER/appimagetool;
|
_APPIMAGETOOL_FILE=$_SCRIPT_FOLDER/appimagetool;
|
||||||
_APPIMAGE_CONTENT_FOLDER=$_SCRIPT_FOLDER/content
|
_APPIMAGE_CONTENT_FOLDER=$_SCRIPT_FOLDER/content
|
||||||
|
|
@ -23,6 +23,10 @@ _APPIMAGE_CONTENT_FOLDER=$_SCRIPT_FOLDER/content
|
||||||
# Installs needed dependencies
|
# Installs needed dependencies
|
||||||
apt-get update && apt-get -y install file;
|
apt-get update && apt-get -y install file;
|
||||||
|
|
||||||
|
if [[ $CARCH == 'aarch64' ]]; then
|
||||||
|
apt install -y zlib1g-dev
|
||||||
|
fi
|
||||||
|
|
||||||
# Extracts the binary tarball
|
# Extracts the binary tarball
|
||||||
printf "\nExtracting librewolf binary tarball\n";
|
printf "\nExtracting librewolf binary tarball\n";
|
||||||
mkdir $_BINARY_TARBALL_EXTRACTED_FOLDER;
|
mkdir $_BINARY_TARBALL_EXTRACTED_FOLDER;
|
||||||
|
|
@ -40,7 +44,8 @@ chmod +x $_APPIMAGETOOL_FILE;
|
||||||
|
|
||||||
# Generate AppImage
|
# Generate AppImage
|
||||||
printf "\nGenerating AppImage\n";
|
printf "\nGenerating AppImage\n";
|
||||||
ARCH=x86_64 $_APPIMAGETOOL_FILE --appimage-extract-and-run $_BINARY_TARBALL_EXTRACTED_FOLDER;
|
ARCH=${CARCH} $_APPIMAGETOOL_FILE --appimage-extract-and-run\
|
||||||
|
$_BINARY_TARBALL_EXTRACTED_FOLDER $_BUILD_APPIMAGE_FILE;
|
||||||
chmod +x $_BUILD_APPIMAGE_FILE;
|
chmod +x $_BUILD_APPIMAGE_FILE;
|
||||||
|
|
||||||
# Move AppImage to specified location
|
# Move AppImage to specified location
|
||||||
|
|
|
||||||
12
arm.patch
Normal file
12
arm.patch
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
diff --git a/js/src/wasm/WasmSignalHandlers.cpp b/js/src/wasm/WasmSignalHandlers.cpp
|
||||||
|
index f8977a6..34f52fc 100644
|
||||||
|
--- a/js/src/wasm/WasmSignalHandlers.cpp
|
||||||
|
+++ b/js/src/wasm/WasmSignalHandlers.cpp
|
||||||
|
@@ -243,7 +243,7 @@ using mozilla::DebugOnly;
|
||||||
|
// If you run into compile problems on a tier-3 platform, you can disable the
|
||||||
|
// emulation here.
|
||||||
|
|
||||||
|
-#if defined(__linux__) && defined(__arm__)
|
||||||
|
+#if 0 && defined(__linux__) && defined(__arm__)
|
||||||
|
# define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
|
||||||
|
#endif
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
printf "\n\n-------------------------------------- DEPENDENCY INSTALLATION ---------------------------------------------\n";
|
printf "\n\n-------------------------------------- DEPENDENCY INSTALLATION ---------------------------------------------\n";
|
||||||
|
|
||||||
# Setup Script Variables
|
# Setup Script Variables
|
||||||
_DEPENDENCIES="mercurial wget git";
|
_DEPENDENCIES="mercurial wget git flatpak flatpak-builder";
|
||||||
|
|
||||||
# Installs Dependencies
|
# Installs Dependencies
|
||||||
printf "\nInstalling dependencies: $_DEPENDENCIES\n";
|
printf "\nInstalling dependencies: $_DEPENDENCIES\n";
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,13 @@ printf "\n\n--------------------------------- SOURCE CODE DOWNLOAD -------------
|
||||||
|
|
||||||
# Setup Script Variables
|
# Setup Script Variables
|
||||||
SOURCE_FOLDER=$1;
|
SOURCE_FOLDER=$1;
|
||||||
_SOURCE_CODE_URL="https://hg.mozilla.org/releases/mozilla-release";
|
# hardcoded vor now, we'll parse the _pkgver later on, probably from tags
|
||||||
|
pkgver="73.0.1"
|
||||||
# Clone Firefox Source Code
|
_SOURCE_CODE_URL="https://archive.mozilla.org/pub/firefox/releases/$pkgver/source/firefox-$pkgver.source.tar.xz";
|
||||||
printf "\nCloning Firefox Source Code\n";
|
_SOURCE_TAR="firefox-${pkgver}.tar.xz"
|
||||||
hg clone $_SOURCE_CODE_URL $SOURCE_FOLDER;
|
|
||||||
|
|
||||||
|
# Downloading and Extracting Firefox Source Code
|
||||||
|
printf "\nDownloading Firefox Source Code\n";
|
||||||
|
wget -O $_SOURCE_TAR $_SOURCE_CODE_URL
|
||||||
|
mkdir -p $SOURCE_FOLDER
|
||||||
|
tar -x --strip-components=1 -C $SOURCE_FOLDER -f $_SOURCE_TAR
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ _SETTINGS_REPO='https://gitlab.com/librewolf-community/settings.git';
|
||||||
|
|
||||||
# Extracts the binary tarball
|
# Extracts the binary tarball
|
||||||
printf "\nExtracting librewolf binary tarball\n";
|
printf "\nExtracting librewolf binary tarball\n";
|
||||||
tar -xf $BINARY_TARBALL;
|
tar -xf $BINARY_TARBALL -C $_EXTRACTED_TARBALL_FOLDER/..;
|
||||||
|
|
||||||
# Adds the librefox config files to the packaged tarball
|
# Adds the librefox config files to the packaged tarball
|
||||||
printf "\nCopying librewolf settings to extracted binary tarball\n";
|
printf "\nCopying librewolf settings to extracted binary tarball\n";
|
||||||
|
|
@ -22,6 +22,6 @@ cp $LAUNCHER_SCRIPT $_EXTRACTED_TARBALL_FOLDER/launch_librewolf.sh;
|
||||||
|
|
||||||
# Repacks the binary tarball
|
# Repacks the binary tarball
|
||||||
printf "\nRecompressing binary tarball\n";
|
printf "\nRecompressing binary tarball\n";
|
||||||
tar -jvcf $BINARY_TARBALL $_EXTRACTED_TARBALL_FOLDER;
|
tar -jvcf $BINARY_TARBALL -C $_EXTRACTED_TARBALL_FOLDER .;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/sh
|
#!/bin/bash
|
||||||
printf "\n\n---------------------------------------- FLATPAK BUILD --------------------------------------------\n";
|
printf "\n\n---------------------------------------- FLATPAK BUILD --------------------------------------------\n";
|
||||||
|
|
||||||
# Aborts the script upon any faliure
|
# Aborts the script upon any faliure
|
||||||
|
|
@ -10,7 +10,7 @@ FLATPAK_REPO=$2;
|
||||||
FLATPAK_BUNDLE=$3;
|
FLATPAK_BUNDLE=$3;
|
||||||
_SCRIPT_FOLDER=$(realpath $(dirname $0));
|
_SCRIPT_FOLDER=$(realpath $(dirname $0));
|
||||||
_FLATHUB_REPO="flathub https://flathub.org/repo/flathub.flatpakrepo";
|
_FLATHUB_REPO="flathub https://flathub.org/repo/flathub.flatpakrepo";
|
||||||
_FLATHUB_PACKAGES_TO_INSTALL="org.gnome.Platform/x86_64/3.32 org.gnome.Sdk/x86_64/3.32";
|
_FLATHUB_PACKAGES_TO_INSTALL="org.gnome.Platform/${CARCH}/3.32 org.gnome.Sdk/${CARCH}/3.32";
|
||||||
_EXTRACTED_BINARY_TARBALL_FOLDER=$_SCRIPT_FOLDER/librewolf
|
_EXTRACTED_BINARY_TARBALL_FOLDER=$_SCRIPT_FOLDER/librewolf
|
||||||
_FLATPAK_JSON_FILE=$_SCRIPT_FOLDER/content/io.gitlab.LibreWolf.json;
|
_FLATPAK_JSON_FILE=$_SCRIPT_FOLDER/content/io.gitlab.LibreWolf.json;
|
||||||
_FLATPAK_BUILD_SOURCE_FOLDER=$_SCRIPT_FOLDER/source;
|
_FLATPAK_BUILD_SOURCE_FOLDER=$_SCRIPT_FOLDER/source;
|
||||||
|
|
@ -18,21 +18,28 @@ _FLATPAK_BUILD_FOLDER=build-dir;
|
||||||
|
|
||||||
# Install build dependencies
|
# Install build dependencies
|
||||||
printf "\nInstalling flatpak build dependencies\n";
|
printf "\nInstalling flatpak build dependencies\n";
|
||||||
|
|
||||||
|
# we're using a pre-prepared flatpak-image witch aarch64
|
||||||
|
apt update && apt install -y software-properties-common
|
||||||
|
add-apt-repository -y ppa:alexlarsson/flatpak
|
||||||
|
apt update && apt install -y flatpak-builder
|
||||||
flatpak remote-add --if-not-exists $_FLATHUB_REPO;
|
flatpak remote-add --if-not-exists $_FLATHUB_REPO;
|
||||||
flatpak install -y flathub $_FLATHUB_PACKAGES_TO_INSTALL;
|
flatpak install -y flathub $_FLATHUB_PACKAGES_TO_INSTALL;
|
||||||
|
|
||||||
# Extracts the binary tarball
|
# Extracts the binary tarball
|
||||||
printf "\nExtracting librewolf binary tarball\n";
|
printf "\nExtracting librewolf binary tarball\n";
|
||||||
|
mkdir -p $_EXTRACTED_BINARY_TARBALL_FOLDER;
|
||||||
tar -xvf $BINARY_TARBALL -C $_EXTRACTED_BINARY_TARBALL_FOLDER;
|
tar -xvf $BINARY_TARBALL -C $_EXTRACTED_BINARY_TARBALL_FOLDER;
|
||||||
|
|
||||||
# Prepare for flatpak build
|
# Prepare for flatpak build
|
||||||
printf "\nPreparing files for flatpak build\n";
|
printf "\nPreparing files for flatpak build\n";
|
||||||
mkdir $_FLATPAK_BUILD_SOURCE_FOLDER && mv $_EXTRACTED_BINARY_TARBALL_FOLDER $_FLATPAK_BUILD_SOURCE_FOLDER/librewolf;
|
mkdir -p $_FLATPAK_BUILD_SOURCE_FOLDER;
|
||||||
|
mv $_EXTRACTED_BINARY_TARBALL_FOLDER $_FLATPAK_BUILD_SOURCE_FOLDER;
|
||||||
|
|
||||||
# Build Repo
|
# Build Repo
|
||||||
printf "\nBuilding flatpak repository\n";
|
printf "\nBuilding flatpak repository\n";
|
||||||
cp "$_FLATPAK_JSON_FILE" ./;
|
cp "$_FLATPAK_JSON_FILE" ./;
|
||||||
flatpak-builder --repo="$FLATPAK_REPO" "$_FLATPAK_BUILD_FOLDER" io.gitlab.LibreWolf.json;
|
flatpak-builder --disable-rofiles-fuse --repo="$FLATPAK_REPO" "$_FLATPAK_BUILD_FOLDER" io.gitlab.LibreWolf.json;
|
||||||
|
|
||||||
# Build bundle
|
# Build bundle
|
||||||
printf "\nBuilding flatpak bundle\n";
|
printf "\nBuilding flatpak bundle\n";
|
||||||
|
|
|
||||||
|
|
@ -4,22 +4,27 @@
|
||||||
"runtime-version": "3.32",
|
"runtime-version": "3.32",
|
||||||
"sdk": "org.gnome.Sdk",
|
"sdk": "org.gnome.Sdk",
|
||||||
"command": "librewolf",
|
"command": "librewolf",
|
||||||
"modules": [{
|
"modules": [
|
||||||
|
{
|
||||||
"name": "librewolf",
|
"name": "librewolf",
|
||||||
"buildsystem": "simple",
|
"buildsystem": "simple",
|
||||||
"build-commands": [
|
"build-commands": [
|
||||||
"mkdir -p /app/share && mv librewolf -t /app/share",
|
"mkdir -p /app/share && mv librewolf -t /app/share",
|
||||||
"mkdir -p /app/bin && ln -s /app/share/librewolf/librewolf /app/bin/"
|
"mkdir -p /app/bin && ln -s /app/share/librewolf/librewolf /app/bin/"
|
||||||
],
|
],
|
||||||
"sources": [{
|
"sources": [
|
||||||
|
{
|
||||||
"type": "dir",
|
"type": "dir",
|
||||||
"path": "source"
|
"path": "flatpak/source"
|
||||||
}]
|
}
|
||||||
}],
|
]
|
||||||
"finish-args": [
|
}
|
||||||
"--share=ipc", "--socket=x11", /* X11 + XShm access */
|
],
|
||||||
"--socket=wayland", /* Wayland access */
|
"finish-args": [
|
||||||
"--filesystem=home:rw", /* We want full fs access so we can read the files */
|
"--share=ipc",
|
||||||
"--share=network" /* Needs to talk to the network: */
|
"--socket=x11",
|
||||||
|
"--socket=wayland",
|
||||||
|
"--filesystem=home:rw",
|
||||||
|
"--share=network"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
168
librewolf.cfg.patch
Normal file
168
librewolf.cfg.patch
Normal file
|
|
@ -0,0 +1,168 @@
|
||||||
|
diff --git a/librewolf.cfg b/librewolf.cfg
|
||||||
|
index d7a6ff6..ee15dca 100644
|
||||||
|
--- a/librewolf.cfg
|
||||||
|
+++ b/librewolf.cfg
|
||||||
|
@@ -93,11 +93,11 @@ defaultPref("extensions.enabledAddons", "librefox.http.watcher.tor%40intika.be:2
|
||||||
|
// User Settings : Cookies settings
|
||||||
|
// --------------------------------
|
||||||
|
|
||||||
|
-lockPref("network.cookie.cookieBehavior", 1);
|
||||||
|
-lockPref("network.cookie.lifetimePolicy", 2);
|
||||||
|
+defaultPref("network.cookie.cookieBehavior", 1);
|
||||||
|
+defaultPref("network.cookie.lifetimePolicy", 0);
|
||||||
|
lockPref("network.cookie.same-site.enabled", true);
|
||||||
|
lockPref("network.cookie.leave-secure-alone", true);
|
||||||
|
-lockPref("network.cookie.thirdparty.sessionOnly", true);
|
||||||
|
+defaultPref("network.cookie.thirdparty.sessionOnly", true);
|
||||||
|
lockPref("network.cookie.thirdparty.nonsecureSessionOnly", true);
|
||||||
|
|
||||||
|
// -----------------------------------
|
||||||
|
@@ -161,6 +161,8 @@ defaultPref("privacy.sanitize.timeSpan", 0);
|
||||||
|
defaultPref("browser.formfill.enable", false);
|
||||||
|
defaultPref("privacy.sanitize.sanitizeOnShutdown", true);
|
||||||
|
defaultPref("places.history.enabled", false);
|
||||||
|
+// w.r. to issue #54
|
||||||
|
+defaultPref("places.history.expiration.max_pages", 2147483647)
|
||||||
|
defaultPref("privacy.history.custom", true);
|
||||||
|
//defaultPref("privacy.cpd.openWindows", true); // Clear session data
|
||||||
|
//defaultPref("privacy.clearOnShutdown.openWindows", true);
|
||||||
|
@@ -179,10 +181,10 @@ lockPref("browser.sessionstore.interval", 60000);
|
||||||
|
// User Settings : Autofill settings
|
||||||
|
// ---------------------------------
|
||||||
|
|
||||||
|
-lockPref("extensions.formautofill.addresses.enabled", false);
|
||||||
|
-lockPref("extensions.formautofill.available", "off");
|
||||||
|
-lockPref("extensions.formautofill.creditCards.enabled", false);
|
||||||
|
-lockPref("extensions.formautofill.heuristics.enabled", false);
|
||||||
|
+defaultPref("extensions.formautofill.addresses.enabled", false);
|
||||||
|
+defaultPref("extensions.formautofill.available", "off");
|
||||||
|
+defaultPref("extensions.formautofill.creditCards.enabled", false);
|
||||||
|
+defaultPref("extensions.formautofill.heuristics.enabled", false);
|
||||||
|
|
||||||
|
lockPref("signon.autofillForms", false);
|
||||||
|
lockPref("signon.autofillForms.http", false);
|
||||||
|
@@ -349,8 +351,8 @@ lockPref("dom.w3c_pointer_events.enabled", false);
|
||||||
|
// Bench Diff : +0/5000
|
||||||
|
// >>>>>>>>>>>>>>>>>>>>
|
||||||
|
|
||||||
|
-lockPref("privacy.resistFingerprinting", true);
|
||||||
|
-lockPref("privacy.resistFingerprinting.block_mozAddonManager", true);
|
||||||
|
+defaultPref("privacy.resistFingerprinting", true);
|
||||||
|
+defaultPref("privacy.resistFingerprinting.block_mozAddonManager", true);
|
||||||
|
|
||||||
|
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||||
|
// Section : Locale/Time/UserAgent
|
||||||
|
@@ -360,12 +362,12 @@ lockPref("privacy.resistFingerprinting.block_mozAddonManager", true);
|
||||||
|
lockPref("dom.forms.datetime", false);
|
||||||
|
lockPref("javascript.use_us_english_locale", true);
|
||||||
|
lockPref("intl.regional_prefs.use_os_locales", false);
|
||||||
|
-lockPref("intl.locale.requested", "en-US");
|
||||||
|
-lockPref("general.useragent.override", "Mozilla/5.0 (Windows NT 6.1; rv:45.0) Gecko/20100101 Firefox/45.0, 45");
|
||||||
|
-lockPref("general.appname.override", "Netscape");
|
||||||
|
-lockPref("general.appversion.override", "5.0 (Windows)");
|
||||||
|
-lockPref("general.platform.override", "Win32");
|
||||||
|
-lockPref("general.oscpu.override", "Windows NT 6.1");
|
||||||
|
+defaultPref("intl.locale.requested", "en-US");
|
||||||
|
+defaultPref("general.useragent.override", "Mozilla/5.0 (Windows NT 6.1; rv:45.0) Gecko/20100101 Firefox/45.0, 45");
|
||||||
|
+defaultPref("general.appname.override", "Netscape");
|
||||||
|
+defaultPref("general.appversion.override", "5.0 (Windows)");
|
||||||
|
+defaultPref("general.platform.override", "Win32");
|
||||||
|
+defaultPref("general.oscpu.override", "Windows NT 6.1");
|
||||||
|
|
||||||
|
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||||
|
// Section : Ghacks-user Selection
|
||||||
|
@@ -469,7 +471,8 @@ lockPref("extensions.webextensions.identity.redirectDomain", "");
|
||||||
|
// Pref : CSP Settings For Extensions I/II : Extension Firewall Feature
|
||||||
|
// Uncomment to disable network for the extensions
|
||||||
|
// Enable-Firewall-Feature-In-The-Next-Line extensions-firewall >>>>>>
|
||||||
|
-lockPref("extensions.webextensions.base-content-security-policy", "default-src 'self' moz-extension: blob: filesystem: 'unsafe-eval' 'unsafe-inline'; script-src 'self' moz-extension: blob: filesystem: 'unsafe-eval' 'unsafe-inline'; object-src 'self' moz-extension: blob: filesystem:;");
|
||||||
|
+defaultPref("extensions.webextensions.base-content-security-policy", "script-src 'self' https://* moz-extension: blob: filesystem: 'unsafe-eval' 'unsafe-inline'; object-src 'self' https://* moz-extension: blob: filesystem:;");
|
||||||
|
+// lockPref("extensions.webextensions.base-content-security-policy", "default-src 'self' moz-extension: blob: filesystem: 'unsafe-eval' 'unsafe-inline'; script-src 'self' moz-extension: blob: filesystem: 'unsafe-eval' 'unsafe-inline'; object-src 'self' moz-extension: blob: filesystem:;");
|
||||||
|
|
||||||
|
// Pref : CSP Settings For Extensions II/II : Extension Firewall Feature
|
||||||
|
// This value is applied after the first one (just ignore this)
|
||||||
|
@@ -811,22 +814,22 @@ lockPref("extensions.getAddons.compatOverides.url", "");
|
||||||
|
// https://services.addons.mozilla.org/api/v3/addons/compat-override/?guid=%IDS%&lang=%LOCALE%
|
||||||
|
|
||||||
|
// Pref :
|
||||||
|
-lockPref("extensions.getAddons.get.url", "");
|
||||||
|
+defaultPref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/api/v3/addons/search/?guid=%IDS%&lang=%LOCALE%");
|
||||||
|
// Default Value
|
||||||
|
// https://services.addons.mozilla.org/api/v3/addons/search/?guid=%IDS%&lang=%LOCALE%
|
||||||
|
|
||||||
|
// Pref :
|
||||||
|
-lockPref("extensions.getAddons.langpacks.url", "");
|
||||||
|
+defaultPref("extensions.getAddons.langpacks.url", "https://services.addons.mozilla.org/api/v3/addons/language-tools/?app=firefox&type=language&appversion=%VERSION%");
|
||||||
|
// Default Value
|
||||||
|
// https://services.addons.mozilla.org/api/v3/addons/language-tools/?app=firefox&type=language&appversion=%VERSION%
|
||||||
|
|
||||||
|
// Pref :
|
||||||
|
-lockPref("extensions.getAddons.link.url", "");
|
||||||
|
+defaultPref("extensions.getAddons.link.url", "https://addons.mozilla.org/%LOCALE%/firefox/");
|
||||||
|
// Default Value
|
||||||
|
// https://addons.mozilla.org/%LOCALE%/firefox/
|
||||||
|
|
||||||
|
// Pref :
|
||||||
|
-lockPref("extensions.getAddons.search.browseURL", "");
|
||||||
|
+defaultPref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/firefox/search?q=%TERMS%&platform=%OS%&appver=%VERSION%");
|
||||||
|
// Default Value
|
||||||
|
// https://addons.mozilla.org/%LOCALE%/firefox/search?q=%TERMS%&platform=%OS%&appver=%VERSION%
|
||||||
|
|
||||||
|
@@ -861,7 +864,7 @@ lockPref("browser.newtabpage.activity-stream.fxaccounts.endpoint", "");
|
||||||
|
// https://accounts.firefox.com/
|
||||||
|
|
||||||
|
// Pref :
|
||||||
|
-lockPref("extensions.update.url", "");
|
||||||
|
+defaultPref("extensions.update.url", "https://versioncheck.addons.mozilla.org/update/VersionCheck.php?reqVersion=REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%¤tAppVersion=CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%");
|
||||||
|
// Default Value
|
||||||
|
// https://versioncheck.addons.mozilla.org/update/VersionCheck.php?reqVersion=
|
||||||
|
// %REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=
|
||||||
|
@@ -1457,7 +1460,7 @@ lockPref("app.releaseNotesURL", "");
|
||||||
|
|
||||||
|
// Pref :
|
||||||
|
lockPref("app.update.auto", false);
|
||||||
|
-lockPref("extensions.update.autoUpdateDefault", false);
|
||||||
|
+defaultPref("extensions.update.autoUpdateDefault", false);
|
||||||
|
lockPref("app.update.staging.enabled", false);
|
||||||
|
lockPref("app.update.silent", false);
|
||||||
|
lockPref("app.update.lastUpdateTime.telemetry_modules_ping", 0);
|
||||||
|
@@ -1570,10 +1573,10 @@ lockPref("extensions.blocklist.itemURL", "");
|
||||||
|
lockPref("extensions.blocklist.url", "");
|
||||||
|
|
||||||
|
// Pref :
|
||||||
|
-lockPref("extensions.update.background.url", "");
|
||||||
|
+defaultPref("extensions.update.background.url", "https://versioncheck-bg.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%¤tAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%");
|
||||||
|
|
||||||
|
// Pref :
|
||||||
|
-lockPref("extensions.getAddons.showPane", false);
|
||||||
|
+defaultPref("extensions.getAddons.showPane", false);
|
||||||
|
|
||||||
|
// Pref :
|
||||||
|
lockPref("extensions.webservice.discoverURL", "");
|
||||||
|
@@ -1865,7 +1868,7 @@ lockPref("security.dialog_enable_delay", 700);
|
||||||
|
|
||||||
|
// Pref : Opt-out of add-on metadata updates
|
||||||
|
// https://blog.mozilla.org/addons/how-to-opt-out-of-add-on-metadata-updates/
|
||||||
|
-lockPref("extensions.getAddons.cache.enabled", false);
|
||||||
|
+defaultPref("extensions.getAddons.cache.enabled", false);
|
||||||
|
|
||||||
|
// Pref : Opt-out of theme (Persona) updates
|
||||||
|
// https://support.mozilla.org/t5/Firefox/how-do-I-prevent-autoamtic-updates-in-a-50-user-environment/td-p/144287
|
||||||
|
@@ -1898,7 +1901,7 @@ lockPref("plugin.sessionPermissionNow.intervalInMinutes", 0);
|
||||||
|
|
||||||
|
// Pref : Update addons automatically
|
||||||
|
// https://blog.mozilla.org/addons/how-to-turn-off-add-on-updates/
|
||||||
|
-lockPref("extensions.update.enabled", false);
|
||||||
|
+defaultPref("extensions.update.enabled", false);
|
||||||
|
|
||||||
|
// Pref : Enable add-on and certificate blocklists (OneCRL) from Mozilla
|
||||||
|
// Updated at interval defined in extensions.blocklist.interval (default: 86400)
|
||||||
|
@@ -2622,4 +2625,7 @@ lockPref("security.tls.unrestricted_rc4_fallback", false);
|
||||||
|
//lockPref("toolkit.telemetry.unifiedIsOptIn", true);
|
||||||
|
//lockPref("ui.key.menuAccessKey", 0);
|
||||||
|
//lockPref("view_source.tab", false);
|
||||||
|
-lockPref("xpinstall.signatures.required", false);
|
||||||
|
+defaultPref("xpinstall.signatures.required", true);
|
||||||
|
+
|
||||||
|
+// #11/#68, sounds reasonable
|
||||||
|
+defaultPref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
|
||||||
340
librewolf.desktop
Normal file
340
librewolf.desktop
Normal file
|
|
@ -0,0 +1,340 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Version=1.0
|
||||||
|
Name=LibreWolf
|
||||||
|
GenericName=Web Browser
|
||||||
|
GenericName[ar]=متصفح ويب
|
||||||
|
GenericName[ast]=Restolador Web
|
||||||
|
GenericName[bn]=ওয়েব ব্রাউজার
|
||||||
|
GenericName[ca]=Navegador web
|
||||||
|
GenericName[cs]=Webový prohlížeč
|
||||||
|
GenericName[da]=Webbrowser
|
||||||
|
GenericName[de]=Webbrowser
|
||||||
|
GenericName[el]=Περιηγητής διαδικτύου
|
||||||
|
GenericName[es]=Navegador web
|
||||||
|
GenericName[et]=Veebibrauser
|
||||||
|
GenericName[fa]=مرورگر اینترنتی
|
||||||
|
GenericName[fi]=WWW-selain
|
||||||
|
GenericName[fr]=Navigateur Web
|
||||||
|
GenericName[gl]=Navegador Web
|
||||||
|
GenericName[he]=דפדפן אינטרנט
|
||||||
|
GenericName[hr]=Web preglednik
|
||||||
|
GenericName[hu]=Webböngésző
|
||||||
|
GenericName[it]=Browser web
|
||||||
|
GenericName[ja]=ウェブ・ブラウザ
|
||||||
|
GenericName[ko]=웹 브라우저
|
||||||
|
GenericName[ku]=Geroka torê
|
||||||
|
GenericName[lt]=Interneto naršyklė
|
||||||
|
GenericName[nb]=Nettleser
|
||||||
|
GenericName[nl]=Webbrowser
|
||||||
|
GenericName[nn]=Nettlesar
|
||||||
|
GenericName[no]=Nettleser
|
||||||
|
GenericName[pl]=Przeglądarka WWW
|
||||||
|
GenericName[pt]=Navegador Web
|
||||||
|
GenericName[pt_BR]=Navegador Web
|
||||||
|
GenericName[ro]=Navigator Internet
|
||||||
|
GenericName[ru]=Веб-браузер
|
||||||
|
GenericName[sk]=Internetový prehliadač
|
||||||
|
GenericName[sl]=Spletni brskalnik
|
||||||
|
GenericName[sv]=Webbläsare
|
||||||
|
GenericName[tr]=Web Tarayıcı
|
||||||
|
GenericName[ug]=توركۆرگۈ
|
||||||
|
GenericName[uk]=Веб-браузер
|
||||||
|
GenericName[vi]=Trình duyệt Web
|
||||||
|
GenericName[zh_CN]=网络浏览器
|
||||||
|
GenericName[zh_TW]=網路瀏覽器
|
||||||
|
Comment=Browse the World Wide Web
|
||||||
|
Comment[ar]=تصفح الشبكة العنكبوتية العالمية
|
||||||
|
Comment[ast]=Restola pela Rede
|
||||||
|
Comment[bn]=ইন্টারনেট ব্রাউজ করুন
|
||||||
|
Comment[ca]=Navegueu per el web
|
||||||
|
Comment[cs]=Prohlížení stránek World Wide Webu
|
||||||
|
Comment[da]=Surf på internettet
|
||||||
|
Comment[de]=Im Internet surfen
|
||||||
|
Comment[el]=Μπορείτε να περιηγηθείτε στο διαδίκτυο (Web)
|
||||||
|
Comment[es]=Navegue por la web
|
||||||
|
Comment[et]=Lehitse veebi
|
||||||
|
Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید
|
||||||
|
Comment[fi]=Selaa Internetin WWW-sivuja
|
||||||
|
Comment[fr]=Naviguer sur le Web
|
||||||
|
Comment[gl]=Navegar pola rede
|
||||||
|
Comment[he]=גלישה ברחבי האינטרנט
|
||||||
|
Comment[hr]=Pretražite web
|
||||||
|
Comment[hu]=A világháló böngészése
|
||||||
|
Comment[it]=Esplora il web
|
||||||
|
Comment[ja]=ウェブを閲覧します
|
||||||
|
Comment[ko]=웹을 돌아 다닙니다
|
||||||
|
Comment[ku]=Li torê bigere
|
||||||
|
Comment[lt]=Naršykite internete
|
||||||
|
Comment[nb]=Surf på nettet
|
||||||
|
Comment[nl]=Verken het internet
|
||||||
|
Comment[nn]=Surf på nettet
|
||||||
|
Comment[no]=Surf på nettet
|
||||||
|
Comment[pl]=Przeglądanie stron WWW
|
||||||
|
Comment[pt]=Navegue na Internet
|
||||||
|
Comment[pt_BR]=Navegue na Internet
|
||||||
|
Comment[ro]=Navigați pe Internet
|
||||||
|
Comment[ru]=Доступ в Интернет
|
||||||
|
Comment[sk]=Prehliadanie internetu
|
||||||
|
Comment[sl]=Brskajte po spletu
|
||||||
|
Comment[sv]=Surfa på webben
|
||||||
|
Comment[tr]=İnternet'te Gezinin
|
||||||
|
Comment[ug]=دۇنيادىكى توربەتلەرنى كۆرگىلى بولىدۇ
|
||||||
|
Comment[uk]=Перегляд сторінок Інтернету
|
||||||
|
Comment[vi]=Để duyệt các trang web
|
||||||
|
Comment[zh_CN]=浏览互联网
|
||||||
|
Comment[zh_TW]=瀏覽網際網路
|
||||||
|
Keywords=Internet;WWW;Browser;Web;Explorer
|
||||||
|
Keywords[ar]=انترنت;إنترنت;متصفح;ويب;وب
|
||||||
|
Keywords[ast]=Internet;WWW;Restolador;Web;Esplorador
|
||||||
|
Keywords[ca]=Internet;WWW;Navegador;Web;Explorador;Explorer
|
||||||
|
Keywords[cs]=Internet;WWW;Prohlížeč;Web;Explorer
|
||||||
|
Keywords[da]=Internet;Internettet;WWW;Browser;Browse;Web;Surf;Nettet
|
||||||
|
Keywords[de]=Internet;WWW;Browser;Web;Explorer;Webseite;Site;surfen;online;browsen
|
||||||
|
Keywords[el]=Internet;WWW;Browser;Web;Explorer;Διαδίκτυο;Περιηγητής;LibreWolf;Φιρεφοχ;Ιντερνετ
|
||||||
|
Keywords[es]=Explorador;Internet;WWW
|
||||||
|
Keywords[fi]=Internet;WWW;Browser;Web;Explorer;selain;Internet-selain;internetselain;verkkoselain;netti;surffaa
|
||||||
|
Keywords[fr]=Internet;WWW;Browser;Web;Explorer;Fureteur;Surfer;Navigateur
|
||||||
|
Keywords[he]=דפדפן;אינטרנט;רשת;אתרים;אתר;פיירפוקס;מוזילה;
|
||||||
|
Keywords[hr]=Internet;WWW;preglednik;Web
|
||||||
|
Keywords[hu]=Internet;WWW;Böngésző;Web;Háló;Net;Explorer
|
||||||
|
Keywords[it]=Internet;WWW;Browser;Web;Navigatore
|
||||||
|
Keywords[is]=Internet;WWW;Vafri;Vefur;Netvafri;Flakk
|
||||||
|
Keywords[ja]=Internet;WWW;Web;インターネット;ブラウザ;ウェブ;エクスプローラ
|
||||||
|
Keywords[nb]=Internett;WWW;Nettleser;Explorer;Web;Browser;Nettside
|
||||||
|
Keywords[nl]=Internet;WWW;Browser;Web;Explorer;Verkenner;Website;Surfen;Online
|
||||||
|
Keywords[pt]=Internet;WWW;Browser;Web;Explorador;Navegador
|
||||||
|
Keywords[pt_BR]=Internet;WWW;Browser;Web;Explorador;Navegador
|
||||||
|
Keywords[ru]=Internet;WWW;Browser;Web;Explorer;интернет;браузер;веб;файрфокс;огнелис
|
||||||
|
Keywords[sk]=Internet;WWW;Prehliadač;Web;Explorer
|
||||||
|
Keywords[sl]=Internet;WWW;Browser;Web;Explorer;Brskalnik;Splet
|
||||||
|
Keywords[tr]=İnternet;WWW;Tarayıcı;Web;Gezgin;Web sitesi;Site;sörf;çevrimiçi;tara
|
||||||
|
Keywords[uk]=Internet;WWW;Browser;Web;Explorer;Інтернет;мережа;переглядач;оглядач;браузер;веб;файрфокс;вогнелис;перегляд
|
||||||
|
Keywords[vi]=Internet;WWW;Browser;Web;Explorer;Trình duyệt;Trang web
|
||||||
|
Keywords[zh_CN]=Internet;WWW;Browser;Web;Explorer;网页;浏览;上网;火狐;LibreWolf;ff;互联网;网站;
|
||||||
|
Keywords[zh_TW]=Internet;WWW;Browser;Web;Explorer;網際網路;網路;瀏覽器;上網;網頁;火狐
|
||||||
|
Exec=/usr/lib/librewolf/librewolf %u
|
||||||
|
Icon=librewolf
|
||||||
|
Terminal=false
|
||||||
|
X-MultipleArgs=false
|
||||||
|
Type=Application
|
||||||
|
MimeType=text/html;text/xml;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;application/x-xpinstall;
|
||||||
|
StartupNotify=true
|
||||||
|
StartupWMClass=LibreWolf
|
||||||
|
Categories=Network;WebBrowser;
|
||||||
|
Actions=new-window;new-private-window;
|
||||||
|
|
||||||
|
[Desktop Action new-window]
|
||||||
|
Name=New Window
|
||||||
|
Name[ach]=Dirica manyen
|
||||||
|
Name[af]=Nuwe venster
|
||||||
|
Name[an]=Nueva finestra
|
||||||
|
Name[ar]=نافذة جديدة
|
||||||
|
Name[as]=নতুন উইন্ডো
|
||||||
|
Name[ast]=Ventana nueva
|
||||||
|
Name[az]=Yeni Pəncərə
|
||||||
|
Name[be]=Новае акно
|
||||||
|
Name[bg]=Нов прозорец
|
||||||
|
Name[bn_BD]=নতুন উইন্ডো (N)
|
||||||
|
Name[bn_IN]=নতুন উইন্ডো
|
||||||
|
Name[br]=Prenestr nevez
|
||||||
|
Name[brx]=गोदान उइन्ड'(N)
|
||||||
|
Name[bs]=Novi prozor
|
||||||
|
Name[ca]=Finestra nova
|
||||||
|
Name[cak]=K'ak'a' tzuwäch
|
||||||
|
Name[cs]=Nové okno
|
||||||
|
Name[cy]=Ffenestr Newydd
|
||||||
|
Name[da]=Nyt vindue
|
||||||
|
Name[de]=Neues Fenster
|
||||||
|
Name[dsb]=Nowe wokno
|
||||||
|
Name[el]=Νέο παράθυρο
|
||||||
|
Name[en_GB]=New Window
|
||||||
|
Name[en_US]=New Window
|
||||||
|
Name[en_ZA]=New Window
|
||||||
|
Name[eo]=Nova fenestro
|
||||||
|
Name[es_AR]=Nueva ventana
|
||||||
|
Name[es_CL]=Nueva ventana
|
||||||
|
Name[es_ES]=Nueva ventana
|
||||||
|
Name[es_MX]=Nueva ventana
|
||||||
|
Name[et]=Uus aken
|
||||||
|
Name[eu]=Leiho berria
|
||||||
|
Name[fa]=پنجره جدید
|
||||||
|
Name[ff]=Henorde Hesere
|
||||||
|
Name[fi]=Uusi ikkuna
|
||||||
|
Name[fr]=Nouvelle fenêtre
|
||||||
|
Name[fy_NL]=Nij finster
|
||||||
|
Name[ga_IE]=Fuinneog Nua
|
||||||
|
Name[gd]=Uinneag ùr
|
||||||
|
Name[gl]=Nova xanela
|
||||||
|
Name[gn]=Ovetã pyahu
|
||||||
|
Name[gu_IN]=નવી વિન્ડો
|
||||||
|
Name[he]=חלון חדש
|
||||||
|
Name[hi_IN]=नया विंडो
|
||||||
|
Name[hr]=Novi prozor
|
||||||
|
Name[hsb]=Nowe wokno
|
||||||
|
Name[hu]=Új ablak
|
||||||
|
Name[hy_AM]=Նոր Պատուհան
|
||||||
|
Name[id]=Jendela Baru
|
||||||
|
Name[is]=Nýr gluggi
|
||||||
|
Name[it]=Nuova finestra
|
||||||
|
Name[ja]=新しいウィンドウ
|
||||||
|
Name[ja_JP-mac]=新規ウインドウ
|
||||||
|
Name[ka]=ახალი ფანჯარა
|
||||||
|
Name[kk]=Жаңа терезе
|
||||||
|
Name[km]=បង្អួចថ្មី
|
||||||
|
Name[kn]=ಹೊಸ ಕಿಟಕಿ
|
||||||
|
Name[ko]=새 창
|
||||||
|
Name[kok]=नवें जनेल
|
||||||
|
Name[ks]=نئئ وِنڈو
|
||||||
|
Name[lij]=Neuvo barcon
|
||||||
|
Name[lo]=ຫນ້າຕ່າງໃຫມ່
|
||||||
|
Name[lt]=Naujas langas
|
||||||
|
Name[ltg]=Jauns lūgs
|
||||||
|
Name[lv]=Jauns logs
|
||||||
|
Name[mai]=नव विंडो
|
||||||
|
Name[mk]=Нов прозорец
|
||||||
|
Name[ml]=പുതിയ ജാലകം
|
||||||
|
Name[mr]=नवीन पटल
|
||||||
|
Name[ms]=Tetingkap Baru
|
||||||
|
Name[my]=ဝင်းဒိုးအသစ်
|
||||||
|
Name[nb_NO]=Nytt vindu
|
||||||
|
Name[ne_NP]=नयाँ सञ्झ्याल
|
||||||
|
Name[nl]=Nieuw venster
|
||||||
|
Name[nn_NO]=Nytt vindauge
|
||||||
|
Name[or]=ନୂତନ ୱିଣ୍ଡୋ
|
||||||
|
Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ
|
||||||
|
Name[pl]=Nowe okno
|
||||||
|
Name[pt_BR]=Nova janela
|
||||||
|
Name[pt_PT]=Nova janela
|
||||||
|
Name[rm]=Nova fanestra
|
||||||
|
Name[ro]=Fereastră nouă
|
||||||
|
Name[ru]=Новое окно
|
||||||
|
Name[sat]=नावा विंडो (N)
|
||||||
|
Name[si]=නව කවුළුවක්
|
||||||
|
Name[sk]=Nové okno
|
||||||
|
Name[sl]=Novo okno
|
||||||
|
Name[son]=Zanfun taaga
|
||||||
|
Name[sq]=Dritare e Re
|
||||||
|
Name[sr]=Нови прозор
|
||||||
|
Name[sv_SE]=Nytt fönster
|
||||||
|
Name[ta]=புதிய சாளரம்
|
||||||
|
Name[te]=కొత్త విండో
|
||||||
|
Name[th]=หน้าต่างใหม่
|
||||||
|
Name[tr]=Yeni pencere
|
||||||
|
Name[tsz]=Eraatarakua jimpani
|
||||||
|
Name[uk]=Нове вікно
|
||||||
|
Name[ur]=نیا دریچہ
|
||||||
|
Name[uz]=Yangi oyna
|
||||||
|
Name[vi]=Cửa sổ mới
|
||||||
|
Name[wo]=Palanteer bu bees
|
||||||
|
Name[xh]=Ifestile entsha
|
||||||
|
Name[zh_CN]=新建窗口
|
||||||
|
Name[zh_TW]=開新視窗
|
||||||
|
Exec=/usr/lib/librewolf/librewolf --new-window %u
|
||||||
|
|
||||||
|
[Desktop Action new-private-window]
|
||||||
|
Name=New Private Window
|
||||||
|
Name[ach]=Dirica manyen me mung
|
||||||
|
Name[af]=Nuwe privaatvenster
|
||||||
|
Name[an]=Nueva finestra privada
|
||||||
|
Name[ar]=نافذة خاصة جديدة
|
||||||
|
Name[as]=নতুন ব্যক্তিগত উইন্ডো
|
||||||
|
Name[ast]=Ventana privada nueva
|
||||||
|
Name[az]=Yeni Məxfi Pəncərə
|
||||||
|
Name[be]=Новае акно адасаблення
|
||||||
|
Name[bg]=Нов прозорец за поверително сърфиране
|
||||||
|
Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো
|
||||||
|
Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো
|
||||||
|
Name[br]=Prenestr merdeiñ prevez nevez
|
||||||
|
Name[brx]=गोदान प्राइभेट उइन्ड'
|
||||||
|
Name[bs]=Novi privatni prozor
|
||||||
|
Name[ca]=Finestra privada nova
|
||||||
|
Name[cak]=K'ak'a' ichinan tzuwäch
|
||||||
|
Name[cs]=Nové anonymní okno
|
||||||
|
Name[cy]=Ffenestr Breifat Newydd
|
||||||
|
Name[da]=Nyt privat vindue
|
||||||
|
Name[de]=Neues privates Fenster
|
||||||
|
Name[dsb]=Nowe priwatne wokno
|
||||||
|
Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης
|
||||||
|
Name[en_GB]=New Private Window
|
||||||
|
Name[en_US]=New Private Window
|
||||||
|
Name[en_ZA]=New Private Window
|
||||||
|
Name[eo]=Nova privata fenestro
|
||||||
|
Name[es_AR]=Nueva ventana privada
|
||||||
|
Name[es_CL]=Nueva ventana privada
|
||||||
|
Name[es_ES]=Nueva ventana privada
|
||||||
|
Name[es_MX]=Nueva ventana privada
|
||||||
|
Name[et]=Uus privaatne aken
|
||||||
|
Name[eu]=Leiho pribatu berria
|
||||||
|
Name[fa]=پنجره ناشناس جدید
|
||||||
|
Name[ff]=Henorde Suturo Hesere
|
||||||
|
Name[fi]=Uusi yksityinen ikkuna
|
||||||
|
Name[fr]=Nouvelle fenêtre de navigation privée
|
||||||
|
Name[fy_NL]=Nij priveefinster
|
||||||
|
Name[ga_IE]=Fuinneog Nua Phríobháideach
|
||||||
|
Name[gd]=Uinneag phrìobhaideach ùr
|
||||||
|
Name[gl]=Nova xanela privada
|
||||||
|
Name[gn]=Ovetã ñemi pyahu
|
||||||
|
Name[gu_IN]=નવી ખાનગી વિન્ડો
|
||||||
|
Name[he]=חלון פרטי חדש
|
||||||
|
Name[hi_IN]=नयी निजी विंडो
|
||||||
|
Name[hr]=Novi privatni prozor
|
||||||
|
Name[hsb]=Nowe priwatne wokno
|
||||||
|
Name[hu]=Új privát ablak
|
||||||
|
Name[hy_AM]=Սկսել Գաղտնի դիտարկում
|
||||||
|
Name[id]=Jendela Mode Pribadi Baru
|
||||||
|
Name[is]=Nýr huliðsgluggi
|
||||||
|
Name[it]=Nuova finestra anonima
|
||||||
|
Name[ja]=新しいプライベートウィンドウ
|
||||||
|
Name[ja_JP-mac]=新規プライベートウインドウ
|
||||||
|
Name[ka]=ახალი პირადი ფანჯარა
|
||||||
|
Name[kk]=Жаңа жекелік терезе
|
||||||
|
Name[km]=បង្អួចឯកជនថ្មី
|
||||||
|
Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ
|
||||||
|
Name[ko]=새 사생활 보호 모드
|
||||||
|
Name[kok]=नवो खाजगी विंडो
|
||||||
|
Name[ks]=نْو پرایوٹ وینڈو
|
||||||
|
Name[lij]=Nêuvo barcón privòu
|
||||||
|
Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່
|
||||||
|
Name[lt]=Naujas privataus naršymo langas
|
||||||
|
Name[ltg]=Jauns privatais lūgs
|
||||||
|
Name[lv]=Jauns privātais logs
|
||||||
|
Name[mai]=नया निज विंडो (W)
|
||||||
|
Name[mk]=Нов приватен прозорец
|
||||||
|
Name[ml]=പുതിയ സ്വകാര്യ ജാലകം
|
||||||
|
Name[mr]=नवीन वैयक्तिक पटल
|
||||||
|
Name[ms]=Tetingkap Persendirian Baharu
|
||||||
|
Name[my]=New Private Window
|
||||||
|
Name[nb_NO]=Nytt privat vindu
|
||||||
|
Name[ne_NP]=नयाँ निजी सञ्झ्याल
|
||||||
|
Name[nl]=Nieuw privévenster
|
||||||
|
Name[nn_NO]=Nytt privat vindauge
|
||||||
|
Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ
|
||||||
|
Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ
|
||||||
|
Name[pl]=Nowe okno prywatne
|
||||||
|
Name[pt_BR]=Nova janela privativa
|
||||||
|
Name[pt_PT]=Nova janela privada
|
||||||
|
Name[rm]=Nova fanestra privata
|
||||||
|
Name[ro]=Fereastră privată nouă
|
||||||
|
Name[ru]=Новое приватное окно
|
||||||
|
Name[sat]=नावा निजेराक् विंडो (W )
|
||||||
|
Name[si]=නව පුද්ගලික කවුළුව (W)
|
||||||
|
Name[sk]=Nové okno v režime Súkromné prehliadanie
|
||||||
|
Name[sl]=Novo zasebno okno
|
||||||
|
Name[son]=Sutura zanfun taaga
|
||||||
|
Name[sq]=Dritare e Re Private
|
||||||
|
Name[sr]=Нови приватан прозор
|
||||||
|
Name[sv_SE]=Nytt privat fönster
|
||||||
|
Name[ta]=புதிய தனிப்பட்ட சாளரம்
|
||||||
|
Name[te]=కొత్త ఆంతరంగిక విండో
|
||||||
|
Name[th]=หน้าต่างส่วนตัวใหม่
|
||||||
|
Name[tr]=Yeni gizli pencere
|
||||||
|
Name[tsz]=Juchiiti eraatarakua jimpani
|
||||||
|
Name[uk]=Приватне вікно
|
||||||
|
Name[ur]=نیا نجی دریچہ
|
||||||
|
Name[uz]=Yangi maxfiy oyna
|
||||||
|
Name[vi]=Cửa sổ riêng tư mới
|
||||||
|
Name[wo]=Panlanteeru biir bu bees
|
||||||
|
Name[xh]=Ifestile yangasese entsha
|
||||||
|
Name[zh_CN]=新建隐私浏览窗口
|
||||||
|
Name[zh_TW]=新增隱私視窗
|
||||||
|
Exec=/usr/lib/librewolf/librewolf --private-window %u
|
||||||
13
librewolf.install
Normal file
13
librewolf.install
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
post_install() {
|
||||||
|
echo ">> If you want to reduce potential privacy leaks even further, you should consider"
|
||||||
|
echo ">> clearing a few settings required for updating/searching extensions:"
|
||||||
|
echo ">> extensions.getAddons.get.url"
|
||||||
|
echo ">> extensions.getAddons.langpacks.url"
|
||||||
|
echo ">> extensions.getAddons.link.url"
|
||||||
|
echo ">> extensions.getAddons.search.browseURL"
|
||||||
|
echo ">> extensions.update.url"
|
||||||
|
echo ">> extensions.update.background.url"
|
||||||
|
echo ">> If you do wish to install extensions the 'regular way',"
|
||||||
|
echo ">> a few more tweaks might be needed."
|
||||||
|
echo ">> I've kept the relevant settings unlocked for that specific reason."
|
||||||
|
}
|
||||||
12
scripts/01_arch_build.sh
Executable file
12
scripts/01_arch_build.sh
Executable file
|
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/bash
|
||||||
|
pacman --noconfirm -Syu --needed base-devel
|
||||||
|
# this is a very ugly fix for recent makepkg-5.1-chmod-shenanigans, which mess up the build process in docker
|
||||||
|
sed -E -i 's/^chmod a-s \"\$BUILDDIR\"$/# chmod a-s \"\$BUILDDIR\"/' `which makepkg`
|
||||||
|
echo 'nobody ALL=(ALL) NOPASSWD: /usr/bin/pacman' >> /etc/sudoers
|
||||||
|
mkdir -p /home/nobody && chown -R nobody /home/nobody
|
||||||
|
usermod -d /home/nobody nobody
|
||||||
|
# we need to un-expire the account, otherwise PAM will complain
|
||||||
|
usermod -e '' nobody
|
||||||
|
chown -R nobody .
|
||||||
|
# makepkg will not run as root
|
||||||
|
sudo -u nobody -E -H makepkg --noconfirm --nosign --syncdeps --cleanbuild --skippgpcheck
|
||||||
35
scripts/02_configure_tarball.sh
Executable file
35
scripts/02_configure_tarball.sh
Executable file
|
|
@ -0,0 +1,35 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
printf "\n\n---------------- prepare package for other distros ----------------\n"
|
||||||
|
|
||||||
|
# Setup Script Variables
|
||||||
|
|
||||||
|
# use $CI_PROJECT_DIR unless not in CI, then assign script path
|
||||||
|
CI_PROJECT_DIR=${CI_PROJECT_DIR:-$(realpath $(dirname $0)/../)}
|
||||||
|
OUTPUT_TARBALL=$CI_PROJECT_DIR/LibreWolf.${CARCH}.tar.bz2
|
||||||
|
SOURCE_CODE_BINARY_TARBALL_LOCATION="$CI_PROJECT_DIR/src/firefox-*/obj*/dist/librewolf*.tar.bz2"
|
||||||
|
EXTRACTED_TARBALL_FOLDER=$CI_PROJECT_DIR/librewolf_unpacked/librewolf
|
||||||
|
|
||||||
|
# Prevents build from breaking in CI/CD environments
|
||||||
|
export SHELL=/bin/bash
|
||||||
|
|
||||||
|
# Moves the packaged tarball to the specified location
|
||||||
|
printf "\nMoving Binary Tarball to output location\n"
|
||||||
|
mv $SOURCE_CODE_BINARY_TARBALL_LOCATION $OUTPUT_TARBALL
|
||||||
|
|
||||||
|
# Extracts the binary tarball
|
||||||
|
printf "\nExtracting librewolf binary tarball\n"
|
||||||
|
mkdir librewolf_unpacked
|
||||||
|
tar -xf $OUTPUT_TARBALL -C librewolf_unpacked
|
||||||
|
|
||||||
|
# Adds the librefox config files to the packaged tarball
|
||||||
|
printf "\nCopying librewolf settings to extracted binary tarball\n"
|
||||||
|
|
||||||
|
cp -r $CI_PROJECT_DIR/src/settings $EXTRACTED_TARBALL_FOLDER/settings
|
||||||
|
cp $CI_PROJECT_DIR/content/toggle-settings.sh $EXTRACTED_TARBALL_FOLDER/settings
|
||||||
|
cp $CI_PROJECT_DIR/content/launch_librewolf.sh $EXTRACTED_TARBALL_FOLDER/launch_librewolf.sh
|
||||||
|
|
||||||
|
# Repacks the binary tarball
|
||||||
|
printf "\nRecompressing binary tarball\n"
|
||||||
|
tar -jvcf $OUTPUT_TARBALL -C $EXTRACTED_TARBALL_FOLDER .
|
||||||
Loading…
Add table
Reference in a new issue