Firefox
This is me hacking on Firefox. I'm also interested in Thunderbird.
Config
I like to configure Firefox like this:
- about:config
- network.http.sendRefererHeader = 0
- General -> Make default
- Home -> Homepage and new windows: https://start.duckduckgo.com/
- Home -> New tabs: Blank page
- Home -> Firefox Home Content: select none
- Search -> Add search bar in toolbar
- Search -> Default Search Engine: DuckDuckGo
- Search -> Search Suggestions: select none
- Privacy & Security -> Enhanced Tracking Protection: Strict
- Privacy & Security -> Send "Do Not Track": Always
- Privacy & Security -> Address Bar: Search engines: unchecked
- Sync -> Signing with appropriate account
Then add the Menu Bar and Bookmarks Toolbar.
Work
Bug 1610402
I'm working on TAB character width is not a configurable user preference with Emilio Cobos.
View Source tab width.
See here, for -moz-tab-size CSS tip.
See Contributing to the Mozilla code base to get started.
See Firefox Bug Handling for info on P{1..5} priorities.
See this for testing.
Unit test like this:
jj5@jj-dev:/var/export/jj-dev/mozilla/mozilla-unified$ ./mach mochitest toolkit/components/viewsource/test/browser/browser_viewsourceprefs.js
Then create a Mozilla Phabricator account.
Then Linux MozPhab Installation Guide.
See phabricator.
My patch was for:
To submit my patch for review:
jj5@jj-dev:/var/export/jj-dev/mozilla/mozilla-unified$ moz-phab submit --message "static prefs for view_source.{wrap_long_lines,syntax_highlight,tab_size}" --bug 1610402 Failed to find draft commits to submit
To submit my patch for review, take two:
jj5@jj-dev:/var/export/jj-dev/mozilla/mozilla-unified$ hg commit --message "static prefs for view_source.{wrap_long_lines,syntax_highlight,tab_size}" jj5@jj-dev:/var/export/jj-dev/mozilla/mozilla-unified$ moz-phab submit --bug 1610402
Extra modifications:
jj5@jj-dev:/var/export/jj-dev/mozilla/mozilla-unified$ moz-phab --bug 1610402 --reviewer emilio
IRC chat
[00:44] <jj5> emilio_: are you around? [00:53] <jj5> I tried to submit a patch for review like this: moz-phab submit --message "static prefs for view_source.{wrap_long_lines,syntax_highlight,tab_size}" --bug 1610402 [00:53] <firebot> https://bugzil.la/1610402 — ASSIGNED, jj5@progclub.org — Migrate view_source.tab_size to static prefs [00:54] <jj5> but I got this error message: Failed to find draft commits to submit [00:57] <zalun> @jj5 set the message in commit description [00:58] <zalun> The --message is for Phabricator update description [00:58] <zalun> What is your local commit stack? [01:01] <jj5> here's my hg diff command and output: https://www.jj5.net/file/2020-02-21-005912/bug-1610402-diff.txt [01:01] <emilio_> jj5: hey, around now [01:01] <jj5> emilio_: hey [01:01] <emilio_> jj5: Did you run `hg commit`? [01:02] <jj5> emilio_: I ran it the other day and it didn't work. but I seem to be able to run it now... giving that a go. [01:06] <jj5> emilio_: okay, that seems to have worked. thanks! [01:08] <emilio_> jj5: great! You probably need to add a reviewer for that patch. I'm happy to review, or hsivonen should also be able to [01:09] <jj5> emilio_: do I nominated the reviewer in bugzilla or phabricator? [01:11] <jj5> emilio_: I found the setting in phabricator. I've nominated you as the reviewer. [01:17] <emilio_> jj5: great, thanks! [01:22] <jj5> emilio_: thanks to you too! pretty excited I've submitted my first patch. even if it was only 20 lines of code for a P5 priority enhancement... :P [01:25] <emilio_> jj5: I actually just realized that the patch needs some minor changes [01:25] <emilio_> jj5: (the reviewbot comment made me realize that...) [01:25] <jj5> emilio_: okay, cool. what needs doing? [01:26] <emilio_> jj5: remove https://searchfox.org/mozilla-central/source/mobile/android/app/mobile.js#354 and https://searchfox.org/mozilla-central/source/modules/libpref/init/all.js#886 and change the default of wrap_long_lines to `@IS_ANDROID@` [01:39] <jj5> as in: pref("view_source.wrap_long_lines", @IS_ANDROID@); .. ? [01:39] <emilio_> jj5: no, as in remove those lines and make the yaml file have `value: @IS_ANDROID@` [01:40] <jj5> emilio_: got it. [02:14] <jj5> emilio_: my apologies, but my internet is unstable. it has been dropping out. I may have missed messages from you. [02:15] <emilio_> jj5: no, no worries. I commented on phabricator. There should be one revision instead of two, other than that your patch looks great [02:18] <jj5> emilio_: so I should use hg histedit to create one patch, commit that, then resubmit with moz-phab? [02:18] <jj5> emilio_: I will need to RTFM for hg histedit [02:19] <emilio_> jj5: hg histedit should allow you to merge the second patch in the first one (much like `git commit --fixup`) [02:20] <emilio_> jj5: then `moz-phab` should update the first revision with the changes from both [02:21] <jj5> emilio_: when I run moz-phab should I specify --bug and --reviewer? [02:21] <emilio_> jj5: you don't need to if your commit message has a bug number / reviewer [02:22] <jj5> emilio_: okay, thanks [02:27] <jj5> emilio_: I ran `hg help histedit | grep merge` -- but there is no merge option. there is 'pick', 'drop', 'mess', 'fold', 'roll', 'edit' and 'base'... [02:29] <emilio_> jj5: roll [02:29] <emilio_> jj5: roll is what you want* [02:29] <jj5> emilio_: oh. I used 'pick' for #0 and 'fold' for #1 -- have I messed it up..? [02:30] <emilio_> jj5: seems that should be fine, it fold is pretty similar to roll, just overriding the message / date [02:31] <emilio_> jj5: you can check with `hg export` though [02:31] <emilio_> jj5: your update looks great :) [02:32] <jj5> emilio_: lol. thanks. but it's embarrassingly simple... :P [02:33] <jj5> emilio_: thanks very much for your help. I will have a look for another bug to work on some time. [02:43] <emilio_> jj5: np, thanks for the patch! And let me know if you need anything else
Notes
Links
Building etc
Get the latest code with:
jj5@jj-dev:/var/export/jj-dev/mozilla/mozilla-unified$ time hg pull
Build with:
jj5@jj-dev:/var/export/jj-dev/mozilla/mozilla-unified$ time ./mach build
Run with:
jj5@jj-dev:/var/export/jj-dev/mozilla/mozilla-unified$ ./mach run
visit_type
In the places.sqlite database in the moz_historyvisits table is a 'visit_type' column. To determine what the values mean see:
jj5@jj-dev:~/desktop/mozilla-unified$ vim toolkit/components/places/nsINavHistoryService.idl
They are:
Value | Name | Comment |
---|---|---|
1 | TRANSITION_LINK | This transition type means the user followed a link and got a new toplevel window. |
2 | TRANSITION_TYPED | This transition type means that the user typed the page's URL in the URL bar or selected it from URL bar autocomplete results, clicked on it from a history query (from the History sidebar, History menu, or history query in the personal toolbar or Places organizer. |
3 | TRANSITION_BOOKMARK | This transition is set when the user followed a bookmark to get to the page. |
4 | TRANSITION_EMBED | This transition type is set when some inner content is loaded. This is true of all images on a page, and the contents of the iframe. It is also true of any content in a frame if the user did not explicitly follow a link to get there. |
5 | TRANSITION_REDIRECT_PERMANENT | Set when the transition was a permanent redirect. |
6 | TRANSITION_REDIRECT_TEMPORARY | Set when the transition was a temporary redirect. |
7 | TRANSITION_DOWNLOAD | Set when the transition is a download. |
8 | TRANSITION_FRAMED_LINK | This transition type means the user followed a link and got a visit in a frame. |
9 | TRANSITION_RELOAD | This transition type means the page has been reloaded. |
bootstrap.py
These are my notes from downloading and running the bootstrap.py script.
jj5@jj-dev:~$ uname -m x86_64
jj5@jj-dev:~$ python --version Python 2.7.17
jj5@jj-dev:~$ python3 --version Python 3.6.9
jj5@jj-dev:~$ df -h Filesystem Size Used Avail Use% Mounted on udev 1.9G 0 1.9G 0% /dev tmpfs 394M 1.1M 393M 1% /run /dev/sda1 98G 16G 78G 18% / tmpfs 2.0G 177M 1.8G 9% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup tmpfs 394M 12K 394M 1% /run/user/1000
jj5@jj-dev:~$ mkdir /var/export/jj-dev/src jj5@jj-dev:~$ ln -s /var/export/jj-dev/src . jj5@jj-dev:~$ cd src
jj5@jj-dev:~/src$ vim get-bootstrap.py.sh jj5@jj-dev:~/src$ chmod +x get-bootstrap.py.sh jj5@jj-dev:~/src$ ./get-bootstrap.py.sh --2020-01-20 06:15:58-- https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py Resolving hg.mozilla.org (hg.mozilla.org)... 63.245.208.203 Connecting to hg.mozilla.org (hg.mozilla.org)|63.245.208.203|:443... connected. HTTP request sent, awaiting response... 200 Script output follows Length: 7064 (6.9K) [text/x-python] Saving to: 'bootstrap.py’ bootstrap.py 100%[=========================>] 6.90K --.-KB/s in 0s 2020-01-20 06:16:00 (45.5 MB/s) - 'bootstrap.py’ saved [7064/7064]
jj5@jj-dev:~/src$ ll total 20K drwxrwxr-x 2 jj5 jj5 4.0K Jan 20 06:16 ./ drwxr-xr-x 6 jj5 jj5 4.0K Jan 20 06:14 ../ -rw-rw-r-- 1 jj5 jj5 6.9K Jan 20 06:16 bootstrap.py -rwxrwxr-x 1 jj5 jj5 107 Jan 20 06:15 get-bootstrap.py.sh*
jj5@jj-dev:~/src$ chmod +x bootstrap.py jj5@jj-dev:~/src$ ./bootstrap.py Note on Artifact Mode: Artifact builds download prebuilt C++ components rather than building them locally. Artifact builds are faster! Artifact builds are recommended for people working on Firefox or Firefox for Android frontends, or the GeckoView Java API. They are unsuitable for those working on C++ code. For more information see: https://developer.mozilla.org/en-US/docs/Artifact_builds. Please choose the version of Firefox you want to build: 1. Firefox for Desktop Artifact Mode 2. Firefox for Desktop 3. GeckoView/Firefox for Android Artifact Mode 4. GeckoView/Firefox for Android Your choice: 2 Executing as root: sudo apt-get install autoconf2.13 build-essential nodejs python-dev python-pip python-setuptools unzip uuid zip Reading package lists... Done Building dependency tree Reading state information... Done build-essential is already the newest version (12.4ubuntu1). unzip is already the newest version (6.0-21ubuntu1). zip is already the newest version (3.0-11build1). nodejs is already the newest version (8.10.0~dfsg-2ubuntu0.4). The following additional packages will be installed: libexpat1-dev libossp-uuid16 libpython-all-dev libpython-dev libpython2.7-dev python-all python-all-dev python-asn1crypto python-cffi-backend python-crypto python-cryptography python-idna python-ipaddress python-keyring python-keyrings.alt python-pip-whl python-secretstorage python-wheel python-xdg python2.7-dev Suggested packages: gnu-standards python-crypto-doc python-cryptography-doc python-cryptography-vectors gir1.2-gnomekeyring-1.0 python-fs python-gdata python-keyczar python-secretstorage-doc python-setuptools-doc The following NEW packages will be installed: autoconf2.13 libexpat1-dev libossp-uuid16 libpython-all-dev libpython-dev libpython2.7-dev python-all python-all-dev python-asn1crypto python-cffi-backend python-crypto python-cryptography python-dev python-idna python-ipaddress python-keyring python-keyrings.alt python-pip python-pip-whl python-secretstorage python-setuptools python-wheel python-xdg python2.7-dev uuid 0 to upgrade, 25 to newly install, 0 to remove and 0 not to upgrade. Need to get 31.8 MB of archives. After this operation, 52.9 MB of additional disk space will be used. Do you want to continue? [Y/n]
...
Executing as root: sudo apt-get install libasound2-dev libcurl4-openssl-dev libdbus-1-dev libdbus-glib-1-dev libgtk-3-dev libgtk2.0-dev libpulse-dev libx11-xcb-dev libxt-dev python-dbus xvfb yasm Reading package lists... Done Building dependency tree Reading state information... Done libxt-dev is already the newest version (1:1.1.5-1). libxt-dev set to manually installed. python-dbus is already the newest version (1.2.6-1). The following additional packages will be installed: gir1.2-gtk-2.0 libatk-bridge2.0-dev libatk1.0-dev libatspi2.0-dev libcairo-script-interpreter2 libcairo2-dev libdrm-dev libegl1-mesa-dev libepoxy-dev libfontconfig1-dev libfreetype6-dev libgdk-pixbuf2.0-dev libgles1 libglvnd-core-dev libglvnd-dev libopengl0 libpango1.0-dev libpixman-1-dev libpng-dev libpng-tools libwayland-bin libwayland-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-shm0-dev libxcb-sync-dev libxcb-xfixes0-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxrender-dev libxshmfence-dev libxtst-dev libxxf86vm-dev mesa-common-dev wayland-protocols x11proto-composite-dev x11proto-damage-dev x11proto-fixes-dev x11proto-input-dev x11proto-randr-dev x11proto-record-dev x11proto-xext-dev x11proto-xf86vidmode-dev x11proto-xinerama-dev Suggested packages: libasound2-doc libcairo2-doc libcurl4-doc libidn11-dev libkrb5-dev libldap2-dev librtmp-dev libssh2-1-dev libgtk-3-doc libgtk2.0-doc libpango1.0-doc libwayland-doc libxext-doc The following NEW packages will be installed: gir1.2-gtk-2.0 libasound2-dev libatk-bridge2.0-dev libatk1.0-dev libatspi2.0-dev libcairo-script-interpreter2 libcairo2-dev libcurl4-openssl-dev libdbus-1-dev libdbus-glib-1-dev libdrm-dev libegl1-mesa-dev libepoxy-dev libfontconfig1-dev libfreetype6-dev libgdk-pixbuf2.0-dev libgles1 libglvnd-core-dev libglvnd-dev libgtk-3-dev libgtk2.0-dev libopengl0 libpango1.0-dev libpixman-1-dev libpng-dev libpng-tools libpulse-dev libwayland-bin libwayland-dev libx11-xcb-dev libxcb-dri2-0-dev libxcb-dri3-dev libxcb-glx0-dev libxcb-present-dev libxcb-randr0-dev libxcb-render0-dev libxcb-shape0-dev libxcb-shm0-dev libxcb-sync-dev libxcb-xfixes0-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxkbcommon-dev libxrandr-dev libxrender-dev libxshmfence-dev libxtst-dev libxxf86vm-dev mesa-common-dev wayland-protocols x11proto-composite-dev x11proto-damage-dev x11proto-fixes-dev x11proto-input-dev x11proto-randr-dev x11proto-record-dev x11proto-xext-dev x11proto-xf86vidmode-dev x11proto-xinerama-dev xvfb yasm 0 to upgrade, 67 to newly install, 0 to remove and 0 not to upgrade. Need to get 12.4 MB of archives. After this operation, 69.9 MB of additional disk space will be used. Do you want to continue? [Y/n]
...
You do not have Mercurial installed Mercurial releases a new version every 3 months and your distro's package may become out of date. This may cause incompatibility with some Mercurial extensions that rely on new Mercurial features. As a result, you may not have an optimal version control experience. To have the best Mercurial experience possible, we recommend installing Mercurial via the "pip" Python packaging utility. This will likely result in files being placed in /usr/local/bin and /usr/local/lib. How would you like to continue? 1. Install a modern Mercurial via pip (recommended) 2. Install a legacy Mercurial via apt 3. Do not install Mercurial Your choice: 1
Executing as root: sudo pip install --upgrade Mercurial The directory '/home/jj5/.cache/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. The directory '/home/jj5/.cache/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. Collecting Mercurial Downloading https://files.pythonhosted.org/packages/f7/25/f0dba6943dfead28c07e0356f627cf4cd98842c6760593f1ea4115097ead/mercurial-5.2.2.tar.gz (7.3MB) 100% |████████████████████████████████| 7.3MB 264kB/s Installing collected packages: Mercurial Running setup.py install for Mercurial ... done Successfully installed Mercurial-5.2.2 Your version of Python (2.7.17) is new enough. Could not find a Rust compiler. Will try to install Rust. Downloading rustup-init... Ok Running rustup-init... info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu' info: latest update on 2019-12-19, rust version 1.40.0 (73528e339 2019-12-16) info: downloading component 'rustc' 57.8 MiB / 57.8 MiB (100 %) 10.9 MiB/s ETA: 0 s info: downloading component 'rust-std' 18.5 MiB / 18.5 MiB (100 %) 11.0 MiB/s ETA: 0 s info: downloading component 'cargo' info: downloading component 'rust-docs' 11.9 MiB / 11.9 MiB (100 %) 10.9 MiB/s ETA: 0 s info: installing component 'rustc' info: installing component 'rust-std' info: installing component 'cargo' info: installing component 'rust-docs' info: default toolchain set to 'stable' stable installed - rustc 1.40.0 (73528e339 2019-12-16) Rust installation complete. You should now have rustc and cargo in /home/jj5/.cargo/bin The installer tries to add these to your default shell PATH, so restarting your shell and running this script again may work. If it doesn't, you'll need to add the new command location manually. If restarting doesn't work, edit your shell initialization script, which may be called ~/.bashrc or ~/.bash_profile or ~/.profile, and add the following line: source /home/jj5/.cargo/env Then restart your shell and run the bootstrap script again. The Firefox build system and related tools store shared, persistent state in a common directory on the filesystem. On this machine, that directory is: /home/jj5/.mozbuild If you would like to use a different directory, hit CTRL+c and set the MOZBUILD_STATE_PATH environment variable to the directory you'd like to use and re-run the bootstrapper. Would you like to create this directory? (Yn): Y
Firefox can be cloned using either Git or Mercurial. Please choose the VCS you want to use: 1. Mercurial 2. Git Your choice: 1
Mozilla recommends a number of changes to Mercurial to enhance your experience with it. Would you like to run a configuration wizard to ensure Mercurial is optimally configured? (Yn): y
================================================================================ Ensuring https://hg.mozilla.org/hgcustom/version-control-tools is up to date at /home/jj5/.mozbuild/version-control-tools applying clone bundle from https://hg.cdn.mozilla.net/hgcustom/version-control-tools/548ae9caadb16ff054d1753cc5f4b34055c9821e.zstd.hg adding changesets adding manifests adding file changes added 7436 changesets with 17866 changes to 2906 files finished applying clone bundle searching for changes no changes found 7436 local changesets published 1426 files updated, 0 files merged, 0 files removed, 0 files unresolved (activating bookmark @) ================================================================================ This wizard will guide you through configuring Mercurial for an optimal experience contributing to Mozilla projects. The wizard makes no changes without your permission. To begin, press the enter/return key. You don't have a username defined in your Mercurial config file. In order to author commits, you'll need to define a name and e-mail address. This data will be publicly available when you send commits/patches to others. If you aren't comfortable giving us your full name, pseudonames are acceptable. (Relevant config option: ui.username) What is your name? John Elliot V What is your e-mail address? jj5@jj5.net setting ui.username=John Elliot V <jj5@jj5.net> Mercurial has implemented some functionality behind ui.tweakdefaults config, that most users would like by default, but would break some workflows due to backwards compatibility issues. You can find more info by running: $ hg help config.ui and checking the "tweakdefaults" section. Would you like to enable these features (Yn)? y Mercurial is not configured to produce diffs in a more readable format. Would you like to change this (Yn)? y Mercurial can provide richer terminal interactions for some operations by using the popular "curses" library. Would you like to enable "curses" interfaces (Yn)? y Various extensions provide functionality to rewrite repository history. These enable more powerful - and often more productive - workflows. If history rewriting is enabled, the following extensions will be enabled: absorb `hg absorb` automatically squashes/folds uncommitted changes in the working directory into the appropriate previous changeset. Learn more at https://gregoryszorc.com/blog/2018/11/05/absorbing-commit-changes-in-mercurial-4.8/. histedit `hg histedit` allows interactive editing of previous changesets. It presents you a list of changesets and allows you to pick actions to perform on each changeset. Actions include reordering changesets, dropping changesets, folding multiple changesets together, and editing the commit message for a changeset. rebase `hg rebase` allows re-parenting changesets from one "branch" of a DAG to another. The command is typically used to "move" changesets based on an older changeset to be based on the newest changeset. Would you like to enable these history editing extensions (Yn)? y The evolve extension is a Mercurial extension for faster and safer mutable history. It implements the changeset evolution concept for Mercurial, allowing for safe and simple history re-writing. It includes some new commands such as fold, prune and amend which may improve your user experience with Mercurial. The evolve extension is recommended for working with Firefox repositories. More information about changeset evolution can be found by running: $ hg help evolution as well as: $ hg help -e evolve once the `evolve` extension is enabled. (Relevant config option: extensions.evolve) Would you like to enable the evolve extension? (Yn) y adding changesets adding manifests adding file changes added 4617 changesets with 9472 changes to 471 files new changesets bbeef801409c:3947964a4ce7 updating to branch stable 312 files updated, 0 files merged, 0 files removed, 0 files unresolved Evolve was downloaded successfully. The "watchman" filesystem watching tool could not be found or isn't working. Mercurial can leverage "watchman" to make many operations (like `hg status` and `hg diff`) much faster. Mozilla *highly* recommends installing "watchman" when working with the Firefox repository. Please see https://facebook.github.io/watchman/docs/install.html for instructions on installing watchman. Please ensure `watchman` is available on PATH (you should be able to run `watchman` from your shell). Enable logging of commands to help diagnose bugs and performance problems (Yn) y Enable the shelve feature. Equivalent to git stash (Yn) y The firefoxtree extension makes interacting with the multiple Firefox repositories easier: * Aliases for common trees are pre-defined. e.g. `hg pull central` * Pulling from known Firefox trees will create "remote refs" appearing as tags. e.g. pulling from fx-team will produce a "fx-team" tag. * The `hg fxheads` command will list the heads of all pulled Firefox repos for easy reference. * `hg push` will limit itself to pushing a single head when pushing to Firefox repos. * A pre-push hook will prevent you from pushing multiple heads to known Firefox repos. This acts quicker than a server-side hook. The firefoxtree extension is *strongly* recommended if you: a) aggregate multiple Firefox repositories into a single local repo b) perform head/bookmark-based development (as opposed to mq) (Relevant config option: extensions.firefoxtree) Would you like to activate firefoxtree (Yn)? y The "clang-format" extension provides execution of clang-format at the commit steps. It relies on ./mach clang-format directly. Would you like to activate clang-format (Yn)? y The "js-format" extension provides execution of eslint+prettier at the commit steps. It relies on ./mach eslint --fix directly. Would you like to activate js-format (Yn)? y It is common to want a quick view of changesets that are in progress. The ``hg wip`` command provides such a view. Example Usage: $ hg wip @ 5887 armenzg tip @ Bug 1313661 - Bump pushlog_client to 0.6.0. r=me : o 5885 glob mozreview: Improve the error message when pushing to a submitted/discarded review request (bug 1240725) r?smacleod : o 5884 glob hgext: Support line breaks in hgrb error messages (bug 1240725) r?gps :/ o 5883 mars mozreview: add py.test and demonstration tests to mozreview (bug 1312875) r=smacleod : o 5881 glob autoland: log mercurial commands to autoland.log (bug 1313300) r?smacleod :/ o 5250 gps ansible/docker-hg-web: set USER variable in httpd process | ~ (Not shown are the colors that help denote the state each changeset is in.) (Relevant config options: alias.wip, revsetalias.wip, templates.wip) Would you like to install the `hg wip` alias (Yn)? y The ``hg smart-annotate`` command provides experimental support for viewing the annotate information while skipping certain changesets, such as code-formatting changes. Would you like to install the `hg smart-annotate` alias (Yn)? y Will you be submitting commits to Mozilla (Yn)? n The push-to-try extension generates a temporary commit with a given try syntax and pushes it to the try server. The extension is intended to be used in concert with other tools generating try syntax so that they can push to try without depending on mq or other workarounds. (Relevant config option: extensions.push-to-try) Would you like to activate push-to-try (Yn)? y Your config file needs updating. Would you like to see a diff of the changes first (Yn)? y --- hgrc.old +++ hgrc.new @@ -0,0 +1,41 @@ +[ui] +username = John Elliot V <jj5@jj5.net> +tweakdefaults = true +interface = curses +[diff] +git = true +showfunc = true +[extensions] +absorb = +histedit = +rebase = +evolve = /home/jj5/.mozbuild/evolve/hgext3rd/evolve +blackbox = +shelve = +firefoxtree = /home/jj5/.mozbuild/version-control-tools/hgext/firefoxtree +clang-format = /home/jj5/.mozbuild/version-control-tools/hgext/clang-format +js-format = /home/jj5/.mozbuild/version-control-tools/hgext/js-format +push-to-try = /home/jj5/.mozbuild/version-control-tools/hgext/push-to-try +[rebase] +experimental.inmemory = yes +[alias] +wip = log --graph --rev=wip --template=wip +smart-annotate = annotate -w --skip ignored_changesets +[revsetalias] +wip = (parents(not public()) or not public() or . or (head() and branch(default))) and (not obsolete() or orphan()^) and not closed() and not (fxheads() - date(-90)) +ignored_changesets = desc("ignore-this-changeset") or extdata(get_ignored_changesets) +[templates] +wip = '{label("wip.branch", if(branches,"{branches} "))}{label(ifeq(graphnode,"x","wip.obsolete","wip.{phase}"),"{rev}:{node|short}")}{label("wip.user", " {author|user}")}{label("wip.tags", if(tags," {tags}"))}{label("wip.tags", if(fxheads," {fxheads}"))}{if(bookmarks," ")}{label("wip.bookmarks", if(bookmarks,bookmarks))}{label(ifcontains(rev, revset("parents()"), "wip.here"), " {desc|firstline}")}' +[color] +wip.bookmarks = yellow underline +wip.branch = yellow +wip.draft = green +wip.here = red +wip.obsolete = none +wip.public = blue +wip.tags = yellow +wip.user = magenta +[experimental] +graphshorten = true +[extdata] +get_ignored_changesets = shell:cat `hg root`/.hg-annotate-ignore-revs 2> /dev/null || true Write changes to hgrc file (Yn)? y Your hgrc file is currently readable by others. Sensitive information such as your Bugzilla credentials could be stolen if others have access to this file/machine. Would you like to fix the file permissions (Yn) y Changing permissions of /home/jj5/.hgrc If you would like to clone the mozilla-unified Mercurial repository, please enter the destination path below. Destination directory for Mercurial clone (leave empty to not clone): /var/export/jj-dev/mozilla-unified Cloning Firefox Mercurial repository to /var/export/jj-dev/mozilla-unified pulling from https://hg.mozilla.org/mozilla-unified applying clone bundle from https://hg.cdn.mozilla.net/mozilla-unified/e9a3c8df0fc53e02d6fdd72f0a30e2fa88583077.zstd-max.hg adding changesets adding manifests adding file changes added 571804 changesets with 3532701 changes to 552550 files (+12 heads) finished applying clone bundle searching for changes adding changesets adding manifests adding file changes updated firefox tree tag aurora updated firefox tree tag autoland updated firefox tree tag beta updated firefox tree tag central updated firefox tree tag esr10 updated firefox tree tag esr17 updated firefox tree tag esr24 updated firefox tree tag esr31 updated firefox tree tag esr38 updated firefox tree tag esr45 updated firefox tree tag esr52 updated firefox tree tag esr60 updated firefox tree tag esr68 updated firefox tree tag fx-team updated firefox tree tag inbound updated firefox tree tag release added 12 changesets with 45 changes to 36 files new changesets 615d4ace089d:06b1d6b38002 571804 local changesets published (run 'hg update' to get a working copy) updating to "central" - the development head of Gecko and Firefox (warning: large working directory being used without fsmonitor enabled; enable fsmonitor to improve performance; see "hg help -e fsmonitor") 285730 files updated, 0 files merged, 0 files removed, 0 files unresolved Firefox source code available at /var/export/jj-dev/mozilla-unified Build system telemetry Mozilla collects data about local builds in order to make builds faster and improve developer tooling. To learn more about the data we intend to collect read here: https://firefox-source-docs.mozilla.org/build/buildsystem/telemetry.html. If you have questions, please ask in #build in irc.mozilla.org. If you would like to opt out of data collection, select (N) at the prompt. Would you like to enable build system telemetry? (Yn): y Thanks for enabling build telemetry! You can change this setting at any time by editing the config file `/home/jj5/.mozbuild/machrc` 0:04.19 Setting up artifact node.tar.xz 0:04.20 Downloading artifact to local cache: /home/jj5/.mozbuild/toolchains/bad1328b69e924ec-node.tar.xz 0:04.44 Downloading... 0.0 % 0:06.31 Downloading... 100.0 % 0:06.36 untarring "/home/jj5/.mozbuild/node.tar.xz" 0:02.96 Setting up artifact clang.tar.xz 0:02.96 Downloading artifact to local cache: /home/jj5/.mozbuild/toolchains/7903192c2a5bf947-clang.tar.xz 0:03.78 Downloading... 0.0 % 0:24.37 Downloading... 100.0 % 0:24.85 untarring "/home/jj5/.mozbuild/clang.tar.xz" 1:26.13 Setting up artifact cbindgen.tar.xz 1:26.14 Downloading artifact to local cache: /home/jj5/.mozbuild/toolchains/a8e3b544082d318e-cbindgen.tar.xz 1:26.40 Downloading... 0.0 % 1:26.67 Downloading... 100.0 % 1:26.67 untarring "/home/jj5/.mozbuild/cbindgen.tar.xz" 0:02.93 Setting up artifact clang-tidy.tar.xz 0:02.93 Downloading artifact to local cache: /home/jj5/.mozbuild/toolchains/0dbe7fb2d4893944-clang-tidy.tar.xz 0:03.19 Downloading... 0.0 % 0:08.65 Downloading... 100.0 % 0:08.78 untarring "/home/jj5/.mozbuild/clang-tools/clang-tidy.tar.xz" 0:02.82 Setting up artifact nasm.tar.bz2 0:02.83 Downloading artifact to local cache: /home/jj5/.mozbuild/toolchains/3fa85ee25c9b561d-nasm.tar.bz2 0:03.10 Downloading... 0.0 % 0:03.19 Downloading... 100.0 % 0:03.22 untarring "/home/jj5/.mozbuild/nasm.tar.bz2" 0:03.01 Setting up artifact sccache.tar.xz 0:03.02 Downloading artifact to local cache: /home/jj5/.mozbuild/toolchains/74cc61d37c99b38b-sccache.tar.xz 0:03.25 Downloading... 0.0 % 0:04.10 Downloading... 100.0 % 0:04.17 untarring "/home/jj5/.mozbuild/sccache.tar.xz" 0:03.45 Setting up artifact lucetc.tar.xz 0:03.45 Downloading artifact to local cache: /home/jj5/.mozbuild/toolchains/1e5a07a1a8d3faa2-lucetc.tar.xz 0:03.69 Downloading... 0.0 % 0:04.02 Downloading... 100.0 % 0:04.03 untarring "/home/jj5/.mozbuild/lucetc.tar.xz" 0:03.20 Setting up artifact wasi-sysroot.tar.xz 0:03.20 Downloading artifact to local cache: /home/jj5/.mozbuild/toolchains/59dc751ae04661ee-wasi-sysroot.tar.xz 0:03.45 Downloading... 0.0 % 0:06.76 Downloading... 100.0 % 0:06.87 untarring "/home/jj5/.mozbuild/wasi-sysroot.tar.xz" Your system should be ready to build Firefox for Desktop! To build Firefox for Desktop, please restart the shell (Start a new terminal window)