The xxgdb Debugger Other Open Source Debuggers
6.3.1 Configuring CVS
Once CVS is installed on the server, the next step is to configure the machine properly to use CVS. The first step is to create a user and group to be the owners of the repositories. For pur- poses of example, assume that the user and the group are both named “cvs”. This example shows how to set up CVS for local and remote “pserver” access. This method of setting up CVS is not the most secure method and does not provide a secure method for accessing the CVS repository remotely; but it is necessary if a project intends to provide remote, anonymous access to the CVS repository. For details on setting up a secure method of accessing the repository, see Section 6.7.1. To accomplish this, as root, issue the useradd command listed below. Under RedHat Linux, this will create the cvs user and the cvs group. All of the following commands must be issued as the root user. useradd -r -c CVS user cvs As initialized, this account will have no password and will not be able to be logged into. You can either leave it this way and, in the event that maintenance is necessary, log in as root and resolve issues, or assign a password and use that account. Leaving the account with no password is probably the most secure, but in the event that a password is necessary, simply assign one. passwd cvs Changing password for user cvs New UNIX password: type cvs password Retype new UNIX password: type cvs password passwd: all authentication tokens updated successfully The next step is to create a CVS repository. For this example, assume that the CVS root is usrlocalcvsroot . Additional repositories may be set up at this time, simply issue the CVS init command as many times as necessary; while changing the –d option to reflect the additional repositories. cvs –d usrlocalcvsroot init This will create the file structure necessary for CVS to function and will initialize all nec- essary files. Once the user and repositories have been created, the ownership of the repositories needs to be changed. chmod –R cvs:cvs usrlocalcvsroot [additional repositories here] The next step is to add users to the repositories. Each repository has a password file in the CVSROOTCVSROOT directory. There are three fields in this file separated by colons. The first field is the user name that may or may not be the same as the user’s login id. The second field is the user’s encrypted password. This password is encrypted with the crypt function. The final field is the name of the user whose request will be performed. This is the owner of the CVS repository and in our example, the owner is ‘cvs’. 178 Chapter 6 • Introduction to CVS The easiest way to generate encrypted passwords for the password file is by using a simple perl script. An example is presented below. Simply type this script into a file using a text editor and make the file executable. Then run the program with two arguments, the username and the password. usrbinperl Simple script to take a username and password and return a line suitable for pasting into the CVS password file. u, p=ARGV; d=A..Z,a..z; s=d[rand52].d[rand52]; print u.:.cryptp, s.:cvs\n; If you have saved the file under the name ‘cvspassgen’ and set the permission properly, simple run the application as follows: .cvspassgen username password username:mU7OltQzHySmY:cvs As you can see, the information is returned in the format that CVS requires. Note: since a random salt is used to generate the password, your output will vary from what is presented here. You can simply cut and paste the line into the password file. Another option is to redirect the output of the script directly into the password file. .cvspassgen username password CVSROOTCVSROOTpasswd This assumes that the CVSROOT environmental variable is set to the proper directory. Next, the services file must be updated in order for the CVS server to respond to network requests. The following line will append to the etcservices file. Just be sure that there are two “greater than” symbols or you will erase whatever is already in your services file. echo “cvspserver 2401tcp” etcservices Next, the inetd server needs to know which service to start when requests come in. RedHat 7.x uses the xinetd server and so a file needs to be created in etcxinetd.d named cvspserver. Using your favorite text editor, edit etcxinetd.dcvspserver to include the fol- lowing information: Description: cvspserver: version control system service cvspserver { socket_type = stream wait = no user = cvsParts
» the linux development platform 2003
» Requirement Gathering Life Cycle of a Software Development Project
» Writing Functional Specifications Life Cycle of a Software Development Project
» Creating Architecture and Design Documents
» Implementation and Coding Life Cycle of a Software Development Project
» Testing Life Cycle of a Software Development Project
» Technical documentation developed during the development process. This includes
» Technical documentation prepared for technical support staff. This includes technical
» End-user manuals and guides. This is the documentation for the end user to assist the
» Software Releases Support and New Features
» Hardware Platform Components of a Development System
» Operating System Components of a Development System
» Editors Components of a Development System
» Compilers and Assemblers Components of a Development System
» Debuggers Components of a Development System
» Version Control Systems Components of a Development System
» Selection Criteria for Hardware Platform Selection Criteria for Software Development Tools
» Creating Deadlines Managing Development Process
» Managing the Development Team
» Resolving Dependencies Managing Development Process
» Libraries Linux Development Platform Specifications LDPS and Linux
» Open Source Developers Network at http:www.osdn.org
» Extensibility What to Look for in an Editor
» References and Resources the linux development platform 2003
» Target machine. This is the machine for which the newly built compiler will generate
» Post-Installation Tasks Installing GNU Compiler
» Compiling to Intermediate Levels
» Compilation with Debug Support
» Compilation with Optimization Compiling a Program
» Compiling Source Code for Other Languages
» Linking a program Assembling a Program
» Creating Libraries the linux development platform 2003
» Standard Libraries the linux development platform 2003
» Compiling Fortran Programs the linux development platform 2003
» Smalltalk Oberon Other Compilers
» The target 2. Dependencies Basic Terminology
» The explicit rules 2. The implicit rules
» Input Files Introduction to GNU make
» Typical Contents of a Makefile
» Running make Introduction to GNU make
» Shell to Execute Commands Include Files
» The ftp server The The dnsresolver
» FTPOBJS OBJS Another Example of Makefile
» Explicit Rules The make Rules
» Implicit Rules The make Rules
» Defining Variables Types of Variables
» Pre-Defined Variables Automatic Variables
» Makefile in The Top Directory
» Makefile in common-dir Directory
» Makefile in the ftp-dir Directory
» Makefile in the tftp-dir Directory Makefile in the dns-dir Directory
» Building Everything Working with Multiple Makefiles and Directories
» The ifdef Directive Control Structures and Directives
» The ifndef Directive Control Structures and Directives
» Compilation Getting the Latest Version and Installation
» Most Commonly Used gdb Commands
» Passing Command Line Arguments to the Program Being Debugged
» The step and finish Commands
» Introduction to GDB Working with the Stack
» Displaying Program Variables Displaying Variables
» Automatic Displaying Variables with Each Command
» Displaying Environment Variables Displaying Variables
» Modifying Variables Displaying Variables
» Disabling Break Points Enabling Break Points
» Debugging Optimized Code the linux development platform 2003
» Debugging Running Processes the linux development platform 2003
» The kdbg Debugger Other Open Source Debuggers
» The ddd Debugger Other Open Source Debuggers
» The xxgdb Debugger Other Open Source Debuggers
» CVS Policies the linux development platform 2003
» Project Management and Communication
» Remote Repositories Checking out a Project
» Finding the Status of a Project
» Finding Differences Using the CVS Client
» Resolving Conflicts Using the CVS Client
» Checking the Project Back In Adding Files to a Project
» Removing Files from a Project
» Tags and Releases Using the CVS Client
» System Requirements Introduction to jCVS
» Installation Instructions Introduction to jCVS
» Using jCVS Introduction to jCVS
» Installing pcl-cvs Using Emacs with CVS
» Using pcl-cvs Using Emacs with CVS
» Have a shell account on the CVS server. 2. Create a publicprivate key pair on the client.
» Selecting Coding Styles Using indent Utility
» Formatting Braces Using indent Utility
» Formatting Declarations Using indent Utility
» Breaking Long Lines Using indent Utility
» Summary of Options Using indent Utility
» Using sed Utility Using cscope and cbrowser
» Generating C Function Prototypes from C Source Code Using cproto
» Using ltrace and strace Utilities
» Value 2. Type Name Using the nm Utility
» Using the ranlib Utility Using the strip Utility
» Using the strings Utility Using the addr2line Utility
» Host Machine Introduction to the Cross-Platform Development Process
» Target Machine Introduction to the Cross-Platform Development Process
» Cross Platform Development Cycle
» Embedded Systems and Moving Parts
» Embedded Systems and Power Consumption
» Embedded Operating Systems What are Embedded Systems?
» Knowledge of Target System Hardware
» Software Emulators Cross Compilations
» Using gdbserver with GNU Debugger
» Attaching to a Running Process Using gdbserver
» Arcom SBC-GX1 Board Hardware Used for Cross-Platform and Embedded Systems
» Artesyn PMPPC Mezzanine Card
» References the linux development platform 2003
» Java Compiler Java Virtual Machine
» Kaffe the linux development platform 2003
» The Jboss Java Development System
» Getting and Installing Java SDK from Sun Creating jar Files
» Creating Source Code File Compiling Java Code
» Running Java Applications Building Java Applications
» Using gcj to Build Java Applications
» Building Applets the linux development platform 2003
» Testing Applets with Netscape
» Jikes for Java the linux development platform 2003
Show more