Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

README: refactor addons section; other fixes; fix GEOLOCATION/QUIET FOX sections of #208 #255

Merged
merged 20 commits into from
Apr 3, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
47bbbe5
improve comment-out referer spoofing prefs, closes #193
nodiscc Mar 25, 2017
cdf0bf5
simplify privacy.resistfingerprinting references:
nodiscc Mar 25, 2017
311c51d
README: improve FAQ about deprecated preferences, closes #33 #251
nodiscc Mar 25, 2017
97b3166
README: refactor addons section:
nodiscc Mar 25, 2017
c850e47
README: add-ons: add extra blocklists recommendation, shorten addon-s…
nodiscc Mar 25, 2017
70185dc
add intl.locale.matchOS and general.useragent.locale, fixes items 020…
nodiscc Mar 26, 2017
2e32077
add browser.search.geoSpecificDefaults* prefs, fixes item 0206 of #208
nodiscc Mar 26, 2017
1eb9ec9
Prevent leaking application locale/date format using JavaScript, fixe…
nodiscc Mar 26, 2017
a83b828
opt-out of themes (persona) updates, fixes item 0307 of #208
nodiscc Mar 26, 2017
33e9469
disable flash player crash reports, don't send URLs in crash reports …
nodiscc Mar 26, 2017
d70077a
Disallow Necko to do A/B testing, fixes itme 0341 of #208,
nodiscc Mar 26, 2017
c4db308
Disable sending Firefox crash reports to Mozilla servers, fixes item …
nodiscc Mar 26, 2017
6562602
Disable sending reports of tab crashes to Mozilla (about:tabcrashed),…
nodiscc Mar 26, 2017
30c0965
disable flyweb, fixes item 0376 of #208
nodiscc Mar 26, 2017
cef186b
disable Firefox SYnc, fixes item 0380 of #208
nodiscc Mar 26, 2017
e92362c
run make - generate README 'What does it do' section from user.js com…
nodiscc Mar 26, 2017
093bd97
README: credit ghacks-user.js in documentation section
nodiscc Mar 26, 2017
c0962da
doc: update README/user.js:
nodiscc Mar 27, 2017
24a5cfe
run make - update what does it do section
nodiscc Mar 27, 2017
c37bf58
Makefile: add tests and authors targets
nodiscc Mar 28, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ before_script:
script:
- acorn user.js
- bash -n cas.sh
- make tests
notifications:
irc:
channels:
Expand Down
16 changes: 16 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
pyllyukko <[email protected]>
nodiscc <[email protected]>
CHEF-KOCH <[email protected]>
Francois Marier <[email protected]>
CHEF-KOCH <[email protected]>
Francois Marier <[email protected]>
Alex Hirsch <[email protected]>
DrunkenSasquatch <[email protected]>
Frank LENORMAND <[email protected]>
Sebastian Schmidt <[email protected]>
Steffen Gransow <[email protected]>
devmapper0 <[email protected]>
Mehmet Atif Ergun <[email protected]>
mengele-chan <[email protected]>
uberspot <[email protected]>
zummuz <[email protected]>
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is not needed. All the info is available as metadata.

54 changes: 54 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,2 +1,56 @@
all: whatdoesitdo tests authors

whatdoesitdo:
@# generate the README "What does it do?" section
@./gen-readme.sh

# To decrease tests verbosity, comment out unneeded targets
tests: downloadffprefs checknotcovered checkdeprecated stats cleanup
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will fail horribly if you have e.g. MAKEFLAGS="-j 4", like I do.

I'm not entirely sure what is the proper way to fix it, as I'm not that familiar with makefiles. Maybe with .NOTPARALLEL?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes apparently a target named .NOTPARALLEL should inhibit the -j cli/config file option

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool, that's what I thought. I'm still not sure as to where and how to add it.

e.g., should it be like:

.NOTPARALLEL: downloadffprefs

Or just as it's own line? It wasn't completely clear to me.

Copy link
Contributor Author

@nodiscc nodiscc Apr 3, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I forgot to post the link I found: http://stackoverflow.com/questions/4346399/how-can-i-force-gnu-make-to-not-build-recipe-in-parallel/23903293#23903293

.PHONY: all clean

.NOTPARALLEL:

anotherTarget: dependency1

Apparently on it's own line. The MAKEFLAGS variable can also be used (solution 3)

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah I saw that post also when I was looking at the subject. Is it so, that everything below that will not run as parallel or what? I mean there are still some things, that can be run as parallel in the makefile, e.g. authors, whatdoesitdo and all the rest for that matter, once downloadffprefs has finished.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it so, that everything below that will not run as parallel or what?

