about summary refs log tree commit diff
path: root/buildtools/debian/README
blob: 02fae4b5e2240c662cfb3a7d0147f7eb076682d6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
Files in this directory are for creating a Debian package (.deb file),
which one can use to install Netpbm on a Debian system (or a system running
a derivative of Debian, such as Ubuntu or Mint).

You can of course install on one of these systems by running 'installnetpbm',
or otherwise inserting all the files in the proper place in your system file
tree, but having a Debian package allows you to manage those files using
Debian's normal package management.  The package management system will know
where the Netpbm files came from, and you can upgrade or remove Netpbm easily.
The package management system will also be aware of prerequisites of Netpbm
and ensure that you don't have Debian's own inferior version of Netpbm
installed (which would cause conflicts).

The package we create is named 'netpbm-sf' (where the "sf" is from
"SourceForge"), to be distinct from the package named "netpbm" which is part
of Debian.

To install Netpbm as a Debian package:

  1) Follow the regular instructions to build and package Netpbm
     (configure, make, make package).

  2) With the root of the built Netpbm build tree as your current
     directory:

     $ make deb

     (This defaults to getting Netpbm from /tmp/netpbm, which is also where
     'make package' defaults to putting it).

  3) $ dpkg --install netpbm-sfXXXX.deb

     (netpbm-sfXXXX.deb is the file created by 'make deb', in the current
     directory).


PREREQUSISITES
--------------

The following information was taken from the Wheezy version (Version 7) of
Debian, in January 2014.

You don't actually need the current version of any of these.  For example,
while we list package libjpeg8-dev, the package libjpeg62-dev works fine.


Building
--------

You need the following Debian packages to build all of Netpbm.

You could omit some of these and, in the Netpbm build configuration dialog,
indicate you don't have them, and the build will simply omit some parts.
For example, if you don't install libx11-dev, the Netpbm build process
will not build the 'pamx' program.

  libjpeg8-dev
  libpng12-0-dev
  libsvga1-dev
  libtiff5-dev
  libx11-dev
  libxml2a-dev
  zlib1g-dev


In addition, you need the following build tools:

  make
  gcc
  flex
  perl
  pkg-config



Running
-------

The following Debian packages are the known prerequisites for running Netpbm
(and the package created by 'mkdeb' knows this).

    libc6
    libjpeg8
    libpng12-0
    libsvga1
    libtiff5
    libx11-6
    zlib1g
    ghostscript
    perl
    perl-base
    bash

Note that many of these are needed only for a few parts of Netpbm, and it will
be pretty obvious what the problem is when you need the prerequisite package
and don't have it, so if you don't want to install a prerequisite, it would
probably be fine to force install Netpbm, ignoring the prerequisites.


CONFLICTS WITH DEBIAN'S NETPBM
------------------------------

Debian has several packages of Netpbm, all based on a slightly modified
Sourceforge Netpbm 9.25 from 2002 (don't be confused by Debian's numbering
system, which makes it look like it is Netpbm 10).  If you want to install
Sourceforge Netpbm on your system, you will want first to remove any of these
you have installed:

  netpbm
  netpbm-dev
  libnetpbm9
  libnetpbm10

Sourceforge Netpbm should be backward compatible with all of those.  Note that
'mkdeb' makes only one package.  It contains the programs, the runtime
libraries, and the development files.

We have not yet worked out what has to be done about the fact that the Debian
packaging system thinks the Debian Netpbm packages are prerequisites for
things.  If you install Sourceforge Netpbm via the package created by mkdeb,
you should tell the Netpbm maintainer whatever you learn about that.