summaryrefslogtreecommitdiff
path: root/debian/README.potato
blob: 94f4d7e34bf36d072bd57b88a15731143f4bd5ed (plain)
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
123
124
125
126
127
128
#
# COMPILING THE DEBIAN SENDMAIL PACKAGE ON POTATO
#
I am writing this document to summarize the assistance that Richard A
Nelson (Rick) <cowboy@debian.org> gave me in getting the
sendmail-8.12.1-1 package to compile under Potato.  Hopefully this
will save him the effort of responding to other email from people as
clueless as myself.

Pre-requisites (supplied by potato):
	 Linux 2.2.19 or 2.4.7+  for shm support.
	 m4
	 debhelper 1.1.17+
	 groff
	 bsdmainutils
	 libopenldap-dev
	 libwrap0-dev
	 liblockfile-dev
	 libpam0g-dev
	 automake
	 libtool
	 libdb2-dev
	 dpkg-dev

Pre-requisites (that you must fulfill on your own):
	 libsasl-dev

Instructions on how to fulfill above dependency:
1) download from your nearest Debian source mirror the cyrus-sasl
   source.  At the point of the writing of this document that was version
   1.5.24-9.  The source should be in "debian/pool/main/c/cyrus-sasl",
   you will need the following files (possibly replacing the version):
         cyrus-sasl_1.5.24-9.diff.gz
	 cyrus-sasl_1.5.24-9.dsc
	 cyrus-sasl_1.5.24.orig.tar.gz

2) extract the source using dpkg-source -x cyrus-sasl_1.5.24-9.dsc
   This should create a directory cyrus-sasl-1.5.24/
3) compile+package sasl, this can be accomplished in different
   ways.  For either of them you will need to cd into the source
   directory you just extracted (cd cyrus-sasl-1.5.24).  Then you will
   need to execute one of the following sets of commands:
         debian/rules build      as a normal user
	 debian/rules binary	 as root
   or
         debian/rules binary     as root
   or
         dpkg-buildpackage
4) install the resulting packages with a command similar to:
         cd ..;dpkg --install *1.5.24-9*deb

At this time, all of the prerequisites should be fulfilled to build the
sendmail-8.12.1-1 packages.

Note: to get a functional sendmail binary, I had to uninstall
libdb2-dev at this point.  See note on libdb at the end of this
document.  If your sendmail binary segfaults on startup, try removing
libdb2-dev and going through all the remaining steps again.


Now on to the real reason why you are reading this, making a sendmail
binary package:
1) download the sendmail source from your nearest Debian source
   mirror.  At the point of the writing of this document that was
   version 8.12.1-1.  The source should be in "debian/pool/main/s/sendmail",
   you will need the following files (possibly replacing the version):
          sendmail_8.12.1-1.diff.gz
	  sendmail_8.12.1-1.dsc
	  sendmail_8.12.1.orig.tar.gz
2) extract the source using dpkg-source -x sendmail_8.12.1-1.dsc
   This should create a directory named sendmail-8.12.1/
3) modify debian portion to remove perl-5.6.1 dependancy and to fix a
   typo.  Some or all of this step will possibly disappear from future
   versions.  First cd sendmail-8.12.1/debian
   a) Fix typo in the debian rules file
      Search for the string "dh_testversion 2"
      if dh_testversion is immediately preceded by a / remove it.
      i.e. if you see /dh_testversion change it to dh_testversion
      *** Note: you no longer need to do this as of 8.12.1-2 !
   b) Change directory into sendmail-8.12.1/debian/local.  Edit the
      following files:
           Parse_mc.pm.in
	   parse_mc.in
	   update_conf.in
	   update_mk.in
      commenting out the following lines:
           use warnings;
	   no warnings qw(once);
      you may optionally also with to remove the -w for the first line
      of those files.
4) compile+package sendmail, this can be accomplished in different
   ways.  For either of them you will need to cd into the source
   directory you extracted (cd sendmail-8.12.1).  Then you will
   need to execute one of the following sets of commands:
         debian/rules build      as a normal user
	 debian/rules binary	 as root
   or
         debian/rules binary     as root
   or
         dpkg-buildpackage
5) install the resulting packages with a command similar to:
         cd ..;dpkg --install *8.12.1-1*deb

At this point you should have a working sendmail binary installed.  It
is time to start testing.  If sendmail seg faults on start up (verify
with sendmail -bD), you should read the following note on libdb,
libdb2, and libdb3).


Yours, 

William R Thomas <corvar@theonering.net>


A note on libdb, libdb2, and libdb3:
      Sendmail and all of the various libraries it uses must all use
      the same version of libdb.  The quick, dirty, easy way to verify
      this is to use ldd to determine which libdb library is being
      used in the finished binaries:
	   ldd /usr/lib/sendmail
	   ldd /usr/lib/libnss_db.so
	   ldd /usr/sbin/saslpasswd   (if available)
	   ldd /usr/sbin/slapd        (if available)
      if everything has gone well, you should see that all of the
      above files are using the same version of libdb.  

      To get everything on the same version of libdb, I needed to
      uninstall libdb2-dev previous to compiling the sendmail package.