|
|
JDS Source Code TourIntroductionRef: JDS Source Location Almost all JDS components are built from community released tarballs, with various patches applied on top of this. This has been our preferred method of managing our sources because it ensures that we push as many patches as possible upstream to the community. This gives us the opportunity to be good community players, as well as reducing the burden of maintaining these patches in the future. Using untouched community released tarballs also makes tracking bugs upstream a lot easier, ensuring that we keep a good level of control into the stability of a particular component. Under the hoodThe JDS sources are managed in Subversion in a module called 'spec-files'. This module contains rpm-like build recipes, called spec files and patches. As is common with many other open source projects managed with Subversion, 'trunk' always contains the latest development code. If you are looking for stable code, that is often already released, it is likely that there is a specific branch for that. The JDS sources have the following directory structure -
Spec FilesThe spec file is the heart of creating RPM packages. RPM packages are a common packaging format in a number of Linux distributions. We have historically used these to build packages for JDS on Linux, and now we continue to use them as part of a 2 step build environment for Solaris. All the JDS spec files are standardized against RPM 4.0 and should enough to easily build RPM binary and source packages - if they don't, then there is a bug that you may want to tell us about. To read more about the spec file format, you should read Maximum RPM. Default templateTo make our spec files maintainable, we have a default format for all our spec files. This is relatively easy to achieve, since many of the JDS components come from gnome.org, and are already standardized in terms of a build environment. The default templates, for both Linux and Solaris packaging, are detailed in the docs directory of 'spec-files'. |