They cause differences between the x86-64 and arm64 halves of a
universal build, and are not necessary in release builds.
As a side effect, we now end up normalizing Info.plist contents.
Differential Revision: https://phabricator.services.mozilla.com/D96015
This essentially cribs the equivalent installer conditional elevation.
I elected to guard this behind /S (silent) because it's not obvious to
me that unelevated users will see identical behaviour when not
elevating.
Differential Revision: https://phabricator.services.mozilla.com/D76254
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.
To produce this patch I did all of the following:
1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.
2. Run ./mach lint --linter black --fix
3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.
4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.
5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).
# ignore-this-changeset
Differential Revision: https://phabricator.services.mozilla.com/D94045
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.
To produce this patch I did all of the following:
1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.
2. Run ./mach lint --linter black --fix
3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.
4. Make some ad-hoc manual updates to `testing/marionette/client/setup.py`, `testing/marionette/harness/setup.py`, and `testing/firefox-ui/harness/setup.py`, which have hard-coded regexes that break after the reformat.
5. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).
# ignore-this-changeset
Differential Revision: https://phabricator.services.mozilla.com/D94045
Allow-list all Python code in tree for use with the black linter, and re-format all code in-tree accordingly.
To produce this patch I did all of the following:
1. Make changes to tools/lint/black.yml to remove include: stanza and update list of source extensions.
2. Run ./mach lint --linter black --fix
3. Make some ad-hoc manual updates to python/mozbuild/mozbuild/test/configure/test_configure.py -- it has some hard-coded line numbers that the reformat breaks.
4. Add a set of exclusions to black.yml. These will be deleted in a follow-up bug (1672023).
# ignore-this-changeset
Differential Revision: https://phabricator.services.mozilla.com/D94045
My patch for bug 1665195 included a REBOOTOK flag because I wanted to make
sure the UpdateLogs directory would get deleted even if doing so failed at the
moment. What I didn't realize is that the RmDir instruction will set the reboot
flag if removing the directory fails for any reason whatsoever, even if it's
just because the directory wasn't empty, in which case rebooting wouldn't help.
For some reason I thought there was a check for that condition, but having now
had a look in the NSIS source, there is not.
There's no easy way to check for ourselves whether the directory is empty or
not, so to avoid a spurious reboot prompt from either the installer or the
uninstaller, this patch just gives up on the REBOOTOK flag.
Differential Revision: https://phabricator.services.mozilla.com/D93860
The `clobber` targets are superseded by `mach clobber`, so we don't need them for any reason. The `clean` target is meant to get you to a post-`configure` state, but it doesn't really work, and if it's necessary for you to be in that state for some reason you can just clobber and re-`configure`, so it doesn't seem worth it to get it working again. Instead, delete all of them. Also delete `everything` which is not useful when `clobber` doesn't exist.
Differential Revision: https://phabricator.services.mozilla.com/D93514
Since bug 1510494, when the maintenance service is used, we create update log
and status files inside the service directory and then move them into the
regular update directory when finished. However, the directory those temp
files are stored in did not get added to the uninstallers, so it doesn't
get removed as it should.
This patch has two parts. First, the Firefox uninstaller now removes any log
files created for the installation it's uninstalling (there is only one
directory and the files for different installation are differentiated by name).
Second, the maintenace service uninstaller, when it gets run by the uninstaller
for the last copy of Firefox on the system, removes the UpdateLogs directory
itself, provided it is empty, which is should be at that point since all
installations have been removed and have cleaned up their own files.
Differential Revision: https://phabricator.services.mozilla.com/D85074
This is a rebase of a 7-year-old patch that was r=ted. The main part of
the patch was actually already removed in bug 1389598.
Differential Revision: https://phabricator.services.mozilla.com/D81027
Make default browser agent aware of the package-time locale, and lay the foundation for future localization.
The `locale.ini` file captures the package-time locale. It is equivalent to `update.locale`, except it is formatted as an INI file and is not packaged into the omnijar.
The string are processing is structured to use `LOCALIZED_GENERATED_FILES` in the future, but at this time there's no localization.
Differential Revision: https://phabricator.services.mozilla.com/D73955
Detect a profile for the installation, if found offer refresh on welcome page:
- Replace text
- Add help link and button
Add a different prompt to close the browser for refresh.
When leaving the welcome page:
- via help link, launch a URL
- via Refresh button, launch Firefox with the necessary args
Add utility functions to launch the link and Firefox.
Remove the UN_CONFIRM_CLICK label and hide the subheading, this was an
addition to the design. Move down UN_CONFIRM_PAGE_TITLE to fill in the space.
Move the check for the install-specific profile to common.nsh from stub.nsi,
wrapped in stack ops to save regs and with _MOZFUNC_UN for uninstaller compat.
Move InitHashAppModelId to just after un.UninstallUnOnInitCommon (which sets
$INSTDIR correctly), so AUMID would be available in un.PreWelcome. I don't
think there's anything else that would change $INSTDIR in the uninstaller
so this should be ok.
Unrelated but adjacent cleanup: Remove inappropriate use of _MOZFUNC_UN
in CopyPostSigningData.
Differential Revision: https://phabricator.services.mozilla.com/D76435
At the beginning of the Python 3 migration (circa bug 1602540), we made an update to the interface of `mozpack/files.py` in the direction of aligning with Python 3's built-in `file` support; namely, that opening a file in text mode returns a stream of `str` (text), and that opening a file in binary mode returns a stream of `bytes`. This was deemed to be more trouble than it was worth. This patch undoes all of those changes to the interface in favor of moving back to the Python 2 style, where all files are bytestreams.
Differential Revision: https://phabricator.services.mozilla.com/D75424