Checkout the Code

From $1

Subversion Instructions

First you have to assemble all the files in their proper places before you can build Songbird.

Setting up the build system requires downloading two separate packages: the client and the proper dependencies for your particular platform.  For simplicity's sake, we'll assume you're always building trunk (the latest revision)

Get Subversion

First, you'll need to get subversion for your platform:

  • Windows:
    • Subversion is included with MozillaBuild 1.3, a Win32 build prerequisite. However, the package included has a bug that prevents the authentication prompt from appearing. Use Windows' cmd to do the initial checkout, like so:
      \mozilla-build\svn-win32-1.4.2\bin\svn.exe co http://publicsvn.songbirdnest.com/client/trunk
    • IF YOUR CHECKOUT HANGS, see the Troubleshooting section at the end of this document

After entering your password the first time, other Subversion commands, like "diff," "ci," "ls" will work from the rxvt terminal, which is launched by Mozilla Build.

For those who prefer a GUI, try TortoiseSVN for Windows.

  • MacOSX:
    • Use the Mac-ports client (formerly Darwin-ports) to get the subversion commandline client. sudo port install subversion
  • Linux:
    • Use apt-get install subversion or yum install subversion or whatever.

Get the Client Trunk

After you've got subversion, you'll need to checkout the trunk into the folder you wish to work from. For people using MSVC, you mustn't allow there to be a space in the path to the code (sorry, people who use "My Projects").

While it's downloading, take a nap.

  • Commandline:
%~: mkdir sbird
%~: cd sbird
%~/sbird: svn co http://publicsvn.songbirdnest.com/client/trunk
  • Tortoise:
    1. Create and open the folder into which you want to download the trunk
    2. Right-click in the folder and choose SVN Checkout... to bring up the checkout dialog
    3. Put http://publicsvn.songbirdnest.com/client/trunk into the repository field and hit OK.

Get the Dependencies

Then, checkout the the dependency vendor-binaries for your OS into a subfolder of the dependencies folder labelled with the platform and architecture you intend to compile against.

  • Win32: dependencies\windows-i686-msvc8
  • MacOSX PPC: dependencies/macosx-ppc
  • MacOSX Intel: dependencies/macosx-i686
  • Linux 32bit: dependencies/linux-i686
  • Linux 64bit: dependencies/linux-x86_64

Go get lunch or something while this runs. It will take some time.

  • Windows Tortoise:
    • Using Tortoise under Win32, you use the "Repo-browser" menu item when right-clicking the dependencies folder. Find the vendor-binaries/trunk/windows-i686-msvc8 entry in the browser and do a checkout to c:\projects\songbird\dependencies\windows-i686-msvc8 (or wherever you checked out the trunk).
  • Intel MacOSX:
%~/sbird/: cd trunk/dependencies
%~/sbird/trunk/dependencies: svn co http://publicsvn.songbirdnest.com/vendor-binaries/trunk/macosx-i686
  • Linux 32bit:
%~/sbird/: cd trunk/dependencies
%~/sbird/trunk/dependencies: svn co http://publicsvn.songbirdnest.com/vendor-binaries/trunk/linux-i686
  • Linux 64bit:
%~/sbird/: cd trunk/dependencies
%~/sbird/trunk/dependencies: svn co http://publicsvn.songbirdnest.com/vendor-binaries/trunk/linux-x86_64

Update the Tree

Once you've got all the files, you can use subversion to keep you up to date with our latest changes. You'll need to update both the trunk and dependencies separately, from within each folder.

You don't need to download the tree via subversion to be able to update it. Our source tarballs contain the subversion files directly in them so you can just update once you unpack them.

%~/sbird: svn up
%~/sbird: cd dependencies/macosx-i686
%~/sbird/dependencies/macosx-i686: svn up

Extra Step for Mac Developers

Minor addendum for Mac users.  Due to bug 13084, you'll have to do the following:

%~/sbird: cd dependencies/macosx-i686
%~/sbird/dependencies/macosx-i686: svn up -r 10183 mozilla/release/bin
%~/sbird/dependencies/macosx-i686: svn up -r 10183 mozilla/debug/bin
Sorry for the inconvenience; we're planning to fix this in the next release cycle.

Repository URLs

Once you've downloaded and setup your files, you're ready to build the app.

Troubleshooting

  1. If your Subversion client hangs on checkout, there are a couple of workarounds. We've observed this behavior both with the version of Subversion packaged with MozillaBuild (1.4.2) and 1.4.3 on OpenSolaris x86 and looks to be due to fetching of svn:externals, which we now use to grab the relevant vendor-portion of our tree (now, its own repository).
    • Workaround: Use the --ingore-externals flag to checkout/update/status commands and manager the vendor portion yourself; you can do this by going into the trunk/dependencies directory of your tree and manually checking out http://publicsvn.songbirdnest.com/vendor/dependencies/vendor/mozilla This is to be avoided if possible, since it's brittle and may break if we change the externals definition; however, if you're in a hurry and just want to get Songbird building, it's a quick-and-dirty way to get started.
    • Solution: Upgrade your Subversion client; we've had success with 1.4.6. If you're using MozillaBuild, you can download 1.4.6, unzip it into into your MozillaBuild bin directory; you will need to change the path definition in msys\etc\profile.d\profile-extrapaths.sh to ensure the correct version gets picked up.
Tags:
 
Images (0)
 
Comments (0)
You must login to post a comment.