This is what it looks like, but I have no experience with parallel usage of Make - very interesting, I really need to read the full Make manual.

Unfortunately no time to work on it at the moment, would you be ok to apply the global MAKEFLAGS := --jobs=1 var, and open an issue (Makefile: parallelize tests) ? We can improve this later.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sounds good.



downloadffprefs:
@# download and sort all known preferences files from Firefox (mozilla-central) source
@# specify wanted Firefox version/revision below (eg. "tip", "FIREFOX_AURORA_45_BASE", "9577ddeaafd85554c2a855f385a87472a089d5c0"). See https://hg.mozilla.org/mozilla-central/tags
@SOURCEVERSION="tip"; \
FIREFOX_SOURCE_PREFS=" \
https://hg.mozilla.org/mozilla-central/raw-file/$$SOURCEVERSION/toolkit/components/telemetry/datareporting-prefs.js \
https://hg.mozilla.org/mozilla-central/raw-file/$$SOURCEVERSION/toolkit/components/telemetry/healthreport-prefs.js \
https://hg.mozilla.org/mozilla-central/raw-file/$$SOURCEVERSION/security/manager/ssl/security-prefs.js \
https://hg.mozilla.org/mozilla-central/raw-file/$$SOURCEVERSION/modules/libpref/init/all.js \
https://hg.mozilla.org/mozilla-central/raw-file/$$SOURCEVERSION/testing/profiles/prefs_general.js \
https://hg.mozilla.org/mozilla-central/raw-file/$$SOURCEVERSION/layout/tools/reftest/reftest-preferences.js \
https://hg.mozilla.org/mozilla-central/raw-file/$$SOURCEVERSION/js/src/tests/user.js"; \
for SOURCEFILE in $$FIREFOX_SOURCE_PREFS; do wget "$$SOURCEFILE" -O - ; done | egrep "(^pref|^user_pref)" | sort --unique >| sourceprefs.js

######################

checknotcovered:
@# check for preferences present in firefox source but not covered by user.js
@# configure ignored preferences in ignore.list
@SOURCE_PREFS=$$(egrep '(^pref|^user_pref)' sourceprefs.js | awk -F'"' '{print $$2}'); \
for SOURCE_PREF in $$SOURCE_PREFS; do \
grep "\"$$SOURCE_PREF\"" user.js ignore.list >/dev/null || echo "Not covered by user.js : $$SOURCE_PREF"; \
done | sort --unique

checkdeprecated:
@# check for preferences in hardened user.js that are no longer present in firefox source
@HARDENED_PREFS=$$(egrep "^user_pref" user.js | cut -d'"' -f2); \
for HARDENED_PREF in $$HARDENED_PREFS; do \
grep "\"$$HARDENED_PREF\"" sourceprefs.js >/dev/null || echo "Deprecated : $$HARDENED_PREF"; \
done | sort --unique

stats:
@# count preferences number, various stats
@echo "$$(egrep "^user_pref" user.js | wc -l | cut -f1) preferences in user.js"
@echo "$$(wc -l sourceprefs.js | cut -d" " -f1) preferences in Firefox source"

cleanup:
@# remove temporary files
@# please comment this out when not needed, to minimize load on Mozilla servers
@rm sourceprefs.js

authors:
@# generate an AUTHORS file, ordered by number of commits
@# TODO: add a .mailmap file to deduplicate authors with multiple email addresses
@# to add extra authors/credits, git commit --allow-empty --author="A U Thor <[email protected]>"
@git shortlog -sne | cut -f1 --complement >| AUTHORS
Copy link
Owner

@pyllyukko pyllyukko Apr 3, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW. would the following .mailmap file be sufficient for this?

Copy link
Contributor Author

@nodiscc nodiscc Apr 4, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes it works with these contents (I just tested it with git shortlog -sne)

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I added it with 563c4c6. Even though I removed the AUTHORS file, but it's still better to get exact stats :)

One thing that is wrong here, is that there are so many people who have contributed through insights in issues & PRs, but haven't pushed any commits.

We would need to have yet-another-script that queries GitHub's API for all the people involved in here to have a complete list :)

Copy link
Contributor Author

@nodiscc nodiscc Apr 4, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As far as I know there is no way to (directly) list users who posted in a github project issue tracker. But it can be parsed from https://api.github.com/repos/pyllyukko/user.js/issues (login values). If you create a new issue for this, I'll have a look.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was a joke, we don't need to do that :)

Loading