Uploaded build for Firefox 61.0.2

This commit is contained in:
aospdeveloper.exeis
2018-12-27 20:36:07 -06:00
parent 408b030a0a
commit d8a11ba03a
13 changed files with 449 additions and 6 deletions

View File

@ -1,5 +1,8 @@
#! /bin/bash
# Firefox 61.0.2 for x86_64-linux-musl
# Required Rustc
patch -Np0 -i ../firefox-61.0.2-fix-fortify-inline.patch
patch -Np0 -i ../firefox-61.0.2-fix-musl.patch
patch -Np0 -i ../firefox-61.0.2-fix-seccomp-bpf.patch
@ -10,22 +13,37 @@ patch -Np0 -i ../firefox-61.0.2-fix-xpcom.patch
patch -Np0 -i ../firefox-61.0.2-mallinfo.patch
patch -Np0 -i ../firefox-61.0.2-rust-unitialized-field.patch
patch -Np0 -i ../firefox-61.0.2-sndio.patch
cp -v ../firefox-61.0.2-stab.h toolkit/crashreporter/google-breakpad/src/stab.h
echo -n "AIzaSyAdkx9XyYrApn72ZXAb7je2ONLqQdPhHZ4" > google-api-key
echo -n "cd894504-7a2a-4263-abff-ff73ee89ffca" > mozilla-api-key
# Please add your own Google and Mozilla API keys:
#echo -n "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" > google-api-key
#echo -n "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" > mozilla-api-key
cp -v ../firefox-61.0.2-mozconfig ./.mozconfig
echo "ac_add_options --disable-jemalloc" >> .mozconfig
echo "ac_add_options --disable-gold" >> .mozconfig
echo "ac_add_options --enable-release" >> .mozconfig
echo "ac_add_options --host=x86_64-linux-musl" >> .mozconfig
echo "ac_add_options --target=x86_64-linux-musl" >> .mozconfig
export LDFLAGS=" -Wl,-rpath=/opt/xorg/lib -Wl,-rpath=/usr/lib/firefox"
export MOZ_MAKE_FLAGS=2
# If commented, add /usr/lib/firefox to /etc/ld-musl-x86_64.path
# export LDFLAGS=" -Wl,-rpath=/usr/lib/firefox"
# Set the number of jobs... just like -j3 for "make -j3"
export MOZ_MAKE_FLAGS=3
cat >> .mozconfig << "EOF"
ac_add_options --with-google-api-keyfile="$PWD/google-api-key"
ac_add_options --with-mozilla-api-keyfile="$PWD/mozilla-api-key"
ac_add_options --enable-startup-notification
EOF
rm -fv old-configure
#./mach build
#./install
# Build
./mach build
# Istall
porg -lD "./mach install"

39
files/firefox-61.0.2-mozconfig Executable file
View File

@ -0,0 +1,39 @@
ac_add_options --prefix=/usr
ac_add_options --libdir=/usr/lib
ac_add_options --with-pthreads
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
ac_add_options --with-system-bz2
ac_add_options --with-system-jpeg
ac_add_options --with-system-zlib
ac_add_options --with-system-libevent
ac_add_options --with-system-libvpx
ac_add_options --with-system-icu
ac_add_options --enable-system-pixman
ac_add_options --enable-system-sqlite
ac_add_options --enable-system-ffi
ac_add_options --with-nspr-prefix=/usr
ac_add_options --with-nss-prefix=/usr
nspr_config_args="
--libdir=/usr/lib
--includedir=/usr/include/nspr"
nss_config_args="
--libdir=/usr/lib
--includedir=/usr/include/nss"
ac_add_options --disable-gconf
ac_add_options --disable-tests
ac_add_options --disable-crashreporter
ac_add_options --disable-updater
ac_add_options --disable-elf-hack
ac_add_options --disable-install-strip
ac_add_options --disable-strip
ac_add_options --disable-profiling
ac_add_options --enable-pie
ac_add_options --enable-official-branding
ac_add_options --enable-application=browser

71
files/firefox-61.0.2-stab.h Executable file
View File

