• This repository has been archived on 11/Feb/2019
  • Stars
    star
    241
  • Rank 162,798 (Top 4 %)
  • Language
    Shell
  • Created over 12 years ago
  • Updated almost 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

bash script to install major Firefox versions on Mac OS X

This script is no longer supported


ABOUT

This is a bash script to install all major versions of Firefox on OS X.

Currently it installs:

  • Firefox 2.0.0.20
  • Firefox 3.0.19
  • Firefox 3.5.19
  • Firefox 3.6.28
  • All version from 4.0.1 to latest version on rolling release

Optionally, the script can install Firebug for each version of Firefox too.

What does it do?

  1. The firefoxes.sh script downloads the latest version of install-all-firefox.sh beforerunning to ensure that the script is up to date.

  2. The script downloads all of the associated resources (icons) and utilities (seticon) to the /tmp/firefoxes directory.

  3. The script downloads the .dmg files from Mozilla's server into /tmp/firefoxes.

  4. The script installs the Firefoxes to /Applications/Firefoxes/.

  5. The script creates a Firefox profile for each installed version of Firefox.

  6. The script modifies each Firefox app to launch with its specific profile, and customises the application icon.

  7. The script can optionally download the latest Firebug available for each version of Firefox, and install it upon first launch.

What else does it do?

You can see which versions of Firefox you've already installed using this script, using the following command:

$ ./firefoxes.sh

or

$ ./firefoxes.sh status

You can specify the version to install, or use any of the pre-defined installation groups:

# Default, installs all versions available
$ ./firefoxes.sh

# You can also use the 'all' keyword to install all versions available
$ ./firefoxes.sh "all"

# 'current' installs the current version of Firefox only (other allowed keywords: 'newest', 'latest')
$ ./firefoxes.sh "current"
$ ./firefoxes.sh "newest"
$ ./firefoxes.sh "latest"

# 'min_point_one', 'min_point_two', 'min_point_three', 'min_point_four'
# install versions with at least 0.1%, 0.2%, 0.3% or 0.4% global usage share, respectively
$ ./firefoxes.sh "min_point_one"
$ ./firefoxes.sh "min_point_two"

# Specify the versions you would like to install, from the list at the top of this README, separated by spaces
# New: You can now use shorthand for versions, such as: 2, 3, 3.5, 10, 24, etc.
$ ./firefoxes.sh "2 3"

Usage share options are based on data from StatCounter's global statistics for April 2014.

You can specify the locale to use, from the list of available locale options. By default en-GB is used.

af, ar, be , bg, ca, cs, da, de, el, en-GB, en-US, es-AR, es-ES, eu, fi, fr,
fy-NL, ga-IE, he, hu, it, ja-JP-mac, ko, ku, lt, mk, mn, nb-NO, nl, nn-NO,
pa-IN, pl, pt-BR, pt-PT, ro, ru, sk, sl, sv-SE, tr, uk, zh-CN, zh-TW
$ ./firefoxes.sh "all" "en-US"

If you want to just install all versions and leave the installation process unattended, there is a no_prompt option, this will default all of the Y/n prompts to answering y.

$ ./firefoxes.sh "all" "en-GB" "no_prompt"

(You will still need to manually accept the EULA if installing Firefox 2.0.0.20)

If you want to install to a different directory, pass that as the last option. Include a trailing slash.

$ ./firefoxes.sh "all" "en-GB" "no_prompt" "/Users/myhomedir/Applications/"

INSTALLATION

From a terminal prompt, enter the following:

curl -L -O https://github.com/omgmog/install-all-firefox/raw/master/firefoxes.sh
chmod +x firefoxes.sh
./firefoxes.sh [version] [locale] [no_prompt] [install_directory]

It'll take a little while to grab the .dmg files, but it should only need to do this once. (Until you reboot, and the contents of /tmp are deleted.)


CONTRIBUTING

If a new version of Firefox has been released but it's not yet here, feel free to add it and submit a pull request. You can even generate a new application icon using the create_firefox_image_with_version tool found in the bits directory.

Checklist when adding a new version

You should only need to make changes in install-all-firefox.sh when adding a new version, and also generating a new fx[version].png in the bits directory.

  1. Update default_versions_current
  2. Update default_versions_past
  3. Add a new version to the massive case statement in get_associated_information()
  4. Ensure that we're using the correct/latest version of Firebug. The Firebug blog is pretty good at mentioning which versions of Firefox are supported with each release.
  5. Generate a new version icon:
cd bits
./create_firefox_image_with_version "36.0" fx36.png

create_firefox_image_with_version uses ImageMagick's convert utility to composite the two base images together with text, so make sure you've got that installed first:

$ brew install imagemagick gs

CREDITS

More Repositories

1

uxofvr.com

A list of resources about the UI/UX considerations for VR.
HTML
534
star
2

lightdm-webkit-google

A Google/ChromeOS style LightDM Webkit greeter theme
JavaScript
124
star
3

archarm-usb-hp-chromebook-11

Arch ARM USB installer for the HP Chromebook 11
Shell
45
star
4

omgmog.github.com

This is my Jekyll-powered blog.
HTML
40
star
5

git-folders

