You are currently browsing the category archive for the ‘unix/linux’ category.

Well, as I finish off my last year here at Seneca College with my friends some would think that our time with Mozilla might be done.  Personally, I don’t think you can get rid of me that easily.  The more rigid release schedules may slow down but my involvement with the open source world is never done (at least not anymore).

After I see my code get into Tinderbox I think I’ll go lean towards a more interesting hobby of mine which is xen virtualization.  Start dabbling in that again as there are quite a few possibilities to explore like VMGL (OpenGL drivers which allow for native fps on virtualized images.  Currently only at OpenGL1.5) or there still being the lack of a management interface to control VMs.

All-in-all, I’ve had a great time working for Mozilla and I think I’ve found a niche for myself in this vast world of software.

Advertisements

Well, construction of the Tinderbox UI moves forward.. I’m still working out some details but all in all things more forward.

I should be releasing some new contribution ideas shortly so stay tuned for that as well.

Well, after a bit of silence due to the Christmas break I’ll finish rolling out my Tinderbox improvements.  There is not much left to do in terms of the front page aesthetics, however, there are still a few more ideas that I would like to apply.

One idea being the ability to parse Tinderbox information in a more efficient manner.  This could include placing Mozilla build information into tables, graphs, and other more readily readable formats.  As it stands now, gathering and analyzing large amounts of information is very time consuming.  There is no one location that a user could go to gather the information and is forced to check each build individually.  This should all change with the introduction of my concept which will localize information into a singular page or area.

My Tinderbox front end code has been slightly delayed for release because of the joys of UNIX! It’s always a surprise working with UNIX and I guess today was no different. After accidentally hibernating my computer running the regular Ubuntu kernel and rebooting it into the XEN Ubuntu kernel things got a little messy.  I’m surprised there was no safeguard against this as it caused all hibernated programs to immediately segfault and lockup my computer.  Upon restart the fdsk utility promptly repaired about four thousand broken files, links, and other things (which is NEVER good).  But as mentioned, the data was still solid and intact..

After a good 5 hours online with Rob Helmer I finally figured it out. I got Tinderbox working locally on my Ubuntu computer. The main pitfalls were finding which packages were needed to get the install actually working correctly. Afterwards, there were a few files that I needed to manually copy over by hand (thanks to broken makefiles) and it was golden.

I’ll post up a complete guide when I get the time to do so, otherwise anyone is welcome to come to me with questions. Note that I only got Bonsai (which is another required program) working just enough to get by.. So I won’t be of much help in that area.

Well, my tinderbox presentation on Friday went nice and smoothly. The class seemed to understand the project well and didn’t have too many questions. Despite my lack of contribution ideas I was presented with some good ones by Chris Tyler.

The main stumbling point for my project right now is getting a running instance of tinderbox on my home machine. This will allow me to test my new code that I’m trying to contribute to tinderbox that will make my front page possible. So far it’s been quite a challenge. The contribution idea was if anyone wanted to try their hand at setting up a Bonsai server or Tinderbox server then that would be greatly appreciated.

Over the past few weeks since I built FF3 on Ubuntu and blogged about it I’ve received a few comments on it. Surprisingly, people have actually used my how-to! I can only imagine how many others have used it and just not left any comments.

When I first created the post I thought to myself “How could this possibly be useful? Mozilla already has some documentation on the process.” But the documents are quite generic and made for all operating systems.  And it seems that some Ubuntu  users were more than happy to see a direct how-to on this process.

I guess my point is, even if you think that something might not be useful to you it may just be the saving piece of info for someone else lost out there in cyberspace..

Well I must say I had a few bumps here and there but after following the instructions from Mozilla it all ended up well. Following these steps should result in a nice compile of Firefox Minefield.

  1. Run the following command to install any missing packages, all packages are required. (Note that I’ve included some packages that you may already have, therefore this command “should” work on any recent Linux install. This is all one line.)
  2. sudo apt-get install gcc g++ perl make cvs libxt-dev libidl0 libidl-dev libfreetype6 fontconfig

  3. Next, check out a single file using this command. It will be used to run the main checkout/build. (note that this is all one line, thanks to Ian for pointing that out)
  4. cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co mozilla/client.mk

  5. Change directories to the new checkout.
  6. cd mozilla

  7. Proceed to checkout Firefox with the following command (Note that this will likely take some time)
  8. make -f client.mk checkout MOZ_CO_PROJECT=browser

    To check out different projects from source simply change the MOZ_CO_PROJECT variable to the desired project. They are all listed here.

  9. You will now require one more items to make it all work (at least well). For a start you will need a .mozconfig file (note the dot in front). This file will input command line options for you so you won’t have to. The Mozilla Build Configurator website will automatically generate one for you with any of the options you wish for. I’ve also made a generic file that you can use below. If you’re using the Mozilla directory for your CVS checkout like specified above then create the .mozconfig file there and paste the following:
  10. #
    # See http://www.mozilla.org/build/ for build instructions.
    #
    # Options for client.mk.
    mk_add_options MOZ_CO_PROJECT=browser
    mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@
    # Options for 'configure' (same as command-line options).
    ac_add_options ­­­––enable-application=browser

  11. Now you can finally build it! Change to your mozilla root directory (this how to uses the default: mozilla) and run the following:

    make -f client.mk build

    Note: To time your compile add time to the front like so:

    time make -f client.mk build
  12. You can now run Firefox “Minefileld” edition by going to the obj-something directory. this will change according to what your computer is. So as long as it says obj- in front its the right one. Therefore the path should be something like

    mozilla/obj-i686-pc-linux-gnu/dist/bin
    Afterwards simple run the “firefox” script (not the file) to use ff3!!!

    Note: Please inform me of corrections if needed. Full how-to can be found on Mozilla’s Build Documentation
    website.

Certain Linux based OS’s don’t detect fancy mouse buttons like the forward, back, tilt left and tilt right buttons. Painful (well, at least painfully time consuming) methods of editing the xorg.conf file exist, but they are error prone and very specific to the mouse being used.

Step in btnx! This is a simple GUI tool not found in the repository that allows you to take control of your mouse and assign any keystroke or command to any button. I highly suggest giving it a shot if you’ve got that one button on your mouse that never really seemed to work in the land of Linux.