@ -0,0 +1,71 @@
/* $OpenBSD: stab.h,v 1.3 2003/06/02 19:34:12 millert Exp $ */
/* $NetBSD: stab.h,v 1.4 1994/10/26 00:56:25 cgd Exp $ */
/*-
* Copyright (c) 1991 The Regents of the University of California.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 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.
*
* @(#)stab.h 5.2 (Berkeley) 4/4/91
*/
#ifndef _STAB_H_
#define _STAB_H_
/*
* The following are symbols used by various debuggers and by the Pascal
* compiler. Each of them must have one (or more) of the bits defined by
* the N_STAB mask set.
*/
#define N_GSYM 0x20 /* global symbol */
#define N_FNAME 0x22 /* F77 function name */
#define N_FUN 0x24 /* procedure name */
#define N_STSYM 0x26 /* data segment variable */
#define N_LCSYM 0x28 /* bss segment variable */
#define N_MAIN 0x2a /* main function name */
#define N_PC 0x30 /* global Pascal symbol */
#define N_RSYM 0x40 /* register variable */
#define N_SLINE 0x44 /* text segment line number */
#define N_DSLINE 0x46 /* data segment line number */
#define N_BSLINE 0x48 /* bss segment line number */
#define N_SSYM 0x60 /* structure/union element */
#define N_SO 0x64 /* main source file name */
#define N_LSYM 0x80 /* stack variable */
#define N_BINCL 0x82 /* include file beginning */
#define N_SOL 0x84 /* included source file name */
#define N_PSYM 0xa0 /* parameter variable */
#define N_EINCL 0xa2 /* include file end */
#define N_ENTRY 0xa4 /* alternate entry point */
#define N_LBRAC 0xc0 /* left bracket */
#define N_EXCL 0xc2 /* deleted include file */
#define N_RBRAC 0xe0 /* right bracket */
#define N_BCOMM 0xe2 /* begin common */
#define N_ECOMM 0xe4 /* end common */
#define N_ECOML 0xe8 /* end common (local name) */
#define N_LENG 0xfe /* length of preceding entry */
#endif /* !_STAB_H_ */

View File

@ -0,0 +1,11 @@
--- media/webrtc/signaling/src/sdp/sipcc/sdp_os_defs.h
+++ media/webrtc/signaling/src/sdp/sipcc/sdp_os_defs.h
@@ -27,8 +27,5 @@
typedef int16_t int16;
typedef unsigned short ushort;
typedef unsigned long ulong;
-#ifndef __GNUC_STDC_INLINE__
-#define inline
-#endif
#endif /* _SDP_OS_DEFS_H_ */

View File

@ -0,0 +1,11 @@
--- tools/profiler/core/platform.h.orig
+++ tools/profiler/core/platform.h
@@ -56,7 +56,7 @@
// We need a definition of gettid(), but glibc doesn't provide a
// wrapper for it.
-#if defined(__GLIBC__)
+#if defined(__linux__)
#include <unistd.h>
#include <sys/syscall.h>
static inline pid_t gettid()

View File

