Adding a new package to the Online CVS repository

Before you do this, you either want to remove files not intended for the repository (e.g., editor backups, binaries, .o files, etc.) from your package directory, tell cvs import to ignore them using the -I flag for each, or create a .cvsignore file containing a list of files to ignore in the package directory. See the CVS man pages.

Then review the Software Standards and Tools Document (DocDB#615) and the example code in the NovaDAQTemplate package to confirm that your package meets the design standards.

When your package is ready, set up the cvs environment:

export CVSROOT=":/cvs/nova"
export CVS_RSH="ssh"

And from the directory of your new package, invoke a command of the form:

cvs -n import <package_path_name> <vendor_tag> <release_tag>


  • package_path_name is the path under $CVSROOT where your new package will live, including the package name itself. Typically packages will live in the Online/pkgs directory of the repository.
  • vendor_tag and release_tag are required but don't mean much here. For example, the name of the package can be used as the vendor tag and "start" as the release tag.
  • the "-n" cvs option allows you to test the command without actually importing anything into the repository.

For example, to import your new package NovaDAQRocks under the Online/pkgs directory:

cd NovaDAQRocks
cvs -n import Online/pkgs/NovaDAQRocks ndrbase start

If you're happy with the resulting cvs messages, repeat it without the "-n", and it will happen for real.

Caution! It's important to use the path Online/pkgs/YourPackageName when doing the import. This will insure that the package is placed in the correct location. If Online/pkgs is left off, someone with cvs administrative privileges will need to go in and move it in the actual physical repository - a risky procedure.

Note that the import of your package into CVS does not turn your package directory into a CVS sandbox. To create this, move your package directory to a different location (and remove it when you are satisfied the cvs import worked fine), and run:

cvs checkout Online/pkgs/NovaDAQRocks

to pull down the package as a CVS controlled directory.

Finally, associate a module name with the new package directory. Check out the CVSROOT directory, then edit and commit the "CVSROOT/modules" file. There are some directions in that file, but it boils down to adding a line like:

YourPackageName        Online/pkgs/YourPackageName

Although not necessary for operation, please try to preserve the ordering and sectioning.

Additional note (18-Nov-2009, KAB) - if the package is ready to be included in base releases, it can also be added to the packages-* files in the Online/pkgs/setup module in the novacvs repository:

addpkg -h onlsetup
cd onlsetup
vi nova-online-packages-development # add a line: YourPackageName : HEAD