Some Git folder icons for macOS
39
star
6

digitaloxford-slack-emojis

All of the custom emoji's we've got going on our Slack group
JavaScript
31
star
7

photoshop-text-export

Photoshop jsx script to export all text and text styles from a .psd
JavaScript
31
star
8

beatmaker

JavaScript drum machine
JavaScript
28
star
9

lazydevs-pico8-roguelike

Git version of the Lazy Devs Pico-8 Roguelike Tutorial
Lua
23
star
10

pollen

Fetches pollen forecast for given lat/long
JavaScript
19
star
11

pocketchip-menu

Python
19
star
12

chrome-add-link-to-trello

This is a Chrome extension that will let you add the currently viewed page as a link on Trello
JavaScript
17
star
13

launcher-community-apps

Extra apps for the PocketCHIP port of the Gameshell launcher
Shell
8
star
14

lightdm-webkit-theme-developer-helper

Some functions that make it possible to develop LightDM Webkit Greeter themes in the browser
JavaScript
8
star
15

install-gapps-over-adb-tcp

A shell script to automatically install the Google Apps via adb over TCP on the Mele A2000.
Shell
7
star
16

chrome-conditional-font-changer

Conditional Font Changer is an extension for Google Chrome
JavaScript
7
star
17

cycle-meta-theme-color

JavaScript
5
star
18

gdd-2016

Game Dev Day 2016 things
3
star
19

says

Totally worth using with https://github.com/omgmog/says-slack-slashbot
PHP
3
star
20

8bkc-omgmog-bmo

BMO for the Pocket Sprite
C
3
star
21

flip.js

(β•―Β°β–‘Β°οΌ‰β•―οΈ΅ ┻━┻
JavaScript
3
star
22

wiki.dingoonity.org

Bringing the old Dingoo wiki back from the dead
PHP
3
star
23

qrtool

QR encoder/decoder as a PWA
HTML
3
star
24

jscard.xyz

JavaScript-powered Google Cardboard stuff.
JavaScript
3
star
25

Tele-JS

Some sort of crazy remote presence/telecommunication thing
JavaScript
2
star
26

chrome-install-to-home-screen-boilerplate

2
star
27

jekyll-colon-emoji

CSS
2
star
28

psc-theme-hd

HD Theme for the Playstation Classic
2
star
29

prev-next-arrow-binder

Userscript for Google Chrome to bind rel="prev" and rel="next" urls to left/right arrow keys
JavaScript
2
star
30

were-going-to-space

JavaScript
2
star
31

chrome-imdb-add-to-trello

This extension will let you add a movie on IMDb to a list on a board on Trello.
JavaScript
2
star
32

webext-gurlic-current-page

A simple web extension for Chromium/Firefox that shares the current page on https://gurlic..com
JavaScript
2
star
33

basic-vr-model-viewer

JavaScript
1
star
34

says-slack-slashbot

To accompany https://github.com/omgmog/says
JavaScript
1
star
35

gdd-aframe-guide

CSS
1
star
36

better-slack-emoji-manager-display

JavaScript
1
star
37

inputplaceholder.js

This is a jQuery snippet that allows older browsers to have placeholder text
JavaScript
1
star
38

single-page-gulp-sass-postcss-boilerplate

I end up doing this a lot for single page websites, so here it is as a boilerplate.
JavaScript
1
star
39

bullet-journal-icons

HTML
1
star
40

psc-theme-text-image-generator

Playstation Classic theme text image generator
JavaScript
1
star
41

chrome-simple-note-taker

This extension will let you take a simple note in Chrome.
CSS
1
star
42

tingbot-adventure-time-giphy

Show random Giphy gifs tagged with "adventure time" on your Tingbot
Python
1
star
43

talk-20-minutes-into-the-future

A talk about creating Google Cardboard VR experiences using JavaScript
JavaScript
1
star
44

projects

CSS
1
star
45

tingbot-device-tester

Check that your buttons and touch screen on your Tingbot are working correctly.
Python
1
star
46

capturing-and-presenting-gifs-in-deckset

1
star
47

chrome-ww-my-recipes

A simple extension for Chrome, made because my wife keeps complaining about the lack of ability to search your own recipes on the new Weight Watchers site.
JavaScript
1
star
48

nodejs-crybot

"Anyone who really honestly genuinely never had a bit of a cry... might be some kind of robot." - J-P Stacey
1
star
49

benmoji-generator

HTML
1
star
50

three-skeleton

A three.js skeleton (not an actual skeleton πŸ’€)
JavaScript
1
star
51

weekendthing

Repository for Weekend Thing
CSS
1
star
52

automator-sketchtoolbox-from-sketch

This is an Automator action that I use to launch Sketch Toolbox from within Sketch 3.
1
star
53

timer-bookmarklet

A bookmarklet to quickly use DuckDuckGo's "set a timer" feature
SCSS
1
star
54

angular-dress-up

an angular app that lets you dress up a body with a couple of option
CSS
1
star
55

status.omgmog.net

Jekyll powered microblog
HTML
1
star
56

chrome-tweet-current-page

A simple extension for Chrome that tweets the current page. It will also use your selected text in the tweet body.
JavaScript
1
star