4.1. Preliminary Tasks
Before the porting work can begin, we need to prepare the environment that we will be working in. Among other things, we need to set up the port, build, and code change systems. Here is a checklist that includes the detailed tasks for each.
4.1.1. Set Up the Porting System
The porting system is used by porting engineers to do the porting work. It includes the porting server running the Linux version the application to be ported is expected to run on. In some instances, the server can be used to run small unit tests that will not affect overall server performance. Here is a list of tasks to set up the porting system:
Depending on how work is divided among different groups involved in the porting project, the responsibility of doing these tasks may fall on the porting engineer. Even in instances where a separate group in the IT organization sets up the server, the porting engineer still needs to provide the specifications of the environment to the person performing the installation and setup.
4.1.2. Set Up the Code Change Management System
The code change management system consists of a tool that manages code changes to the application. The tool most frequently used is CVS, but other tools such as Subversion and Arch are gaining popularity. Here are the tasks associated with setting up the change management system:
After the snapshot of the application source code has been checked into the code management system, that code should only be used for porting changes. No outside development changes should be added to this code base during the porting period.
4.1.3. Set Up the Build System
The build system is where automated nightly builds of the ported application take place. Although it may not be needed to begin any porting work, it is good practice to set it up before porting application makefiles. This system needs to be able to check out the source code and start an overnight build of the application. Building the application nightly after the code is stable enough to build with minimum build errors is good practice to make sure all checked-in code that day did not cause anything to break in the build. If something does break, it will be easier to find who and what caused the break. Here are the tasks associated with setting the build system:
When the port, build, and code change system tasks are complete, the real porting work can begin.