--------------------------------------------- Instructions for creation and installation of operating-system-specific packages of DCVS --------------------------------------------- 1. DCVS packages 1.1 Process of creating OS-specific packages from source 1.1.1 Packet creation on FreeBSD 1.1.2 Packet creation on Fedora Linux 1.1.3 Packet creation on Debian Linux 1.1.4 Packet creation on Sun Solaris 1.1.5 Packet creation on Darwin/MacOSX 1.1.6 Packet creation on NetBSD 1.2 Installing binary packets 1.2.1 Installation on FreeBSD 1.2.2 Installation on Fedora Linux 1.2.3 Installation on Debian Linux 1.2.4 Installation on Sun Solaris 1.2.5 Installation on Darwin/MacOSX 1.2.6 Installation on NetBSD 1.3 Differences between the default DCVS setup and binary packages. 1.3.1 Differences on FreeBSD 1.3.2 Differences on Fedora Linux 1.3.3 Differences on Debian Linux 1.3.4 Differences on Sun Solaris 1.3.5 Differences on Darwin/MacOSX 1.3.6 Differences on NetBSD 1.4 Creating 'dcvs-bin' binary packages --------------------------------------------------------------------------- 1. DCVS packages The source packages and pre-built binary packages are available for download at http://www.elegosoft.com/dcvs/ See the INSTALL file in this directory for information on software you need to compile DCVS, if you want to compile it yourself. You can find a quick setup guide that assumes you are using binary packages in the file DCVS_IN_30_MINUTES in this directory. 1.1 Process of creating OS-specific packages from source You need root privileges to create binary packages on the following platforms: Darwin/MacOSX NetBSD You may want to compile DCVS as non-root on these platforms by calling the 'make all' target as a normal user before creating the package as described below as root. On platforms not listed above, you do not need root privileges to create binary packages. 1.1.1 Package creation on FreeBSD To create a binary DCVS package on FreeBSD, enter the 'prod' directory and type: make pack-freebsd This will build a .tbz package in the 'packages/FreeBSD' directory. 1.1.2 Package creation on Fedora Linux To create a binary DCVS package on Fedora, enter the 'prod' directory and type: make pack-fedora This will build an rpm package in the 'packages/Fedora' directory. 1.1.3 Package creation on Debian Linux To create a binary DCVS package on Debian, enter the 'prod' directory and type: make pack-debian This will build a deb package in the 'packages/Debian' directory. 1.1.4 Package creation on Sun Solaris To create a binary DCVS package on Sun Solairs, enter the 'prod' directory and type: make pack-solaris This will build a Solaris package in the 'packages/Solaris' directory. 1.1.5 Package creation on Darwin/MacOSX To create a binary DCVS package on Darwin, enter the 'prod' directory and type: make pack-fink This will build a fink package in the 'packages/Fink' directory. Note that you will need super-user privileges for this step to succeed. You need to install Fink before you can build and/or install DCVS binary packages for Darwin. See http://fink.sourceforge.net/ for more information. 1.1.6 Package creation on NetBSD At the time of writing, there is a bug in pkgsrc's pkg_create program that hinders proper DCVS package creation on NetBSD. To create a binary DCVS package on NetBSD, you may need to patch your version of pkg_create. See this webpage for details: http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=32163 The patch for pkg_create can be found in the DCVS source tree: packages/NetBSD/pl.diff To apply the patch, go into the '/usr/pkgsrc' directory and type: patch -p0 < full-path-to-DCVS-sources/packages/NetBSD/pl.diff Replace full-path-to-DCVS-sources wth the full path to the top-level directory of the DCVS source tree. Next, run this command as root to install the patched pkg_create program: cd /usr/pkgsrc/pkgtool/pkg_install && make update Now enter the 'prod' directory and type: make pack-netbsd This will build a .tgz package in the 'packages/NetBSD' directory. Note that you will need super-user privileges for this step to succeed. 1.2 Installing binary packages 1.2.1 Installation on FreeBSD On FreeBSD you can install DCVS binary packages using the pkg_add command: pkg_add 1.2.2 Installation on Fedora Linux On Fedora you can install DCVS binary packages using the rpm command: rpm -i 1.2.3 Installation on Debian Debian On Debian you can install DCVS binary packages using the dpkg command: dpkg -i 1.2.4 Installation on Sun Solaris On Sun Solaris you can install DCVS binary packages using the pkg_add command: gunzip .gz pkgadd -d 1.2.5 Installation on Darwin/MacOSX On Darwin you can install DCVS binary packages using the dpkg command: dpkg -i Note that dpkg is part of the 'Fink' distribution for Darwin. You need to install Fink before you can build and/or install DCVS binary packages for Darwin. See http://fink.sourceforge.net/ for more information. 1.2.6 Installation on NetBSD On NetBSD you can install DCVS binary packages using the pkg_add command: pkg_add 1.3 Differences between the default DCVS setup and binary packages. The "default" DCVS setup is what is described in the file INSTALL. It assumes that the whole DCVS system (except repositories) are installed in the '/usr/local/dcvs' directory. This is what you get when you type 'make install' in the 'prod' directory. This section describes the differences between the default setup and the binary packages, that were specifically adapted to conventions of supported operating systems. Generally, you can assume that a DCVS binary package will be a good citizen, and knows about conventions used in your system. You should be able to find things where you expect them to be. 1.3.1 Differences on FreeBSD The installation prefix is '/usr/local', though some files and directories are installed in '/var'. You can change this prefix by setting the PACK_FREEBSD_PREFIX variable during package compilation, like so: make PACK_FREEBSD_PREFIX= pack-freebsd Binaries and shell scripts are in /usr/local/bin and /usr/local/sbin. The init script to start dcvsupd is /usr/local/etc/rc.d/dcvsupd.sh. Configuration files reside in /usr/local/etc/dcvs. Man pages are in /usr/local/man. Additional documentation can be found in /usr/local/share/doc/dcvs. The base directory for the dcvsupd daemon is /var/db/dcvsup. 1.3.2 Differences on Fedora Linux Binaries and shell scripts are in /usr/bin and /usr/sbin. The init script to start dcvsupd is /etc/init.d/dcvsupd.sh. Configuration files reside in /etc/dcvs. Man pages are in /usr/share/man. Additional documentation can be found in /usr/share/doc/dcvs. The base directory for the dcvsupd daemon is /var/lib/dcvsup. 1.3.3 Differences on Debian Linux Same as Fedora. 1.3.4 Differences on Sun Solaris The installation prefix is '/usr/local', though some files and directories are installed in '/var'. You can change this prefix by setting the PACK_SOLARIS_PREFIX variable during package compilation, like so: make PACK_SOLARIS_PREFIX= pack-solaris Binaries and shell scripts are in /usr/local/bin and /usr/local/sbin. The init script to start dcvsupd is /etc/init.d/dcvsupd. Configuration files reside in /usr/local/etc/dcvs. Man pages are in /usr/local/man. Additional documentation can be found in /usr/local/doc/dcvs. The base directory for the dcvsupd daemon is /var/lib/dcvsup. 1.3.5 Differences on Darwin/MacOSX The installation prefix is '/sw'. You can change this prefix by setting the PACK_FINK_PREFIX variable during package compilation, like so: make PACK_FINK_PREFIX= pack-fink Binaries and shell scripts are in /sw/bin and /sw/sbin. The init script to start dcvsupd is /sw/sbin/dcvsupd.sh. Configuration files reside in /sw/etc/dcvs. Man pages are in /sw/share/man. Additional documentation can be found in /sw/share/doc/dcvs. The base directory for the dcvsupd daemon is /sw/var/lib/dcvsup. 1.3.6 Differences on NetBSD The installation prefix is '/usr/pkg', though some files and directories are installed in '/var'. You can change this prefix by setting the PACK_NETBSD_PREFIX variable during package compilation, like so: make PACK_NETBSD_PREFIX= pack-netbsd Binaries and shell scripts are in /usr/pkg/bin and /usr/pkg/sbin. The init script to start dcvsupd is /usr/pkg/etc/rc.d/dcvsupd.sh. Configuration files reside in /usr/pkg/etc/dcvs. Man pages are in /usr/pkg/man. Additional documentation can be found in /usr/pkg/share/doc/dcvs. The base directory for the dcvsupd daemon is /var/db/dcvsup. 1.4 Creating 'dcvs-bin' binary packages We may not provide binary packages for your operating system of choice. Yet if you deploy DCVS on a large number of machines, you may not want to compile DCVS on each machine. You can create a binary package that behaves just like an installation created by the 'make install' target by typing make pack-bin in the 'prod' dirctory. This will create a tar.gz archive suitable for extraction on other machines running the same operating system. Note that the 'pack-bin' target has the same prerequisits as the 'install' target, including root access. See the file INSTALL in this directory for more information. Use the following commands to extract the archive on the target machine: cd /usr/local tar -zxpvf /path/to/ Note that 'dcvs-bin' packages lack the luxury of packages adapted to a specific operating system. For example, creation of the 'dcvs' user and group is not performed automatically.