Section 5.1. Preliminary Tasks

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:


Install the server with the Linux distribution that the application to be ported is expected to run on.


Set up all necessary home directories and build environment directories.


Check for any known patches that need to be installed on the server.


Make sure the installation includes the compiler and debugger.


Install third-party products and licenses that the application needs. Install any prerequisites or patches needed by these products.


Set up access for users and system administrators on the build server.


Set up policies on using the porting environment as a test machine. These polices must include what can and cannot be tested on the porting server.

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[1] and Arch[2] are gaining popularity. Complete these steps to set up the change management system:




Install the code change management tool.


Install scripts that can be used to make using the tool more convenient for the porting engineers.


Make sure the HOWTO and FAQs on using the tool and scripts exist and are readily accessible. These documents should include examples of how to use the tool and scripts.


Check the application into the code 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:


Develop scripts that can check out the application code and start a nightly build.


Test these scripts after the makefiles have been ported. Expect errors, because the porting work may be just getting underway.


Add the script to a crontab file to schedule the overnight builds.


Write a script that can parse the errors produced so that an automated reporting system can notify responsible parties of any build breaks.

When the port, code change, and build system tasks are complete, the real porting work can begin.

UNIX to Linux Porting. A Comprehensive Reference
UNIX to Linux Porting: A Comprehensive Reference
ISBN: 0131871099
EAN: 2147483647
Year: 2004
Pages: 175 © 2008-2017.
If you may any questions please contact us: