Mozilla on OpenBSD

When the lizard meets puffy

Landry Breuil <landry@openbsd.org>

BSDCan 2013 / May,17 / Ottawa

Who ?

OpenBSD

As a project

As a desktop/laptop OS

Mozilla, the project

Not only firefox

B2G/firefox OS

The web is the platform

Fast release schedule

In use since Firefox 4.0

Platforms

Community

Communication

Mozilla, the tools

Mercurial

Queues

hg qpop, hg qseries, hg qnew, hg qpush, hg qfinish...

Branches / inbound

Sheriffs watch the tree, star failures, and handle merges

Project repositories (ionmonkey, build-system, birch, alder..)

Bugzilla a.k.a. bmo

Workflow

Tbpl (a.k.a. TinderboxPushLog)

http://tbpl.mozilla.org

Try

dawn:~/src/mozilla-central/ $hg qseries
bug-844818-separate-alsa-pulse-webrtc
bug-844430-libsctp-openbsd
bug-807492-webrtc-bsd
bug-807492-webrtc-openbsd-fixes
try
dawn:~/src/mozilla-central/ $hg log -l1 | grep summary
summary:     try: -b do -p all -u all -t all
dawn:~/src/mozilla-central/ $hg push -f ssh://hg.mozilla.org/try
	
Runs all tests on all platforms with mozilla-central tip + my patches

Other web tools

Commit bit

mach

$python2.7 mach
usage: mach [global arguments] command [command arguments]

mach (German for "do") is the main interface to the Mozilla build system and common developer tasks.
Used to build, package, run tests, search the code or the web, list warnings, debug..

Mozilla on OpenBSD

Not only firefox

History

History (cont'd)

State in 2010

Patchy patchy patch

Local customization vs upstreamable patch ?

mozilla.port.mk

ports in git

branches workflow in git

updating a port

# Change MOZILLA_VERSION, adjust deps
make makesum
make patch
# fix/rm/add patches if needed
make update-patches
make update-plist
make port-lib-depends-check

Hardware

Buildbot

Relationship with upstream

Relationship between *BSDs

Main problems

State in 2013

Future work

Questions ?

Slides on http://rhaalovely.net/~landry/bsdcan2013/

Thanks for listening

/

#