Update configure variable verification

This commit is contained in:
NTD 2018-02-28 13:00:52 -05:00 committed by Roy Tam
commit 29b56a9e55
4 changed files with 42 additions and 23 deletions

View file

@ -122,12 +122,18 @@
&warningDesc.version;
</description>
</vbox>
#ifdef MC_PRIVATE_BUILD
<description class="text-blurb" id="communityDesc">
This is a private build of Basilisk. If you did not manually build this copy from source yourself, then please download an official version from the <label class="text-link" href="http://www.basilisk-browser.org/">Basilisk website</label>.
</description>
#else
<description class="text-blurb" id="communityDesc">
Basilisk is community software released by <label class="text-link" href="http://www.palemoon.org/">the Pale Moon team</label> and Mozilla developers. Learn <label class="text-link" useoriginprincipal="true" href="about:credits">who contributed</label> to this software.
</description>
<description class="text-blurb" id="contributeDesc">
Want to help? Please consider <label class="text-link" href="https://www.palemoon.org/donations.shtml">donating</label> or get involved with our <label class="text-link" href="https://github.com/MoonchildProductions/moebius">development</label> of the Unified XUL Platform.
Want to help? Please consider <label class="text-link" href="https://www.palemoon.org/donations.shtml">donating</label> or get involved with our <label class="text-link" href="https://github.com/MoonchildProductions/UXP">development</label> of the Unified XUL Platform.
</description>
#endif
</vbox>
</vbox>
</hbox>

View file

@ -4,11 +4,9 @@
# Imports
from __future__ import print_function, unicode_literals
from collections import OrderedDict
import os
import sys
import json
# Sanity check
if not len(sys.argv) > 1:
@ -19,6 +17,7 @@ if not len(sys.argv) > 1:
listConfigure = sys.argv[1:]
listConfig = []
strBrandingDirectory = ""
listViolations = []
# Build a list of set configure variables
for _value in listConfigure:
@ -33,8 +32,8 @@ for _value in listConfigure:
if ('MOZ_OFFICIAL_BRANDING' in listConfig) or (strBrandingDirectory.endswith("branding/official")) or (strBrandingDirectory.endswith("branding/unstable")):
# Applies to Pale Moon and Basilisk
if ('MC_BASILISK' in listConfig) or ('MC_PALEMOON' in listConfig):
# Define a list of system libs
listSystemLibs = [
listViolations += [
'MOZ_SANDBOX',
'MOZ_SYSTEM_LIBEVENT',
'MOZ_SYSTEM_NSS',
'MOZ_SYSTEM_NSPR',
@ -47,25 +46,17 @@ if ('MOZ_OFFICIAL_BRANDING' in listConfig) or (strBrandingDirectory.endswith("br
'MOZ_SYSTEM_JEMALLOC'
]
# Iterate through system libs and output 1 to DIRECTIVE4 if any are found
for _value in listSystemLibs:
if _value in listConfig:
sys.stdout.write("1")
sys.exit(1)
# Applies only to Pale Moon
# Applies to Pale Moon Only
if 'MC_PALEMOON' in listConfig:
# Define a list of configure features that are in violation of Official branding
listFeatureViolations = [
'MOZ_SANDBOX',
listViolations += [
'MOZ_WEBRTC'
]
# Iterate through features and output 1 to DIRECTIVE4 if any violations are found
for _value in listFeatureViolations:
if _value in listConfig:
sys.stdout.write("1")
sys.exit(1)
# Iterate through enabled violations and output 1 to DIRECTIVE4 if any are found
for _value in listViolations:
if _value in listConfig:
sys.stdout.write("1")
sys.exit(1)
# Exit outputting nothing to DIRECTIVE4 being empty because there are no violations
sys.exit(0)

View file

@ -214,6 +214,7 @@ def old_configure_options(*options):
'--enable-png-arm-neon-support',
'--enable-posix-nspr-emulation',
'--enable-pref-extensions',
'--enable-private-build',
'--enable-pulseaudio',
'--enable-raw',
'--enable-readline',

View file

@ -2628,6 +2628,22 @@ fi
AC_SUBST(MOZ_BRANDING_DIRECTORY)
dnl ========================================================
dnl = Private Build
dnl ========================================================
MOZ_ARG_ENABLE_BOOL(private-build,
[ --enable-private-build Enable private builds
This allows you to build with official
branding for personal use only using any
build time configuration.],
MC_PRIVATE_BUILD=1,
MC_PRIVATE_BUILD=)
AC_SUBST(MC_PRIVATE_BUILD)
if test -n "$MC_PRIVATE_BUILD"; then
AC_DEFINE(MC_PRIVATE_BUILD)
fi
dnl ========================================================
dnl = Distribution ID
dnl ========================================================
@ -5857,7 +5873,8 @@ dnl ========================================================
dnl Directive 4
dnl ========================================================
DIRECTIVE4_LIST="MOZ_OFFICIAL_BRANDING=$MOZ_OFFICIAL_BRANDING
DIRECTIVE4_LIST="
MOZ_OFFICIAL_BRANDING=$MOZ_OFFICIAL_BRANDING
MOZ_BRANDING_DIRECTORY=$MOZ_BRANDING_DIRECTORY
MC_BASILISK=$MC_BASILISK
MC_PALEMOON=$MC_PALEMOON
@ -5877,7 +5894,11 @@ MOZ_SYSTEM_JEMALLOC=$MOZ_SYSTEM_JEMALLOC"
DIRECTIVE4=`$PYTHON $_topsrcdir/build/directive4.py $DIRECTIVE4_LIST`
if test -n "$DIRECTIVE4"; then
AC_ERROR([Branding Violation - Please see: http://www.palemoon.org/redist.shtml])
if test -n "$MC_PRIVATE_BUILD"; then
AC_MSG_WARN([Private Build - The configuration you have chosen to use with official branding deviates from official build configuration. Your build is thus for personal and private use only and must not be (re)distributed - Please see: http://www.palemoon.org/redist.shtml])
else
AC_MSG_ERROR([Branding Violation - Please see: http://www.palemoon.org/redist.shtml])
fi
fi
AC_SUBST(DIRECTIVE4)