osc copypac from project:mozilla package:firefox68 revision:8
OBS-URL: https://build.opensuse.org/package/show/mozilla:Factory/firefox-esr?expand=0&rev=1
This commit is contained in:
commit
4ac53cb2cd
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
.osc
|
1
MozillaFirefox-rpmlintrc
Normal file
1
MozillaFirefox-rpmlintrc
Normal file
@ -0,0 +1 @@
|
||||
addFilter("no-jar-manifest")
|
18
MozillaFirefox.desktop
Normal file
18
MozillaFirefox.desktop
Normal file
@ -0,0 +1,18 @@
|
||||
[Desktop Entry]
|
||||
Encoding=UTF-8
|
||||
Name=%NAME
|
||||
GenericName=Web Browser
|
||||
Comment=Web Browser
|
||||
TryExec=%EXEC
|
||||
Exec=%EXEC %u
|
||||
Icon=%ICON
|
||||
Terminal=false
|
||||
StartupNotify=true
|
||||
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;application/x-xpinstall;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;
|
||||
Type=Application
|
||||
|
||||
Actions=PrivateBrowsing;
|
||||
|
||||
[Desktop Action PrivateBrowsing]
|
||||
Name=New Private Browsing Window
|
||||
Exec=%EXEC --private-window %u
|
45
_constraints
Normal file
45
_constraints
Normal file
@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<constraints>
|
||||
<hardware>
|
||||
<disk>
|
||||
<size unit="G">24</size>
|
||||
</disk>
|
||||
<memory>
|
||||
<size unit="G">8</size>
|
||||
</memory>
|
||||
</hardware>
|
||||
<overwrite>
|
||||
<conditions>
|
||||
<arch>armv6l</arch>
|
||||
<arch>armv7l</arch>
|
||||
</conditions>
|
||||
<hardware>
|
||||
<disk>
|
||||
<size unit="G">12</size>
|
||||
</disk>
|
||||
<memory>
|
||||
<size unit="G">5</size>
|
||||
</memory>
|
||||
</hardware>
|
||||
</overwrite>
|
||||
<overwrite>
|
||||
<conditions>
|
||||
<arch>aarch64</arch>
|
||||
</conditions>
|
||||
<hardware>
|
||||
<memory>
|
||||
<size unit="G">12</size>
|
||||
</memory>
|
||||
</hardware>
|
||||
</overwrite>
|
||||
<overwrite>
|
||||
<conditions>
|
||||
<arch>x86_64</arch>
|
||||
</conditions>
|
||||
<hardware>
|
||||
<memory>
|
||||
<size unit="G">16</size>
|
||||
</memory>
|
||||
</hardware>
|
||||
</overwrite>
|
||||
</constraints>
|
3
compare-locales.tar.xz
Normal file
3
compare-locales.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:892b06ef50e2a0f3db6ecefacd620186362913304b932ecb16c888a0243c497c
|
||||
size 28536
|
281
create-tar.sh
Normal file
281
create-tar.sh
Normal file
@ -0,0 +1,281 @@
|
||||
#!/bin/bash
|
||||
|
||||
function print_usage_and_exit() {
|
||||
echo "Usage: create-tar.sh tar_stamps"
|
||||
echo ""
|
||||
echo "Where tar_stamps should look like this:"
|
||||
echo ""
|
||||
cat << EOF
|
||||
# Node ID: 64ee63facd4ff96b3e8590cff559d7e97ac6b061
|
||||
PRODUCT="firefox" # "firefox" or "thunderbird"
|
||||
CHANNEL="esr60"
|
||||
VERSION="60.7.0"
|
||||
VERSION_SUFFIX="esr"
|
||||
RELEASE_TAG="" # Needs only to be set if no tar-ball can be downloaded
|
||||
PREV_VERSION="60.6.3" # Prev. version only needed for locales (leave empty to force l10n-generation)
|
||||
PREV_VERSION_SUFFIX="esr"
|
||||
#SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
|
||||
EOF
|
||||
|
||||
exit 1
|
||||
}
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
print_usage_and_exit
|
||||
fi
|
||||
|
||||
# Sourcing the given tar_stamps-file to have the variables available
|
||||
source "$1" || print_usage_and_exit
|
||||
|
||||
# Internal variables
|
||||
BRANCH="releases/mozilla-$CHANNEL"
|
||||
if [ "$PRODUCT" = "firefox" ]; then
|
||||
LOCALE_FILE="firefox-$VERSION/browser/locales/l10n-changesets.json"
|
||||
else
|
||||
LOCALE_FILE="thunderbird-$VERSION/comm/mail/locales/l10n-changesets.json"
|
||||
fi
|
||||
|
||||
SOURCE_TARBALL="$PRODUCT-$VERSION$VERSION_SUFFIX.source.tar.xz"
|
||||
FTP_URL="https://ftp.mozilla.org/pub/$PRODUCT/releases/$VERSION$VERSION_SUFFIX/source"
|
||||
# Make first letter of PRODCUT upper case
|
||||
PRODUCT_CAP="${PRODUCT^}"
|
||||
LOCALES_URL="https://product-details.mozilla.org/1.0/l10n/$PRODUCT_CAP"
|
||||
# Exit script on CTRL+C
|
||||
trap "exit" INT
|
||||
|
||||
function check_tarball_source () {
|
||||
TARBALL=$1
|
||||
# Print out what is going to be done:
|
||||
if [ -e $TARBALL ]; then
|
||||
echo "Reuse existing file"
|
||||
elif wget --spider $FTP_URL/$TARBALL 2> /dev/null; then
|
||||
echo "Download file"
|
||||
else
|
||||
echo "Mercurial checkout"
|
||||
fi
|
||||
}
|
||||
|
||||
function ask_cont_abort_question() {
|
||||
while true; do
|
||||
read -p "$1 [(c)ontinue/(a)bort] " ca
|
||||
case $ca in
|
||||
[Cc]* ) return 0 ;;
|
||||
[Aa]* ) return 1 ;;
|
||||
* ) echo "Please answer c or a.";;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
function check_for_binary() {
|
||||
if ! test -x $1; then
|
||||
echo "$1 is missing: execute zypper in $2"
|
||||
exit 5
|
||||
fi
|
||||
}
|
||||
|
||||
function locales_get() {
|
||||
TMP_VERSION="$1"
|
||||
URL_TO_CHECK="${LOCALES_URL}-${TMP_VERSION}"
|
||||
|
||||
LAST_FOUND=""
|
||||
# Unfortunately, locales-files are not associated to releases, but to builds.
|
||||
# And since we don't know which build was the final build, we go from 9 downwards
|
||||
# try to find the latest one that exists (assuming there are no more than 9 builds).
|
||||
# Error only if not even the first one exists
|
||||
for BUILD_ID in $(seq 9 -1 0); do
|
||||
FINAL_URL="${URL_TO_CHECK}-build${BUILD_ID}.json"
|
||||
if wget --quiet --spider "$FINAL_URL"; then
|
||||
LAST_FOUND="$FINAL_URL"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$LAST_FOUND" != "" ]; then
|
||||
echo "$LAST_FOUND"
|
||||
return 0
|
||||
else
|
||||
echo "Error: Could not find locales-file (json) for Firefox $TMP_VERSION !" 1>&2
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
function locales_parse() {
|
||||
URL="$1"
|
||||
curl -s "$URL" | python -c "import json; import sys; \
|
||||
print('\n'.join(['{} {}'.format(key, value['changeset']) \
|
||||
for key, value in sorted(json.load(sys.stdin)['locales'].items())]));"
|
||||
}
|
||||
|
||||
function locales_unchanged() {
|
||||
# If no json-file for one of the versions can be found, we say "they changed"
|
||||
prev_url=$(locales_get "$PREV_VERSION$PREV_VERSION_SUFFIX") || return 1
|
||||
curr_url=$(locales_get "$VERSION$VERSION_SUFFIX") || return 1
|
||||
|
||||
prev_content=$(locales_parse "$prev_url") || exit 1
|
||||
curr_content=$(locales_parse "$curr_url") || exit 1
|
||||
|
||||
diff -y --suppress-common-lines -d <(echo "$prev_content") <(echo "$curr_content")
|
||||
}
|
||||
|
||||
# check required tools
|
||||
check_for_binary /usr/bin/hg "mercurial"
|
||||
check_for_binary /usr/bin/jq "jq"
|
||||
which python > /dev/null || exit 1
|
||||
|
||||
# use parallel compression, if available
|
||||
compression='-J'
|
||||
pixz -h > /dev/null 2>&1
|
||||
if (($? != 127)); then
|
||||
compression='-Ipixz'
|
||||
fi
|
||||
|
||||
if [ -z ${SKIP_LOCALES+x} ]; then
|
||||
# TODO: Thunderbird has usually "default" as locale entry.
|
||||
# There we probably need to double-check Firefox-locals
|
||||
# For now, just download every time for Thunderbird
|
||||
if [ "$PRODUCT" = "firefox" ] && [ "$PREV_VERSION" != "" ] && locales_unchanged; then
|
||||
printf "%-40s: Did not change. Skipping.\n" "locales"
|
||||
LOCALES_CHANGED=0
|
||||
else
|
||||
printf "%-40s: Need to download.\n" "locales"
|
||||
LOCALES_CHANGED=1
|
||||
fi
|
||||
else
|
||||
printf "%-40s: User forced skip (SKIP_LOCALES set)\n" "locales"
|
||||
fi
|
||||
|
||||
# Check what is going to be done and ask for consent
|
||||
for ff in $SOURCE_TARBALL $SOURCE_TARBALL.asc; do
|
||||
printf "%-40s: %s\n" $ff "$(check_tarball_source $ff)"
|
||||
done
|
||||
|
||||
$(ask_cont_abort_question "Is this ok?") || exit 0
|
||||
|
||||
# Try to download tar-ball from officiall mozilla-mirror
|
||||
if [ ! -e $SOURCE_TARBALL ]; then
|
||||
wget https://ftp.mozilla.org/pub/$PRODUCT/releases/$VERSION$VERSION_SUFFIX/source/$SOURCE_TARBALL
|
||||
fi
|
||||
# including signature
|
||||
if [ ! -e $SOURCE_TARBALL.asc ]; then
|
||||
wget https://ftp.mozilla.org/pub/$PRODUCT/releases/$VERSION$VERSION_SUFFIX/source/$SOURCE_TARBALL.asc
|
||||
fi
|
||||
|
||||
# we might have an upstream archive already and can skip the checkout
|
||||
if [ -e $SOURCE_TARBALL ]; then
|
||||
if [ -z ${SKIP_LOCALES+x} ] && [ $LOCALES_CHANGED -ne 0 ]; then
|
||||
# still need to extract the locale information from the archive
|
||||
echo "extract locale changesets"
|
||||
tar -xf $SOURCE_TARBALL $LOCALE_FILE
|
||||
fi
|
||||
else
|
||||
# We are working on a version that is not yet published on the mozilla mirror
|
||||
# so we have to actually check out the repo
|
||||
|
||||
# mozilla
|
||||
if [ -d $PRODUCT-$VERSION ]; then
|
||||
pushd $PRODUCT-$VERSION || exit 1
|
||||
_repourl=$(hg paths)
|
||||
case "$_repourl" in
|
||||
*$BRANCH*)
|
||||
echo "updating previous tree"
|
||||
hg pull
|
||||
popd || exit 1
|
||||
;;
|
||||
* )
|
||||
echo "removing obsolete tree"
|
||||
popd || exit 1
|
||||
rm -rf $PRODUCT-$VERSION
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if [ ! -d $PRODUCT-$VERSION ]; then
|
||||
echo "cloning new $BRANCH..."
|
||||
hg clone http://hg.mozilla.org/$BRANCH $PRODUCT-$VERSION
|
||||
if [ "$PRODUCT" = "thunderbird" ]; then
|
||||
hg clone http://hg.mozilla.org/releases/comm-$CHANNEL $PRODUCT-$VERSION/comm
|
||||
fi
|
||||
fi
|
||||
pushd $PRODUCT-$VERSION || exit 1
|
||||
|
||||
# parse out the Firefox-release tag for this Thunderbird-checkout
|
||||
if [ "$PRODUCT" = "thunderbird" ]; then
|
||||
FF_RELEASE_TAG=$(grep ^GECKO_HEAD_REV ./comm/.gecko_rev.yml | awk -F ' ' '{print $2}') || exit 1
|
||||
echo "Parsed Firefox base ID from .gecko_rev.yml: $FF_RELEASE_TAG"
|
||||
else
|
||||
FF_RELEASE_TAG="$RELEASE_TAG"
|
||||
fi
|
||||
|
||||
hg update --check $FF_RELEASE_TAG
|
||||
[ "$FF_RELEASE_TAG" == "default" ] || hg update -r $FF_RELEASE_TAG
|
||||
# get repo and source stamp
|
||||
echo -n "REV=" > ../source-stamp.txt
|
||||
hg -R . parent --template="{node|short}\n" >> ../source-stamp.txt
|
||||
echo -n "REPO=" >> ../source-stamp.txt
|
||||
hg showconfig paths.default 2>/dev/null | head -n1 | sed -e "s/^ssh:/http:/" >> ../source-stamp.txt
|
||||
|
||||
if [ "$PRODUCT" = "thunderbird" ]; then
|
||||
pushd comm || exit 1
|
||||
hg update --check $RELEASE_TAG
|
||||
popd || exit 1
|
||||
rm -rf thunderbird-${VERSION}/{,comm/}other-licenses/7zstub
|
||||
fi
|
||||
popd || exit 1
|
||||
|
||||
echo "creating archive..."
|
||||
tar $compression -cf $PRODUCT-$VERSION$VERSION_SUFFIX.source.tar.xz --exclude=.hgtags --exclude=.hgignore --exclude=.hg --exclude=CVS $PRODUCT-$VERSION
|
||||
fi
|
||||
|
||||
if [ ! -z ${SKIP_LOCALES+x} ]; then
|
||||
echo "Skipping locales-creation."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ $LOCALES_CHANGED -ne 0 ]; then
|
||||
# l10n
|
||||
echo "fetching locales..."
|
||||
test ! -d l10n && mkdir l10n
|
||||
jq -r 'to_entries[]| "\(.key) \(.value|.revision)"' $LOCALE_FILE | \
|
||||
while read locale changeset ; do
|
||||
case $locale in
|
||||
ja-JP-mac|en-US)
|
||||
;;
|
||||
*)
|
||||
echo "reading changeset information for $locale"
|
||||
echo "fetching $locale changeset $changeset ..."
|
||||
if [ -d "l10n/$locale/.hg" ]; then
|
||||
pushd "l10n/$locale" || exit 1
|
||||
hg pull
|
||||
popd || exit 1
|
||||
else
|
||||
hg clone "http://hg.mozilla.org/l10n-central/$locale" "l10n/$locale"
|
||||
fi
|
||||
[ "$RELEASE_TAG" == "default" ] || hg -R "l10n/$locale" up -C -r "$changeset"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
echo "creating l10n archive..."
|
||||
if [ "$PRODUCT" = "thunderbird" ]; then
|
||||
TB_TAR_FLAGS="--exclude=browser --exclude=suite"
|
||||
fi
|
||||
tar $compression -cf l10n-$VERSION$VERSION_SUFFIX.tar.xz \
|
||||
--exclude=.hgtags --exclude=.hgignore --exclude=.hg \
|
||||
$TB_TAR_FLAGS \
|
||||
l10n
|
||||
elif [ -f "l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz" ]; then
|
||||
# Locales did not change, but the old tar-ball is in this directory
|
||||
# Simply rename it:
|
||||
echo "Moving l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz to l10n-$VERSION$VERSION_SUFFIX.tar.xz"
|
||||
mv "l10n-$PREV_VERSION$PREV_VERSION_SUFFIX.tar.xz" "l10n-$VERSION$VERSION_SUFFIX.tar.xz"
|
||||
fi
|
||||
|
||||
# compare-locales
|
||||
echo "creating compare-locales"
|
||||
if [ -d compare-locales/.hg ]; then
|
||||
pushd compare-locales || exit 1
|
||||
hg pull
|
||||
popd || exit 1
|
||||
else
|
||||
hg clone http://hg.mozilla.org/build/compare-locales
|
||||
fi
|
||||
tar $compression -cf compare-locales.tar.xz --exclude=.hgtags --exclude=.hgignore --exclude=.hg compare-locales
|
||||
|
3
firefox-68.1.0esr.source.tar.xz
Normal file
3
firefox-68.1.0esr.source.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:f56f5fa5a4744be0b9acf259cb991254d708a50b9a0a12d1d846ffa5a6c409ac
|
||||
size 312155752
|
16
firefox-68.1.0esr.source.tar.xz.asc
Normal file
16
firefox-68.1.0esr.source.tar.xz.asc
Normal file
@ -0,0 +1,16 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQIzBAABCgAdFiEECXsxMHeuYqAvhNpN8aZmj7t9Vy4FAl1kD6oACgkQ8aZmj7t9
|
||||
Vy7zgw//daumocgMPaRkjqsbwsa2PkgdNGv1Doyx3ryKUvAVI0FQYJC2RW5/y++W
|
||||
Fv92d8ib4Mh8nsmykR4L7jAN+ovdF3mzY0EyoRpC41aWaC0Uw9lLnDVk9s/U46Y3
|
||||
8IPKEzfNVS4vKETIYviArOLU8AXa/3GT9PtVLZ+VhzMOqe4qnYJTW93s06y0VXUE
|
||||
r7Bzfe+dwUxLzVtc3d5HfuOmiKYRRjhI1U+Tx8p+DVY7gXhES4r/BmT/bbvNYpdh
|
||||
i0HzWRH53J7//wiV18WKPxX1UqTYIVMwEhHZZ9+MA11LN2HTLKPmNL/wnh+zx6Wg
|
||||
arVJQYIIdH7CvNt0/ewJmsFgUmU9inSUd/zJ+7Absq3eDDBwYvsiNNexW+cpgDIe
|
||||
axWgtQBkp0m73gZ8wzcYO7lI4KhbfraWwBiSubIrZRSuJAbyowKVees/hRtFFeI2
|
||||
Uhzefr+Cn9RS6vGm7DKme36c6VOZGP7kRO8u+sNrxu4NeOakoG4J7pwFbCnLAVO2
|
||||
vT0a4xScznXQ9inqrYRdnUiUQv2PLOLCC8uullaPvyd99LPmhbgYaVrii/8S4Ozo
|
||||
zU95mzbBUbvMPg3OrLNbcszRHeLV9EK0if/+GGr6fSVNrEmShqsFpbceSsbrGg0+
|
||||
tOWi7PM4iHhlzaFt2TVLV4+xfQWoH7kBW2qNA0dmGjYP1poh1WE=
|
||||
=Q1b3
|
||||
-----END PGP SIGNATURE-----
|
48
firefox-appdata.xml
Normal file
48
firefox-appdata.xml
Normal file
@ -0,0 +1,48 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
Upstream does not want to ship it https://bugzilla.mozilla.org/show_bug.cgi?id=1071061
|
||||
so maintain a stub in here.
|
||||
-->
|
||||
|
||||
<component>
|
||||
<id type="desktop">firefox.desktop</id>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<name>Firefox Web Browser</name>
|
||||
<project_license>MPL-2.0</project_license>
|
||||
<summary>Mozilla Firefox Web Browser</summary>
|
||||
<url type="homepage">http://www.mozilla.org/</url>
|
||||
<description>
|
||||
<p>Mozilla Firefox is a standalone web browser, designed for privacy, security, standards
|
||||
compliance and performance. Its functionality can be enhanced via a plethora of extensions.</p>
|
||||
<p>Firefox makes your daily web browsing fun and easy with a number of features, including:</p>
|
||||
<ul>
|
||||
<li>Tabbed browsing</li>
|
||||
<li>Private browsing including do-not-track enabled by default</li>
|
||||
<li>Advanced phishing and malware protection</li>
|
||||
<li>Spell checking</li>
|
||||
<li>Incremental find within pages</li>
|
||||
<li>Live bookmarking and Smart Bookmarks</li>
|
||||
<li>Download manager</li>
|
||||
<li>Location-aware browsing</li>
|
||||
<li>Compliant with modern web standards</li>
|
||||
<li>Modern web development tools</li>
|
||||
<li>Available in a wide number of locales</li>
|
||||
<li>A thriving ecosystem of themes and extensions at https://addons.mozilla.org</li>
|
||||
</ul>
|
||||
</description>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<image height="800" width="1280">https://support.cdn.mozilla.net/media/uploads/gallery/images/2015-05-20-16-04-21-88bff4.png</image>
|
||||
<caption>New tab page with speed dials</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image height="439" width="620">https://support.cdn.mozilla.net/media/uploads/gallery/images/2015-12-22-15-15-05-3c0a80.png</image>
|
||||
<caption>Search suggestions from home page</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image height="394" width="700">https://addons.cdn.mozilla.net/user-media/previews/full/159/159648.png</image>
|
||||
<caption>Firefox with Adwaita theme</caption>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<update_contact>mdn@lists.mozilla.org</update_contact>
|
||||
</component>
|
50
firefox-branded-icons.patch
Normal file
50
firefox-branded-icons.patch
Normal file
@ -0,0 +1,50 @@
|
||||
# HG changeset patch
|
||||
# Parent e0751ad74e835e80041a61ea00c2a63bf6fbe2de
|
||||
# Parent 8a401a01454e9f5e8a357262d774e0ff348d9bc1
|
||||
|
||||
diff --git a/browser/branding/branding-common.mozbuild b/browser/branding/branding-common.mozbuild
|
||||
--- a/browser/branding/branding-common.mozbuild
|
||||
+++ b/browser/branding/branding-common.mozbuild
|
||||
@@ -22,12 +22,15 @@ def FirefoxBranding():
|
||||
FINAL_TARGET_FILES.VisualElements += [
|
||||
'VisualElements_150.png',
|
||||
'VisualElements_70.png',
|
||||
]
|
||||
elif 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
|
||||
FINAL_TARGET_FILES.chrome.icons.default += [
|
||||
'default128.png',
|
||||
'default16.png',
|
||||
+ 'default22.png',
|
||||
+ 'default24.png',
|
||||
+ 'default256.png',
|
||||
'default32.png',
|
||||
'default48.png',
|
||||
'default64.png',
|
||||
]
|
||||
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
|
||||
--- a/browser/installer/package-manifest.in
|
||||
+++ b/browser/installer/package-manifest.in
|
||||
@@ -404,20 +404,23 @@
|
||||
@RESPATH@/browser/chrome/pdfjs.manifest
|
||||
@RESPATH@/browser/chrome/pdfjs/*
|
||||
@RESPATH@/chrome/toolkit@JAREXT@
|
||||
@RESPATH@/chrome/toolkit.manifest
|
||||
@RESPATH@/chrome/recording.manifest
|
||||
@RESPATH@/chrome/recording/*
|
||||
#ifdef MOZ_GTK
|
||||
@RESPATH@/browser/chrome/icons/default/default16.png
|
||||
+@RESPATH@/browser/chrome/icons/default/default22.png
|
||||
+@RESPATH@/browser/chrome/icons/default/default24.png
|
||||
@RESPATH@/browser/chrome/icons/default/default32.png
|
||||
@RESPATH@/browser/chrome/icons/default/default48.png
|
||||
@RESPATH@/browser/chrome/icons/default/default64.png
|
||||
@RESPATH@/browser/chrome/icons/default/default128.png
|
||||
+@RESPATH@/browser/chrome/icons/default/default256.png
|
||||
#endif
|
||||
@RESPATH@/browser/features/*
|
||||
|
||||
; [Webide Files]
|
||||
@RESPATH@/browser/chrome/webide@JAREXT@
|
||||
@RESPATH@/browser/chrome/webide.manifest
|
||||
@RESPATH@/browser/@PREF_DIR@/webide.js
|
||||
|
7103
firefox-esr.changes
Normal file
7103
firefox-esr.changes
Normal file
File diff suppressed because it is too large
Load Diff
765
firefox-esr.spec
Normal file
765
firefox-esr.spec
Normal file
@ -0,0 +1,765 @@
|
||||
#
|
||||
# spec file for package firefox-esr
|
||||
#
|
||||
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
# 2006-2019 Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
# changed with every update
|
||||
# orig_version vs. mainver: To have beta-builds
|
||||
# FF70beta3 would be released as FF69.99
|
||||
# orig_version would be the upstream tar ball
|
||||
# orig_version 70.0
|
||||
# orig_suffix b3
|
||||
# major 69
|
||||
# mainver %major.99
|
||||
%define major 68
|
||||
%define mainver %major.1.0
|
||||
%define orig_version 68.1.0
|
||||
%define orig_suffix esr
|
||||
%define update_channel esr68
|
||||
%define branding 1
|
||||
%define releasedate 20190826132627
|
||||
|
||||
# always build with GCC as SUSE Security Team requires that
|
||||
%define clang_build 0
|
||||
|
||||
# PIE, full relro
|
||||
%define build_hardened 1
|
||||
|
||||
%bcond_with only_print_mozconfig
|
||||
|
||||
# Firefox only supports i686
|
||||
%ifarch %ix86
|
||||
ExclusiveArch: i586 i686
|
||||
BuildArch: i686
|
||||
%{expand:%%global optflags %(echo "%optflags"|sed -e s/i586/i686/) -march=i686 -mtune=generic}
|
||||
%endif
|
||||
|
||||
# general build definitions
|
||||
%define progname firefox-esr
|
||||
%define pkgname firefox-esr
|
||||
%define srcname firefox
|
||||
%define appname Firefox ESR
|
||||
%define progdir %{_prefix}/%_lib/%{progname}
|
||||
%define gnome_dir %{_prefix}
|
||||
%define desktop_file_name %{progname}
|
||||
%define firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
|
||||
%define __provides_exclude ^lib.*\\.so.*$
|
||||
%define __requires_exclude ^(libmoz.*|liblgpllibs.*|libxul.*)$
|
||||
%define localize 1
|
||||
%ifarch %ix86 x86_64
|
||||
%define crashreporter 1
|
||||
%else
|
||||
%define crashreporter 0
|
||||
%endif
|
||||
|
||||
Name: %{pkgname}
|
||||
BuildRequires: Mesa-devel
|
||||
BuildRequires: alsa-devel
|
||||
BuildRequires: autoconf213
|
||||
BuildRequires: dbus-1-glib-devel
|
||||
BuildRequires: dejavu-fonts
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: memory-constraints
|
||||
%if 0%{?suse_version} <= 1320
|
||||
BuildRequires: gcc7-c++
|
||||
%else
|
||||
BuildRequires: gcc-c++
|
||||
%endif
|
||||
BuildRequires: cargo >= 1.34
|
||||
BuildRequires: libXcomposite-devel
|
||||
BuildRequires: libcurl-devel
|
||||
BuildRequires: libidl-devel
|
||||
BuildRequires: libiw-devel
|
||||
BuildRequires: libnotify-devel
|
||||
BuildRequires: libproxy-devel
|
||||
BuildRequires: makeinfo
|
||||
BuildRequires: mozilla-nspr-devel >= 4.21
|
||||
BuildRequires: mozilla-nss-devel >= 3.44.1
|
||||
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000 && !0%{?is_opensuse}
|
||||
BuildRequires: firefox-nasm >= 2.13
|
||||
BuildRequires: nodejs10
|
||||
#BuildRequires: python2-xml
|
||||
BuildRequires: firefox-python3 >= 3.5
|
||||
%else
|
||||
BuildRequires: nasm >= 2.13
|
||||
BuildRequires: nodejs8 >= 8.11
|
||||
BuildRequires: python2-xml
|
||||
BuildRequires: python3 >= 3.5
|
||||
%endif
|
||||
BuildRequires: python-devel
|
||||
BuildRequires: rust >= 1.34
|
||||
BuildRequires: rust-cbindgen >= 0.8.7
|
||||
BuildRequires: startup-notification-devel
|
||||
BuildRequires: unzip
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: xorg-x11-libXt-devel
|
||||
%if 0%{?do_profiling}
|
||||
BuildRequires: xvfb-run
|
||||
%endif
|
||||
BuildRequires: yasm
|
||||
BuildRequires: zip
|
||||
%if 0%{?suse_version} < 1550
|
||||
BuildRequires: pkgconfig(gconf-2.0) >= 1.2.1
|
||||
%endif
|
||||
BuildRequires: pkgconfig(gdk-x11-2.0)
|
||||
BuildRequires: pkgconfig(glib-2.0) >= 2.22
|
||||
BuildRequires: pkgconfig(gobject-2.0)
|
||||
BuildRequires: pkgconfig(gtk+-2.0) >= 2.18.0
|
||||
BuildRequires: pkgconfig(gtk+-3.0) >= 3.4.0
|
||||
BuildRequires: pkgconfig(gtk+-unix-print-2.0)
|
||||
BuildRequires: pkgconfig(gtk+-unix-print-3.0)
|
||||
BuildRequires: pkgconfig(libffi)
|
||||
BuildRequires: pkgconfig(libpulse)
|
||||
%if 0%{?suse_version} > 1320
|
||||
BuildRequires: llvm-clang-devel >= 3.9.0
|
||||
%else
|
||||
# this covers the workaround to compile on Leap 42 in OBS
|
||||
BuildRequires: clang4-devel
|
||||
%endif
|
||||
# libavcodec is required for H.264 support but the
|
||||
# openSUSE version is currently not able to play H.264
|
||||
# therefore the Packman version is required
|
||||
# minimum version of libavcodec is 53
|
||||
Recommends: libavcodec-full >= 0.10.16
|
||||
Version: %{mainver}
|
||||
Release: 0
|
||||
%if "%{name}" == "MozillaFirefox"
|
||||
Provides: firefox = %{mainver}
|
||||
Provides: firefox = %{version}-%{release}
|
||||
%endif
|
||||
Provides: web_browser
|
||||
Provides: appdata()
|
||||
Provides: appdata(firefox.appdata.xml)
|
||||
# this is needed to match this package with the kde4 helper package without the main package
|
||||
# having a hard requirement on the kde4 package
|
||||
%define kde_helper_version 6
|
||||
Provides: mozilla-kde4-version = %{kde_helper_version}
|
||||
Summary: Mozilla %{appname} Web Browser
|
||||
License: MPL-2.0
|
||||
Group: Productivity/Networking/Web/Browsers
|
||||
Url: http://www.mozilla.org/
|
||||
%if !%{with only_print_mozconfig}
|
||||
Source: http://ftp.mozilla.org/pub/%{srcname}/releases/%{version}%{orig_suffix}/source/%{srcname}-%{orig_version}%{orig_suffix}.source.tar.xz
|
||||
Source1: MozillaFirefox.desktop
|
||||
Source2: MozillaFirefox-rpmlintrc
|
||||
Source3: mozilla.sh.in
|
||||
Source4: tar_stamps
|
||||
Source5: source-stamp.txt
|
||||
Source7: l10n-%{orig_version}%{orig_suffix}.tar.xz
|
||||
Source8: firefox-mimeinfo.xml
|
||||
Source9: firefox.js
|
||||
Source10: compare-locales.tar.xz
|
||||
Source11: firefox.1
|
||||
Source12: mozilla-get-app-id
|
||||
Source13: spellcheck.js
|
||||
Source14: https://github.com/openSUSE/firefox-scripts/raw/master/create-tar.sh
|
||||
Source15: firefox-appdata.xml
|
||||
Source16: %{name}.changes
|
||||
# Set up API keys, see http://www.chromium.org/developers/how-tos/api-keys
|
||||
# Note: these are for the openSUSE Firefox builds ONLY. For your own distribution,
|
||||
# please get your own set of keys.
|
||||
Source18: mozilla-api-key
|
||||
Source19: google-api-key
|
||||
Source20: https://ftp.mozilla.org/pub/%{srcname}/releases/%{version}%{orig_suffix}/source/%{srcname}-%{orig_version}%{orig_suffix}.source.tar.xz.asc
|
||||
Source21: https://ftp.mozilla.org/pub/%{srcname}/releases/%{version}%{orig_suffix}/KEY#/mozilla.keyring
|
||||
# Gecko/Toolkit
|
||||
Patch1: mozilla-nongnome-proxies.patch
|
||||
Patch2: mozilla-kde.patch
|
||||
Patch3: mozilla-ntlm-full-path.patch
|
||||
Patch4: mozilla-openaes-decl.patch
|
||||
Patch5: mozilla-aarch64-startup-crash.patch
|
||||
Patch6: mozilla-bmo1463035.patch
|
||||
Patch7: mozilla-cubeb-noreturn.patch
|
||||
Patch8: mozilla-fix-aarch64-libopus.patch
|
||||
Patch9: mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch
|
||||
Patch10: mozilla-s390-context.patch
|
||||
Patch11: mozilla-s390-bigendian.patch
|
||||
Patch12: mozilla-reduce-rust-debuginfo.patch
|
||||
Patch13: mozilla-ppc-altivec_static_inline.patch
|
||||
Patch14: mozilla-bmo1005535.patch
|
||||
Patch15: mozilla-bmo1568145.patch
|
||||
Patch16: mozilla-bmo1573381.patch
|
||||
Patch17: mozilla-bmo1504834-part1.patch
|
||||
Patch18: mozilla-bmo1504834-part2.patch
|
||||
Patch19: mozilla-bmo1504834-part3.patch
|
||||
Patch20: mozilla-bmo1511604.patch
|
||||
Patch21: mozilla-bmo1554971.patch
|
||||
Patch22: mozilla-nestegg-big-endian.patch
|
||||
Patch23: mozilla-bmo1512162.patch
|
||||
Patch24: mozilla-fix-top-level-asm.patch
|
||||
Patch25: mozilla-bmo1585099.patch
|
||||
# Firefox/browser
|
||||
Patch101: firefox-kde.patch
|
||||
Patch102: firefox-branded-icons.patch
|
||||
%endif # only_print_mozconfig
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Requires(post): coreutils shared-mime-info desktop-file-utils
|
||||
Requires(postun): shared-mime-info desktop-file-utils
|
||||
%if %branding
|
||||
Requires: %{name}-branding > 44.0
|
||||
%endif
|
||||
Requires: mozilla-nspr >= %(rpm -q --queryformat '%%{VERSION}' mozilla-nspr)
|
||||
Requires: mozilla-nss >= %(rpm -q --queryformat '%%{VERSION}' mozilla-nss)
|
||||
Recommends: libcanberra0
|
||||
Recommends: libpulse0
|
||||
# addon leads to startup crash (bnc#908892)
|
||||
Obsoletes: tracker-miner-firefox < 0.15
|
||||
# libproxy's mozjs pacrunner crashes FF (bnc#759123)
|
||||
%if 0%{?suse_version} < 1220
|
||||
Obsoletes: libproxy1-pacrunner-mozjs <= 0.4.7
|
||||
%endif
|
||||
##BuildArch: i686 x86_64 aarch64 ppc64le
|
||||
|
||||
%description
|
||||
Mozilla Firefox is a standalone web browser, designed for standards
|
||||
compliance and performance. Its functionality can be enhanced via a
|
||||
plethora of extensions.
|
||||
|
||||
%package devel
|
||||
Summary: Devel package for %{appname}
|
||||
Group: Development/Tools/Other
|
||||
Provides: firefox-devel = %{version}-%{release}
|
||||
Requires: %{name} = %{version}
|
||||
Requires: perl(Archive::Zip)
|
||||
Requires: perl(XML::Simple)
|
||||
|
||||
%description devel
|
||||
Development files for %{appname} to make packaging of addons easier.
|
||||
|
||||
%if %localize
|
||||
%package translations-common
|
||||
Summary: Common translations for %{appname}
|
||||
Group: System/Localization
|
||||
Provides: locale(%{name}:ar;ca;cs;da;de;el;en_GB;es_AR;es_CL;es_ES;fi;fr;hu;it;ja;ko;nb_NO;nl;pl;pt_BR;pt_PT;ru;sv_SE;zh_CN;zh_TW)
|
||||
Requires: %{name} = %{version}
|
||||
Obsoletes: %{name}-translations < %{version}-%{release}
|
||||
|
||||
%description translations-common
|
||||
This package contains several common languages for the user interface
|
||||
of %{appname}.
|
||||
|
||||
%package translations-other
|
||||
Summary: Extra translations for %{appname}
|
||||
Group: System/Localization
|
||||
Provides: locale(%{name}:ach;af;an;as;ast;az;bg;bn_BD;bn_IN;br;bs;cak;cy;dsb;en_ZA;eo;es_MX;et;eu;fa;ff;fy_NL;ga_IE;gd;gl;gn;gu_IN;he;hi_IN;hr;hsb;hy_AM;id;is;ka;kab;kk;km;kn;lij;lt;lv;mai;mk;ml;mr;ms;ne-NP;nn_NO;oc;or;pa_IN;rm;ro;si;sk;sl;son;sq;sr;ta;te;th;tr;uk;uz;vi;xh)
|
||||
Requires: %{name} = %{version}
|
||||
Obsoletes: %{name}-translations < %{version}-%{release}
|
||||
|
||||
%description translations-other
|
||||
This package contains rarely used languages for the user interface
|
||||
of %{appname}.
|
||||
%endif
|
||||
|
||||
%if %branding
|
||||
%package branding-upstream
|
||||
Summary: Upstream branding for %{appname}
|
||||
Group: Productivity/Networking/Web/Browsers
|
||||
Provides: %{name}-branding = %{version}
|
||||
Conflicts: otherproviders(%{name}-branding)
|
||||
Supplements: packageand(%{name}:branding-upstream)
|
||||
#BRAND: Provide three files -
|
||||
#BRAND: /usr/lib/firefox/browserconfig.properties that contains the
|
||||
#BRAND: default homepage and some other default configuration options
|
||||
#BRAND: /usr/lib/firefox/defaults/profile/bookmarks.html that contains
|
||||
#BRAND: the list of default bookmarks
|
||||
#BRAND: It's also possible to create a file
|
||||
#BRAND: /usr/lib/firefox/defaults/preferences/firefox-$vendor.js to set
|
||||
#BRAND: custom preference overrides.
|
||||
#BRAND: It's also possible to drop files in /usr/lib/firefox/distribution/searchplugins/common/
|
||||
|
||||
%description branding-upstream
|
||||
This package provides upstream look and feel for %{appname}.
|
||||
%endif
|
||||
|
||||
%if %crashreporter
|
||||
%package buildsymbols
|
||||
Summary: Breakpad buildsymbols for %{appname}
|
||||
Group: Development/Debug
|
||||
|
||||
%description buildsymbols
|
||||
This subpackage contains the Breakpad created and compatible debugging
|
||||
symbols meant for upload to Mozilla's crash collector database.
|
||||
%endif
|
||||
|
||||
%if !%{with only_print_mozconfig}
|
||||
%prep
|
||||
%if %localize
|
||||
|
||||
# If generated incorrectly, the tarball will be ~270B in
|
||||
# size, so 1MB seems like good enough limit to check.
|
||||
MINSIZE=1048576
|
||||
if (( $(stat -Lc%s "%{SOURCE7}") < MINSIZE)); then
|
||||
echo "Translations tarball %{SOURCE7} not generated properly."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
%setup -q -n %{srcname}-%{orig_version} -b 7 -b 10
|
||||
%else
|
||||
%setup -q -n %{srcname}-%{orig_version}
|
||||
%endif
|
||||
cd $RPM_BUILD_DIR/%{srcname}-%{orig_version}
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
%patch5 -p1
|
||||
%patch6 -p1
|
||||
%patch7 -p1
|
||||
%patch8 -p1
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
%ifarch s390x ppc64
|
||||
%patch11 -p1
|
||||
%endif
|
||||
%patch12 -p1
|
||||
%patch13 -p1
|
||||
%patch14 -p1
|
||||
%patch15 -p1
|
||||
%patch16 -p1
|
||||
%patch17 -p1
|
||||
%patch18 -p1
|
||||
%patch19 -p1
|
||||
%patch20 -p1
|
||||
%patch21 -p1
|
||||
%patch22 -p1
|
||||
%patch23 -p1
|
||||
%patch24 -p1
|
||||
%patch25 -p1
|
||||
# Firefox
|
||||
%patch101 -p1
|
||||
%patch102 -p1
|
||||
%endif # only_print_mozconfig
|
||||
|
||||
%build
|
||||
%if !%{with only_print_mozconfig}
|
||||
# no need to add build time to binaries
|
||||
modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")"
|
||||
DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\""
|
||||
TIME="\"$(date -d "${modified}" "+%%R")\""
|
||||
find . -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} +
|
||||
#
|
||||
kdehelperversion=$(cat toolkit/xre/nsKDEUtils.cpp | grep '#define KMOZILLAHELPER_VERSION' | cut -d ' ' -f 3)
|
||||
if test "$kdehelperversion" != %{kde_helper_version}; then
|
||||
echo fix kde helper version in the .spec file
|
||||
exit 1
|
||||
fi
|
||||
source %{SOURCE5}
|
||||
%endif # only_print_mozconfig
|
||||
|
||||
export MOZ_SOURCE_CHANGESET=$REV
|
||||
export SOURCE_REPO=$REPO
|
||||
export source_repo=$REPO
|
||||
export MOZ_SOURCE_REPO=$REPO
|
||||
export MOZ_BUILD_DATE=%{releasedate}
|
||||
export MOZILLA_OFFICIAL=1
|
||||
export BUILD_OFFICIAL=1
|
||||
export MOZ_TELEMETRY_REPORTING=1
|
||||
%if 0%{?suse_version} <= 1320
|
||||
export CC=gcc-7
|
||||
%else
|
||||
%if 0%{?clang_build} == 0
|
||||
export CC=gcc
|
||||
export CXX=g++
|
||||
%endif
|
||||
%endif
|
||||
%ifarch %arm %ix86
|
||||
# Limit RAM usage during link
|
||||
export LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
|
||||
%endif
|
||||
%if 0%{?build_hardened}
|
||||
export LDFLAGS="${LDFLAGS} -fPIC -Wl,-z,relro,-z,now"
|
||||
%endif
|
||||
%ifarch ppc64 ppc64le
|
||||
%if 0%{?clang_build} == 0
|
||||
export CFLAGS="$CFLAGS -mminimal-toc"
|
||||
%endif
|
||||
%endif
|
||||
export CXXFLAGS="$CFLAGS"
|
||||
export MOZCONFIG=$RPM_BUILD_DIR/mozconfig
|
||||
%if %{with only_print_mozconfig}
|
||||
echo "export CC=$CC"
|
||||
echo "export CXX=$CXX"
|
||||
echo "export CFLAGS=\"$CFLAGS\""
|
||||
echo "export LDFLAGS=\"$LDFLAGS\""
|
||||
echo "export RUSTFLAGS=\"$RUSTFLAGS\""
|
||||
echo ""
|
||||
cat << EOF
|
||||
%else
|
||||
%limit_build -m 2000
|
||||
cat << EOF > $MOZCONFIG
|
||||
%endif
|
||||
mk_add_options MOZILLA_OFFICIAL=1
|
||||
mk_add_options BUILD_OFFICIAL=1
|
||||
mk_add_options MOZ_MAKE_FLAGS=%{?jobs:-j%jobs}
|
||||
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj
|
||||
. \$topsrcdir/browser/config/mozconfig
|
||||
ac_add_options --prefix=%{_prefix}
|
||||
ac_add_options --libdir=%{_libdir}
|
||||
ac_add_options --includedir=%{_includedir}
|
||||
ac_add_options --enable-release
|
||||
ac_add_options --enable-default-toolkit=cairo-gtk3
|
||||
%if 0%{?suse_version} >= 1550
|
||||
ac_add_options --disable-gconf
|
||||
%endif
|
||||
# bmo#1441155 - Disable the generation of Rust debug symbols on Linux32
|
||||
%ifarch %ix86 %arm
|
||||
ac_add_options --disable-debug-symbols
|
||||
%else
|
||||
ac_add_options --enable-debug-symbols
|
||||
%endif
|
||||
%if 0%{?suse_version} > 1549
|
||||
%ifnarch aarch64 ppc64 ppc64le s390x
|
||||
ac_add_options --disable-elf-hack
|
||||
%endif
|
||||
%endif
|
||||
ac_add_options --with-system-nspr
|
||||
ac_add_options --with-system-nss
|
||||
%if %{localize}
|
||||
ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n
|
||||
%endif
|
||||
#ac_add_options --with-system-jpeg # libjpeg-turbo is used internally
|
||||
#ac_add_options --with-system-png # doesn't work because of missing APNG support
|
||||
ac_add_options --with-system-zlib
|
||||
ac_add_options --disable-updater
|
||||
ac_add_options --disable-tests
|
||||
ac_add_options --enable-alsa
|
||||
ac_add_options --disable-debug
|
||||
ac_add_options --enable-startup-notification
|
||||
#ac_add_options --enable-chrome-format=jar
|
||||
ac_add_options --enable-update-channel=%{update_channel}
|
||||
ac_add_options --with-mozilla-api-keyfile=%{SOURCE18}
|
||||
ac_add_options --with-google-location-service-api-keyfile=%{SOURCE19}
|
||||
ac_add_options --with-google-safebrowsing-api-keyfile=%{SOURCE19}
|
||||
ac_add_options --with-unsigned-addon-scopes=app
|
||||
%if %branding
|
||||
ac_add_options --enable-official-branding
|
||||
%endif
|
||||
ac_add_options --enable-libproxy
|
||||
%if ! %crashreporter
|
||||
ac_add_options --disable-crashreporter
|
||||
%endif
|
||||
%ifarch %arm
|
||||
ac_add_options --with-fpu=vfpv3-d16
|
||||
ac_add_options --with-float-abi=hard
|
||||
%ifarch armv6l armv6hl
|
||||
ac_add_options --with-arch=armv6
|
||||
%else
|
||||
ac_add_options --with-arch=armv7-a
|
||||
%endif
|
||||
%endif
|
||||
%ifarch aarch64 %arm s390x
|
||||
ac_add_options --disable-webrtc
|
||||
%endif
|
||||
# mitigation/workaround for bmo#1512162
|
||||
%ifarch s390x
|
||||
ac_add_options --enable-optimize="-O1"
|
||||
%endif
|
||||
%ifarch x86_64
|
||||
# LTO needs newer toolchain stack only (at least GCC 8.2.1 (r268506)
|
||||
%if 0%{?suse_version} > 1500
|
||||
ac_add_options --enable-lto
|
||||
%if 0%{?do_profiling}
|
||||
ac_add_options MOZ_PGO=1
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
EOF
|
||||
%if !%{with only_print_mozconfig}
|
||||
%ifarch ppc64 s390x s390
|
||||
# NOTE: Currently, system-icu is too old, so we can't build with that,
|
||||
# but have to generate the .dat-file freshly. This seems to be a
|
||||
# less fragile approach anyways.
|
||||
# ac_add_options --with-system-icu
|
||||
echo "Generate big endian version of config/external/icu/data/icud58l.dat"
|
||||
./mach python intl/icu_sources_data.py .
|
||||
ls -l config/external/icu/data
|
||||
rm -f config/external/icu/data/icudt*l.dat
|
||||
%endif
|
||||
%if 0%{?sle_version} >= 120000 && 0%{?sle_version} < 150000 && !0%{?is_opensuse}
|
||||
export PATH=/usr/%_lib/firefox/bin:$PATH
|
||||
export LD_LIBRARY_PATH=/usr/%_lib/firefox/%_lib:$LD_LIBRARY_PATH
|
||||
export PKG_CONFIG_PATH=/usr/%_lib/firefox/%_lib/pkgconfig/
|
||||
%endif
|
||||
%if 0%{?do_profiling}
|
||||
xvfb-run --server-args="-screen 0 1920x1080x24" \
|
||||
%endif
|
||||
./mach build
|
||||
%endif # only_print_mozconfig
|
||||
|
||||
%install
|
||||
cd $RPM_BUILD_DIR/obj
|
||||
source %{SOURCE5}
|
||||
export MOZ_SOURCE_STAMP=$REV
|
||||
export MOZ_SOURCE_REPO=$REPO
|
||||
# need to remove default en-US firefox-l10n.js before it gets
|
||||
# populated into browser's omni.ja; it only contains general.useragent.locale
|
||||
# which should be loaded from each language pack (set in firefox.js)
|
||||
rm dist/bin/browser/defaults/preferences/firefox-l10n.js
|
||||
make -C browser/installer STRIP=/bin/true MOZ_PKG_FATAL_WARNINGS=0
|
||||
#DEBUG (break the build if searchplugins are missing / temporary)
|
||||
grep amazondotcom dist/firefox/browser/omni.ja
|
||||
# copy tree into RPM_BUILD_ROOT
|
||||
mkdir -p %{buildroot}%{progdir}
|
||||
cp -rf $RPM_BUILD_DIR/obj/dist/%{srcname}/* %{buildroot}%{progdir}
|
||||
mkdir -p %{buildroot}%{progdir}/distribution/extensions
|
||||
mkdir -p %{buildroot}%{progdir}/browser/defaults/preferences/
|
||||
# renaming executables (for regular vs. ESR)
|
||||
mv %{buildroot}%{progdir}/firefox %{buildroot}%{progdir}/%{progname}
|
||||
mv %{buildroot}%{progdir}/firefox-bin %{buildroot}%{progdir}/%{progname}-bin
|
||||
# install gre prefs
|
||||
install -m 644 %{SOURCE13} %{buildroot}%{progdir}/defaults/pref/
|
||||
# install browser prefs
|
||||
install -m 644 %{SOURCE9} %{buildroot}%{progdir}/browser/defaults/preferences/firefox.js
|
||||
# build additional locales
|
||||
%if %localize
|
||||
mkdir -p %{buildroot}%{progdir}/browser/extensions
|
||||
truncate -s 0 %{_tmppath}/translations.{common,other}
|
||||
sed -r '/^(ja-JP-mac|en-US|)$/d;s/ .*$//' $RPM_BUILD_DIR/%{srcname}-%{orig_version}/browser/locales/shipped-locales \
|
||||
| xargs -n 1 -I {} /bin/sh -c '
|
||||
locale=$1
|
||||
pushd $RPM_BUILD_DIR/compare-locales
|
||||
PYTHONPATH=lib \
|
||||
scripts/compare-locales -m ../l10n-merged/$locale \
|
||||
../%{srcname}-%{orig_version}/browser/locales/l10n.ini ../l10n $locale
|
||||
popd
|
||||
LOCALE_MERGEDIR=$RPM_BUILD_DIR/l10n-merged/$locale \
|
||||
make -C browser/locales langpack-$locale
|
||||
cp -rL dist/xpi-stage/locale-$locale \
|
||||
%{buildroot}%{progdir}/browser/extensions/langpack-$locale@firefox.mozilla.org
|
||||
# remove prefs, profile defaults, and hyphenation from langpack
|
||||
rm -rf %{buildroot}%{progdir}/browser/extensions/langpack-$locale@firefox.mozilla.org/defaults
|
||||
rm -rf %{buildroot}%{progdir}/browser/extensions/langpack-$locale@firefox.mozilla.org/hyphenation
|
||||
# check against the fixed common list and sort into the right filelist
|
||||
_matched=0
|
||||
for _match in ar ca cs da de el en-GB es-AR es-CL es-ES fi fr hu it ja ko nb-NO nl pl pt-BR pt-PT ru sv-SE zh-CN zh-TW; do
|
||||
[ "$_match" = "$locale" ] && _matched=1
|
||||
done
|
||||
[ $_matched -eq 1 ] && _l10ntarget=common || _l10ntarget=other
|
||||
echo %{progdir}/browser/extensions/langpack-$locale@firefox.mozilla.org \
|
||||
>> %{_tmppath}/translations.$_l10ntarget
|
||||
' -- {}
|
||||
%endif
|
||||
# remove some executable permissions
|
||||
find %{buildroot}%{progdir} \
|
||||
-name "*.js" -o \
|
||||
-name "*.jsm" -o \
|
||||
-name "*.rdf" -o \
|
||||
-name "*.properties" -o \
|
||||
-name "*.dtd" -o \
|
||||
-name "*.txt" -o \
|
||||
-name "*.xml" -o \
|
||||
-name "*.css" \
|
||||
-exec chmod a-x {} +
|
||||
# remove mkdir.done files from installed base
|
||||
find %{buildroot}%{progdir} -type f -name ".mkdir.done" -delete
|
||||
# overwrite the mozilla start-script and link it to /usr/bin
|
||||
mkdir --parents %{buildroot}/usr/bin
|
||||
sed "s:%%PREFIX:%{_prefix}:g
|
||||
s:%%PROGDIR:%{progdir}:g
|
||||
s:%%APPNAME:%{progname}:g
|
||||
s:%%PROFILE:.mozilla/firefox:g" \
|
||||
%{SOURCE3} > %{buildroot}%{progdir}/%{progname}.sh
|
||||
chmod 755 %{buildroot}%{progdir}/%{progname}.sh
|
||||
ln -sf ../..%{progdir}/%{progname}.sh %{buildroot}%{_bindir}/%{progname}
|
||||
# desktop file
|
||||
mkdir -p %{buildroot}%{_datadir}/applications
|
||||
sed "s:%%NAME:%{appname}:g
|
||||
s:%%EXEC:%{progname}:g
|
||||
s:%%ICON:%{progname}:g" \
|
||||
%{SOURCE1} > %{buildroot}%{_datadir}/applications/%{desktop_file_name}.desktop
|
||||
%suse_update_desktop_file %{desktop_file_name} Network WebBrowser GTK
|
||||
# additional mime-types
|
||||
mkdir -p %{buildroot}%{_datadir}/mime/packages
|
||||
cp %{SOURCE8} %{buildroot}%{_datadir}/mime/packages/%{progname}.xml
|
||||
# appdata
|
||||
mkdir -p %{buildroot}%{_datadir}/appdata
|
||||
sed "s:firefox.desktop:%{desktop_file_name}:g" \
|
||||
%{SOURCE15} > %{buildroot}%{_datadir}/appdata/%{desktop_file_name}.appdata.xml
|
||||
# install man-page
|
||||
mkdir -p %{buildroot}%{_mandir}/man1/
|
||||
cp %{SOURCE11} %{buildroot}%{_mandir}/man1/%{progname}.1
|
||||
##########
|
||||
# ADDONS
|
||||
#
|
||||
mkdir -p %{buildroot}%{_datadir}/mozilla/extensions/%{firefox_appid}
|
||||
mkdir -p %{buildroot}%{_libdir}/mozilla/extensions/%{firefox_appid}
|
||||
mkdir -p %{buildroot}/usr/share/pixmaps/
|
||||
ln -sf %{progdir}/browser/chrome/icons/default/default128.png %{buildroot}/usr/share/pixmaps/%{progname}.png
|
||||
ln -sf %{progdir}/browser/chrome/icons/default/default128.png %{buildroot}/usr/share/pixmaps/%{progname}-gnome.png
|
||||
%if %branding
|
||||
for size in 16 22 24 32 48 64 128 256; do
|
||||
%else
|
||||
for size in 16 32 48; do
|
||||
%endif
|
||||
mkdir -p %{buildroot}%{gnome_dir}/share/icons/hicolor/${size}x${size}/apps/
|
||||
cp %{buildroot}%{progdir}/browser/chrome/icons/default/default$size.png \
|
||||
%{buildroot}%{gnome_dir}/share/icons/hicolor/${size}x${size}/apps/%{progname}.png
|
||||
done
|
||||
# excludes
|
||||
rm -f %{buildroot}%{progdir}/updater.ini
|
||||
rm -f %{buildroot}%{progdir}/removed-files
|
||||
rm -f %{buildroot}%{progdir}/README.txt
|
||||
rm -f %{buildroot}%{progdir}/old-homepage-default.properties
|
||||
rm -f %{buildroot}%{progdir}/run-mozilla.sh
|
||||
rm -f %{buildroot}%{progdir}/LICENSE
|
||||
rm -f %{buildroot}%{progdir}/precomplete
|
||||
rm -f %{buildroot}%{progdir}/update-settings.ini
|
||||
# devel
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
install -m 755 %SOURCE12 %{buildroot}%{_bindir}
|
||||
# inspired by mandriva
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/rpm
|
||||
cat <<'FIN' >%{buildroot}%{_sysconfdir}/rpm/macros.%{progname}
|
||||
# Macros from %{name} package
|
||||
%%firefox_major %{major}
|
||||
%%firefox_version %{version}
|
||||
%%firefox_mainver %{mainver}
|
||||
%%firefox_mozillapath %%{_libdir}/%{progname}
|
||||
%%firefox_pluginsdir %%{_libdir}/browser-plugins
|
||||
%%firefox_appid \{ec8030f7-c20a-464f-9b0e-13a3a9e97384\}
|
||||
%%firefox_extdir %%(if [ "%%_target_cpu" = "noarch" ]; then echo %%{_datadir}/mozilla/extensions/%%{firefox_appid}; else echo %%{_libdir}/mozilla/extensions/%%{firefox_appid}; fi)
|
||||
|
||||
%%firefox_ext_install() \
|
||||
extdir="%%{buildroot}%%{firefox_extdir}/`mozilla-get-app-id '%%1'`" \
|
||||
mkdir -p "$extdir" \
|
||||
%%{__unzip} -q -d "$extdir" "%%1" \
|
||||
%%{nil}
|
||||
FIN
|
||||
# just dumping an xpi file there doesn't work...
|
||||
#%%firefox_ext_install() \
|
||||
# extdir="%%{buildroot}%%{firefox_extdir}" \
|
||||
# mkdir -p "$extdir" \
|
||||
# cp "%%1" "$extdir" \
|
||||
# %%{nil}
|
||||
# fdupes
|
||||
%fdupes %{buildroot}%{progdir}
|
||||
%fdupes %{buildroot}%{_datadir}
|
||||
# create breakpad debugsymbols
|
||||
%if %crashreporter
|
||||
SYMBOLS_NAME="firefox-%{version}-` echo '%{release}' | sed 's@\.[^\.]\+$@@' `.%{_arch}-%{suse_version}-symbols"
|
||||
make buildsymbols \
|
||||
SYMBOL_INDEX_NAME="$SYMBOLS_NAME.txt" \
|
||||
SYMBOL_FULL_ARCHIVE_BASENAME="$SYMBOLS_NAME-full" \
|
||||
SYMBOL_ARCHIVE_BASENAME="$SYMBOLS_NAME"
|
||||
if [ -e dist/*symbols.zip ]; then
|
||||
mkdir -p %{buildroot}%{_datadir}/mozilla/
|
||||
cp dist/*symbols.zip %{buildroot}%{_datadir}/mozilla/
|
||||
fi
|
||||
%endif
|
||||
|
||||
%clean
|
||||
rm -rf %{buildroot}
|
||||
%if %localize
|
||||
rm -rf %{_tmppath}/translations.*
|
||||
%endif
|
||||
|
||||
%post
|
||||
# update mime and desktop database
|
||||
%mime_database_post
|
||||
%desktop_database_post
|
||||
%icon_theme_cache_post
|
||||
exit 0
|
||||
|
||||
%postun
|
||||
%icon_theme_cache_postun
|
||||
%desktop_database_postun
|
||||
%mime_database_postun
|
||||
exit 0
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%dir %{progdir}
|
||||
%dir %{progdir}/browser/
|
||||
%dir %{progdir}/browser/chrome/
|
||||
%{progdir}/browser/defaults
|
||||
%{progdir}/browser/features/
|
||||
%{progdir}/browser/chrome/icons
|
||||
%{progdir}/browser/blocklist.xml
|
||||
%{progdir}/browser/chrome.manifest
|
||||
%{progdir}/browser/omni.ja
|
||||
%dir %{progdir}/distribution/
|
||||
%{progdir}/distribution/extensions/
|
||||
%{progdir}/defaults/
|
||||
%dir %{progdir}/gtk2
|
||||
%{progdir}/gtk2/libmozgtk.so
|
||||
%{progdir}/gmp-clearkey/
|
||||
%attr(755,root,root) %{progdir}/%{progname}.sh
|
||||
%{progdir}/%{progname}
|
||||
%{progdir}/%{progname}-bin
|
||||
%{progdir}/application.ini
|
||||
%{progdir}/chrome.manifest
|
||||
%{progdir}/dependentlibs.list
|
||||
%{progdir}/*.so
|
||||
%{progdir}/omni.ja
|
||||
%{progdir}/fonts/
|
||||
%{progdir}/pingsender
|
||||
%{progdir}/platform.ini
|
||||
%{progdir}/plugin-container
|
||||
%if %crashreporter
|
||||
%{progdir}/crashreporter
|
||||
%{progdir}/crashreporter.ini
|
||||
%{progdir}/Throbber-small.gif
|
||||
%{progdir}/minidump-analyzer
|
||||
%{progdir}/browser/crashreporter-override.ini
|
||||
%endif
|
||||
%{_datadir}/applications/%{desktop_file_name}.desktop
|
||||
%{_datadir}/mime/packages/%{progname}.xml
|
||||
%{_datadir}/pixmaps/firefox*
|
||||
%dir %{_datadir}/mozilla
|
||||
%dir %{_datadir}/mozilla/extensions
|
||||
%dir %{_datadir}/mozilla/extensions/%{firefox_appid}
|
||||
%dir %{_libdir}/mozilla
|
||||
%dir %{_libdir}/mozilla/extensions
|
||||
%dir %{_libdir}/mozilla/extensions/%{firefox_appid}
|
||||
%{gnome_dir}/share/icons/hicolor/
|
||||
%{_bindir}/%{progname}
|
||||
%doc %{_mandir}/man1/%{progname}.1.gz
|
||||
%{_datadir}/appdata/
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/mozilla-get-app-id
|
||||
%config %{_sysconfdir}/rpm/macros.%{progname}
|
||||
|
||||
%if %localize
|
||||
|
||||
%files translations-common -f %{_tmppath}/translations.common
|
||||
%defattr(-,root,root)
|
||||
%dir %{progdir}
|
||||
%dir %{progdir}/browser/extensions/
|
||||
|
||||
%files translations-other -f %{_tmppath}/translations.other
|
||||
%defattr(-,root,root)
|
||||
%dir %{progdir}
|
||||
%dir %{progdir}/browser/extensions/
|
||||
%endif
|
||||
|
||||
# this package does not need to provide files but is needed to fulfill
|
||||
# requirements if no other branding package is to be installed
|
||||
%if %branding
|
||||
%files branding-upstream
|
||||
%defattr(-,root,root)
|
||||
%dir %{progdir}
|
||||
%endif
|
||||
|
||||
%if %crashreporter
|
||||
%files buildsymbols
|
||||
%defattr(-,root,root)
|
||||
%{_datadir}/mozilla/*.zip
|
||||
%endif
|
||||
|
||||
%changelog
|
1731
firefox-kde.patch
Normal file
1731
firefox-kde.patch
Normal file
File diff suppressed because it is too large
Load Diff
7
firefox-mimeinfo.xml
Normal file
7
firefox-mimeinfo.xml
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
|
||||
<mime-type type="application/x-xpinstall">
|
||||
<comment xml:lang="en">Mozilla Cross-Platform Installer Module</comment>
|
||||
<glob pattern="*.xpi" />
|
||||
</mime-type>
|
||||
</mime-info>
|
141
firefox.1
Normal file
141
firefox.1
Normal file
@ -0,0 +1,141 @@
|
||||
.TH FIREFOX 1 "November 30, 2017" firefox "Linux User's Manual"
|
||||
.SH NAME
|
||||
firefox \- a Web browser for X11 derived from the Mozilla browser
|
||||
|
||||
.SH SYNOPSIS
|
||||
.B firefox
|
||||
[\fIOPTIONS\fR ...] [\fIURL\fR]
|
||||
|
||||
.B firefox-bin
|
||||
[\fIOPTIONS\fR] [\fIURL\fR]
|
||||
|
||||
.SH DESCRIPTION
|
||||
\fBMozilla Firefox\fR is an open-source web browser, designed for
|
||||
standards compliance, performance and portability.
|
||||
|
||||
.SH USAGE
|
||||
\fBfirefox\fR is a simple shell script that will set up the
|
||||
environment for the actual executable, \fBfirefox-bin\fR.
|
||||
|
||||
.SH OPTIONS
|
||||
A summary of the options supported by \fBfirefox\fR is included below.
|
||||
|
||||
.SS "X11 options"
|
||||
.TP
|
||||
.BI \-\-display= DISPLAY
|
||||
X display to use
|
||||
.TP
|
||||
.B \--sync
|
||||
Make X calls synchronous
|
||||
.TP
|
||||
.B \-\-g-fatal-warnings
|
||||
Make all warnings fatal
|
||||
|
||||
.SS "Firefox options"
|
||||
.TP
|
||||
.B \-h, \-help
|
||||
Show summary of options.
|
||||
.TP
|
||||
.B \-v, \-version
|
||||
Print Firefox version.
|
||||
.TP
|
||||
\fB\-P\fR \fIprofile\fR
|
||||
Start with \fIprofile\fR.
|
||||
.TP
|
||||
\fB\-\-profile\fR \fIpath\fR
|
||||
Start with profile at \fIpath\fR.
|
||||
.TP
|
||||
\fB\-\-migration\fR
|
||||
Start with migration wizard.
|
||||
.TP
|
||||
.B \-\-ProfileManager
|
||||
Start with ProfileManager.
|
||||
.TP
|
||||
\fB\-\-no\-remote\fR
|
||||
Do not accept or send remote commands; implies \fB--new-instance\fR.
|
||||
.TP
|
||||
\fB\-\-new\-instance\fR
|
||||
Open new instance, not a new window in running instance.
|
||||
.TP
|
||||
\fB\-\-UILocale\fR \fIlocale\fR
|
||||
Start with \fIlocale\fR resources as UI Locale.
|
||||
.TP
|
||||
\fB\-\-save\-mode\fR
|
||||
Disables extensions and themes for this session.
|
||||
.TP
|
||||
\fB\-\-headless\fR
|
||||
Run without a GUI.
|
||||
.TP
|
||||
\fB\-\-marionette\fR
|
||||
Enable remote control server.
|
||||
.TP
|
||||
\fB\-\-browser\fR
|
||||
Open a browser window.
|
||||
.TP
|
||||
\fB\-\-new-window\fR \fIurl\fR
|
||||
Open \fIurl\fR in a new window.
|
||||
.TP
|
||||
\fB\-\-new-tab\fR \fIurl\fR
|
||||
Open \fIurl\fR in a new tab.
|
||||
.TP
|
||||
\fB\-\-private-window\fR \fIurl\fR
|
||||
Open \fIurl\fR in a new private window.
|
||||
.TP
|
||||
\fB\-\-preferences\fR
|
||||
Open Preferences dialog.
|
||||
.TP
|
||||
\fB\-\-screenshot\fR [\fIpath\fR]
|
||||
Save screenshot to \fIpath\fR or in working directory.
|
||||
.TP
|
||||
\fB\-\-window-size\fR \fIwidth\fR[,\fIheight\fR]
|
||||
Width and optionally height of screenshot.
|
||||
.TP
|
||||
\fB\-\-search\fR \fIterm\fR
|
||||
Search \fIterm\fR with your default search engine.
|
||||
.TP
|
||||
|
||||
|
||||
\fB\-\-jsconsole\fR
|
||||
Open the Browser Console.
|
||||
.TP
|
||||
\fB\-\-jsdebugger\fR
|
||||
Open the Browser Toolbox.
|
||||
.TP
|
||||
\fB\-\-wait-for-jsdebugger\fR
|
||||
Spin event loop until JS debugger connects. Enables debugging (some) application startup code paths. Only has an effect when \fI--jsdebugger\fR is also supplied.
|
||||
.TP
|
||||
\fB\-\-devtools\fR
|
||||
Open DevTools on initial load.
|
||||
.TP
|
||||
\fB\-\-start-debugger-server\fR [ws:][\fIport\fR|\fIpath\fR]
|
||||
Start the debugger server on a TCP port or Unix domain socket path. Defaults to TCP port 6000. Use WebSocket protocol if ws: prefix is specified.
|
||||
.TP
|
||||
\fB\-\-recording\fR \fIfile\fR
|
||||
Record drawing for a given URL.
|
||||
.TP
|
||||
\fB\-\-recording-output\fR \fIfile\fR
|
||||
Specify destination file for a drawing recording.
|
||||
.TP
|
||||
\fB\-\-setDefaultBrowser\fR
|
||||
Set this app as the default browser.
|
||||
|
||||
.SH FILES
|
||||
\fI/usr/bin/firefox\fR - shell script wrapping
|
||||
\fBfirefox\fR
|
||||
.br
|
||||
\fI/usr/lib64/firefox/firefox-bin\fR - \fBfirefox\fR
|
||||
executable
|
||||
|
||||
.SH VERSION
|
||||
57.0
|
||||
|
||||
.SH BUGS
|
||||
To report a bug, please visit \fIhttp://bugzilla.mozilla.org/\fR
|
||||
|
||||
.SH AUTHORS
|
||||
.TP
|
||||
.B The Mozilla Organization
|
||||
.I http://www.mozilla.org/about.html
|
||||
.TP
|
||||
.B Tobias Girstmair
|
||||
.I https://gir.st/
|
7
firefox.js
Normal file
7
firefox.js
Normal file
@ -0,0 +1,7 @@
|
||||
pref("intl.locale.requested", "");
|
||||
pref("geo.wifi.uri", "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%");
|
||||
/* Disable DoH by default */
|
||||
pref("network.trr.mode", 5);
|
||||
// do not disable system-global or app-global extensions
|
||||
pref("extensions.autoDisableScopes", 3);
|
||||
pref("extensions.shownSelectionUI", true);
|
1
google-api-key
Normal file
1
google-api-key
Normal file
@ -0,0 +1 @@
|
||||
AIzaSyD1hTe85_a14kr1Ks8T3Ce75rvbR1_Dx7Q
|
3
l10n-68.1.0esr.tar.xz
Normal file
3
l10n-68.1.0esr.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:043dc60ede681bba9c691fde2481af55858a106b527fe133803482061c3d81ec
|
||||
size 49123892
|
26
mozilla-aarch64-startup-crash.patch
Normal file
26
mozilla-aarch64-startup-crash.patch
Normal file
@ -0,0 +1,26 @@
|
||||
# HG changeset patch
|
||||
# User msirringhaus@suse.de
|
||||
# Date 1558442998 -7200
|
||||
# Tue May 21 14:49:58 2019 +0200
|
||||
# Node ID 386083b58d8558141901d796ec6919a4aba7ad3a
|
||||
# Parent 835641be7eb9408aa1eff0d38b37f6c523d2ef98
|
||||
bsc#991344 - Rpi3: Firefox crashes after a few seconds of usage
|
||||
bmo#1302554 - ARM/AARCH64: Firefox crashes on NULL nsIChannel** result pointer in nsIOService::NewChannelFromURIWithProxyFlagsInternal()
|
||||
|
||||
diff -r 835641be7eb9 -r 386083b58d85 netwerk/base/nsIOService.cpp
|
||||
--- a/netwerk/base/nsIOService.cpp Fri Feb 26 16:20:09 2016 +0000
|
||||
+++ b/netwerk/base/nsIOService.cpp Tue May 21 14:49:58 2019 +0200
|
||||
@@ -1000,7 +1000,13 @@
|
||||
}
|
||||
}
|
||||
|
||||
+#if defined(__aarch64__)
|
||||
+ if (result) {
|
||||
+ channel.forget(result);
|
||||
+ }
|
||||
+#else
|
||||
channel.forget(result);
|
||||
+#endif
|
||||
return NS_OK;
|
||||
}
|
||||
|
1
mozilla-api-key
Normal file
1
mozilla-api-key
Normal file
@ -0,0 +1 @@
|
||||
4605624048be48fda932495844d16fbb
|
20
mozilla-bmo1005535.patch
Normal file
20
mozilla-bmo1005535.patch
Normal file
@ -0,0 +1,20 @@
|
||||
# HG changeset patch
|
||||
# User Steve Singer <steve@ssinger.info>
|
||||
# Date 1558451540 -7200
|
||||
# Tue May 21 17:12:20 2019 +0200
|
||||
# Node ID 433beec63e6b5f409683af20a0c1ab137cc7bfad
|
||||
# Parent 42c99b59a87b904063bad3193f10c51d068d2eac
|
||||
Bug 1005535 - Get skia GPU building on big endian.
|
||||
|
||||
diff -r 42c99b59a87b -r 433beec63e6b gfx/skia/skia/include/private/GrColor.h
|
||||
--- a/gfx/skia/skia/include/private/GrColor.h Wed Jun 05 08:48:08 2019 +0200
|
||||
+++ b/gfx/skia/skia/include/private/GrColor.h Tue May 21 17:12:20 2019 +0200
|
||||
@@ -63,7 +63,7 @@
|
||||
* Since premultiplied means that alpha >= color, we construct a color with
|
||||
* each component==255 and alpha == 0 to be "illegal"
|
||||
*/
|
||||
-#define GrColor_ILLEGAL (~(0xFF << GrColor_SHIFT_A))
|
||||
+#define GrColor_ILLEGAL ((uint32_t)(~(0xFF << GrColor_SHIFT_A)))
|
||||
|
||||
/** Normalizes and coverts an uint8_t to a float. [0, 255] -> [0.0, 1.0] */
|
||||
static inline float GrNormalizeByteToFloat(uint8_t value) {
|
78
mozilla-bmo1463035.patch
Normal file
78
mozilla-bmo1463035.patch
Normal file
@ -0,0 +1,78 @@
|
||||
|
||||
# HG changeset patch
|
||||
# User Mike Hommey <mh+mozilla@glandium.org>
|
||||
# Date 1526871862 -32400
|
||||
# Node ID 94f21505ff13cd089f7129cd24927cf8b31a0f43
|
||||
# Parent fc741a5ea37dbe145e0ca5f85e5dfb100f3c9091
|
||||
Bug 1463035 - Remove MOZ_SIGNAL_TRAMPOLINE. r?darchons
|
||||
|
||||
For some reason, GNU as is not happy with the assembly generated after
|
||||
bug 1238661 anymore on Debian armel.
|
||||
|
||||
OTOH, as mentioned in bug 1238661 comment 4, we actually don't need this
|
||||
workaround anymore, so let's just kill it.
|
||||
|
||||
diff --git a/mfbt/moz.build b/mfbt/moz.build
|
||||
--- a/mfbt/moz.build
|
||||
+++ b/mfbt/moz.build
|
||||
@@ -122,20 +122,16 @@ EXPORTS["double-conversion"] = [
|
||||
LOCAL_INCLUDES += [
|
||||
'/mfbt/double-conversion',
|
||||
]
|
||||
|
||||
if CONFIG['OS_ARCH'] == 'WINNT':
|
||||
EXPORTS.mozilla += [
|
||||
'WindowsVersion.h',
|
||||
]
|
||||
-elif CONFIG['OS_ARCH'] == 'Linux':
|
||||
- EXPORTS.mozilla += [
|
||||
- 'LinuxSignal.h',
|
||||
- ]
|
||||
|
||||
UNIFIED_SOURCES += [
|
||||
'Assertions.cpp',
|
||||
'ChaosMode.cpp',
|
||||
'double-conversion/double-conversion/bignum-dtoa.cc',
|
||||
'double-conversion/double-conversion/bignum.cc',
|
||||
'double-conversion/double-conversion/cached-powers.cc',
|
||||
'double-conversion/double-conversion/diy-fp.cc',
|
||||
diff --git a/tools/profiler/core/platform-linux-android.cpp b/tools/profiler/core/platform-linux-android.cpp
|
||||
--- a/tools/profiler/core/platform-linux-android.cpp
|
||||
+++ b/tools/profiler/core/platform-linux-android.cpp
|
||||
@@ -55,17 +55,16 @@
|
||||
#ifdef __GLIBC__
|
||||
# include <execinfo.h> // backtrace, backtrace_symbols
|
||||
#endif // def __GLIBC__
|
||||
#include <strings.h> // index
|
||||
#include <errno.h>
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "prenv.h"
|
||||
-#include "mozilla/LinuxSignal.h"
|
||||
#include "mozilla/PodOperations.h"
|
||||
#include "mozilla/DebugOnly.h"
|
||||
|
||||
#include <string.h>
|
||||
#include <list>
|
||||
|
||||
using namespace mozilla;
|
||||
|
||||
@@ -248,17 +247,17 @@ Sampler::Sampler(PSLockRef aLock)
|
||||
|
||||
// NOTE: We don't initialize LUL here, instead initializing it in
|
||||
// SamplerThread's constructor. This is because with the
|
||||
// profiler_suspend_and_sample_thread entry point, we want to be able to
|
||||
// sample without waiting for LUL to be initialized.
|
||||
|
||||
// Request profiling signals.
|
||||
struct sigaction sa;
|
||||
- sa.sa_sigaction = MOZ_SIGNAL_TRAMPOLINE(SigprofHandler);
|
||||
+ sa.sa_sigaction = SigprofHandler;
|
||||
sigemptyset(&sa.sa_mask);
|
||||
sa.sa_flags = SA_RESTART | SA_SIGINFO;
|
||||
if (sigaction(SIGPROF, &sa, &mOldSigprofHandler) != 0) {
|
||||
MOZ_CRASH("Error installing SIGPROF handler in the profiler");
|
||||
}
|
||||
}
|
||||
|
||||
void Sampler::Disable(PSLockRef aLock) {
|
81
mozilla-bmo1504834-part1.patch
Normal file
81
mozilla-bmo1504834-part1.patch
Normal file
@ -0,0 +1,81 @@
|
||||
# HG changeset patch
|
||||
# Parent 051b75a600dfbf7503c3485cebfd34d4eb29be96
|
||||
Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1504834
|
||||
|
||||
diff -r 051b75a600df gfx/2d/DrawTargetSkia.cpp
|
||||
--- a/gfx/2d/DrawTargetSkia.cpp Fri Jul 05 12:42:44 2019 +0200
|
||||
+++ b/gfx/2d/DrawTargetSkia.cpp Mon Jul 08 10:59:30 2019 +0200
|
||||
@@ -138,8 +138,7 @@
|
||||
return surfaceBounds.Intersect(bounds);
|
||||
}
|
||||
|
||||
-static const int kARGBAlphaOffset =
|
||||
- SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0;
|
||||
+static const int kARGBAlphaOffset = 0; // Skia is always BGRA SurfaceFormat::A8R8G8B8_UINT32 == SurfaceFormat::B8G8R8A8 ? 3 : 0;
|
||||
|
||||
static bool VerifyRGBXFormat(uint8_t* aData, const IntSize& aSize,
|
||||
const int32_t aStride, SurfaceFormat aFormat) {
|
||||
diff -r 051b75a600df gfx/2d/Types.h
|
||||
--- a/gfx/2d/Types.h Fri Jul 05 12:42:44 2019 +0200
|
||||
+++ b/gfx/2d/Types.h Mon Jul 08 10:59:30 2019 +0200
|
||||
@@ -85,15 +85,8 @@
|
||||
// The following values are endian-independent synonyms. The _UINT32 suffix
|
||||
// indicates that the name reflects the layout when viewed as a uint32_t
|
||||
// value.
|
||||
-#if MOZ_LITTLE_ENDIAN
|
||||
A8R8G8B8_UINT32 = B8G8R8A8, // 0xAARRGGBB
|
||||
X8R8G8B8_UINT32 = B8G8R8X8 // 0x00RRGGBB
|
||||
-#elif MOZ_BIG_ENDIAN
|
||||
- A8R8G8B8_UINT32 = A8R8G8B8, // 0xAARRGGBB
|
||||
- X8R8G8B8_UINT32 = X8R8G8B8 // 0x00RRGGBB
|
||||
-#else
|
||||
-# error "bad endianness"
|
||||
-#endif
|
||||
};
|
||||
|
||||
static inline int BytesPerPixel(SurfaceFormat aFormat) {
|
||||
diff -r 051b75a600df gfx/skia/skia/third_party/skcms/skcms.cc
|
||||
--- a/gfx/skia/skia/third_party/skcms/skcms.cc Fri Jul 05 12:42:44 2019 +0200
|
||||
+++ b/gfx/skia/skia/third_party/skcms/skcms.cc Mon Jul 08 10:59:30 2019 +0200
|
||||
@@ -17,6 +17,8 @@
|
||||
#include <arm_neon.h>
|
||||
#elif defined(__SSE__)
|
||||
#include <immintrin.h>
|
||||
+#else
|
||||
+ #define SKCMS_PORTABLE
|
||||
#endif
|
||||
|
||||
// sizeof(x) will return size_t, which is 32-bit on some machines and 64-bit on others.
|
||||
@@ -124,20 +126,28 @@
|
||||
static uint16_t read_big_u16(const uint8_t* ptr) {
|
||||
uint16_t be;
|
||||
memcpy(&be, ptr, sizeof(be));
|
||||
-#if defined(_MSC_VER)
|
||||
+#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
|
||||
+ return be;
|
||||
+#else
|
||||
+ #if defined(_MSC_VER)
|
||||
return _byteswap_ushort(be);
|
||||
-#else
|
||||
+ #else
|
||||
return __builtin_bswap16(be);
|
||||
+ #endif
|
||||
#endif
|
||||
}
|
||||
|
||||
static uint32_t read_big_u32(const uint8_t* ptr) {
|
||||
uint32_t be;
|
||||
memcpy(&be, ptr, sizeof(be));
|
||||
-#if defined(_MSC_VER)
|
||||
+#if __BYTE_ORDER == __ORDER_BIG_ENDIAN__
|
||||
+ return be;
|
||||
+#else
|
||||
+ #if defined(_MSC_VER)
|
||||
return _byteswap_ulong(be);
|
||||
-#else
|
||||
+ #else
|
||||
return __builtin_bswap32(be);
|
||||
+ #endif
|
||||
#endif
|
||||
}
|
||||
|
88
mozilla-bmo1504834-part2.patch
Normal file
88
mozilla-bmo1504834-part2.patch
Normal file
@ -0,0 +1,88 @@
|
||||
# HG changeset patch
|
||||
# Parent 36563351309ddbc6c29559ba50a41d005f925abb
|
||||
Skia does not support big endian. The places to fix are too numerous and upstream (skia, not Mozilla)
|
||||
has no interest in maintaining big endian.
|
||||
So here we try to swizzle the input for skia, so that skia always works on LE, and when it comes
|
||||
out again, we transform back to BE.
|
||||
|
||||
diff -r 36563351309d gfx/2d/ConvolutionFilter.cpp
|
||||
--- a/gfx/2d/ConvolutionFilter.cpp Mon Sep 09 17:59:28 2019 +0200
|
||||
+++ b/gfx/2d/ConvolutionFilter.cpp Tue Sep 10 08:25:13 2019 +0200
|
||||
@@ -35,9 +35,38 @@
|
||||
return true;
|
||||
}
|
||||
|
||||
+static void ByteSwapArray(uint8_t *u8Array, int32_t size) {
|
||||
+ uint32_t *array = reinterpret_cast<uint32_t*>(u8Array);
|
||||
+ for (int pxl = 0; pxl < size; ++pxl) {
|
||||
+ // Use an endian swap to move the bytes, i.e. BGRA -> ARGB.
|
||||
+ uint32_t rgba = array[pxl];
|
||||
+ array[pxl] = NativeEndian::swapToLittleEndian(rgba);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
void ConvolutionFilter::ConvolveHorizontally(const uint8_t* aSrc, uint8_t* aDst,
|
||||
bool aHasAlpha) {
|
||||
+#if MOZ_BIG_ENDIAN
|
||||
+ int outputSize = mFilter->numValues();
|
||||
+
|
||||
+ // Input size isn't handed in, so we have to calculate it quickly
|
||||
+ int inputSize = 0;
|
||||
+ for (int xx = 0; xx < outputSize; ++xx) {
|
||||
+ // Get the filter that determines the current output pixel.
|
||||
+ int filterOffset, filterLength;
|
||||
+ mFilter->FilterForValue(xx, &filterOffset, &filterLength);
|
||||
+ inputSize = std::max(inputSize, filterOffset + filterLength);
|
||||
+ }
|
||||
+
|
||||
+ ByteSwapArray((uint8_t*)aSrc, inputSize);
|
||||
+#endif
|
||||
+
|
||||
SkOpts::convolve_horizontally(aSrc, *mFilter, aDst, aHasAlpha);
|
||||
+
|
||||
+#if MOZ_BIG_ENDIAN
|
||||
+ ByteSwapArray((uint8_t*)aSrc, inputSize);
|
||||
+ ByteSwapArray(aDst, outputSize);
|
||||
+#endif
|
||||
}
|
||||
|
||||
void ConvolutionFilter::ConvolveVertically(uint8_t* const* aSrc, uint8_t* aDst,
|
||||
@@ -49,8 +78,26 @@
|
||||
int32_t filterLength;
|
||||
auto filterValues =
|
||||
mFilter->FilterForValue(aRowIndex, &filterOffset, &filterLength);
|
||||
+
|
||||
+#if MOZ_BIG_ENDIAN
|
||||
+ for (int filterY = 0; filterY < filterLength; filterY++) {
|
||||
+ // Skia only knows LE, so we have to swizzle the input
|
||||
+ ByteSwapArray(aSrc[filterY], aRowSize);
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
SkOpts::convolve_vertically(filterValues, filterLength, aSrc, aRowSize, aDst,
|
||||
aHasAlpha);
|
||||
+
|
||||
+#if MOZ_BIG_ENDIAN
|
||||
+ // After skia is finished, we swizzle back to BE, in case
|
||||
+ // the input is used again somewhere else
|
||||
+ for (int filterY = 0; filterY < filterLength; filterY++) {
|
||||
+ ByteSwapArray(aSrc[filterY], aRowSize);
|
||||
+ }
|
||||
+ // The destination array as well
|
||||
+ ByteSwapArray(aDst, aRowSize);
|
||||
+#endif
|
||||
}
|
||||
|
||||
/* ConvolutionFilter::ComputeResizeFactor is derived from Skia's
|
||||
diff -r 36563351309d gfx/skia/skia/include/core/SkPreConfig.h
|
||||
--- a/gfx/skia/skia/include/core/SkPreConfig.h Mon Sep 09 17:59:28 2019 +0200
|
||||
+++ b/gfx/skia/skia/include/core/SkPreConfig.h Tue Sep 10 08:25:13 2019 +0200
|
||||
@@ -73,7 +73,7 @@
|
||||
defined(__ppc__) || defined(__hppa) || \
|
||||
defined(__PPC__) || defined(__PPC64__) || \
|
||||
defined(_MIPSEB) || defined(__ARMEB__) || \
|
||||
- defined(__s390__) || \
|
||||
+ defined(__s390__) || defined(__s390x__) || \
|
||||
(defined(__sh__) && defined(__BIG_ENDIAN__)) || \
|
||||
(defined(__ia64) && defined(__BIG_ENDIAN__))
|
||||
#define SK_CPU_BENDIAN
|
44
mozilla-bmo1504834-part3.patch
Normal file
44
mozilla-bmo1504834-part3.patch
Normal file
@ -0,0 +1,44 @@
|
||||
# HG changeset patch
|
||||
# Parent aecb4600e5da17443b224c79eee178c1d8e155e3
|
||||
For FF68, AntiAliasing of XULTexts seem to be broken on big endian (s390x). Text and icons of the sandwich-menu to the
|
||||
right of the address bar, as well as plugin-windows appears transparant, which usually means unreadable (white on white).
|
||||
|
||||
diff -r aecb4600e5da gfx/skia/skia/include/private/SkNx.h
|
||||
--- a/gfx/skia/skia/include/private/SkNx.h Tue Aug 20 09:46:55 2019 +0200
|
||||
+++ b/gfx/skia/skia/include/private/SkNx.h Mon Sep 09 10:04:06 2019 +0200
|
||||
@@ -238,7 +238,18 @@
|
||||
AI SkNx operator*(const SkNx& y) const { return fVal * y.fVal; }
|
||||
AI SkNx operator/(const SkNx& y) const { return fVal / y.fVal; }
|
||||
|
||||
+ // On Big endian the commented out variant doesn't work,
|
||||
+ // and honestly, I have no idea why it exists in the first place.
|
||||
+ // The reason its broken is, I think, that it defaults to the double-variant of ToBits()
|
||||
+ // which gets a 64-bit integer, and FromBits returns 32-bit,
|
||||
+ // cutting off the wrong half again.
|
||||
+ // Overall, I see no reason to have ToBits and FromBits at all (even for floats/doubles).
|
||||
+ // Still we are only "fixing" this for big endian and leave little endian alone (never touch a running system)
|
||||
+#ifdef SK_CPU_BENDIAN
|
||||
+ AI SkNx operator&(const SkNx& y) const { return fVal & y.fVal; }
|
||||
+#else
|
||||
AI SkNx operator&(const SkNx& y) const { return FromBits(ToBits(fVal) & ToBits(y.fVal)); }
|
||||
+#endif
|
||||
AI SkNx operator|(const SkNx& y) const { return FromBits(ToBits(fVal) | ToBits(y.fVal)); }
|
||||
AI SkNx operator^(const SkNx& y) const { return FromBits(ToBits(fVal) ^ ToBits(y.fVal)); }
|
||||
|
||||
diff -r aecb4600e5da gfx/skia/skia/src/opts/SkBlitMask_opts.h
|
||||
--- a/gfx/skia/skia/src/opts/SkBlitMask_opts.h Tue Aug 20 09:46:55 2019 +0200
|
||||
+++ b/gfx/skia/skia/src/opts/SkBlitMask_opts.h Mon Sep 09 10:04:06 2019 +0200
|
||||
@@ -203,7 +203,13 @@
|
||||
// ~~~>
|
||||
// a = 1*aa + d(1-1*aa) = aa + d(1-aa)
|
||||
// c = 0*aa + d(1-1*aa) = d(1-aa)
|
||||
+
|
||||
+ // For big endian we have to swap the alpha-mask from 0,0,0,255 to 255,0,0,0
|
||||
+#ifdef SK_CPU_BENDIAN
|
||||
+ return Sk4px(Sk16b(aa) & Sk16b(255,0,0,0, 255,0,0,0, 255,0,0,0, 255,0,0,0))
|
||||
+#else
|
||||
return Sk4px(Sk16b(aa) & Sk16b(0,0,0,255, 0,0,0,255, 0,0,0,255, 0,0,0,255))
|
||||
+#endif
|
||||
+ d.approxMulDiv255(aa.inv());
|
||||
};
|
||||
while (h --> 0) {
|
53
mozilla-bmo1511604.patch
Normal file
53
mozilla-bmo1511604.patch
Normal file
@ -0,0 +1,53 @@
|
||||
# HG changeset patch
|
||||
# User A. Wilcox <AWilcox@Wilcox-Tech.com>
|
||||
# Date 1543674229 0
|
||||
# Sat Dec 01 14:23:49 2018 +0000
|
||||
# Node ID 0309ff19e46b126c527e633518d7de8570442114
|
||||
# Parent 5b5a6a164acbd4da6131808bd12e42e7b0a33c2a
|
||||
Bug 1511604 - Swizzle YCbCr->RGB data on big-endian machines
|
||||
Taken from https://bugzilla.mozilla.org/show_bug.cgi?id=1511604
|
||||
|
||||
This is very closely related to mozilla-bmo1504834
|
||||
|
||||
Again, input for skia is swizzled to LE, as skia only understands LE.
|
||||
|
||||
diff -r 5b5a6a164acb gfx/ycbcr/YCbCrUtils.cpp
|
||||
--- a/gfx/ycbcr/YCbCrUtils.cpp Mon Sep 09 17:59:29 2019 +0200
|
||||
+++ b/gfx/ycbcr/YCbCrUtils.cpp Tue Sep 10 08:22:10 2019 +0200
|
||||
@@ -3,7 +3,9 @@
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
+#include "mozilla/EndianUtils.h"
|
||||
#include "gfx2DGlue.h"
|
||||
+#include "mozilla/gfx/Swizzle.h"
|
||||
|
||||
#include "YCbCrUtils.h"
|
||||
#include "yuv_convert.h"
|
||||
@@ -236,6 +238,13 @@
|
||||
yuvtype,
|
||||
srcData.mYUVColorSpace);
|
||||
}
|
||||
+#if MOZ_BIG_ENDIAN
|
||||
+ // libyuv makes endian-correct result, which needs to be swapped to BGRX
|
||||
+ if (aDestFormat != SurfaceFormat::R5G6B5_UINT16)
|
||||
+ gfx::SwizzleData(aDestBuffer, aStride, gfx::SurfaceFormat::X8R8G8B8,
|
||||
+ aDestBuffer, aStride, gfx::SurfaceFormat::B8G8R8X8,
|
||||
+ srcData.mPicSize);
|
||||
+#endif
|
||||
}
|
||||
|
||||
void
|
||||
@@ -257,6 +266,12 @@
|
||||
aSrcStrideYA,
|
||||
aSrcStrideUV,
|
||||
aDstStrideARGB);
|
||||
+#if MOZ_BIG_ENDIAN
|
||||
+ // libyuv makes endian-correct result, which needs to be swapped to BGRA
|
||||
+ gfx::SwizzleData(aDstARGB, aDstStrideARGB, gfx::SurfaceFormat::A8R8G8B8,
|
||||
+ aDstARGB, aDstStrideARGB, gfx::SurfaceFormat::B8G8R8A8,
|
||||
+ IntSize(aWidth, aHeight));
|
||||
+#endif
|
||||
}
|
||||
|
||||
} // namespace gfx
|
502
mozilla-bmo1512162.patch
Normal file
502
mozilla-bmo1512162.patch
Normal file
@ -0,0 +1,502 @@
|
||||
# HG changeset patch
|
||||
# Parent d4ba07ab572268a34e98c63792beb2ce6d78e7a1
|
||||
This patch is upstream
|
||||
|
||||
diff -r d4ba07ab5722 js/xpconnect/src/XPCWrappedNative.cpp
|
||||
--- a/js/xpconnect/src/XPCWrappedNative.cpp Fri Sep 20 07:56:01 2019 +0200
|
||||
+++ b/js/xpconnect/src/XPCWrappedNative.cpp Fri Sep 20 08:00:19 2019 +0200
|
||||
@@ -1157,10 +1157,6 @@
|
||||
return helper.get().Call();
|
||||
}
|
||||
|
||||
-#if (__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
|
||||
-// Work around a compiler bug on ppc64le (bug 1512162).
|
||||
-__attribute__ ((noinline,noclone))
|
||||
-#endif
|
||||
bool CallMethodHelper::Call() {
|
||||
mCallContext.SetRetVal(JS::UndefinedValue());
|
||||
|
||||
@@ -1319,10 +1315,6 @@
|
||||
return true;
|
||||
}
|
||||
|
||||
-#if (__GNUC__ && __linux__ && __PPC64__ && _LITTLE_ENDIAN)
|
||||
-// Work around a compiler bug on ppc64le (bug 1512162).
|
||||
-__attribute__ ((noinline,noclone))
|
||||
-#endif
|
||||
bool CallMethodHelper::GatherAndConvertResults() {
|
||||
// now we iterate through the native params to gather and convert results
|
||||
uint8_t paramCount = mMethodInfo->GetParamCount();
|
||||
diff -r d4ba07ab5722 xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_ppc64_linux.S
|
||||
--- a/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_ppc64_linux.S Fri Sep 20 07:56:01 2019 +0200
|
||||
+++ b/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_ppc64_linux.S Fri Sep 20 08:00:19 2019 +0200
|
||||
@@ -151,10 +151,10 @@
|
||||
ld r2,STACK_TOC(r1) # Load our own TOC pointer
|
||||
ld r1,0(r1) # Revert stack frame
|
||||
ld 0,16(r1) # Reload lr
|
||||
+ mtlr 0
|
||||
ld 29,-24(r1) # Restore NVGPRS
|
||||
ld 30,-16(r1)
|
||||
ld 31,-8(r1)
|
||||
- mtlr 0
|
||||
blr
|
||||
|
||||
#if _CALL_ELF == 2
|
||||
diff -r d4ba07ab5722 xpcom/reflect/xptcall/md/unix/xptcinvoke_ppc64_linux.cpp
|
||||
--- a/xpcom/reflect/xptcall/md/unix/xptcinvoke_ppc64_linux.cpp Fri Sep 20 07:56:01 2019 +0200
|
||||
+++ b/xpcom/reflect/xptcall/md/unix/xptcinvoke_ppc64_linux.cpp Fri Sep 20 08:00:19 2019 +0200
|
||||
@@ -5,93 +5,126 @@
|
||||
|
||||
// Platform specific code to invoke XPCOM methods on native objects
|
||||
|
||||
+#include "xptcprivate.h"
|
||||
+
|
||||
// The purpose of NS_InvokeByIndex() is to map a platform
|
||||
// independent call to the platform ABI. To do that,
|
||||
// NS_InvokeByIndex() has to determine the method to call via vtable
|
||||
// access. The parameters for the method are read from the
|
||||
// nsXPTCVariant* and prepared for the native ABI.
|
||||
-
|
||||
-// The PowerPC64 platform ABI can be found here:
|
||||
-// http://www.freestandards.org/spec/ELF/ppc64/
|
||||
+//
|
||||
+// Prior to POWER8, all 64-bit Power ISA systems used ELF v1 ABI, found
|
||||
+// here:
|
||||
+// https://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi.html
|
||||
// and in particular:
|
||||
-// http://www.freestandards.org/spec/ELF/ppc64/PPC-elf64abi-1.9.html#FUNC-CALL
|
||||
-
|
||||
-#include <stdio.h>
|
||||
-#include "xptcprivate.h"
|
||||
+// https://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi.html#FUNC-CALL
|
||||
+// Little-endian ppc64le, however, uses ELF v2 ABI, which is here:
|
||||
+// http://openpowerfoundation.org/wp-content/uploads/resources/leabi/leabi-20170510.pdf
|
||||
+// and in particular section 2.2, page 22. However, most big-endian ppc64
|
||||
+// systems still use ELF v1, so this file should support both.
|
||||
|
||||
-// 8 integral parameters are passed in registers, not including 'that'
|
||||
-#define GPR_COUNT 7
|
||||
+// 7 integral parameters are passed in registers, not including |this|
|
||||
+// (i.e., r3-r10, with r3 being |this|).
|
||||
+const uint32_t GPR_COUNT = 7;
|
||||
|
||||
-// 8 floating point parameters are passed in registers, floats are
|
||||
-// promoted to doubles when passed in registers
|
||||
-#define FPR_COUNT 13
|
||||
-
|
||||
-extern "C" uint32_t
|
||||
-invoke_count_words(uint32_t paramCount, nsXPTCVariant* s)
|
||||
-{
|
||||
- return uint32_t(((paramCount * 2) + 3) & ~3);
|
||||
-}
|
||||
+// 13 floating point parameters are passed in registers, either single or
|
||||
+// double precision (i.e., f1-f13).
|
||||
+const uint32_t FPR_COUNT = 13;
|
||||
|
||||
-extern "C" void
|
||||
-invoke_copy_to_stack(uint64_t* gpregs,
|
||||
- double* fpregs,
|
||||
- uint32_t paramCount,
|
||||
- nsXPTCVariant* s,
|
||||
- uint64_t* d)
|
||||
+// Both ABIs use the same register assignment strategy, as per this
|
||||
+// example from V1 ABI section 3.2.3 and V2 ABI section 2.2.3.2 [page 43]:
|
||||
+//
|
||||
+// typedef struct {
|
||||
+// int a;
|
||||
+// double dd;
|
||||
+// } sparm;
|
||||
+// sparm s, t;
|
||||
+// int c, d, e;
|
||||
+// long double ld;
|
||||
+// double ff, gg, hh;
|
||||
+//
|
||||
+// x = func(c, ff, d, ld, s, gg, t, e, hh);
|
||||
+//
|
||||
+// Parameter Register Offset in parameter save area
|
||||
+// c r3 0-7 (not stored in parameter save area)
|
||||
+// ff f1 8-15 (not stored)
|
||||
+// d r5 16-23 (not stored)
|
||||
+// ld f2,f3 24-39 (not stored)
|
||||
+// s r8,r9 40-55 (not stored)
|
||||
+// gg f4 56-63 (not stored)
|
||||
+// t (none) 64-79 (stored in parameter save area)
|
||||
+// e (none) 80-87 (stored)
|
||||
+// hh f5 88-95 (not stored)
|
||||
+//
|
||||
+// i.e., each successive FPR usage skips a GPR, but not the other way around.
|
||||
+
|
||||
+extern "C" void invoke_copy_to_stack(uint64_t* gpregs, double* fpregs,
|
||||
+ uint32_t paramCount, nsXPTCVariant* s,
|
||||
+ uint64_t* d)
|
||||
{
|
||||
- uint64_t tempu64;
|
||||
+ uint32_t nr_gpr = 0u;
|
||||
+ uint32_t nr_fpr = 0u;
|
||||
+ uint64_t value = 0u;
|
||||
|
||||
- for(uint32_t i = 0; i < paramCount; i++, s++) {
|
||||
- if(s->IsIndirect())
|
||||
- tempu64 = (uint64_t) &s->val;
|
||||
+ for (uint32_t i = 0; i < paramCount; i++, s++) {
|
||||
+ if (s->IsIndirect())
|
||||
+ value = (uint64_t) &s->val;
|
||||
else {
|
||||
- switch(s->type) {
|
||||
- case nsXPTType::T_FLOAT: break;
|
||||
- case nsXPTType::T_DOUBLE: break;
|
||||
- case nsXPTType::T_I8: tempu64 = s->val.i8; break;
|
||||
- case nsXPTType::T_I16: tempu64 = s->val.i16; break;
|
||||
- case nsXPTType::T_I32: tempu64 = s->val.i32; break;
|
||||
- case nsXPTType::T_I64: tempu64 = s->val.i64; break;
|
||||
- case nsXPTType::T_U8: tempu64 = s->val.u8; break;
|
||||
- case nsXPTType::T_U16: tempu64 = s->val.u16; break;
|
||||
- case nsXPTType::T_U32: tempu64 = s->val.u32; break;
|
||||
- case nsXPTType::T_U64: tempu64 = s->val.u64; break;
|
||||
- case nsXPTType::T_BOOL: tempu64 = s->val.b; break;
|
||||
- case nsXPTType::T_CHAR: tempu64 = s->val.c; break;
|
||||
- case nsXPTType::T_WCHAR: tempu64 = s->val.wc; break;
|
||||
- default: tempu64 = (uint64_t) s->val.p; break;
|
||||
+ switch (s->type) {
|
||||
+ case nsXPTType::T_FLOAT: break;
|
||||
+ case nsXPTType::T_DOUBLE: break;
|
||||
+ case nsXPTType::T_I8: value = s->val.i8; break;
|
||||
+ case nsXPTType::T_I16: value = s->val.i16; break;
|
||||
+ case nsXPTType::T_I32: value = s->val.i32; break;
|
||||
+ case nsXPTType::T_I64: value = s->val.i64; break;
|
||||
+ case nsXPTType::T_U8: value = s->val.u8; break;
|
||||
+ case nsXPTType::T_U16: value = s->val.u16; break;
|
||||
+ case nsXPTType::T_U32: value = s->val.u32; break;
|
||||
+ case nsXPTType::T_U64: value = s->val.u64; break;
|
||||
+ case nsXPTType::T_BOOL: value = s->val.b; break;
|
||||
+ case nsXPTType::T_CHAR: value = s->val.c; break;
|
||||
+ case nsXPTType::T_WCHAR: value = s->val.wc; break;
|
||||
+ default: value = (uint64_t) s->val.p; break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!s->IsIndirect() && s->type == nsXPTType::T_DOUBLE) {
|
||||
- if (i < FPR_COUNT)
|
||||
- fpregs[i] = s->val.d;
|
||||
- else
|
||||
- *(double *)d = s->val.d;
|
||||
+ if (nr_fpr < FPR_COUNT) {
|
||||
+ fpregs[nr_fpr++] = s->val.d;
|
||||
+ nr_gpr++;
|
||||
+ } else {
|
||||
+ *((double *)d) = s->val.d;
|
||||
+ d++;
|
||||
+ }
|
||||
}
|
||||
else if (!s->IsIndirect() && s->type == nsXPTType::T_FLOAT) {
|
||||
- if (i < FPR_COUNT) {
|
||||
- fpregs[i] = s->val.f; // if passed in registers, floats are promoted to doubles
|
||||
+ if (nr_fpr < FPR_COUNT) {
|
||||
+ // Single-precision floats are passed in FPRs too.
|
||||
+ fpregs[nr_fpr++] = s->val.f;
|
||||
+ nr_gpr++;
|
||||
} else {
|
||||
- float *p = (float *)d;
|
||||
-#ifndef __LITTLE_ENDIAN__
|
||||
+#ifdef __LITTLE_ENDIAN__
|
||||
+ *((float *)d) = s->val.f;
|
||||
+#else
|
||||
+ // Big endian needs adjustment to point to the least
|
||||
+ // significant word.
|
||||
+ float* p = (float*)d;
|
||||
p++;
|
||||
+ *p = s->val.f;
|
||||
#endif
|
||||
- *p = s->val.f;
|
||||
+ d++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
- if (i < GPR_COUNT)
|
||||
- gpregs[i] = tempu64;
|
||||
- else
|
||||
- *d = tempu64;
|
||||
+ if (nr_gpr < GPR_COUNT) {
|
||||
+ gpregs[nr_gpr++] = value;
|
||||
+ } else {
|
||||
+ *d++ = value;
|
||||
+ }
|
||||
}
|
||||
- if (i >= 7)
|
||||
- d++;
|
||||
}
|
||||
}
|
||||
|
||||
EXPORT_XPCOM_API(nsresult)
|
||||
-NS_InvokeByIndex(nsISupports* that, uint32_t methodIndex,
|
||||
- uint32_t paramCount, nsXPTCVariant* params);
|
||||
-
|
||||
+NS_InvokeByIndex(nsISupports* that, uint32_t methodIndex, uint32_t paramCount,
|
||||
+ nsXPTCVariant* params);
|
||||
diff -r d4ba07ab5722 xpcom/reflect/xptcall/md/unix/xptcstubs_ppc64_linux.cpp
|
||||
--- a/xpcom/reflect/xptcall/md/unix/xptcstubs_ppc64_linux.cpp Fri Sep 20 07:56:01 2019 +0200
|
||||
+++ b/xpcom/reflect/xptcall/md/unix/xptcstubs_ppc64_linux.cpp Fri Sep 20 08:00:19 2019 +0200
|
||||
@@ -7,36 +7,64 @@
|
||||
|
||||
#include "xptcprivate.h"
|
||||
|
||||
-// The Linux/PPC64 ABI passes the first 8 integral
|
||||
-// parameters and the first 13 floating point parameters in registers
|
||||
-// (r3-r10 and f1-f13), no stack space is allocated for these by the
|
||||
-// caller. The rest of the parameters are passed in the caller's stack
|
||||
-// area. The stack pointer has to retain 16-byte alignment.
|
||||
+// Prior to POWER8, all 64-bit Power ISA systems used ELF v1 ABI, found
|
||||
+// here:
|
||||
+// https://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi.html
|
||||
+// and in particular:
|
||||
+// https://refspecs.linuxfoundation.org/ELF/ppc64/PPC-elf64abi.html#FUNC-CALL
|
||||
+// Little-endian ppc64le, however, uses ELF v2 ABI, which is here:
|
||||
+// http://openpowerfoundation.org/wp-content/uploads/resources/leabi/leabi-20170510.pdf
|
||||
+// and in particular section 2.2, page 22. However, most big-endian ppc64
|
||||
+// systems still use ELF v1, so this file should support both.
|
||||
+//
|
||||
+// Both ABIs pass the first 8 integral parameters and the first 13 floating
|
||||
+// point parameters in registers r3-r10 and f1-f13. No stack space is
|
||||
+// allocated for these by the caller. The rest of the parameters are passed
|
||||
+// in the caller's stack area. The stack pointer must stay 16-byte aligned.
|
||||
|
||||
-// The PowerPC64 platform ABI can be found here:
|
||||
-// http://www.freestandards.org/spec/ELF/ppc64/
|
||||
-// and in particular:
|
||||
-// http://www.freestandards.org/spec/ELF/ppc64/PPC-elf64abi-1.9.html#FUNC-CALL
|
||||
-
|
||||
-#define PARAM_BUFFER_COUNT 16
|
||||
-#define GPR_COUNT 7
|
||||
-#define FPR_COUNT 13
|
||||
+const uint32_t PARAM_BUFFER_COUNT = 16;
|
||||
+const uint32_t GPR_COUNT = 7;
|
||||
+const uint32_t FPR_COUNT = 13;
|
||||
|
||||
// PrepareAndDispatch() is called by SharedStub() and calls the actual method.
|
||||
//
|
||||
// - 'args[]' contains the arguments passed on stack
|
||||
-// - 'gprData[]' contains the arguments passed in integer registers
|
||||
-// - 'fprData[]' contains the arguments passed in floating point registers
|
||||
+// - 'gpregs[]' contains the arguments passed in integer registers
|
||||
+// - 'fpregs[]' contains the arguments passed in floating point registers
|
||||
//
|
||||
// The parameters are mapped into an array of type 'nsXPTCMiniVariant'
|
||||
// and then the method gets called.
|
||||
-#include <stdio.h>
|
||||
+//
|
||||
+// Both ABIs use the same register assignment strategy, as per this
|
||||
+// example from V1 ABI section 3.2.3 and V2 ABI section 2.2.3.2 [page 43]:
|
||||
+//
|
||||
+// typedef struct {
|
||||
+// int a;
|
||||
+// double dd;
|
||||
+// } sparm;
|
||||
+// sparm s, t;
|
||||
+// int c, d, e;
|
||||
+// long double ld;
|
||||
+// double ff, gg, hh;
|
||||
+//
|
||||
+// x = func(c, ff, d, ld, s, gg, t, e, hh);
|
||||
+//
|
||||
+// Parameter Register Offset in parameter save area
|
||||
+// c r3 0-7 (not stored in parameter save area)
|
||||
+// ff f1 8-15 (not stored)
|
||||
+// d r5 16-23 (not stored)
|
||||
+// ld f2,f3 24-39 (not stored)
|
||||
+// s r8,r9 40-55 (not stored)
|
||||
+// gg f4 56-63 (not stored)
|
||||
+// t (none) 64-79 (stored in parameter save area)
|
||||
+// e (none) 80-87 (stored)
|
||||
+// hh f5 88-95 (not stored)
|
||||
+//
|
||||
+// i.e., each successive FPR usage skips a GPR, but not the other way around.
|
||||
+
|
||||
extern "C" nsresult ATTRIBUTE_USED
|
||||
-PrepareAndDispatch(nsXPTCStubBase* self,
|
||||
- uint64_t methodIndex,
|
||||
- uint64_t* args,
|
||||
- uint64_t *gprData,
|
||||
- double *fprData)
|
||||
+PrepareAndDispatch(nsXPTCStubBase * self, uint32_t methodIndex,
|
||||
+ uint64_t * args, uint64_t * gpregs, double *fpregs)
|
||||
{
|
||||
nsXPTCMiniVariant paramBuffer[PARAM_BUFFER_COUNT];
|
||||
nsXPTCMiniVariant* dispatchParams = nullptr;
|
||||
@@ -48,7 +76,7 @@
|
||||
|
||||
self->mEntry->GetMethodInfo(uint16_t(methodIndex), &info);
|
||||
NS_ASSERTION(info,"no method info");
|
||||
- if (! info)
|
||||
+ if (!info)
|
||||
return NS_ERROR_UNEXPECTED;
|
||||
|
||||
paramCount = info->GetParamCount();
|
||||
@@ -66,9 +94,11 @@
|
||||
const uint8_t indexOfJSContext = info->IndexOfJSContext();
|
||||
|
||||
uint64_t* ap = args;
|
||||
- uint32_t iCount = 0;
|
||||
- uint32_t fpCount = 0;
|
||||
- uint64_t tempu64;
|
||||
+ // |that| is implicit in the calling convention; we really do start at the
|
||||
+ // first GPR (as opposed to x86_64).
|
||||
+ uint32_t nr_gpr = 0;
|
||||
+ uint32_t nr_fpr = 0;
|
||||
+ uint64_t value;
|
||||
|
||||
for(i = 0; i < paramCount; i++) {
|
||||
const nsXPTParamInfo& param = info->GetParam(i);
|
||||
@@ -76,67 +106,67 @@
|
||||
nsXPTCMiniVariant* dp = &dispatchParams[i];
|
||||
|
||||
if (i == indexOfJSContext) {
|
||||
- if (iCount < GPR_COUNT)
|
||||
- iCount++;
|
||||
+ if (nr_gpr < GPR_COUNT)
|
||||
+ nr_gpr++;
|
||||
else
|
||||
ap++;
|
||||
}
|
||||
|
||||
if (!param.IsOut() && type == nsXPTType::T_DOUBLE) {
|
||||
- if (fpCount < FPR_COUNT) {
|
||||
- dp->val.d = fprData[fpCount++];
|
||||
- }
|
||||
- else
|
||||
- dp->val.d = *(double*) ap;
|
||||
- } else if (!param.IsOut() && type == nsXPTType::T_FLOAT) {
|
||||
- if (fpCount < FPR_COUNT) {
|
||||
- dp->val.f = (float) fprData[fpCount++]; // in registers floats are passed as doubles
|
||||
+ if (nr_fpr < FPR_COUNT) {
|
||||
+ dp->val.d = fpregs[nr_fpr++];
|
||||
+ nr_gpr++;
|
||||
+ } else {
|
||||
+ dp->val.d = *(double*)ap++;
|
||||
}
|
||||
- else {
|
||||
- float *p = (float *)ap;
|
||||
-#ifndef __LITTLE_ENDIAN__
|
||||
+ continue;
|
||||
+ }
|
||||
+ if (!param.IsOut() && type == nsXPTType::T_FLOAT) {
|
||||
+ if (nr_fpr < FPR_COUNT) {
|
||||
+ // Single-precision floats are passed in FPRs too.
|
||||
+ dp->val.f = (float)fpregs[nr_fpr++];
|
||||
+ nr_gpr++;
|
||||
+ } else {
|
||||
+#ifdef __LITTLE_ENDIAN__
|
||||
+ dp->val.f = *(float*)ap++;
|
||||
+#else
|
||||
+ // Big endian needs adjustment to point to the least
|
||||
+ // significant word.
|
||||
+ float* p = (float*)ap;
|
||||
p++;
|
||||
-#endif
|
||||
dp->val.f = *p;
|
||||
+ ap++;
|
||||
+#endif
|
||||
}
|
||||
- } else { /* integer type or pointer */
|
||||
- if (iCount < GPR_COUNT)
|
||||
- tempu64 = gprData[iCount];
|
||||
- else
|
||||
- tempu64 = *ap;
|
||||
+ continue;
|
||||
+ }
|
||||
+ if (nr_gpr < GPR_COUNT)
|
||||
+ value = gpregs[nr_gpr++];
|
||||
+ else
|
||||
+ value = *ap++;
|
||||
|
||||
- if (param.IsOut() || !type.IsArithmetic())
|
||||
- dp->val.p = (void*) tempu64;
|
||||
- else if (type == nsXPTType::T_I8)
|
||||
- dp->val.i8 = (int8_t) tempu64;
|
||||
- else if (type == nsXPTType::T_I16)
|
||||
- dp->val.i16 = (int16_t) tempu64;
|
||||
- else if (type == nsXPTType::T_I32)
|
||||
- dp->val.i32 = (int32_t) tempu64;
|
||||
- else if (type == nsXPTType::T_I64)
|
||||
- dp->val.i64 = (int64_t) tempu64;
|
||||
- else if (type == nsXPTType::T_U8)
|
||||
- dp->val.u8 = (uint8_t) tempu64;
|
||||
- else if (type == nsXPTType::T_U16)
|
||||
- dp->val.u16 = (uint16_t) tempu64;
|
||||
- else if (type == nsXPTType::T_U32)
|
||||
- dp->val.u32 = (uint32_t) tempu64;
|
||||
- else if (type == nsXPTType::T_U64)
|
||||
- dp->val.u64 = (uint64_t) tempu64;
|
||||
- else if (type == nsXPTType::T_BOOL)
|
||||
- dp->val.b = (bool) tempu64;
|
||||
- else if (type == nsXPTType::T_CHAR)
|
||||
- dp->val.c = (char) tempu64;
|
||||
- else if (type == nsXPTType::T_WCHAR)
|
||||
- dp->val.wc = (wchar_t) tempu64;
|
||||
- else
|
||||
- NS_ERROR("bad type");
|
||||
+ if (param.IsOut() || !type.IsArithmetic()) {
|
||||
+ dp->val.p = (void*) value;
|
||||
+ continue;
|
||||
}
|
||||
|
||||
- if (iCount < GPR_COUNT)
|
||||
- iCount++; // gprs are skipped for fp args, so this always needs inc
|
||||
- else
|
||||
- ap++;
|
||||
+ switch (type) {
|
||||
+ case nsXPTType::T_I8: dp->val.i8 = (int8_t) value; break;
|
||||
+ case nsXPTType::T_I16: dp->val.i16 = (int16_t) value; break;
|
||||
+ case nsXPTType::T_I32: dp->val.i32 = (int32_t) value; break;
|
||||
+ case nsXPTType::T_I64: dp->val.i64 = (int64_t) value; break;
|
||||
+ case nsXPTType::T_U8: dp->val.u8 = (uint8_t) value; break;
|
||||
+ case nsXPTType::T_U16: dp->val.u16 = (uint16_t) value; break;
|
||||
+ case nsXPTType::T_U32: dp->val.u32 = (uint32_t) value; break;
|
||||
+ case nsXPTType::T_U64: dp->val.u64 = (uint64_t) value; break;
|
||||
+ case nsXPTType::T_BOOL: dp->val.b = (bool) value; break;
|
||||
+ case nsXPTType::T_CHAR: dp->val.c = (char) value; break;
|
||||
+ case nsXPTType::T_WCHAR: dp->val.wc = (wchar_t) value; break;
|
||||
+
|
||||
+ default:
|
||||
+ NS_ERROR("bad type");
|
||||
+ break;
|
||||
+ }
|
||||
}
|
||||
|
||||
nsresult result = self->mOuter->CallMethod((uint16_t) methodIndex, info,
|
||||
@@ -150,23 +180,19 @@
|
||||
|
||||
// Load r11 with the constant 'n' and branch to SharedStub().
|
||||
//
|
||||
+// As G++3 ABI contains the length of the functionname in the mangled
|
||||
+// name, it is difficult to get a generic assembler mechanism like
|
||||
+// in the G++ 2.95 case.
|
||||
// XXX Yes, it's ugly that we're relying on gcc's name-mangling here;
|
||||
// however, it's quick, dirty, and'll break when the ABI changes on
|
||||
// us, which is what we want ;-).
|
||||
-
|
||||
-
|
||||
-// gcc-3 version
|
||||
-//
|
||||
-// As G++3 ABI contains the length of the functionname in the mangled
|
||||
-// name, it is difficult to get a generic assembler mechanism like
|
||||
-// in the G++ 2.95 case.
|
||||
// Create names would be like:
|
||||
// _ZN14nsXPTCStubBase5Stub1Ev
|
||||
// _ZN14nsXPTCStubBase6Stub12Ev
|
||||
// _ZN14nsXPTCStubBase7Stub123Ev
|
||||
// _ZN14nsXPTCStubBase8Stub1234Ev
|
||||
// etc.
|
||||
-// Use assembler directives to get the names right...
|
||||
+// Use assembler directives to get the names right.
|
||||
|
||||
#if _CALL_ELF == 2
|
||||
# define STUB_ENTRY(n) \
|
||||
@@ -252,7 +278,7 @@
|
||||
#define SENTINEL_ENTRY(n) \
|
||||
nsresult nsXPTCStubBase::Sentinel##n() \
|
||||
{ \
|
||||
- NS_ERROR("nsXPTCStubBase::Sentinel called"); \
|
||||
+ NS_ERROR("nsXPTCStubBase::Sentinel called"); \
|
||||
return NS_ERROR_NOT_IMPLEMENTED; \
|
||||
}
|
||||
|
22
mozilla-bmo1554971.patch
Normal file
22
mozilla-bmo1554971.patch
Normal file
@ -0,0 +1,22 @@
|
||||
# HG changeset patch
|
||||
# Parent a25cebecb02d5460b8ad757fe9cb4a9c8d1d7658
|
||||
Eliminate startup error message:
|
||||
JavaScript error: , line 0: Error: Type error for platformInfo value (Error processing arch: Invalid enumeration value "s390x") for runtime.getPlatformInfo.
|
||||
|
||||
Reported here: https://bugzilla.mozilla.org/show_bug.cgi?id=1554971
|
||||
|
||||
Uncertain if this is causing real problems or not. Also uncertain if the fix actually fixes anything.
|
||||
No response from upstream yet.
|
||||
|
||||
diff -r a25cebecb02d -r 378b81b00e73 toolkit/components/extensions/schemas/runtime.json
|
||||
--- a/toolkit/components/extensions/schemas/runtime.json Fri Jul 05 12:42:44 2019 +0200
|
||||
+++ b/toolkit/components/extensions/schemas/runtime.json Fri Jul 19 13:19:30 2019 +0200
|
||||
@@ -64,7 +64,7 @@
|
||||
{
|
||||
"id": "PlatformArch",
|
||||
"type": "string",
|
||||
- "enum": ["arm", "x86-32", "x86-64"],
|
||||
+ "enum": ["arm", "x86-32", "x86-64", "s390x", "aarch64", "ppc64le"],
|
||||
"allowedContexts": ["content", "devtools"],
|
||||
"description": "The machine's processor architecture."
|
||||
},
|
30
mozilla-bmo1568145.patch
Normal file
30
mozilla-bmo1568145.patch
Normal file
@ -0,0 +1,30 @@
|
||||
Author: Bernhard M. Wiedemann <bwiedemann suse de>
|
||||
Date: 2019-07-22
|
||||
|
||||
Allow to override build date with SOURCE_DATE_EPOCH
|
||||
in order to make builds reproducible.
|
||||
See https://reproducible-builds.org/ for why this is good
|
||||
and https://reproducible-builds.org/specs/source-date-epoch/
|
||||
for the definition of this variable.
|
||||
|
||||
diff --git a/python/mozbuild/mozbuild/action/langpack_manifest.py b/python/mozbuild/mozbuild/action/langpack_manifest.py
|
||||
index 6f72697..d4cca96 100644
|
||||
--- a/python/mozbuild/mozbuild/action/langpack_manifest.py
|
||||
+++ b/python/mozbuild/mozbuild/action/langpack_manifest.py
|
||||
@@ -16,6 +16,7 @@ import os
|
||||
import json
|
||||
import io
|
||||
import datetime
|
||||
+import time
|
||||
import requests
|
||||
import mozversioncontrol
|
||||
import mozpack.path as mozpath
|
||||
@@ -100,7 +101,7 @@ def get_timestamp_for_locale(path):
|
||||
dt = get_dt_from_hg(path)
|
||||
|
||||
if dt is None:
|
||||
- dt = datetime.datetime.utcnow()
|
||||
+ dt = datetime.datetime.utcfromtimestamp(int(os.environ.get('SOURCE_DATE_EPOCH', time.time())))
|
||||
|
||||
dt = dt.replace(microsecond=0)
|
||||
return dt.strftime("%Y%m%d%H%M%S")
|
22
mozilla-bmo1573381.patch
Normal file
22
mozilla-bmo1573381.patch
Normal file
@ -0,0 +1,22 @@
|
||||
# HG changeset patch
|
||||
# Parent 45680ce4ca06795cbca1ea5a9ae8a7a11ab95cf1
|
||||
The code tries to find a codec in a list of codecs. For this it searches for a given prefix.
|
||||
But the prefix is of type char16_t, which means 2 bytes per character instead of 1, as was compared here.
|
||||
On big endian this created some false positives, as the order of bytes is different and some characters only
|
||||
occupy "the first" byte, having the second null'ed out.
|
||||
Noticed because of gtest: MediaMIMETypes.MediaCodecs
|
||||
|
||||
Upstream bugreport: https://bugzilla.mozilla.org/show_bug.cgi?id=1573381
|
||||
|
||||
diff -r 45680ce4ca06 -r 381102061fcc dom/media/MediaMIMETypes.cpp
|
||||
--- a/dom/media/MediaMIMETypes.cpp Mon Aug 05 09:28:53 2019 +0200
|
||||
+++ b/dom/media/MediaMIMETypes.cpp Tue Aug 13 07:51:27 2019 +0200
|
||||
@@ -87,7 +87,7 @@
|
||||
const size_t prefixLength = aCodecPrefix.Length();
|
||||
for (const auto& myCodec : Range()) {
|
||||
if (myCodec.Length() >= prefixLength &&
|
||||
- memcmp(myCodec.Data(), aCodecPrefix.Data(), prefixLength) == 0) {
|
||||
+ memcmp(myCodec.Data(), aCodecPrefix.Data(), prefixLength * sizeof(char16_t)) == 0) {
|
||||
return true;
|
||||
}
|
||||
}
|
4133
mozilla-bmo1585099.patch
Normal file
4133
mozilla-bmo1585099.patch
Normal file
File diff suppressed because it is too large
Load Diff
18
mozilla-cubeb-noreturn.patch
Normal file
18
mozilla-cubeb-noreturn.patch
Normal file
@ -0,0 +1,18 @@
|
||||
# HG changeset patch
|
||||
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
# Parent a9d61a2614b01b1e0ca37d00a6b11b2571868f86
|
||||
|
||||
diff --git a/media/libcubeb/src/cubeb_utils.cpp b/media/libcubeb/src/cubeb_utils.cpp
|
||||
--- a/media/libcubeb/src/cubeb_utils.cpp
|
||||
+++ b/media/libcubeb/src/cubeb_utils.cpp
|
||||
@@ -15,9 +15,10 @@ size_t cubeb_sample_size(cubeb_sample_fo
|
||||
return sizeof(int16_t);
|
||||
case CUBEB_SAMPLE_FLOAT32LE:
|
||||
case CUBEB_SAMPLE_FLOAT32BE:
|
||||
return sizeof(float);
|
||||
default:
|
||||
// should never happen as all cases are handled above.
|
||||
assert(false);
|
||||
}
|
||||
+ return 0;
|
||||
}
|
11
mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch
Normal file
11
mozilla-disable-wasm-emulate-arm-unaligned-fp-access.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- a/js/src/wasm/WasmSignalHandlers.cpp 2019-05-16 11:25:13.260881532 +0200
|
||||
+++ b/js/src/wasm/WasmSignalHandlers.cpp 2019-05-16 11:24:35.164589301 +0200
|
||||
@@ -243,7 +243,7 @@ using mozilla::DebugOnly;
|
||||
// emulation here.
|
||||
|
||||
#if defined(__linux__) && defined(__arm__)
|
||||
-# define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
|
||||
+// # define WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
|
||||
#endif
|
||||
|
||||
#ifdef WASM_EMULATE_ARM_UNALIGNED_FP_ACCESS
|
25
mozilla-fix-aarch64-libopus.patch
Normal file
25
mozilla-fix-aarch64-libopus.patch
Normal file
@ -0,0 +1,25 @@
|
||||
# HG changeset patch
|
||||
# Parent 1317782cd47f1d1f2410712a1dd283b305393eae
|
||||
|
||||
diff --git a/media/libopus/silk/arm/arm_silk_map.c b/media/libopus/silk/arm/arm_silk_map.c
|
||||
--- a/media/libopus/silk/arm/arm_silk_map.c
|
||||
+++ b/media/libopus/silk/arm/arm_silk_map.c
|
||||
@@ -23,17 +23,17 @@ INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
***********************************************************************/
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
-#include "main_FIX.h"
|
||||
+#include "../fixed/main_FIX.h"
|
||||
#include "NSQ.h"
|
||||
#include "SigProc_FIX.h"
|
||||
|
||||
#if defined(OPUS_HAVE_RTCD)
|
||||
|
||||
# if (defined(OPUS_ARM_MAY_HAVE_NEON_INTR) && \
|
||||
!defined(OPUS_ARM_PRESUME_NEON_INTR))
|
||||
|
42
mozilla-fix-top-level-asm.patch
Normal file
42
mozilla-fix-top-level-asm.patch
Normal file
@ -0,0 +1,42 @@
|
||||
From 91bb79836ee274855393bdf6ab10e24899b1b349 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Liska <mliska@suse.cz>
|
||||
Date: Fri, 17 May 2019 14:41:35 +0200
|
||||
Subject: [PATCH] Fix top-level asm issue.
|
||||
|
||||
---
|
||||
security/sandbox/linux/moz.build | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/security/sandbox/linux/moz.build b/security/sandbox/linux/moz.build
|
||||
index aae85843e9f6..208368dfd189 100644
|
||||
--- a/security/sandbox/linux/moz.build
|
||||
+++ b/security/sandbox/linux/moz.build
|
||||
@@ -61,7 +61,6 @@ UNIFIED_SOURCES += [
|
||||
'../chromium/sandbox/linux/bpf_dsl/policy_compiler.cc',
|
||||
'../chromium/sandbox/linux/bpf_dsl/syscall_set.cc',
|
||||
'../chromium/sandbox/linux/seccomp-bpf/die.cc',
|
||||
- '../chromium/sandbox/linux/seccomp-bpf/syscall.cc',
|
||||
'broker/SandboxBrokerCommon.cpp',
|
||||
'Sandbox.cpp',
|
||||
'SandboxBrokerClient.cpp',
|
||||
@@ -77,6 +76,7 @@ UNIFIED_SOURCES += [
|
||||
SOURCES += [
|
||||
'../chromium/base/strings/safe_sprintf.cc',
|
||||
'../chromium/base/third_party/icu/icu_utf.cc',
|
||||
+ '../chromium/sandbox/linux/seccomp-bpf/syscall.cc',
|
||||
'../chromium/sandbox/linux/seccomp-bpf/trap.cc',
|
||||
'../chromium/sandbox/linux/services/syscall_wrappers.cc',
|
||||
]
|
||||
@@ -96,6 +96,9 @@ if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
|
||||
SOURCES['../chromium/sandbox/linux/services/syscall_wrappers.cc'].flags += [
|
||||
'-Wno-empty-body',
|
||||
]
|
||||
+ SOURCES['../chromium/sandbox/linux/seccomp-bpf/syscall.cc'].flags += [
|
||||
+ '-fno-lto'
|
||||
+ ]
|
||||
|
||||
# gcc lto likes to put the top level asm in syscall.cc in a different partition
|
||||
# from the function using it which breaks the build. Work around that by
|
||||
--
|
||||
2.23.0
|
||||
|
51
mozilla-get-app-id
Normal file
51
mozilla-get-app-id
Normal file
@ -0,0 +1,51 @@
|
||||
#!/usr/bin/perl -w
|
||||
use XML::Simple;
|
||||
|
||||
my $file = shift || die "Usage: $0 [install.rdf|somefile.xpi]\n";
|
||||
my $xml;
|
||||
|
||||
if ($file =~ /\.xpi$/) {
|
||||
use Archive::Zip qw/:ERROR_CODES :CONSTANTS/;
|
||||
my $zip = Archive::Zip->new();
|
||||
if ( $zip->read($file) != AZ_OK ) {
|
||||
die "zip file read error\n";
|
||||
}
|
||||
my $data = $zip->contents("install.rdf");
|
||||
die "missing install.rdf in $file\n" unless $data;
|
||||
$xml = XMLin($data) || die "$!\n";
|
||||
} elsif ($file =~ /install.rdf/) {
|
||||
$xml = XMLin($file) || die "$!\n";
|
||||
} else {
|
||||
die "unsupported file format\n";
|
||||
}
|
||||
|
||||
my $desc;
|
||||
for my $tag (qw/RDF:Description Description/) {
|
||||
if (exists $xml->{$tag}) {
|
||||
if (ref $xml->{$tag} eq 'ARRAY') {
|
||||
$desc = $xml->{$tag};
|
||||
} else {
|
||||
$desc = [ $xml->{$tag} ];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
my $uuid;
|
||||
my $id;
|
||||
for my $x (@$desc) {
|
||||
if ($x->{"em:id"} =~ /{[[:xdigit:]]+-/) {
|
||||
print STDERR "Warning: multiple uuids!\n" if defined $uuid;
|
||||
$uuid = $x->{"em:id"};
|
||||
} elsif ($x->{"em:id"} =~ /@/) {
|
||||
print STDERR "Warning: multiple ids!\n" if defined $id;
|
||||
$id = $x->{"em:id"};
|
||||
}
|
||||
}
|
||||
|
||||
if (defined $id) {
|
||||
print "$id\n";
|
||||
} elsif (defined $uuid) {
|
||||
print "$uuid\n";
|
||||
} else {
|
||||
exit 1;
|
||||
}
|
2464
mozilla-kde.patch
Normal file
2464
mozilla-kde.patch
Normal file
File diff suppressed because it is too large
Load Diff
38
mozilla-nestegg-big-endian.patch
Normal file
38
mozilla-nestegg-big-endian.patch
Normal file
@ -0,0 +1,38 @@
|
||||
# HG changeset patch
|
||||
# Parent 381102061fccdec40efda75c7423a766f68201ba
|
||||
Bug-behavior: Youtube-videos using VP9 and opus as audio-codec started loading but did not play
|
||||
Reason: While parsing the audio-stream, the sampling frequency (short rate) was wrongly parsed by
|
||||
nestegg, returning 0 all the time. This led to the audio-track reporting that it neither had
|
||||
valid video nor audio. Which led to an endless-loop in the video state machine.
|
||||
Solution: Correct parsing of rate in nestegg, which is a float and cuts of bytes.
|
||||
Link: https://github.com/kinetiknz/nestegg/issues/64
|
||||
|
||||
diff -r 381102061fcc -r 8da4be020b1e media/libnestegg/src/nestegg.c
|
||||
--- a/media/libnestegg/src/nestegg.c Tue Aug 13 07:51:27 2019 +0200
|
||||
+++ b/media/libnestegg/src/nestegg.c Tue Aug 20 07:59:54 2019 +0200
|
||||
@@ -768,7 +768,15 @@
|
||||
{
|
||||
union {
|
||||
uint64_t u;
|
||||
- float f;
|
||||
+ struct {
|
||||
+#if __FLOAT_WORD_ORDER__ == __ORDER_BIG_ENDIAN__
|
||||
+ uint32_t _pad;
|
||||
+ float f;
|
||||
+#else
|
||||
+ float f;
|
||||
+ uint32_t _pad;
|
||||
+#endif
|
||||
+ } f;
|
||||
double d;
|
||||
} value;
|
||||
int r;
|
||||
@@ -780,7 +788,7 @@
|
||||
if (r != 1)
|
||||
return r;
|
||||
if (length == 4)
|
||||
- *val = value.f;
|
||||
+ *val = value.f.f;
|
||||
else
|
||||
*val = value.d;
|
||||
return 1;
|
35
mozilla-nongnome-proxies.patch
Normal file
35
mozilla-nongnome-proxies.patch
Normal file
@ -0,0 +1,35 @@
|
||||
# HG changeset patch
|
||||
# User Wolfgang Rosenauer
|
||||
# Date 1558442915 -7200
|
||||
# Tue May 21 14:48:35 2019 +0200
|
||||
# Node ID 6bcf2dfebc1ea2aa34e5cc61152709fc8e409dc5
|
||||
# Parent 4c434d19d03d5461e54fa22dfb82eaed4cd6631b
|
||||
Do not use gconf for proxy settings if not running within Gnome
|
||||
Index: toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||
===================================================================
|
||||
RCS file: /cvsroot/mozilla/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp,v
|
||||
retrieving revision 1.1
|
||||
|
||||
diff -r 4c434d19d03d -r 6bcf2dfebc1e toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp
|
||||
--- a/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp Wed Jun 12 17:43:18 2019 +0000
|
||||
+++ b/toolkit/system/unixproxy/nsUnixSystemProxySettings.cpp Tue May 21 14:48:35 2019 +0200
|
||||
@@ -55,11 +55,14 @@
|
||||
}
|
||||
|
||||
void nsUnixSystemProxySettings::Init() {
|
||||
- mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
|
||||
- if (mGSettings) {
|
||||
- mGSettings->GetCollectionForSchema(
|
||||
- NS_LITERAL_CSTRING("org.gnome.system.proxy"),
|
||||
- getter_AddRefs(mProxySettings));
|
||||
+ const char* sessionType = PR_GetEnv("DESKTOP_SESSION");
|
||||
+ if (sessionType && !strcmp(sessionType, "gnome")) {
|
||||
+ mGSettings = do_GetService(NS_GSETTINGSSERVICE_CONTRACTID);
|
||||
+ if (mGSettings) {
|
||||
+ mGSettings->GetCollectionForSchema(
|
||||
+ NS_LITERAL_CSTRING("org.gnome.system.proxy"),
|
||||
+ getter_AddRefs(mProxySettings));
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
28
mozilla-ntlm-full-path.patch
Normal file
28
mozilla-ntlm-full-path.patch
Normal file
@ -0,0 +1,28 @@
|
||||
# HG changeset patch
|
||||
# User Petr Cerny <pcerny@novell.com>
|
||||
# Parent 7308e4a7c1f769f4bbbc90870b849cadd99495a6
|
||||
# Parent 6ab277cf616dc2748e9855101100a97a6cec10a6
|
||||
Bug 634334 - call to the ntlm_auth helper fails
|
||||
|
||||
diff --git a/extensions/auth/nsAuthSambaNTLM.cpp b/extensions/auth/nsAuthSambaNTLM.cpp
|
||||
--- a/extensions/auth/nsAuthSambaNTLM.cpp
|
||||
+++ b/extensions/auth/nsAuthSambaNTLM.cpp
|
||||
@@ -156,17 +156,17 @@ static uint8_t* ExtractMessage(const nsA
|
||||
*aLen = (length / 4) * 3 - numEquals;
|
||||
return reinterpret_cast<uint8_t*>(PL_Base64Decode(s, length, nullptr));
|
||||
}
|
||||
|
||||
nsresult nsAuthSambaNTLM::SpawnNTLMAuthHelper() {
|
||||
const char* username = PR_GetEnv("USER");
|
||||
if (!username) return NS_ERROR_FAILURE;
|
||||
|
||||
- const char* const args[] = {"ntlm_auth",
|
||||
+ const char* const args[] = {"/usr/bin/ntlm_auth",
|
||||
"--helper-protocol",
|
||||
"ntlmssp-client-1",
|
||||
"--use-cached-creds",
|
||||
"--username",
|
||||
username,
|
||||
nullptr};
|
||||
|
||||
bool isOK = SpawnIOChild(const_cast<char* const*>(args), &mChildPID,
|
26
mozilla-openaes-decl.patch
Normal file
26
mozilla-openaes-decl.patch
Normal file
@ -0,0 +1,26 @@
|
||||
# HG changeset patch
|
||||
# Parent 33024abb3c58dab7239e32388df58e14f99defd5
|
||||
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
||||
# Parent 0cfd693fdbbb0635787f1aeacee2dda43b01c495
|
||||
|
||||
diff --git a/media/gmp-clearkey/0.1/openaes/oaes_lib.c b/media/gmp-clearkey/0.1/openaes/oaes_lib.c
|
||||
--- a/media/gmp-clearkey/0.1/openaes/oaes_lib.c
|
||||
+++ b/media/gmp-clearkey/0.1/openaes/oaes_lib.c
|
||||
@@ -24,16 +24,17 @@
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
* ---------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
+#include <stdio.h>
|
||||
#include <stddef.h>
|
||||
#include <time.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "mozilla/Sprintf.h"
|
||||
|
||||
#ifdef WIN32
|
||||
#include <process.h>
|
20
mozilla-ppc-altivec_static_inline.patch
Normal file
20
mozilla-ppc-altivec_static_inline.patch
Normal file
@ -0,0 +1,20 @@
|
||||
# HG changeset patch
|
||||
# User msirringhaus@suse.de
|
||||
# Date 1558452418 -7200
|
||||
# Tue May 21 17:26:58 2019 +0200
|
||||
# Node ID 6cd963b6c82ea6629aaf4050851789b78f310338
|
||||
# Parent 602e92722e765a3c238d3b96b26c0c8063b5eeb4
|
||||
imported patch mozilla-ppc-altivec_static_inline.patch
|
||||
|
||||
diff -r 602e92722e76 -r 6cd963b6c82e gfx/qcms/transform-altivec.c
|
||||
--- a/gfx/qcms/transform-altivec.c Tue May 21 17:26:48 2019 +0200
|
||||
+++ b/gfx/qcms/transform-altivec.c Tue May 21 17:26:58 2019 +0200
|
||||
@@ -30,7 +30,7 @@
|
||||
static const ALIGN float floatScaleX4 = FLOATSCALE;
|
||||
static const ALIGN float clampMaxValueX4 = CLAMPMAXVAL;
|
||||
|
||||
-inline vector float load_aligned_float(float *dataPtr)
|
||||
+static inline vector float load_aligned_float(float *dataPtr)
|
||||
{
|
||||
vector float data = vec_lde(0, dataPtr);
|
||||
vector unsigned char moveToStart = vec_lvsl(0, dataPtr);
|
34
mozilla-reduce-rust-debuginfo.patch
Normal file
34
mozilla-reduce-rust-debuginfo.patch
Normal file
@ -0,0 +1,34 @@
|
||||
# HG changeset patch
|
||||
# User msirringhaus@suse.de
|
||||
# Date 1560754926 -7200
|
||||
# Mon Jun 17 09:02:06 2019 +0200
|
||||
# Node ID 428161c3b9599083e1b8710eda1760f1f707ab11
|
||||
# Parent 6cd963b6c82ea6629aaf4050851789b78f310338
|
||||
#Description: reduce the rust debuginfo level on selected architectures where
|
||||
# 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.
|
||||
|
||||
diff -r 6cd963b6c82e -r 428161c3b959 build/moz.configure/toolchain.configure
|
||||
--- a/build/moz.configure/toolchain.configure Tue May 21 17:26:58 2019 +0200
|
||||
+++ b/build/moz.configure/toolchain.configure Mon Jun 17 09:02:06 2019 +0200
|
||||
@@ -1865,8 +1865,8 @@
|
||||
return '1' if moz_optimize.optimize else '0'
|
||||
|
||||
|
||||
-@depends(rustc_opt_level, debug_rust, '--enable-debug-symbols')
|
||||
-def rust_compile_flags(opt_level, debug_rust, debug_symbols):
|
||||
+@depends(rustc_opt_level, debug_rust, '--enable-debug-symbols', host)
|
||||
+def rust_compile_flags(opt_level, debug_rust, debug_symbols, host):
|
||||
# Cargo currently supports only two interesting profiles for building:
|
||||
# development and release. Those map (roughly) to --enable-debug and
|
||||
# --disable-debug in Gecko, respectively.
|
||||
@@ -1889,6 +1889,8 @@
|
||||
|
||||
if debug_symbols:
|
||||
debug_info = '2'
|
||||
+ if host.bitness == 32 or host.cpu == 'aarch64' or host.cpu == 'ppc64':
|
||||
+ debug_info = '1'
|
||||
|
||||
opts = []
|
||||
|
20
mozilla-s390-bigendian.patch
Normal file
20
mozilla-s390-bigendian.patch
Normal file
@ -0,0 +1,20 @@
|
||||
# HG changeset patch
|
||||
# User msirringhaus@suse.de
|
||||
# Date 1558452126 -7200
|
||||
# Tue May 21 17:22:06 2019 +0200
|
||||
# Node ID a3cc550d25e3a04d906f516928cbcbe50efd585e
|
||||
# Parent 433beec63e6b5f409683af20a0c1ab137cc7bfad
|
||||
[mq]: mozilla-s390-bigendian.patch
|
||||
|
||||
diff -r 433beec63e6b -r a3cc550d25e3 build/autoconf/icu.m4
|
||||
--- a/build/autoconf/icu.m4 Tue May 21 17:12:20 2019 +0200
|
||||
+++ b/build/autoconf/icu.m4 Tue May 21 17:22:06 2019 +0200
|
||||
@@ -78,7 +78,7 @@
|
||||
# TODO: the l is actually endian-dependent
|
||||
# We could make this set as 'l' or 'b' for little or big, respectively,
|
||||
# but we'd need to check in a big-endian version of the file.
|
||||
- ICU_DATA_FILE="icudt${version}l.dat"
|
||||
+ ICU_DATA_FILE="icudt${version}b.dat"
|
||||
fi
|
||||
|
||||
AC_SUBST(MOZ_ICU_VERSION)
|
36
mozilla-s390-context.patch
Normal file
36
mozilla-s390-context.patch
Normal file
@ -0,0 +1,36 @@
|
||||
# HG changeset patch
|
||||
# User msirringhaus@suse.de
|
||||
# Date 1558452408 -7200
|
||||
# Tue May 21 17:26:48 2019 +0200
|
||||
# Node ID 602e92722e765a3c238d3b96b26c0c8063b5eeb4
|
||||
# Parent a3cc550d25e3a04d906f516928cbcbe50efd585e
|
||||
[mq]: mozilla-s390-context.patch
|
||||
|
||||
diff -r a3cc550d25e3 -r 602e92722e76 js/src/wasm/WasmSignalHandlers.cpp
|
||||
--- a/js/src/wasm/WasmSignalHandlers.cpp Tue May 21 17:22:06 2019 +0200
|
||||
+++ b/js/src/wasm/WasmSignalHandlers.cpp Tue May 21 17:26:48 2019 +0200
|
||||
@@ -154,6 +154,10 @@
|
||||
# define R01_sig(p) ((p)->uc_mcontext.gp_regs[1])
|
||||
# define R32_sig(p) ((p)->uc_mcontext.gp_regs[32])
|
||||
# endif
|
||||
+# if defined(__linux__) && defined(__s390x__)
|
||||
+# define GR_sig(p,x) ((p)->uc_mcontext.gregs[x])
|
||||
+# define PSWa_sig(p) ((p)->uc_mcontext.psw.addr)
|
||||
+# endif
|
||||
#elif defined(__NetBSD__)
|
||||
# define EIP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EIP])
|
||||
# define EBP_sig(p) ((p)->uc_mcontext.__gregs[_REG_EBP])
|
||||
@@ -385,8 +389,13 @@
|
||||
# define PC_sig(p) R32_sig(p)
|
||||
# define SP_sig(p) R01_sig(p)
|
||||
# define FP_sig(p) R01_sig(p)
|
||||
+#elif defined(__s390x__)
|
||||
+# define PC_sig(p) PSWa_sig(p)
|
||||
+# define SP_sig(p) GR_sig(p, 15)
|
||||
+# define FP_sig(p) GR_sig(p, 11)
|
||||
#endif
|
||||
|
||||
+
|
||||
static void SetContextPC(CONTEXT* context, uint8_t* pc) {
|
||||
#ifdef PC_sig
|
||||
*reinterpret_cast<uint8_t**>(&PC_sig(context)) = pc;
|
333
mozilla.keyring
Normal file
333
mozilla.keyring
Normal file
@ -0,0 +1,333 @@
|
||||
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] [expires: 2017-07-16]
|
||||
sub rsa4096 2017-06-22 [S] [expires: 2019-06-22]
|
||||
sub rsa4096 2019-05-30 [S] [expires: 2021-05-29]
|
||||
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQINBFWpQAQBEAC+9wVlwGLy8ILCybLesuB3KkHHK+Yt1F1PJaI30X448ttGzxCz
|
||||
PQpH6BoA73uzcTReVjfCFGvM4ij6qVV2SNaTxmNBrL1uVeEUsCuGduDUQMQYRGxR
|
||||
tWq5rCH48LnltKPamPiEBzrgFL3i5bYEUHO7M0lATEknG7Iaz697K/ssHREZfuuc
|
||||
B4GNxXMgswZ7GTZO3VBDVEw5GwU3sUvww93TwMC29lIPCux445AxZPKr5sOVEsEn
|
||||
dUB2oDMsSAoS/dZcl8F4otqfR1pXg618cU06omvq5yguWLDRV327BLmezYK0prD3
|
||||
P+7qwEp8MTVmxlbkrClS5j5pR47FrJGdyupNKqLzK+7hok5kBxhsdMsdTZLd4tVR
|
||||
jXf04isVO3iFFf/GKuwscOi1+ZYeB3l3sAqgFUWnjbpbHxfslTmo7BgvmjZvAH5Z
|
||||
asaewF3wA06biCDJdcSkC9GmFPmN5DS5/Dkjwfj8+dZAttuSKfmQQnypUPaJ2sBu
|
||||
blnJ6INpvYgsEZjV6CFG1EiDJDPu2Zxap8ep0iRMbBBZnpfZTn7SKAcurDJptxin
|
||||
CRclTcdOdi1iSZ35LZW0R2FKNnGL33u1IhxU9HRLw3XuljXCOZ84RLn6M+PBc1eZ
|
||||
suv1TA+Mn111yD3uDv/u/edZ/xeJccF6bYcMvUgRRZh0sgZ0ZT4b0Q6YcQARAQAB
|
||||
tC9Nb3ppbGxhIFNvZnR3YXJlIFJlbGVhc2VzIDxyZWxlYXNlQG1vemlsbGEuY29t
|
||||
PohGBBARAgAGBQJVrP9LAAoJEHYlQD1/DRWxU2QAoOOFRbkbIU1zKP2i3jy/6VKH
|
||||
kYEgAJ9N6f9Gmjm1/vtSrvjjlxWzzQQrkIhGBBARAgAGBQJVrTrjAAoJEMNOV0fi
|
||||
PdZ3BbkAoJUNHEqNv9dioaGMEIpiFtDjEm44AJ9UinMTfAYsL9yb15SdJWe/56VC
|
||||
coheBBARCAAGBQJWBldjAAoJEAJasBBrF+oerNYA/13MQehk3AfkljGi252/cU6i
|
||||
1VOFpCuOeT7lK2c5unGcAP0WZjIDJgaHijtrF4MKCZbUnz37Vxm0OcU8qcGkYUwH
|
||||
i4heBBARCgAGBQJVrSz+AAoJEPCp59zTnkUulAYA/31nYhIpb7sVigone8OvFO19
|
||||
xtkR9/vy5+iKeYCVlvZtAP9rZ85ymuNYNqX06t+ruDqG2RfdUhJ6aD5IND+KD5ve
|
||||
7IkBHAQQAQIABgUCVaz9fgAKCRCzxalYUIpD8muMB/sH58bMSzzF9zTXRropldw7
|
||||
Vbj9VrRD7NyoX4OlDArtvdLqgPm0JUoP2gXINeSuVPpOfC676yVnBEMjIfqEjq09
|
||||
vcbwayS+Ncx4vQh2BmzDUNLE3SlnRn2bEWr9SQL/pOYUDUgmY5a0UIf/WKtBapsP
|
||||
E+Zan51ezYSEfxDNfUpA4T2/9iWwJ2ZOy0yIfLdHyvumuyiekJrfrMaF4L9Q0OnJ
|
||||
wp1PwkvN4IVwhZeYDtIJN4nRcJK5LrwU7B97uef2hqBBll7/qCHl5y4Khb0csFan
|
||||
Ig+pQLPUJdIiYtzoFtlgykB61pxqtU9rqGKW02JzEUT8DdPUXxmMBy6A8oGeBRH/
|
||||
iQEcBBABAgAGBQJVrRdcAAoJEGVzgtv/JREKQJgH/3nD/3/SumL7nG2g7Y1HQqWp
|
||||
hUbn40XWvjZcHq3uBUn1QYXeZ5X56SANLM2t+uirGnNaZXW3cxEl5IyZVLbmcLWE
|
||||
BlVAcp2Bf3FXFbdJK59f+M+y2+jZT9feTyrw+EtLoiGTxgkLdJyMyI0xGmQhMx5V
|
||||
1ex1CxhZK2JPjzCVYriBI0wIbmKi90YNMQoSsdMhYmX9bHl6XWS9TCDWsqj25FLY
|
||||
JL+WeVXpjO0NjRwEE6pc/qldeJYG5Vbf0snGxIerXe+l5D8Yd4PEAnpj58+5pXeo
|
||||
GYZn3WjX8eTFMAEU+QhLKWQ+j/Y8Kijge7fUxnSNBZ2KEnuDN/4Hv/DrCFLv14CJ
|
||||
ARwEEAECAAYFAlWtZVoACgkQ5DJ8bD4CmcBzsAf/RMqDdVHggQHc0/YLt1f/vY9Y
|
||||
7QQ6HwnDrtcNxxErSVcMguD8K6Oxir0TMSh+/YuZAW8K4KSgEURwZqz4na8/eOxj
|
||||
8bluNmlcAseQDHswqU6CyB95Woy3BocihH7L0eDXZOMzsa33vRQHBMioLxIbpnVt
|
||||
VbFR1z7tmyfjcOrzP32xo5QoPoczKX26luMBjAvbw1FC0is2INnmUSYM4uH7iFZu
|
||||
XGPFYxcAqODqy5ys3MoPa4oZ71d0HoiRil1+s0Y+2ByddZ19pE2TXp4ZXNYNUj/2
|
||||
aRj8b4sTjR4rqhHIx/vfoK+VCNy/skFUZOyPdbbymE0stTRSJ1gr9CZLcBWYF4kB
|
||||
HAQQAQIABgUCVcFZcAAKCRCJFz+VfFX5XqApB/938p+CJiDRnh2o7eDWnjSyAu7F
|
||||
WmWGkOQnjI/kraKx1vojsYnKRXD6mjq1QJ8Hsp4taJnLQjcokNTUiST4m/e4ZJEx
|
||||
PWuJKkwlralWGH6NpqYcgWPajSYb0eYQC4YqS0kfyzolrHdKI8Y4NGEU7yy5zsHw
|
||||
WkHt/mpNQMrYnXwyWdIrc03X/OXo51dJyshJDRw3InREyBblFJcLvArNHz219wMr
|
||||
XAicPytw4wfPpVrmDx6GrZcI8q8ECWCjwSXXv7hRpEuFLSy5XPhMc+wYBJjNlUoi
|
||||
FBAF/7zENd3rMn9SCQLiIFYe0ubmO+bpeGy7TizbxOaCIfgUouyy0BQXNuJBiQEc
|
||||
BBABAgAGBQJV0hrqAAoJEK18uZ+CSLoPzEIH/1D6sJMNAJtZCRGhJXvv6SYhv4pU
|
||||
VNyDF9FnUvRsovliojoe4IkuBTWKhPGrxbiD5IO/izr38shqNhhm9JE2/SQZHObY
|
||||
Pi+lyfDKbJgImTNxmS4F7JHnRLr37VxK1sVvuNkynJnqvCcp1g5xwNIx1rKcka3i
|
||||
uqJj6toM8XQfgsTHH1rUkWHbUV3QwNzXm+yhFm2s6QzxBooPzmFn8AY7CXD4pvcM
|
||||
R+M0Zy+e42nngd8lzRnmTBVig4pRq0GCMulFG+XjeVQZFpoIIxo2k1lczbRmGttO
|
||||
NdGWSjxBUxReoTbSwM3C/50NrobycGQgY0gd6LGtWtU8/uEfklEy2NluxYWJARwE
|
||||
EAEIAAYFAlWtAUYACgkQVu5xjc4OFUs0OAf+LM0dyyvUFGdXfJDpP2xMknXzsHAX
|
||||
WFEtH5jein58mv6dD3fTVcCouo1vMQH3WFFSLYZvwtNnHGrSBqFbNKqZ0ATQ5tcY
|
||||
aWsSZ+MVJJMXJDXFG/Oihg1nNOM33VdfV0RGPKP1I4cEROxms3TUFkHW3cSCgMzs
|
||||
8I1OxfSoLrm6da8EN+2ct2InqzdQL2yisyTyrdmXoNpwXDxApKYkvVHQ4+9eJI5m
|
||||
0ZAr0mBjIeJdATcw4/lIVKTrV7UhrChxiffYJcz4SSC1crmr+2Fzw53CyAsAmYal
|
||||
UHep3Yr05oQ4oJRX9X3VrY/yELHwwxXaxCAdwwHbbXAMhZsPk9Mc20J6BokBHAQQ
|
||||
AQgABgUCVa0isQAKCRCj1lIXO3Y+j6ZeB/91Q9/qr5oMWgOMsix8kflBLw2f/t+t
|
||||
RR0SWDw90bG1npJB6nq5Hl+Bz4/A4SWFTFrrrlZi1Enjn1FYBiZuHaSQ/+loYF/2
|
||||
dbQDbBKShfIk3J0lxqfKPAfKopRsEuxckC8YW1thGxt5eQQ8zkJoqBFTBzwiXOj3
|
||||
/ncJkX9q9krgUlfTSVmrT9nx0hjyNQQXrghsmBtpR7WCS7G7vNRGCNUorhtviUvL
|
||||
+ze1F7TTSGspVsVxo2ghmz5WT/cD9MV1gcVjojYmksh5JIl39jCHr9hl8aRId/Of
|
||||
zsN+TKuBcpAxDkm9BCAps7oY8FlLKDFZTtHa000AkodKHT88nwnvKuqPiQEcBBAB
|
||||
CAAGBQJVrTkDAAoJEPbQ92HczOykK9YH/0MARo3HlYXeS2bDqM/lwK/rQcPCCyYk
|
||||
e6wbICjncbCOjgXHqG/lBhClNs7hp/7gqkUaR7H5tmeI4lalP40mSHHnnFvMD3Tc
|
||||
yhn350igK0bgrjWQDaYxhKlHT3vIXd/C24/vRSAxmqIKbP+IoXOyt2GMTQq8GOm2
|
||||
dgYRaTkwyHnGWnMaibctX8D4oCYR0/D4YJqPkfqobf8+1ZfP5GaMbSxE/Jwdo0kJ
|
||||
a4vPjEzFXbygAbncapzdwN6zgel2zh885rz7B7vIpMr/Y7eV85Q68qdyyhLe8cL8
|
||||
Y18YPzpFf+/PZNbgYxouafvnFwBhPQwg0gUF/+1eM3UE2ua+saSTGduJARwEEAEK
|
||||
AAYFAlWtCVsACgkQM0LhtmejiGMovwf8CfYJHNbwiwSMUoP4n7FrmElhBtxvlbnC
|
||||
MZKz08v+lFsfS3wU1LUN69GqirfF0vkQRSlSBp7niCLHQCfSoqHMLgxF0P2xgXLj
|
||||
aYM/t/rxXDawJmW18G04dqFrtCPZTbwMT2PsPHTiWQdaN0e50lXk9Vo+l6VbwQMg
|
||||
4zH7icZadeJgQooxFalHYFVXUVeex9t8/YdanFVrHFa3tao6azBTSUkJvZtIu14S
|
||||
fxigDWIIwsx0xpVfJf3a/xC6HY3Q1a3NeBz3i6DwaK5wYqijZKl0WVdULKyqU98o
|
||||
F6y0mUv3d2o/p07Cqgeo6xxMkHqu83OLa2a0C7tYPLgL4EFc2FtikYkCHAQQAQIA
|
||||
BgUCVaz7KAAKCRCWO3gxCjexfKxrD/4npm1rB7+pPlotbqK37Mur7egPbVSAzVNU
|
||||
/zUKPAuGUeP3C64YN77ETx1kDuS+meAqMDHFc9Bf8HivPbtj6QcK96U5KstbmSh1
|
||||
Ow9YiQtxJgxGjg/CzREgZAFcjy0MhoklyPsFhv07s6MLOJMSM/krEN5nqjifQ0Wd
|
||||
mTk02FLoHVWcLdjfgMiPiSjGbU3k7luvjPyRNzk831szE5mfa74rEYh4TBklse+2
|
||||
uB4DFQ/3oHZ1Sj6OBK6ujmNKQjIP7Cl+jmjr7+QK0OJcRaj/8AckDA5qXTZACh1S
|
||||
2syCDDMnX0V+dTxGCIoWOK+tt9mLohMzpEeD4NIX4qdpbbCRzeYZMHSomyBIsbA6
|
||||
B+/ftDE7W1N0/FtJ9adkkCynKULvh2CH5c5hgOOL22M+2spnywRoeJRUWU7hBM5O
|
||||
UH3JjA4Tu4j/cwp7dD7QzZrzmC9f5LQJ3OelejvVowWPQd3/tky4o1q6wlmFqAcA
|
||||
gtu97UwgBOSR9sJPGDlt1iC91UYAiBQQAA7ya8uXUS84mCQwTlr8j+YrowvEHK4I
|
||||
xpPREytT1LzzV/4Am4ndDFtujy83QjL0qaIIim1xIwoEosd4yidhpczw7f3b9dQp
|
||||
uBIFeQuhM7JsxP4tmE7S6k6GlEmqa3INPVaPGnsUGS7+xSMlcJXLtimPCSQvFma9
|
||||
YiGV5vtLy4kCHAQQAQIABgUCVaz8uAAKCRASy06X4H5n0dg0D/9QoxIh9LRt1jor
|
||||
7OHG4xKUjKiXxn/KeQNlJnxI55dlWIvJEJGheFjaDomzKBYuxmm2Ejx+eV5CHDLU
|
||||
YsLFYwWf8+JGOP75Ueglgr8A0/bdsL63KX6NP2DCg8XR4Z1aeei3WMY7p/qMWpqb
|
||||
QoAv9c3p49Ss2jSNuthWsRR6vbQ9iwze2oaUaA44WKQyhhbCwBU4SHYjlKCLqIBh
|
||||
/HXZFhZ4rDfuWgPBKvYU1nnOPF0jJRCco3Vgx3T9F+LZ3zo5UPt1Xapr3hMVS9ia
|
||||
Jyl1w4z2miApUaZuHPuWKuO4CJ1GF1mS5T6vG8gB3Ts5zdtBF2xQIkCz+SM7vW/2
|
||||
i/82oq6P8EuLHEhrQPR4oTjXIvXdEJ9kgbjqcj8Xk+8teEOnuwh6iEhay9i/bf0D
|
||||
3Jd+roFN5dnWPxhOVjzrI3fwlK1/ylsZYqUYBEzt7Wj0MdhjeKssI5YICcqYXXjB
|
||||
ttMw4B7DZXPFXzz3kHB56jZ/II4YUjpLO85Jo5A9SV+aIqa0mvCt6DvVWy/rhfxf
|
||||
oUdqNlhX11gkVLaA7xxgn/NqPOf+h5hVO2mwWkmart9YHKMZ3ukCdke65ITL/nsY
|
||||
Sm2ZhG7OYjaCfu9jPWtkBstOEWyT9q4JTdViR7wN3eMefEG6rb49rxOYvGJu+cTV
|
||||
kp3SCpl0w1j+tPj4tkj7ENzPMXdnuYkCHAQQAQIABgUCVa0s4gAKCRCKsTKWOgZT
|
||||
euMyEACKOySKAd/xDcPcHg7Prvdws04Z8DIR0dY2qUlbRVx2jTmIXyry63CqbOJF
|
||||
bDg9uk5x0+lSotvrWtZ+NKSrg9VM6vyV4cc2P9rhqIBi3wO2elzAmpOaS2KKOjQ+
|
||||
2fS/xqh91ElJUu09xXQXJ0vMrqgui+zN1YBDiJV0WOmm90Mm2NPiihcWZmBmDorO
|
||||
qMQabwbjBLi0yUVHgAlkilY3mAB4tmEKDeN+4pYSAAhXAll9U+nyoVMgwMJscZya
|
||||
zOp4MqMbmFjyr4p5AGzv+OOJtjtCNKT6oW9Y+URLY0YKeOsPk0v5PlbQCVBlLeSB
|
||||
sNZudKav/Gvo7Mvz5uLTcneBFb+haYIiXO/FQm4uBHkzdNFLgaph81Wzh62AhbtB
|
||||
lfBOj/lbzN3k/xRwo64QU+2Z9GOhFlhjfROquY70FCQcspwNuqCdZybnkdpF2Qrr
|
||||
6Pi0qKR/Xb9Vd7PW0/gKQdwwlYTiDemgA21mYeJrYw873/7U/+kLFRvmPAEX4IOI
|
||||
OEN6XVjxvu78REi6CmXxOoYnH4aRSXDRyi1nsGjB43AtfAMMNCUigDgFP4sUsZAG
|
||||
1RAoxBhOsO/g9S5wx8H3rKITCXDjQh2SYeBwHFcU03EMcyzEQhbZNighN+aRKGIi
|
||||
bteRxISiKU+kcWaHolemeo6wGF87QXEpJaQ2OwIoIxQYvDDmQokCHAQQAQgABgUC
|
||||
Vaz/8QAKCRA/8xuvEEv54t06D/9n1Nyn2QSUN1mXd7pomoaka+I2ogDbQpu9iuFq
|
||||
bkqfcH3UuG8yTKlPp9lYDBs0IEfG85Js6iVxJIultocrcDmOyDkyEsnYbdel/tn3
|
||||
X4yqD8eI6ImRoCE+gnQ3LoEIHuODfJoosM/jAHANs4fsla4/u5CZDXaaq7pYXGiT
|
||||
t7ndsfmLiCa7dAg7bVFfJagsnL/VjlfeWM9nW01rDL9LPxSN4tq7ZKXWZDonFZYJ
|
||||
4unsK/Cn6Pqco4Wb+FUOWCcWt8in1pgeNHZ9WnAgXG999/3iCbbQTLB6uVwY4Ax5
|
||||
P7VApnLVXV6QFVf7bN1DxE8kZk+pfLGcuD1LJSF0skE80M17kAt+iV+fam8EYzeG
|
||||
dG6cY6w+srndaMaq9ddiHIiQkR35SjJAGnrNRj8ooUr/vKOBnFfuwJLA2MOUVPZ8
|
||||
HWB+WXW8qhihw9CXa38Hdt4o5knMGRIyTWEF0TQDtRGQ6hisVBN3OxJRXBj7/QgC
|
||||
G/GoYpweGKcsMU43p57TzbnXVVUytJsLFyexOGNzrUIxgDVPEvTUnNvdAihNZPdb
|
||||
W3YdFkP9pdwOyDpQwebXELUx1kp4ql0laueex4L1v+0a6rDYQeK1gOq5UGY+THRS
|
||||
gB2xsHl5zeryfgnjlUkUlxKuumz+9FI2fRtSpxmWllJkRF2oFMGRuLPGAWe8nHvf
|
||||
gkuGVokCHAQQAQgABgUCVa0bowAKCRCVY0f2+/OkFWKREACZ9TOmzvY6mrfWVEdl
|
||||
dcYPj8cU/1LJhGdbNo5YYMx+A72nchxGXepHA65OEK+f6rFMeZFPwpQPy6Sj3MhT
|
||||
623H/PECfeG87WcLOyJbfc3i9T5jvxS+ztG6abYI2J/50oMvjUWdWkDX3VvdPc0Z
|
||||
Z+KC+oHvx9a/9Yki48m4CEKglgVsrRW/b9AXZQCj07bB0GjQQtkqY/m1Z8m4ttzx
|
||||
fO7OBo/jHNF2An4/4gUDirXNDj0UdB5FYFJaTEUCneIj2x0fk1r4u6na8tINhiZ0
|
||||
M7IgjnDlBD5jwzvwG+3kYE6TnYp9Mfeg2MPC13tp7jrJatLLutrOzvmSVLGLXbkh
|
||||
9w+v+vx7qO3TxZUNlFqTmYs+vI2V/9j7KYV7Ttoind6Io7X9ImnYrvd8JOyVcO38
|
||||
67MplKnrnqHJvFStE+JcHEcw5aRw+WVmoFd/obGc34V3K62T977QQGOkrTYDEdje
|
||||
KADfjXXZkZMZc0IvzLBOJ1XB45+PKqJYCcJJS8Xr55+NGCDaaUPWDpkNGIqmX2n9
|
||||
kYROMKG6uWkZIqG0JlZkga3THSJIvLiy6uoOvDC4GoQ9JnTwpGv6r1Hwcg+4DCOr
|
||||
YKOoPKMMU24vHx2FtRRUgCXtr2cmi2ymHlUrtz8EXS4tblic8lixcbvPUqLEvbJ2
|
||||
gfWQvjXNd1whYE/wfvI9WBTEIokCHAQQAQgABgUCVa0b3wAKCRC8FzAbSRs/IQhX
|
||||
EADiKbCnsN/+Plllxn6SQHACEU75ackx+Q02XiD/u+wUptYUGmJi4aaW9f6mgzed
|
||||
OxYK4S+/dCiFtkcYlL+FjaR0C7G6tMjrDgW+8nQCTPUNQA0gX2B8n06a7Zmdv3Eb
|
||||
V/PIJJwTNSBp/dqKbvPKnRquOOpH+ayZ3awKOq/LlWBErbW1gB+FabN0lCe0iUIQ
|
||||
TF9OH3GC4QsMtIrePueBmVrVPcHATV2Vw9UPqX1uX/tlXm5eai06oVT7V0FwUbg0
|
||||
o1eacblNXvHciHpe33zZIKkGBWwSjDVcU9/SN+U8GfoMYmyCma4iN3KaCklpzBkJ
|
||||
iQZtNKPAB5KJti8LDUxFi2sJd3sqWaZDGFhO+/PKhBKpqIhAzx1ppd11zLgh0eg6
|
||||
gQlXN8D8ELISRvQqGGNNZdChEFdzGElg5SMfmeEd37OaX4wceLLV0v7EA0doHMVo
|
||||
0enFhSwU3YwtwxbiukKc7H/ylG7+jvntjY+z7KktRsY/FkklrbrNhddMBQMMSAQU
|
||||
Uz1GJ+6NUKmzXjqxFuuh3OAhqNzhJyABZWQcNMph+rogEslkenwoHV9gWRWtS3CM
|
||||
ybJkKkbsWpYhMZNY6hFtgCwida7NPs8369v+yTTE6TU/NIlXUKYIf2LMqtOpEBTj
|
||||
aN3jKpUi5DeE3zBeh6iVKUrfCXbt8O0rYQPNWGSW+MZ2t4kCHAQQAQgABgUCVvA4
|
||||
GwAKCRBE9G4UbQI5XfS9D/9XPK7jg0lmsNZ2sDIyeAw5n6ohSR5F20ocTMAVeXqN
|
||||
7VkvJdNpIqHJa13EP408DgTy9BsSptym/OQGE6B82BU7FZTEL6eMHnGGDg+5ktx9
|
||||
+b73xLedzK75ti6ED+QuA4kDYcvW8hASht0zRcmFUzwbtuEopJ1Lk1R3oFLwCAov
|
||||
lhduC45nANWrTK5U+D1U2obl5PAvx+9mEfgvojlGH/C/WD74W+cQZFH7t4+muRza
|
||||
mckLyPftnTxjNF/lpYIm7z0QOwvzBYj+PJ09wYueK00RE5+i9Ff8DrjtVSXsziQv
|
||||
SjJuUlv0kVvM8r3th4zBBNRhA4cinwqxhgqO4G+r2r9Gv0M2nKKOnWmyF+MSIRnh
|
||||
gONOQZe5a7kQxKVWkLicS2IGUpPeQyTWaqZzYXsD+Dm6DXD57vYTURtUkwO0CDON
|
||||
zT5XiS1HG1MZrw+V/Jai4HAvpF5WkTJXPc1Lv75BxJj3wOAw4MzEWCCdr/N/dt5/
|
||||
+ULpEaSQfIg4L4iEj6rvabQyN0KbOxIDx+pPQ81izfj36wIrDqhyCNIdmVH/yARl
|
||||
tkL4XDEl/pt7Y3t6jqFhy057lektowClWcPeq3DoL0LFYnjNPpYvIjRIAXdhaYiA
|
||||
u2ViF8WdGzQ5tFeI7u3PQUG5NcPe+WOPOru3wMMrUhLgLHkCdNkjivP79qIPSTkC
|
||||
GYkCHAQQAQgABgUCVvA48gAKCRC3hu8lqKOJoLRMEACmlyePsyE5CH7JALOWPDjT
|
||||
f+ERbn+JUTKF+QS0XyWclA/BIK8qmGWfgH38T9nocFnkw17D3GP8msv8ll+T4TzW
|
||||
9Kz9+GCUJcHzdsWj99npyeqG5tw+VfJctIBjsnX3mf4N0idvNrkAG5olbpR5UdsY
|
||||
Yz62HstLqxibOg4zWhTyYvO6CjnszZrRJk0TYZON4cXN14WYq2OTrMaElx0My8o1
|
||||
qVBnK58pIRzv72PmvQqUk5ZjhUyp9gxjqqCJDz0hVK61ZuGP6iKK8KCLTfSxeat0
|
||||
5LAbz8aC58qlg5DVktevHOjBgnTa8B7BgJ7bQ9PLMa3lF4H1eSiR9+8ecpzEfGHI
|
||||
LoeIDIYH7z7J/S0mTgV3u5brOMYO+mE9CEfps85tVVoyJrIR8mGEdtE2YmdQpdFz
|
||||
YIYvRfq9tnXZjVsAAsC20Smw0LnjhYzAt9QJwZ9pFMXUTg6lC5xT+6LNrEY+JR3w
|
||||
C16q36bcbCNj0cBv1A3x6OI5OQfpexhLPDgoDiI+qozJIdj8MzJ8W6KU1Z3yb3dq
|
||||
ACk77yv37rGO6uduSHnSti26c/cUIy6XZBbXBdobE9O3tr8hwvTQ1FXBmYnBrdiz
|
||||
U6tgxEA5czRC9HOkdk6y6ocbjmONpF6MxkpJAvTMk7IqC2/hisbV9x4utla+7tmN
|
||||
ZU137QGcaK2AGQablVAy4YkCHAQQAQgABgUCVvCMigAKCRCkhaDtUbi3xAU7D/9g
|
||||
UPZSJ8pbZV9TLaKD57Bc7B78HNV/B438ib4dI33iihMTBHnCB1giPE9X54QoV8AS
|
||||
xrO/xveS1kkj78jERqUcED6ZHhMLb9SWs6CxUKdMdgovnIlFUc+t05D5mb6STi+z
|
||||
NihwO0JI+n79qhETy73WLpC7RR0aMx7zYcbqp3NWPptcf1kVGJZGx+QbEHfVye98
|
||||
T5pkH5Wp+7LSlup6AldQT/oifxdGxLXbECTnwozRvyMpAaphoEHrET1YOmKnmw/J
|
||||
yi6DLpTb3XvSf5Tntzr7HklCEcL9FvYCoHxiXWawLhuPhSyrFYeYtF1ypmzTgaJW
|
||||
yuTZ8sN9J+y7Tbchk/I6FpX+3YoTgPCcC7hv1Krs803N/3KuyBEvhzg7NYRikzO3
|
||||
fxXlBG0RMm+662E7KlERU24izbWhGiYwl34+MaxrIO4oDvF79LEN7y0+SjL4V0B9
|
||||
689d+HI1ZfS9O1xkOlW6y0QyagOzsTOUF12s2mWydFmipbYnIwsSsu6Nzk3yO4M+
|
||||
qYABJXJ3tIFQPTd7xqmPNlJ8mFtmzHDhb3Pv6sRNFLLujYM9cJpuNMbAHWdohz1b
|
||||
jBT9pZQ3zWpll5wotUvGmJd6hTAXdUgmZ7lh7Uq6axClMmiLe1WYntcNpb04PyyE
|
||||
m2+GU5x123UTiSX2LGKa4t+HNSM8nJL8BJiGk80xVIkCHAQQAQoABgUCVa0OAwAK
|
||||
CRDDvTXkbdRdpVR+D/4/37e8WqKOHNPteQu42sj0ZOfcqyVMA9TQ578F0s9MwoQu
|
||||
qfVhXGSWevOctuMv2qTBjBfFjkdPrKR5L4LNAgMsu1epHU0DPcRZUCbh1P7Gpolm
|
||||
Z8KgnjT5Wpl1AcuOCaP08VMrt/e/JndTHp6btn6HsLVtryNhlL7oaeYbDr6/ovHN
|
||||
GHVIVSZgGP9f4Y8FiDpyfKav71vYLBMxtzM7lc3eFT1S10XhSW6k+8S5XldYWkLD
|
||||
riRXDE85C+9QndpOoQaIICp3ye3JVnUxa1qhvsYj9uPt1M6hKiBSoXdplrB+hQc+
|
||||
nqLNN3jxpGdmGmwrjtjqMhocMIguEqgARJOek3XKOppEhu+IcnJgU4edARJNLsBa
|
||||
uiVBWY/6mZOFlZq6H48tVyziS2n/oIpi+aCc/fQeGs9zMTtFUohPfYtTcy9PecXM
|
||||
OYpSu4p4tQ07oucnxfBkRUgTdM5VwX7YwTcRwp9XhHACUEGBhrwMH8Iz+sK2jLF3
|
||||
FhJGkef1vFs0vqSf4I8DBFkYAKF848YyEcGHeINQloi3v0Kr2PpBxlRh+GPWwi++
|
||||
QPKXQFzlTiyVtMzoo/lpmAWUJwj0dbAbH/mohtvWtA1WPHC2JRZ52JLThhpDrK3t
|
||||
//Jdt2WHE91cMx7/2B0PK4O8/j7UVlsOJXpVPsGX5SFCeTB/iS4JtIwWN275zIkC
|
||||
MwQQAQgAHRYhBFnKni0qMx3iUaokJ18Dx2fCR6TVBQJZDvZCAAoJEF8Dx2fCR6TV
|
||||
oGkQAIjqaQ7tpdhDJ6ORNtLIt0TsWg0jg2rpoq+9Au36+UYBMuBJ3Py/tAsZ3cqQ
|
||||
lig7lJiQqOuQZkbg1vcY4Kdad7AGa8Kq3sLn8h2XUlNU90X0KAwdCTA/YXxODlfU
|
||||
CD2hl4vJEoH/FZtfUsaLNHLmz0brKGrWvChq00j5bPfp90KYKqamGb3a4/LG4DHL
|
||||
4lmEBtP++YA0YqUQ3laOvKune2YwSGe4nKRarZnFiIn2OnH9w0vKN/x9IMGEtc5M
|
||||
bQVgGtmT5km3DUuXMDforshue6c7ao4nMOC96ajkWYZhybqHJgLOrEGPVUkOaEe7
|
||||
s1kx4ye9Ph3w/LXEE8Y8VFiZorkA/8PTtx0M9hrCVkDp0w8YTzFJ9DFutrImuPT6
|
||||
+mNIk+0NQeuDsv492m/JXGLw/LRl97TmHpKME+vDd5NBLo4OShlDKHwPszYcpSJT
|
||||
G9+5++csR95al3tWnuGX9V0/dO1s7Mv0f/z07nLB/tL+hEpqqA5aRiGzdx/KOrPZ
|
||||
uhCTyfA3b2wvOblwf4A/E1yO7uzPTuSWnx1E14iZuaCPyZPXEh3XSYCLEnQ05jy5
|
||||
0uGXCDVR+xiE/5i/L3IxyhJk6zn5GOW5b8Taq5s/dFS3zWiFS6l0zQ1VQmJH8jdG
|
||||
LoBFvdVLZoAa1bihLo+nJVPR2RauWnxWoWk1NQoT3l02Lk6DiQI4BBMBAgAiBQJV
|
||||
qUAEAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRBht7Um2Y8DU1CqD/9G
|
||||
vr9Xu4uqsjDHRQWSfI0lqxElmFSRjF0awsPXzM7Q1rxV7dCxik4LeiOmpoVTOmqb
|
||||
oo2/x5d938q7uPdYav2Q+RuNk2CG/LpXku9rgmTE7oszEqQliqKoXajUZ91rw19w
|
||||
rTwYXLgLQvzM3CUAO+Z0yjjfza2Yc0ZtNN+3sF5VpGsT3Fb14aYZDaNg6yPFvkyx
|
||||
p0B1lS4rwgL3lkeVQNHeAf0qqF9tBankGj3bgqK/5/YlTM2usb3x46bVBvwX2t4/
|
||||
NnYM5hEnI57inwamX6SiMJc2e2QmBzAnVrXJETrDL1HOl4GUJ6hC4tL3Yw2d7515
|
||||
BlSyRNkWhhdRp1/q9t1+ovSe48Ip2X2WF5/VA3ATfQhHKa3p+EkIV98VCMZ14x9K
|
||||
IIeBwjyJyFBuvOEEIYZHdsAdqf1zYRtD6m6obcBrRiNfoNsYmNY4joDrVupI96ks
|
||||
IxVpepXaZkQhplZ1mQ4eOdGtToIl1cb/4PibVgFnBgzrR4mQ27h4wzAwWdGweJZ/
|
||||
tuGoqm3C6TwfIganajiPyKqsVFUkRsr9y12EDcfUCUq6D182t/AJ+qE0JIGO73tX
|
||||
TdTbqPTgkyf2etnZQQZum3L7w41NvfxZfn+gLrUGDBXwqLjovDJvt8iZTPPyMTze
|
||||
mOHuzf40Iq+9sf5V9PXZ/5X9+ymE3cTAbAk9MLd9fbkCDQRVqUD0ARAAr/Prvt+m
|
||||
hVSPjNDPSDrTBVZ/7XLaUZvyIVggKa+snJoStrlJGTKKFgDVaYTOE3hP/+0fDdQh
|
||||
97rjr4aRjd4hBbaNj0MzZdoSWYw3yT+/nidufmgPus0TIJMVO8I6rl3vgcfW/D3o
|
||||
vNrLW/LjkTuM9a+p+D1J7woCfMSWiFMmOLPKFT7RBuY8edCVjyA6RP9K9Gj1sURS
|
||||
eqNaHR9Gr4rW10s+FwUHWxxzbmIWqH0gApQYO6vyND5IMcKOBCWQU6Detuq1pQ6d
|
||||
Uc+iF+sEz3Rk3C6d4WBBjtkVJSJ0KKan8Q3gJefOCMNhdRQDjZLwbzr4bgoAkLba
|
||||
BFCjiZxWZ6HAdMfSCV8uZQrtMS7b0DUpY0vdH9Htl3JqOOkK9RorYDQBuPdkTYFI
|
||||
NsmtWVsFV/LmR891mOF3fBRaoVoMeJVwiZyNlFY+dyWWFzLp+GoTLcQtmuR7OkmO
|
||||
cBGxWSKPcZfPqhf4dVQud7bDR2RNfJ1Hqa5kj8Z422sseYDwHf/T9OWWYvLwKGZh
|
||||
lUgpnzO3WCGrd/6EVNeC1mKXt4F7BmADov4Rdcrp1mPXiVt7oIxLaS6eBNf2y1TW
|
||||
zjYj5ZFuKqIukDEJfqpwsE5asnCw56nae+7luGs8em1J9GEXhWzXG15UVyQJaFwu
|
||||
B1iL8l7VcEQz4ABVrSTUWLLAKDsyqUbq2gsAEQEAAYkERAQYAQIADwUCValA9AIb
|
||||
AgUJA8JnAAIpCRBht7Um2Y8DU8FdIAQZAQIABgUCValA9AAKCRAcacTlXpkF2y/F
|
||||
D/oDrZm143Rv9NV9InnVJ0brpqbB7aulFfhR1LDuJ/GjeqGAQgJCZdHlzT2pfCXX
|
||||
swUlYzcWEatvGcDkoaB5Ya2qs+6nhBk8pT6XYRrZAtIlKIGrlCqoSBm9HXguGv+E
|
||||
IaEECr2z/Funx9so0mP+5aJn65M9u3lPmuAonj6DcHoM07WsfsXvQ4ut3fabFmzi
|
||||
lLGeAdEDKIw8Hn3JBUOxUyFrQlOoL4/3qK1TO+cidz/2bATQQyIG2kNOSgHBslU+
|
||||
e6/7sWOQ4ufmzm7dEsf197zPXGdXR88LT+d2uU2K4GkCffNUKxZqy9bXxXPwr4JB
|
||||
jxLDQnDvl50GAWjPZAwXEd8Okwl5+8xp0HuZ217WUqT8ib0oUUfwh2H1vrMPRr/4
|
||||
6i6O6THpCkV8BWF7axPYIibaeYwC4BkjZwK3tIL5ESf2f0xK4hbE3xhMTeqABQHo
|
||||
Xd5rQ7SEaUuX7PlQ59fRs0Cz55vH8/o9zMm0PN6qmZFvRBeqjnklZcu+ZdP9+CMX
|
||||
t81NMuzIK1X7EfpkUoam8YkYkwcCkRvPZrSHLXZFkfnx4jW543dPOfycjnv6hhKy
|
||||
oXD9CBx0ZcOicsYmw9XMilBGD3b8ZdK6RYX4ywKNU6KUdFJjXB88+Ynv6QxDit1e
|
||||
mMCHA1glzV9/k36iYLEIqgWBiwJeUUIcUqzgnBFtN13cyS6oEACUGUiPKbw3IkgG
|
||||
W19ZyS6FBNfgGIGW0Y82Br0KlCyaXnX0R4+4u2h7kfR9NSnhRhsvRnPIkiZATa7D
|
||||
+Ew1nfpsDTnti0c6g/gVw9TC/rCyXkkLztRHVcWEBdvnFJTSp2LeFaHSGbvvZfoI
|
||||
GUzyUzoa1P98NmRIY1cxBoizVf8729/zAaD4fAslxoK/JsjjDvDUrRHtaNZmUle6
|
||||
0Jl/yFFzR3zxb+pJliigoP2rZLt+ipomHJIhoXXWwfkRO9U/egJ8ZUhWEpZvROna
|
||||
Nc9eVct5EBADxL7gHWjlceIz4ndI1eE9AdEZDdUZwOfjmK2DcXjFBfZC+jhJXjY0
|
||||
xh3pPKQz90h9DIkM5WDcJPf6ep+MKSd/3hI2/JmmscQ+alwN6x6g8zDySMo3APA9
|
||||
cUvEFGe0+CepVcNw03jU4faSrHiMXsUuVGbA2kHaYVUfzF5W5GbuHZZlGxoSiq+K
|
||||
+HNG0RJUDa6bkSDvrcJVNw1iUrowP+LLwnNsy5kGuU4evnwcoN1w7LVbTPaq4RIa
|
||||
iqvAD33kiA9q//UNKnK4k81z+hRNaWGliyGpgqh+V7MDIqPfT5TMLdH+ZjTeuLrN
|
||||
S8KBcc2BmUpSwzdUReTqHmgO5peeIcsvO7GNMFWsgucZiAdIVE/zQv+SfP6jhS+r
|
||||
jCPs0eeu5zl8/V+gXFE2wy3jTJEl9bkCDQRZS9m1ARAAvh1Nh4GgjpTFZy7uQRFz
|
||||
5PPXdZTBI+Y4hTpF2heoFzZDI6SLyz64Ooglum3ZglQ9ac+ChTSsO36aw4b22kCM
|
||||
9WDmkcl7wf21fG9o8gJDVjFjDWbwTWREaKjgS6s/Yb8f9gje/BGySojxynTi3zyT
|
||||
UN94q9dhVjfiQ79UzXZdN9FyyIx2YO5tOo09hTWSZg16oxP47Mj1ATaS6UIrQMcM
|
||||
nOp0kuc6SufXPSWsUA+g2lW0dmHgPvIHwUfcjWqT2elF01e9KOFe7im29G6zOS2M
|
||||
Rx8cr6KRg/eNWpHh5aI4quRUhYk4Kw4ohQTbs9ed0YttS4PMK+sq6xHpb28X6Zgr
|
||||
WnelPY9hfwcR4m7Ot3VQUG8JY9/aTlFCoeTgkhop+MCUI+dJeY8depIa0PTzdEmE
|
||||
WRvPhTTv+CUdZ6v4z5LD6FhP+/5c6FCbcIb89Rp5fa53oYV5/KZf+0DUVgmpXFU7
|
||||
J7ZrGgDeU7vIzmwr8kcx0vtsVm1dVwYLACpTaaQPbISQUDM8sEcqKAqD7hWKaxNs
|
||||
b2M85L6q2/rnHq4g46yJzdR3b8EH+V9u+mUi9DIljDwcpvw7ReRQ9wPdDWLynngl
|
||||
IeGImbjYfr324yaIl4vNORAkbsoCkS/qc5v6MvKvYNle5fzb9S9kCbNZmD9c5/bH
|
||||
Pjj9ENeQvzrl2pFh6dc1o5cAEQEAAYkEcgQYAQgAJhYhBBTyZoLQkWzdgeN7bWG3
|
||||
tSbZjwNTBQJZS9m1AhsCBQkDwmcAAkAJEGG3tSbZjwNTwXQgBBkBCAAdFiEE3OrF
|
||||
2WE1uRxOpnKru769uyTG81UFAllL2bUACgkQu769uyTG81UFUw//bW5T7w2k8ukG
|
||||
fpIcm0gB98VgxKenSCmU6N+Ii0DwcNtzW+pmVWl2TbHIXDpvuD69ODWBDMXu6gBk
|
||||
rVzNEsK3uhzGe0tWA+5I7Vke3iEkbll7VRQlIOrw+n5NMvjeuDqKsMt1gMEEdgRK
|
||||
ddYApEAi49vV7XnqkB2lLKfAnf6o/KqPm8MuQ+u0xYanupZCldwdpcx5rybj79Es
|
||||
0iO9Gh/+3qOtR6ubOz3Vn78Lc3y6AP9pmtdOI2QX8foGK4hNmgHSP6uPLh/ERC9N
|
||||
ir0Lc2hoEhHEkQ8CnEaccp70r03VkEQuMJQJPUyRsGZ/gIm0SAm9JJxWHXJk2/5N
|
||||
UN83pHAX0LA4zxtWs4fVW5f8v9eIhFFPTZ4au+/cS9D4GFx4mlY34awcpAzrny2t
|
||||
ntGEejY9HSJv4PuFZCmtyS2q61N9EU8yuBwVM9cp5HntzG+OT4HYugtI6ibehM0S
|
||||
1Roy4ETwT+Ns41ffhCwdYMp8tzdeksQ35s7rkB9OJHj+q2dkGaV0FQb3FutbSpxb
|
||||
P4zk/dLqyxuivdUPHGtf4W/qklxzCWBg0VDFA7PwatmEXRxTjx77RelTY0V7K54d
|
||||
DyVv3Jh2+FzuaQZzzuIhv4gtqHntaqLnYl3h/QNLbOTE3ppvn9RUSR983Bd+M3Qh
|
||||
bbwZrgG1m+hdUZUmji+wbK0wV0xHNEH+4BAAjbVzdNOs7hMvjY1wVDRFjvICVorN
|
||||
dNdU3ELy/9BAoiwOs2+zjDXmsX+3YtdzwKvdpQ24O0TvH4Vo3BkvKkJ75EU7LroA
|
||||
bYQ2423m1MY3eaBslmX7TUJ3XE+k7OZF8AmcftgP4nhC4IQSCtoBc9+ncyGN4da1
|
||||
BpYO7b19tO0/HST8GHSrEcU9bGGdimS2eNkSgybA8wF6K0K9yvrpTNSZ7OBVlzQf
|
||||
En8s70Gyzs/d6C/rTA+defnv3AMaciuINSEdFyfYq4wjt5PikvgceMAAkH/z69xT
|
||||
Ng+6q3FQt/lyK7xX5qPMe2oFyDA1H+Cb/uL7ioo+jXh9gF+0fk8OP2IPzxYhBful
|
||||
pVtgclmOuaekzaKeIv8NFW7GoA9OghziExePxg95OpL/VyQ7PJiAUj1pFovFk5HS
|
||||
6ejVZNEGJ/A5zLc1PBIcr/phu0luqhXAhImsZS6858GWQllWULNWw8bX5Blo8Avc
|
||||
fFVdq9iAK7aHN7g45ZR7Ze6qKHDyFv4XWuE/rj9C2mM/GAstvU0gGmbo6B1mNGMJ
|
||||
uX3Gd3dG8fqFjE77OB2feJyfZ8UeF1nvG1hxlmuD1A5e6/osO9V7kjhXKzM2zSO1
|
||||
1zHQ/5PlUisoUBjJ/QIK4v9RBNGtbRKso5X9Fke692lVgrdggDJ3j2QqMuTo71rA
|
||||
VDLtxerc+GNq0GK5Ag0EXPA56gEQAK3x5otbuNfefm1BD4gJ4Y4EhVvMCdeUf1uN
|
||||
1OqiWUz6KLCR2UE00QaS7v65D11Oh96bpxtJRe6HmQk0vLm1QgbigZku+kCMt0c/
|
||||
zOyWBOCVDKahZJu/ayzimrzGgNunoTnV2SjCTIVK4QtkowUeA+Ilt9hfFCZvASIW
|
||||
Eazj7bWXC0ji1U73OzVdvMkP1e2ibGRxhp494HGkj0metYhQq3vQk9mL9BzE8wba
|
||||
yL9iK2cJVqZxXDxauL5bswAlbdLI2MlSrH9wg6Jvy91lXG91ZEhmZ2RaQU7q+/gi
|
||||
i0QEJ+W3pwPQQjLciOfecMN/n2/vCl1ZeJ2PNWMoXQXyNSJfpL9m4TPiW92i2kKA
|
||||
kaEOZ2LilUJhuZKEpt9+BxIn8FafjAI4co8D5cHvnPM+PXt1xZHwP0Yz+yC6wnLZ
|
||||
9scNw50AM/Kcpbc6TUIQ0kPHsNMPCbZ89Ey63i61IvUUxKXvMENFptw+vWfD7MRG
|
||||
OZKObdH3VrKtD1QqU//g/xeSGNzcUVatFDVDv9KWRSatOpKi5Bw6iUYxrYQ02Co1
|
||||
45jugTnGc+zrhMsDND3Prq7R0dMw4MBLUDoLSXrous9VgahAsOQztZCfvPOcV2cp
|
||||
Haew85SLSYx3Ksb/raIBG02+4XjF2xQCgIq2LfA6xdG5SGJd6Lg3ip2vwhogQgWB
|
||||
gQoq1qrPABEBAAGJBHIEGAEKACYWIQQU8maC0JFs3YHje21ht7Um2Y8DUwUCXPA5
|
||||
6gIbAgUJA8JnAAJACRBht7Um2Y8DU8F0IAQZAQoAHRYhBAl7MTB3rmKgL4TaTfGm
|
||||
Zo+7fVcuBQJc8DnqAAoJEPGmZo+7fVcuilAQAIq/yZi3hoxzSgDblQlcxGKDaVck
|
||||
Oo5kFRK8UWby3peB0bTMV3MWjiCqmN7ryQ3K3126G84yxXCTNSv7kOLsVxy+DBx5
|
||||
TdfmeBamdX8ZxeDv2bm+KKlZR0FGjJn3SiLgPkrp+GWazOZbKIPsoOuN20h0aeMC
|
||||
6mvO2Rz8kGUjCWa7/jQnINHkN/GnbnoOXOwn8cfwtt2Mkb8XRe+1lTBwd59ruYNe
|
||||
0hazOwygmcSgvM6Rm8nXeuElxMdVAiYKXJLej34+ToNN/LgB3TD72cXStmn7z8Zd
|
||||
kaKV+f81cyPR6Vi7laLIIGpquBGSsel5s0pb2PFFxrTZoNLZit/x2Wx47V30Vdk8
|
||||
4FYjENEb75OpGEErwVRbTQOKREOutXlGwiJe2C1Gof6HCScTfeLybz8ooLn+lSXc
|
||||
B/l/68wqxPezWYxfbMD42YtTEkJcvPvRaouhKEjxASP5EuT3K6T3tujsqg1K/rE3
|
||||
Bei0krOnTxUCdU1f9B12ZXpntKehwSz5LpnQvr2wR98yBRoKQfT2Yi3XK7QNp46X
|
||||
t8zaIPdVw7qMn3gODyiWSEGCtkRF7exdHZ9yIW2yofFhz3M/tjIvu89tRDwGiDER
|
||||
8hBk8Z2mcbmlMzQ1Jf+aCQ5YjZUkUN7+s4VN1OT7yYpWcV1pR8cDjyoh5LRXTMwt
|
||||
3g5mStiVbeIq9mmzogAQAJq6KK9Z28q8mAozKLd++JxefiovydXVfqWY4GoOfhtv
|
||||
Q3Sa2mKpd+8b3nT7b2twIlKPqpIxWPxke7BWS2sShZfqWkltbAR1SH7fkOeN8Y5g
|
||||
3yBbxvHQJ/KoTHnRb74MrlaP4v4MvuOAn+Xt0wrEt2OKOSD6/jIjnXqfNFuvHfHv
|
||||
tTyf4fVX1sesN9JwRKevc+1ZLjN7jIOuv1en5grwDtGQhy0fZOjISLGKfy6299rn
|
||||
p0alRqLuAhFn7Ru1ZjQVfqD9VEfDCEsjNOxoW95Aa7MVtdoaQ6FEBKK0q1tCjZ8P
|
||||
f2oAyLGQo5y030D+cDd1lTwGUmPvbnz4/fqNAM6KWvZjtGVNJNlLlpd4A9vAgvAo
|
||||
I1wONXSR56sZKqJXbOSIfS8AlzFWiSf6IyPpU5ozVHLGySAVqtrRW3ci4COeKsRL
|
||||
85W4iSGCl5uYZcE9weotakUO0R0u/pi07BJwTR5hvn9IDdeyYreqDMQDMF9yHCXg
|
||||
+oCGJAB/+1vHkSABRsWbCERyB33ExjnDr7z/kWOhfAdiZ1+MpP2IPtDEXcufKayS
|
||||
gpBAZYEeLAmNoDwtg+milSD3B7TTM11IY1e/Utq70Az/8BOK6wfyIsmPfeh9CHoW
|
||||
+JAbpbdOUs+rH+gjHE2Pls8BDLp1EoHVPGVavhfSlRbG6oF45s+gdL2PTKzEo+u7
|
||||
=xFcH
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
144
mozilla.sh.in
Normal file
144
mozilla.sh.in
Normal file
@ -0,0 +1,144 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# ***** BEGIN LICENSE BLOCK *****
|
||||
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
#
|
||||
# The contents of this file are subject to the Mozilla Public License Version
|
||||
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||
# the License. You may obtain a copy of the License at
|
||||
# http://www.mozilla.org/MPL/
|
||||
#
|
||||
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
# for the specific language governing rights and limitations under the
|
||||
# License.
|
||||
#
|
||||
# The Original Code is mozilla.org Code.
|
||||
#
|
||||
# The Initial Developer of the Original Code is
|
||||
# Netscape Communications Corporation.
|
||||
# Portions created by the Initial Developer are Copyright (C) 1998
|
||||
# the Initial Developer. All Rights Reserved.
|
||||
#
|
||||
# Contributor(s):
|
||||
# Wolfgang Rosenauer <wolfgang.rosenauer@suse.de>
|
||||
# <wr@rosenauer.org>
|
||||
#
|
||||
# Alternatively, the contents of this file may be used under the terms of
|
||||
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
# of those above. If you wish to allow use of your version of this file only
|
||||
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
# use your version of this file under the terms of the MPL, indicate your
|
||||
# decision by deleting the provisions above and replace them with the notice
|
||||
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
# the provisions above, a recipient may use your version of this file under
|
||||
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||
#
|
||||
# ***** END LICENSE BLOCK *****
|
||||
|
||||
##
|
||||
## Usage:
|
||||
##
|
||||
## $ mozilla [args]
|
||||
##
|
||||
## This script is meant to run a mozilla program from the mozilla
|
||||
## rpm installation.
|
||||
##
|
||||
## The script will setup all the environment voodoo needed to make
|
||||
## mozilla work.
|
||||
|
||||
cmdname=`basename $0`
|
||||
|
||||
##
|
||||
## Variables
|
||||
##
|
||||
MOZ_DIST_BIN="%PREFIX"
|
||||
MOZ_DIST_LIB="%PROGDIR"
|
||||
MOZ_APPNAME="%APPNAME"
|
||||
MOZ_PROGRAM="$MOZ_DIST_LIB/$MOZ_APPNAME"
|
||||
|
||||
MOZ_APP_LAUNCHER="$MOZ_DIST_LIB/$MOZ_APPNAME.sh"
|
||||
if [ "$0" = "$MOZ_APP_LAUNCHER" ]; then
|
||||
[ -h "/usr/bin/$MOZ_APPNAME" ] && \
|
||||
_link=$(readlink -f "/usr/bin/$MOZ_APPNAME")
|
||||
if [ "$_link" = "$MOZ_APP_LAUNCHER" ]; then
|
||||
export MOZ_APP_LAUNCHER="/usr/bin/$MOZ_APPNAME"
|
||||
fi
|
||||
else
|
||||
export MOZ_APP_LAUNCHER="/usr/bin/$MOZ_APPNAME"
|
||||
fi
|
||||
|
||||
mozilla_lib=`file $MOZ_PROGRAM`
|
||||
LIB=lib
|
||||
echo $mozilla_lib | grep -q -E 'ELF.64-bit.*(x86-64|S/390|PowerPC|ARM aarch64)' && LIB=lib64
|
||||
|
||||
BROWSER_PLUGIN_DIR=/usr/$LIB/browser-plugins
|
||||
if [ ! -d $BROWSER_PLUGIN_DIR ]; then
|
||||
BROWSER_PLUGIN_DIR=/opt/netscape/plugins
|
||||
fi
|
||||
|
||||
MOZILLA_FIVE_HOME="$MOZ_DIST_LIB"
|
||||
export MOZILLA_FIVE_HOME
|
||||
LD_LIBRARY_PATH=$MOZ_DIST_LIB${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
|
||||
export LD_LIBRARY_PATH
|
||||
|
||||
# needed for SUN Java under Xorg >= 7.2
|
||||
export LIBXCB_ALLOW_SLOPPY_LOCK=1
|
||||
|
||||
##
|
||||
if [ -z "$MOZ_PLUGIN_PATH" ]; then
|
||||
export MOZ_PLUGIN_PATH=$BROWSER_PLUGIN_DIR
|
||||
else
|
||||
# make sure that BROWSER_PLUGIN_DIR is in MOZ_PLUGIN_PATH
|
||||
echo "$MOZ_PLUGIN_PATH" | grep "$BROWSER_PLUGIN_DIR" 2>&1 >/dev/null
|
||||
_retval=$?
|
||||
if [ ${_retval} -ne 0 ]; then
|
||||
export MOZ_PLUGIN_PATH=$MOZ_PLUGIN_PATH:$BROWSER_PLUGIN_DIR
|
||||
fi
|
||||
fi
|
||||
|
||||
# disable Gnome crash dialog (doesn't make sense anyway)
|
||||
export GNOME_DISABLE_CRASH_DIALOG=1
|
||||
|
||||
# enable xinput2 (boo#1032003)
|
||||
# breaks too many things right now (boo#1053959)
|
||||
#export MOZ_USE_XINPUT2=1
|
||||
|
||||
moz_debug=0
|
||||
script_args=""
|
||||
pass_arg_count=0
|
||||
while [ $# -gt $pass_arg_count ]
|
||||
do
|
||||
case "$1" in
|
||||
-d | --debugger)
|
||||
moz_debugger=$2;
|
||||
if [ "${moz_debugger}" != "" ]; then
|
||||
shift 2
|
||||
moz_debug=1
|
||||
else
|
||||
echo "-d requires an argument"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
# Move the unrecognized argument to the end of the list.
|
||||
arg="$1"
|
||||
shift
|
||||
set -- "$@" "$arg"
|
||||
pass_arg_count=`expr $pass_arg_count + 1`
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ $moz_debug -eq 1 ]; then
|
||||
tmpfile=`mktemp /tmp/mozargs.XXXXXX` || { echo "Cannot create temporary file" >&2; exit 1; }
|
||||
trap " [ -f \"$tmpfile\" ] && /bin/rm -f -- \"$tmpfile\"" 0 1 2 3 13 15
|
||||
echo "set args ${1+"$@"}" > $tmpfile
|
||||
echo "run" >> $tmpfile
|
||||
echo "$moz_debugger $MOZ_PROGRAM -x $tmpfile"
|
||||
exec $moz_debugger "$MOZ_PROGRAM" -x $tmpfile
|
||||
else
|
||||
exec $MOZ_PROGRAM "$@"
|
||||
fi
|
2
source-stamp.txt
Normal file
2
source-stamp.txt
Normal file
@ -0,0 +1,2 @@
|
||||
REV=bf6ea738ba073f1a70554799a749235136afc93a
|
||||
REPO=http://hg.mozilla.org/releases/mozilla-release
|
1
spellcheck.js
Normal file
1
spellcheck.js
Normal file
@ -0,0 +1 @@
|
||||
pref("spellchecker.dictionary_path", "/usr/share/myspell");
|
10
tar_stamps
Normal file
10
tar_stamps
Normal file
@ -0,0 +1,10 @@
|
||||
PRODUCT="firefox"
|
||||
CHANNEL="esr68"
|
||||
VERSION="68.1.0"
|
||||
VERSION_SUFFIX="esr"
|
||||
FF_RELEASE_TAG="380fedbb18002297f1b233bd9c09764e59ddaa86"
|
||||
TB_RELEASE_TAG=""
|
||||
PREV_VERSION=""
|
||||
PREV_VERSION_SUFFIX=""
|
||||
#SKIP_LOCALES="" # Uncomment to skip l10n and compare-locales-generation
|
||||
|
Loading…
x
Reference in New Issue
Block a user