version/0.3
[cdimgtools.git] / INSTALL
blobaad3ccdbd1cfdd629d201a666429afe60790fea5
1 CDimg|tools was mainly written under a GNU/Linux OS but should work under other
2 UNIX flavours, and perhaps even on other platforms, albeit maybe only partially
3 (see <<dependencies, Dependencies>> below).
6 Installation instructions
7 -------------------------
8 // An HTML version of this file is part of 'README.html'.
10 The official source for release downloads is at
11 <http://download.gna.org/cdimgtools/>.  The dependencies to build the package
12 have to be installed first (see <<dependencies, Dependencies>> below).
14 To install directly from the sources' tree, download a release archive and
15 extract it.  The quick and simple way to install CDimg|tools with documentation
16 in your home directory +~/.local+ is to run:
18 [source,sh]
19 $ make .help
20 $ make
21 $ make install install-doc
23 Optionally, you can use the `configure` script to check for some dependencies
24 and install system-wide in +/usr/local+:
26 [source,sh]
27 $ ./configure
28 $ make
29 $ sudo make install
31 Running `configure` is optional but _recommended_.  To adjust the installation
32 process (as well as the build process) you can tell `configure`.  For example:
34 [source,sh]
35 $ ./configure --help
36 $ ./configure --prefix=/usr
38 Or you can edit the file +config.make+ after a call to `configure`, or set the
39 Makefile variables on the command line:
41 [source,sh]
42 $ make install prefix=$HOME/.local/stow/cdimgtools
44 Distributors might use the +DESTDIR+ Makefile variable to install the files for
45 packaging:
47 [source,sh]
48 $ make install DESTDIR=./packagefiles
50 Documentation building
51 ~~~~~~~~~~~~~~~~~~~~~~
52 To avoid the installation of the documentation tool chain, pre-compiled
53 documentation files are available in the release archives.  To force the
54 re-building of the documentation, delete the files first:
56 [source,sh]
57 $ make distclean doc-man doc-html
59 RPM and DEB packages
60 ~~~~~~~~~~~~~~~~~~~~
61 If your system uses one of these package management systems and you have
62 administrative privileges to install software, it is probably better to
63 download pre-packaged source +.rpm+ packages or +.dsc+ (Debian source)
64 packages, then build them to binary packages to be installed by your
65 distribution's package management system.
67 For RPM, download the file with the extension +.src.rpm+, then:
69 [source,sh]
70 $ rpmbuild --rebuild --without docs cdimgtools-${version}-$RELEASE.src.rpm
71 $ sudo rpm -i ~/rpmbuild/RPMS/$ARCH/cdimgtools-${version}-$RELEASE.$ARCH.rpm
72   # to install it
74 For DEB, download the files with the extensions +.dsc+, +.orig.tar.gz+ and
75 +.debian.tar.gz+, then:
77 [source,sh]
78 $ dpkg-source -x cdimgtools_${version}-${REVISION}.dsc
79 $ cd cdimgtools-${version}
80 $ dpkg-buildpackage -rfakeroot -b -uc
81 $ sudo dpkg -i ../cdimgtools_${version}-${REVISION}_$ARCH.deb
82   # to install it
84 Alternatively binary packages pre-built for your architecture might be
85 available for download.
87 Or you can create binary (and source) packages directly from the sources' tree:
89 [source,sh]
90 # For RPM:
91 $ make distclean
92 $ make rpm RPMBUILD_FLAGS=""
93 # For DEB:
94 $ make distclean
95 $ make deb DEBUILD_FLAGS="--no-lintian -us -uc"
97 Verifying the signatures
98 ~~~~~~~~~~~~~~~~~~~~~~~~
99 You need to have the
100 link:https://gna.org/project/memberlist-gpgkeys.php?group=cdimgtools[GnuPG key]
101 of the packager.
103 [source,sh]
104 $ gpg --keyring cdimgtools-keyring.gpg -v cdimgtools-${version}.tar.gz.sig
105 $ gpg --keyring cdimgtools-keyring.gpg -v cdimgtools-${version}-$RELEASE.src.rpm.sig
106 $ dscverify --keyring cdimgtools-keyring.gpg cdimgtools_${version}-${REVISION}.dsc
109 [[dependencies]]
110 Dependencies
111 ------------
113 The following tools are required:
115 [cols="3<,8<",options="header"]
116 |=============================================================================
117 |Tool               |Description
118 |link:http://www.perl.org/[Perl] (>= 5)
119         |The scripts are written in perl.
120 |Pod::Usage,
121   link:$$http://search.cpan.org/~evo/String-Escape/Escape.pm$$[String::Escape],
122   link:$$http://search.cpan.org/~dcantrell/Data-Hexdumper/lib/Data/Hexdumper.pm$$[Data::Hexdumper]
123         |Perl modules required.
124 |a C compiler       |Only link:http://gcc.gnu.org[GCC] has been tested.
125 |link:http://www.videolan.org/developers/libdvdcss.html[libdvdcss]
126         |For decrypting scrambled DVD Video discs.
127 |link:http://dvdnav.mplayerhq.hu/[libdvdread]
128         |For locating VOB files in an UDF filesystem.
129 |link:http://www.gnu.org/software/make/[GNU make]
130         |Used for building and installing.  Other make programs will not work.
131 |=============================================================================
133 The following optional tools and packages are needed for (re-)creating the
134 +configure+ script or for (re-)building the documentation:
136 [cols="3<,8<",options="header"]
137 |=============================================================================
138 |Tool               |Description
139 |link:http://www.gnu.org/software/autoconf/[GNU Autoconf]
140         |Contains autoreconf for generating configure from configure.ac.
141 |link:http://www.methods.co.nz/asciidoc/[AsciiDoc] (>= 8.4)
142         |Generates HTML and (DocBook) XML from text.
143 |link:http://www.gnu.org/software/src-highlite/[GNU Source-highlight]
144         |Used by asciidoc to highlight sh code.
145 |link:http://perldoc.perl.org/index-utilities.html[perldoc]
146         |pod2man, pod2text, pod2html are used to extract the documentation from the
147           perl scripts.
148 |link:http://cyberelk.net/tim/software/xmlto/[xmlto]
149         |Generates UNIX manual pages from XML.
150 |link:http://xmlsoft.org/XSLT/[xsltproc],
151   link:http://docbook.sourceforge.net[DocBook XSL] (>= 1.72.0)
152         |Used by xmlto for building the manual pages.
153 |=============================================================================
155 Furthermore, you might need the programs that build RPM or DEB packages.