Open main menu

CDOT Wiki β

Changes

FAQ

6,494 bytes added, 22:32, 17 September 2008
m
no edit summary
This FAQ is meant to provide a place for you to capture knowledge as you begin working on Mozilla developmentwith Open Source. When someone answers a question for you, consider adding it below, and feel free to update previous entries. Create new topic headings as necessary.
==Building Firefox==
# '''Where can I get information on building Firefox or other Mozilla products?'''
#: Start with the documentation on [http://developer.mozilla.org MDC]: http://developer.mozilla.org/en/docs/Build_Documentation.
# '''Where can I get more help building Firefox on Windows?'''
#: See [http://cs.senecac.on.ca/%7Edavid.humphrey/writing/firefox-win32-build.html Building Firefox on Win32 using Visual Studio .NET 2005].
#: <b>[http://developer.mozilla.org/en/docs/Windows_Build_Prerequisites#GNU_Tools_for_Microsoft_Windows_.28Cygwin.29 Windows Build Documentation is updated - 17:15, Sept 16 2006 (EST)]</b>
#: ''Seneca students can get Visual Studios .NET 2003 or 2005 from [http://acs.senecac.on.ca/pages/download.php ACS].''
# '''How can I checkout the source code when ACS is blocking ports?'''
#: Open up two terminals. The first one makes a tunnel to matrix. In terminal 1:
#: ssh -L 2401:cvs-mirror.mozilla.org:2401 -l yourusername yourusername@matrix
#: In terminal 2:
#: cvs -d :pserver:anonymous:anonymous@localhost:/cvsroot co mozilla/client.mk
# '''What's the best way to run a build so it doesn't mess-up my default install/profile?'''
#: Use the '''-no-remote''' and '''-profile''' command line switches. The '''-no-remote''' switch will allow multiple versions of the browser to run at the same time (i.e., otherwise it will open another window for your currently running instance). The '''-profile''' switch allows you to specify a path to a profile (e.g., a directory). This profile directory doesn't need to exist--it will create it if it is not there:<br/><br/><code>$ mozilla/''objdir''/dist/bin/firefox.exe -no-remote -profile some/path/testing</code>
# '''When I run my new build on Windows, I get a lot of assertion pop-ups. How can I stop this?'''
#: Before you run your build at the command line, do this (which will send the assertion messages to the console instead):<br/><br/><code>$ export XPCOM_DEBUG_BREAK=warn</code>
# '''What are some ways I can make my build go faster?'''
#: See [[Improving Build Times]]
 
== Mozilla Build System ==
 