@ -0,0 +1,14 @@
--- security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc.orig 2015-09-23 09:10:08.812740571 +0200
+++ security/sandbox/chromium/sandbox/linux/seccomp-bpf/trap.cc 2015-09-23 09:11:38.404746155 +0200
@@ -23,6 +23,11 @@
#include "sandbox/linux/services/android_ucontext.h"
#endif
+// musl libc defines siginfo_t __si_fields instead of _sifields
+#if defined(OS_LINUX) && !defined(__GLIBC__)
+#define _sifields __si_fields
+#endif
+
namespace {
struct arch_sigsys {

View File

@ -0,0 +1,79 @@
--- toolkit.orig/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h.orig 2016-07-05 21:00:03.672000517 +0200
+++ toolkit/crashreporter/google-breakpad/src/third_party/lss/linux_syscall_support.h 2016-07-05 21:05:37.347806230 +0200
@@ -1134,6 +1134,12 @@
#ifndef __NR_fallocate
#define __NR_fallocate 285
#endif
+
+#undef __NR_pread
+#define __NR_pread __NR_pread64
+#undef __NR_pwrite
+#define __NR_pwrite __NR_pwrite64
+
/* End of x86-64 definitions */
#elif defined(__mips__)
#if _MIPS_SIM == _MIPS_SIM_ABI32
--- toolkit.orig/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc 2014-03-15 05:19:36.000000000 +0000
+++ toolkit/crashreporter/google-breakpad/src/common/linux/dump_symbols.cc 2014-04-17 10:24:33.793431933 +0000
@@ -45,6 +45,7 @@
#include <sys/mman.h>
#include <sys/stat.h>
#include <unistd.h>
+#include <libgen.h>
#include <iostream>
#include <set>
--- toolkit.orig/crashreporter/google-breakpad/src/common/stabs_reader.cc 2014-03-15 05:19:36.000000000 +0000
+++ toolkit/crashreporter/google-breakpad/src/common/stabs_reader.cc 2014-04-17 10:24:33.793431933 +0000
@@ -41,6 +41,10 @@
#include "common/using_std_string.h"
+#ifndef N_UNDF
+#define N_UNDF 0
+#endif
+
using std::vector;
namespace google_breakpad {
--- toolkit.orig/crashreporter/google-breakpad/src/common/stabs_reader.h 2014-03-15 05:19:36.000000000 +0000
+++ toolkit/crashreporter/google-breakpad/src/common/stabs_reader.h 2014-04-17 10:24:33.793431933 +0000
@@ -55,7 +55,7 @@
#ifdef HAVE_MACH_O_NLIST_H
#include <mach-o/nlist.h>
-#elif defined(HAVE_A_OUT_H)
+#elif 0
#include <a.out.h>
#endif
--- toolkit.orig/mozapps/update/common/updatedefines.h 2014-03-15 05:19:37.000000000 +0000
+++ toolkit/mozapps/update/common/updatedefines.h 2014-04-17 10:24:33.793431933 +0000
@@ -105,7 +105,7 @@
#ifdef SOLARIS
# include <sys/stat.h>
-#else
+#elif !defined(__linux__) || defined(__GLIBC__)
# include <fts.h>
#endif
# include <dirent.h>
--- toolkit.orig/mozapps/update/updater/updater.cpp 2014-03-15 05:19:37.000000000 +0000
+++ toolkit/mozapps/update/updater/updater.cpp 2014-04-17 10:24:33.796765327 +0000
@@ -3432,6 +3432,7 @@
int add_dir_entries(const NS_tchar *dirpath, ActionList *list)
{
int rv = OK;
+#if !defined(__linux__) || defined(__GLIBC__)
FTS *ftsdir;
FTSENT *ftsdirEntry;
NS_tchar searchpath[MAXPATHLEN];
@@ -3534,6 +3535,7 @@
}
fts_close(ftsdir);
+#endif
return rv;
}

View File

@ -0,0 +1,42 @@
--- tools/profiler/core/platform.h
+++ tools/profiler/core/platform.h
@@ -29,6 +29,8 @@
#ifndef TOOLS_PLATFORM_H_
#define TOOLS_PLATFORM_H_
+#include <sys/types.h>
+
#include <stdint.h>
#include <math.h>
#include "MainThreadUtils.h"
--- tools/profiler/lul/LulElf.cpp
+++ tools/profiler/lul/LulElf.cpp
@@ -579,10 +579,10 @@
// Return the non-directory portion of FILENAME: the portion after the
// last slash, or the whole filename if there are no slashes.
string BaseFileName(const string &filename) {
- // Lots of copies! basename's behavior is less than ideal.
- char *c_filename = strdup(filename.c_str());
- string base = basename(c_filename);
- free(c_filename);
+ // basename's behavior is less than ideal so avoid it
+ const char *c_filename = filename.c_str();
+ const char *p = strrchr(c_filename, '/');
+ string base = p ? p+1 : c_filename;
return base;
}
--- tools/profiler/core/platform-linux-android.cpp.orig
+++ tools/profiler/core/platform-linux-android.cpp
@@ -534,9 +534,11 @@
void
Registers::SyncPopulate()
{
+#if defined(__GLIBC__)
if (!getcontext(&sSyncUContext)) {
PopulateRegsFromContext(*this, &sSyncUContext);
}
+#endif
}
#endif

View File

@ -0,0 +1,13 @@
--- media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c.orig 2018-05-09 23:48:44.677389171 +0200
+++ media/webrtc/trunk/webrtc/system_wrappers/source/cpu_features_linux.c 2018-05-09 23:48:56.254373557 +0200
@@ -11,7 +11,9 @@
#include <stdlib.h>
#include <string.h>
#include <features.h>
-#if __GLIBC_PREREQ(2, 16)
+#if !__GLIBC__
+#include <sys/auxv.h>
+#elif __GLIBC_PREREQ(2, 16)
#include <sys/auxv.h>
#else
#include <fcntl.h>

View File

@ -0,0 +1,11 @@
--- xpcom/base/nsMemoryReporterManager.cpp.orig 2015-12-16 11:53:14.211144456 +0100
+++ xpcom/base/nsMemoryReporterManager.cpp 2015-12-16 11:55:26.859476381 +0100
@@ -46,7 +46,7 @@ using namespace mozilla;
# include "mozmemory.h"
#endif // MOZ_MEMORY
-#if defined(XP_LINUX)
+#if defined(XP_LINUX) && defined(__GLIBC__)
#include <malloc.h>
#include <string.h>

View File

@ -0,0 +1,18 @@
--- xpcom/base/nsMemoryReporterManager.cpp
+++ xpcom/base/nsMemoryReporterManager.cpp
@@ -153,6 +153,7 @@ ResidentUniqueDistinguishedAmount(int64_t* aN)
return GetProcSelfSmapsPrivate(aN);
}
+#ifdef __GLIBC__
#define HAVE_SYSTEM_HEAP_REPORTER 1
nsresult
SystemHeapSize(int64_t* aSizeOut)
@@ -172,6 +173,7 @@ SystemHeapSize(int64_t* aSizeOut)
*aSizeOut = size_t(info.hblkhd) + size_t(info.uordblks);
return NS_OK;
}
+#endif
#elif defined(__DragonFly__) || defined(__FreeBSD__) \
|| defined(__NetBSD__) || defined(__OpenBSD__) \

