5.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.
5.1.1. Set Up the Porting System
The porting system includes the porting server running the Linux version that 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.
Complete the following steps 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.
5.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. CVS is the tool used most frequently, but other tools such as Subversion and Arch are gaining popularity. Complete these steps to set 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.
5.1.3. Set Up the Build System
Automated nightly builds of the ported application take place in the build system. Although it may not be needed to begin any porting work, it is good practice to set up the build system 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 determine who and what caused the break. These tasks must be completed when setting up the build system:
When the port, code change, and build system tasks are complete, the real porting work can begin.