1. '''How do a see what macros are being expanded in order to understand my compiler error (a.k.a., how do I create a preprocessed version of a C/C++ file)?
$ cd $OBJDIR/some/directory
$ make nsMyFilename.i
2. '''How do I generate Doxygen documentation for Mozilla?'''
$ cd $OBJDIR
$ make documentation
3. '''Hw do I see the final value of a makefile variable?'''
$ cd $OBJDIR/some/directory
$ make echo-variable-EXTRA_DSO_LDOPTS
== IRC ==
# '''Where can I get general info about using IRC?'''
#: See the [[Irc|IRC]] page on this wiki.
# '''Where can I find a comprehensive list of IRC clients?'''
#: Visit http://en.wikipedia.org/wiki/List_of_IRC_clients for a list of IRC clients on various platforms. Two popular choices are [http://www.hacksrus.com/~ginda/chatzilla/ Chatzilla] and [http://www.irssi.org/ irssi].
# '''Where can I ask for help on IRC?'''
#: Use the '''#seneca''' , '''#firefox''', or '''#firefoxdevelopers''' channels on irc://irc.mozilla.org(in that order).
# '''What is the best way to share long error messages or other text that is too big to copy/paste into IRC?'''
#: Use a pastebin at http://pastebin.ca/ or http://pastebin.mozilla.org/ to copy/paste your output. Then paste the resulting URL into IRC.
# '''What is the best way to share long URLs in IRC?'''
#: Use http://tinyurl.com/ and paste the resulting URL into IRC.
# '''IRSSI + Terminal Server:''' Why use the #: Click for a quick [[Irssi Tutorial]]#: [http://f0rked.com/articles/irssidoc IRSSI client Documentation and Resources]# '''What do all these acronyms stand for?'''#: Look them up on cs1 you ask? Well because then you donthe [http://www.valinor.sorcery.net/glossary/ Glossary of IRC terminology]# '''I can't have to be worried about being connected seem to join #seneca, how do I register my nick?'''#: Take a look at [http://freenode.net/faq.shtml#registering this] discussion of IRC at all timesnick registration for a list of instructions. By using the  ==SVN==# '''What is SVN?'screen'' porgram you can create #: Subversion (or SVN for short) is a revision control system that is used to track changes to a session in project's file repository. SVN tracks changes to the backround repository made by each project collaborator. SVN tracks changes and can be used to analyze differences and lunch IRSSI within that sessionundo changes at a later time if needed. This way when you logout of telnet or ssh your session is still active allows for greater collaboration and speed , while minimizing (though never completely elimintating) risks associated with duplication and can overwriting each others work. Project contents need not be accessed later onlimited to source code files.# '''Where can I find an SVN tutorial?'''#:* [[Subversion_tutorial|Here]]#:* [[SVN|SVN at a glance]]# Obtain an account on cs1 (ask dave) '''More complete documentation?'''#: Detailed SVN tutorials and other help information can be found in the [http://svnbook.red-bean.com/ free official online book] by [http://www.oreilly.com/ O'Reilly Media.]# '''Where can I find an SVN Client?# Use : View a ssh or telnet client to connect to cs1. [http://ensubversion.wikipediatigris.org/wikilinks.html#clients list of SVN clients] available for various platforms and development environments.# <b>SVN at a glance:</PuTTY PuTTY (Windows)b> [[SVN]]===Common Commands===* To access the svn repository for your project, use the following command to 'check out' your project. <pre>svn checkout svn://cdot.senecac.on. If ca/<yourprojecthere>/</pre>* Once you have your repository sandbox, change directories into the project folder.* To add a file to your svn repository, use linux or any unix based operating system the following command:<pre>svn add <filename></pre>* To remove a file from your svn repository, type:<pre>svn remove <filename></pre>* To update the repository with your latest changes to the repository, type:<pre>svn commit -m "type a message here that explains what you probably know what 're committing"</pre>* To update the sandbox located on your local machine to dothe same version on the repository, type:<pre>svn update</pre>*To revert/undo file into its pre-modified state (More on [[SVN#svn_revert|svn revert]]):<pre>$ svn revert <filename></pre>* To view all the changes (commits) made on a svn repository, type:<pre>svn log</pre>:It is very important that you type useful messages when committing code.* How do i resolve a conflicted file? (To better understand the use of this command, check out: [[SVN##Once youResolve_Conflicts_.28Merging_Others.27_Changes.29 | Resolve Conflicts (Merging Others've connected Changes)]])<pre>svn resolved <filename></pre>* Here is how to cs1 launch create a patch using svn. Everything in square brackets is optional. If you provide no additional arguements, then a diff file would be made of all the changes you have done since the last commit/update.<pre> svn diff [-r from[:to]] [filename|directory] > mypatch.patch</pre> ==Common Abbreviations/Acronyms==Listed alphabetically *'''AMO'''IRSSI*: [https://addons.mozilla.org/ addons.mozilla.org]*'''MDC or devmo''' application within a *: [http://endeveloper.wikipediamozilla.orgMozilla Developer Center]*'''MoCo'''*: [http://wikiwww.mozilla.com/GNU_Screen Mozilla Corporation]*'''NSPR'screen''] session*: [http://www. You can do this by typing "screen" in the bash promptmozilla. This will launch the org/projects/nspr/ Netscape Portable Runtime] <br>Additional Resources : [[NSPR| DPS909]]*'''NSS'screen'' application which should start a new bash prompt*: [http://www.mozilla. Type "irssi" in the new bash prompt in order to launch org/projects/security/pki/nss/ Network Security Services]*''IRSSI'RDF', the irc application. As a side note, if you want to exit a ''screen*: [http://www.mozilla.org/rdf/doc/ Resource Description Framework] <br> Additional Resources : [[XUL| DPS909]] [http://www.w3.org/RDF/ W3C]*'' session just type "exit" in the bash prompt to return to the main prompt where you originally launched 'XPCOM'screen'' from*: [http://www.mozilla.org/projects/xpcom/ Cross Platform Component Object Model] <br> Additional Resources : [[XPCOM| DPS909]]## In the *'''XUL'IRSSI'' prompt, type *: [http://server ircwww.mozilla.org in order to connect to the Mozilla IRC server./projects/xul/ XML User interface Language] <br> Additional Resources : [[XUL| DPS909]] ==VMWare==# '''What is a VM appliance?'''# Once : A VM appliance is pre-configured, pre-packaged image of an operating system or environment. This allows youto simply download these appliances and not have to worry about downloading iso images and burning CD're connected type in /j #seneca s etc. to join install an OS. VM appliances are opened with the official DPS909 irc chat roomVMPlayer.# '''How do I get VM appliances?'''#:::* If To get started you would like to return back will need to [http://www.vmware.com/download/player/download install the bash prompt without exiting VMWare player.] or [http://www.vmware.com/download/server/ VMWare Server] To use an appliance, simply download and unzip it. Then launch VM Player or Server and open it when prompted.# '''Where can I find a listing of available VM appliances?'IRSSI'' hit "ctrl+a" then "ctrl+d"#:A detailed listing of available VM Appliances can be found at the [http::* If you would like to return to //www.vmware.com/vmtn/appliances/directory/ Virtual Appliance Directory].# '''IRSSIWhy is there a shortage/absence of appliances for Microsoft Operating Systems in the directory?''' #: Appliances can be created for Microsoft operating systems just they can be created for the type "screen -r" in the bash promptvarious other operating systems (e.g. Ubuntu, Fedora etc.) using VMWare Workstation. However, licensing restrictions remain the only factor limiting the availabilty of MS operating systems.# '''Is there a way to create your own virtual machines (appliances) using only the VMWare Player?'''#:The easiest method to create VM appliances is using VM Server or Workstation edition. However, Mike Shaver was able to locate a [http://hackaday.com/2005/10/24/how-to-vmware-player-modification hack for this]. There is even a [http:* If //rhysgoodwin.orcon.net.nz/vmxwizard/ free third party wizard applicaton] that can help you would like create your on VM's to see a list of run on the VM Player. ==Other== # ''screens'' that are currently running type "screen -ls" How do I find out who owns what module in the bash promptMozilla Tree?'''#: Visit: [http://www.mozilla.org/owners.html http://www.mozilla.org/owners.html]
==Terminology==
# '''What does MDC or devmo refer to?'''#[[Category: Mozilla Developer Center - http://developer.mozilla.org.for beginners]]