View File

@ -0,0 +1,19 @@
--- ./media/audioipc/audioipc/src/cmsg.rs.orig 2018-05-09 22:19:14.748631939 +0200
+++ ./media/audioipc/audioipc/src/cmsg.rs 2018-05-09 22:19:22.961620862 +0200
@@ -106,11 +106,11 @@ impl ControlMsgBuilder {
return Err(Error::NoSpace);
}
- let cmsghdr = cmsghdr {
- cmsg_len: cmsg_len as _,
- cmsg_level: level,
- cmsg_type: kind,
- };
+ use std::mem;
+ let mut cmsghdr: cmsghdr = unsafe { mem::zeroed() };
+ cmsghdr.cmsg_len = cmsg_len as _;
+ cmsghdr.cmsg_level = level;
+ cmsghdr.cmsg_type = kind;
let cmsghdr = unsafe {
slice::from_raw_parts(&cmsghdr as *const _ as *const _, mem::size_of::<cmsghdr>())

View File

@ -0,0 +1,97 @@
--- old-configure.in.orig
+++ old-configure.in
@@ -2839,6 +2839,22 @@
AC_SUBST(MOZ_ALSA)
+dnl ==================================
+dnl = Check sndio availability
+dnl ==================================
+
+MOZ_ARG_ENABLE_BOOL(sndio,
+[ --enable-sndio Enable sndio support],
+ MOZ_SNDIO=1,
+ MOZ_SNDIO=)
+
+if test -n "$MOZ_SNDIO"; then
+ MOZ_SNDIO_LIBS="-lsndio"
+ AC_SUBST_LIST(MOZ_SNDIO_LIBS)
+fi
+
+AC_SUBST(MOZ_SNDIO)
+
dnl ========================================================
dnl = Disable PulseAudio
dnl ========================================================
--- toolkit/library/moz.build.orig
+++ toolkit/library/moz.build
@@ -235,10 +235,8 @@
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('cocoa', 'uikit'):
OS_LIBS += CONFIG['TK_LIBS']
-if CONFIG['OS_ARCH'] == 'OpenBSD':
- OS_LIBS += [
- 'sndio',
- ]
+if CONFIG['MOZ_SNDIO']:
+ OS_LIBS += CONFIG['MOZ_SNDIO_LIBS']
if CONFIG['MOZ_ENABLE_DBUS']:
OS_LIBS += CONFIG['MOZ_DBUS_GLIB_LIBS']
--- media/libcubeb/src/moz.build.orig
+++ media/libcubeb/src/moz.build
@@ -43,7 +43,7 @@
]
DEFINES['USE_JACK'] = True
-if CONFIG['OS_ARCH'] == 'OpenBSD':
+if CONFIG['MOZ_SNDIO']:
SOURCES += [
'cubeb_sndio.c',
]
--- build/moz.configure/old.configure.orig
+++ build/moz.configure/old.configure
@@ -159,6 +159,7 @@
'--cache-file',
'--datadir',
'--enable-accessibility',
+ '--enable-sndio',
'--enable-bundled-fonts',
'--enable-content-sandbox',
'--enable-cookies',
--- security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp.orig
+++ security/sandbox/linux/broker/SandboxBrokerPolicyFactory.cpp
@@ -349,6 +349,21 @@
}
}
}
+
+#ifdef MOZ_SNDIO
+ // ~/.aucat_cookie (sndio)
+ rv = homeDir->Clone(getter_AddRefs(confDir));
+ if (NS_SUCCEEDED(rv)) {
+ rv = confDir->AppendNative(NS_LITERAL_CSTRING(".aucat_cookie"));
+ if (NS_SUCCEEDED(rv)) {
+ nsAutoCString tmpPath;
+ rv = confDir->GetNativePath(tmpPath);
+ if (NS_SUCCEEDED(rv)) {
+ policy->AddPath(rdwrcr, tmpPath.get());
+ }
+ }
+ }
+#endif
}
// Firefox binary dir.
--- security/sandbox/linux/moz.build.orig
+++ security/sandbox/linux/moz.build
@@ -81,6 +81,9 @@
if CONFIG['MOZ_ALSA']:
DEFINES['MOZ_ALSA'] = True
+if CONFIG['MOZ_SNDIO']:
+ DEFINES['MOZ_SNDIO'] = True
+
# This copy of SafeSPrintf doesn't need to avoid the Chromium logging
# dependency like the one in libxul does, but this way the behavior is
# consistent. See also the comment in SandboxLogging.h.