1. Summary
  2. Files
  3. Support
  4. Report Spam
  5. Create account
  6. Log in

root/csw/mgar/pkg/sendmail/trunk/Makefile

Revision 17362, 15.2 KB (checked in by bonivart, 2 months ago)

sendmail/trunk: fix symlink

  • Property svn:keywords set to Id
Line 
1# $Id$
2
3# TODO
4# - Build separate 9/10 packages?
5# - One big "mta" switch in alternatives between sendmail/postfix
6
7# + add symlink from /etc/opt/csw/mail/cf to /opt/csw/share/mail/cf/cf
8# + add ostype solaris9csw.m4
9# + add sendmail.mc in cf dir
10# + /opt/csw/lib/sendmail 2555 root smmsp (Rafael Ostertag)
11# + remove statistics
12# + csw-sm-client.pid, csw-sendmail.pid
13# + smmsp:smmsp /var/opt/csw/spool/clientmqueue
14# + Include Makefile in /etc/opt/csw/mail
15# + post message
16# + Fix paths in sendmail.cf and cswsendmail
17# + #4486 Provide sendmail's contrib/ tools as a separate package?
18# + Include activate/deactivate scripts
19# + migrate conf from /opt/csw/etc/mail
20# + Tests? Not really possible to test during build
21# + build libmilter
22# + use alternatives to clear collisions with postfix, see sudo as example
23# + never start cswsendmail by default (collides with system sendmail)
24# + path to sendmail.cf (/etc/opt/csw/mail)
25# + bdb hash support
26# + cpsample conf files
27# + remove COPYING file
28# + copy usergroup file into place
29# + #3864 Sendmail must be relinked with new berkeley db -> bdb48
30# + #2915 Must stop built-in sendmail manually -> n/a
31# + #4150 Sendmail 8.14.4 released -> this is 8.14.5
32
33NAME = sendmail
34VERSION = 8.14.5
35CATEGORIES = server
36GARTYPE = v2
37
38DESCRIPTION = Sendmail MTA
39define BLURB
40  Sendmail MTA
41endef
42
43MASTER_SITES = ftp://ftp.sendmail.org/pub/sendmail/
44SPKG_SOURCEURL = http://www.sendmail.org
45
46DISTFILES  = $(NAME).$(VERSION).tar.gz
47DISTFILES += aliases helpfile local-host-names sendmail.cf
48DISTFILES += submit.cf trusted-users
49DISTFILES += README.CSW sendmail.schema site.config.m4
50DISTFILES += oracle-sendmail-deactivate.sh oracle-sendmail-reactivate.sh
51DISTFILES += cswsendmail cswusergroup
52DISTFILES += sendmail.mc solaris9csw.m4
53
54LICENSE = LICENSE
55
56PACKAGES                      = CSWsendmail
57CATALOGNAME_CSWsendmail       = sendmail
58SPKG_DESC_CSWsendmail         = $(DESCRIPTION)
59RUNTIME_DEP_PKGS_CSWsendmail += CSWbdb48
60RUNTIME_DEP_PKGS_CSWsendmail += CSWlibwrap1
61RUNTIME_DEP_PKGS_CSWsendmail += CSWlibssl0-9-8
62RUNTIME_DEP_PKGS_CSWsendmail += CSWlibsasl2-2
63RUNTIME_DEP_PKGS_CSWsendmail += CSWliblber2-4-2
64RUNTIME_DEP_PKGS_CSWsendmail += CSWlibldap2-4-2
65
66PACKAGES                += CSWlibmilter
67CATALOGNAME_CSWlibmilter = libmilter
68SPKG_DESC_CSWlibmilter   = Sendmail MTA milter
69PKGFILES_CSWlibmilter    = $(docdir)/libmilter/.*
70PKGFILES_CSWlibmilter   += /opt/csw/include/libmilter.h
71PKGFILES_CSWlibmilter   += /opt/csw/include/libmilter/mfapi.h
72PKGFILES_CSWlibmilter   += /opt/csw/include/libmilter/mfdef.h
73PKGFILES_CSWlibmilter   += /opt/csw/include/libsmdb/smdb.h
74PKGFILES_CSWlibmilter   += $(libdir)/libmilter.a
75PKGFILES_CSWlibmilter   += $(libdir)/libsm.a
76PKGFILES_CSWlibmilter   += $(libdir)/libsmdb.a
77PKGFILES_CSWlibmilter   += $(libdir)/libsmutil.a
78
79PACKAGES                            += CSWsendmail-contrib
80CATALOGNAME_CSWsendmail-contrib      = sendmail_contrib
81SPKG_DESC_CSWsendmail-contrib        = Sendmail MTA contrib
82RUNTIME_DEP_PKGS_CSWsendmail-contrib = CSWperl
83ARCHALL_CSWsendmail-contrib          = 1
84PKGFILES_CSWsendmail-contrib         = $(docdir)/sendmail_contrib/.*
85PKGFILES_CSWsendmail-contrib        += $(bindir)/link_hash.sh
86PKGFILES_CSWsendmail-contrib        += $(bindir)/movemail.pl
87PKGFILES_CSWsendmail-contrib        += $(bindir)/smcontrol.pl
88PKGFILES_CSWsendmail-contrib        += $(bindir)/passwd-to-alias.pl
89PKGFILES_CSWsendmail-contrib        += $(bindir)/socketmapClient.pl
90PKGFILES_CSWsendmail-contrib        += $(bindir)/bounce-resender.pl
91PKGFILES_CSWsendmail-contrib        += $(bindir)/doublebounce.pl
92PKGFILES_CSWsendmail-contrib        += $(bindir)/mailprio
93PKGFILES_CSWsendmail-contrib        += $(bindir)/socketmapServer.pl
94PKGFILES_CSWsendmail-contrib        += $(bindir)/qtool.pl
95PKGFILES_CSWsendmail-contrib        += $(bindir)/buildvirtuser
96PKGFILES_CSWsendmail-contrib        += $(bindir)/etrn.pl
97PKGFILES_CSWsendmail-contrib        += $(bindir)/re-mqueue.pl
98PKGFILES_CSWsendmail-contrib        += $(bindir)/cidrexpand
99PKGFILES_CSWsendmail-contrib        += $(bindir)/expn.pl
100PKGFILES_CSWsendmail-contrib        += $(mandir)/man1/etrn.0
101PKGFILES_CSWsendmail-contrib        += $(mandir)/man8/qtool.8
102PKGFILES_CSWsendmail-contrib        += $(sysconfdir)/movemail.conf
103
104INITSMF     = /etc/opt/csw/init.d/cswsendmail
105SAMPLECONF  = $(addprefix /etc/opt/csw/mail/,$(CONFFILES))
106USERGROUP   = /etc/opt/csw/pkg/CSWsendmail/cswusergroup
107POSTMSG     = $(docdir)/sendmail/README.postinstall
108
109# Enable support for files > 2GB in size.
110EXTRA_CFLAGS = -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
111
112# Do not remove the static libs from libmilter
113MERGE_EXCLUDE_STATICLIBS =
114
115# Patches
116PATCHFILES += 0001-add-libmilter-to-the-Makefile.patch
117PATCHFILES += 0002-no-gnuism.patch
118PATCHFILES += 0003-fix-Makefile-in-cf-dir.patch
119
120MIGRATE_FILES_CSWsendmail      = aliases helpfile local-host-names sendmail.cf
121MIGRATE_FILES_CSWsendmail     += submit.cf trusted-users
122MIGRATE_SOURCE_DIR_CSWsendmail = /opt/csw/etc/mail
123MIGRATE_DEST_DIR_CSWsendmail   = /etc/opt/csw/mail
124
125PROTOTYPE_MODIFIERS = 1 2
126PROTOTYPE_FILES_1   = /var/opt/csw/spool/clientmqueue
127PROTOTYPE_USER_1    = smmsp
128PROTOTYPE_GROUP_1   = smmsp
129PROTOTYPE_PERMS_1   = 0770
130PROTOTYPE_FILES_2   = /opt/csw/lib/sendmail
131PROTOTYPE_USER_2    = root
132PROTOTYPE_GROUP_2   = smmsp
133PROTOTYPE_PERMS_2   = 2555
134
135CONFIGURE_SCRIPTS   = custom
136BUILD_SCRIPTS       = custom
137TEST_SCRIPTS        = custom
138INSTALL_SCRIPTS     = custom
139
140# Some files collide with CSWpostfix
141ALTERNATIVES_CSWsendmail  = sendmail
142ALTERNATIVE_sendmail  = $(bindir)/mailq sendmail $(bindir)/mailq.sendmail 100
143ALTERNATIVE_sendmail += $(bindir)/newaliases newaliases $(bindir)/newaliases.sendmail
144ALTERNATIVE_sendmail += $(mandir)/man1/mailq.1 mailq.1 $(mandir)/man1/mailq1.1.sendmail
145ALTERNATIVE_sendmail += $(mandir)/man1/newaliases.1 newaliases.1 $(mandir)/man1/newaliases.1.sendmail
146ALTERNATIVE_sendmail += $(mandir)/man5/aliases.5 aliases.5 $(mandir)/man5/aliases.5.sendmail
147
148# Look thru these to see if they are harmless, e.g. examples
149CHECKPKG_OVERRIDES_CSWsendmail-contrib += file-with-bad-content|/usr/local|root/etc/opt/csw/movemail.conf
150CHECKPKG_OVERRIDES_CSWsendmail-contrib += file-with-bad-content|/usr/local|root/opt/csw/bin/bounce-resender.pl
151CHECKPKG_OVERRIDES_CSWsendmail-contrib += file-with-bad-content|/usr/local|root/opt/csw/bin/etrn.pl
152CHECKPKG_OVERRIDES_CSWsendmail-contrib += file-with-bad-content|/usr/local|root/opt/csw/bin/re-mqueue.pl
153CHECKPKG_OVERRIDES_CSWsendmail-contrib += file-with-bad-content|/usr/local|root/opt/csw/bin/movemail.pl
154CHECKPKG_OVERRIDES_CSWsendmail-contrib += file-with-bad-content|/usr/local|root/opt/csw/bin/doublebounce.pl
155CHECKPKG_OVERRIDES_CSWsendmail-contrib += file-with-bad-content|/usr/local|root/opt/csw/bin/expn.pl
156CHECKPKG_OVERRIDES_CSWsendmail-contrib += file-with-bad-content|/usr/local|root/opt/csw/share/doc/sendmail_contrib/mmuegel
157CHECKPKG_OVERRIDES_CSWsendmail += file-with-bad-content|/usr/local|root/opt/csw/share/sendmail/cf/README
158CHECKPKG_OVERRIDES_CSWsendmail += file-with-bad-content|/usr/local|root/opt/csw/share/sendmail/cf/mailer/fax.m4
159CHECKPKG_OVERRIDES_CSWsendmail += file-with-bad-content|/usr/local|root/opt/csw/share/sendmail/cf/mailer/qpage.m4
160CHECKPKG_OVERRIDES_CSWsendmail += file-with-bad-content|/usr/local|root/opt/csw/share/sendmail/cf/mailer/procmail.m4
161CHECKPKG_OVERRIDES_CSWsendmail += file-with-bad-content|/usr/local|root/opt/csw/share/sendmail/cf/mailer/phquery.m4
162CHECKPKG_OVERRIDES_CSWsendmail += file-with-bad-content|/usr/local|root/opt/csw/share/sendmail/cf/ostype/dragonfly.m4
163CHECKPKG_OVERRIDES_CSWsendmail += file-with-bad-content|/usr/local|root/opt/csw/share/sendmail/cf/ostype/freebsd5.m4
164CHECKPKG_OVERRIDES_CSWsendmail += file-with-bad-content|/usr/local|root/opt/csw/share/sendmail/cf/ostype/freebsd6.m4
165CHECKPKG_OVERRIDES_CSWsendmail += file-with-bad-content|/usr/local|root/opt/csw/share/sendmail/cf/ostype/powerux.m4
166CHECKPKG_OVERRIDES_CSWsendmail += file-with-bad-content|/usr/local|root/opt/csw/share/sendmail/cf/cf/mail.cs.mc
167CHECKPKG_OVERRIDES_CSWsendmail += file-with-bad-content|/usr/local|root/opt/csw/share/sendmail/cf/cf/mail.eecs.mc
168CHECKPKG_OVERRIDES_CSWsendmail += file-with-bad-content|/usr/local|root/opt/csw/share/sendmail/cf/cf/knecht.mc
169CHECKPKG_OVERRIDES_CSWsendmail += file-with-bad-content|/usr/local|root/opt/csw/share/sendmail/cf/feature/local_procmail.m4
170CHECKPKG_OVERRIDES_CSWsendmail += file-with-bad-content|/usr/local|root/opt/csw/share/man/man8/sendmail.8
171CHECKPKG_OVERRIDES_CSWsendmail += file-with-bad-content|/usr/local|root/opt/csw/share/man/man8/smrsh.8
172CHECKPKG_OVERRIDES_CSWsendmail += file-with-bad-content|/usr/share|root/opt/csw/share/sendmail/cf/README
173
174# The static libs from libmilter
175CHECKPKG_OVERRIDES_CSWlibmilter += discouraged-path-in-pkgmap|/opt/csw/lib/libsmutil.a
176CHECKPKG_OVERRIDES_CSWlibmilter += discouraged-path-in-pkgmap|/opt/csw/lib/libmilter.a
177CHECKPKG_OVERRIDES_CSWlibmilter += discouraged-path-in-pkgmap|/opt/csw/lib/libsm.a
178CHECKPKG_OVERRIDES_CSWlibmilter += discouraged-path-in-pkgmap|/opt/csw/lib/libsmdb.a
179
180include gar/category.mk
181
182PLATFORM  = $(shell if [ `uname -i` = "i86pc" ] ; then echo i86pc ; else echo sun4 ; fi )
183OBJDIR    = $(WORKDIR)/$(DISTNAME)/obj.SunOS.$(GAROSREL).$(PLATFORM)
184LIBFILES  = sendmail/sendmail mail.local/mail.local smrsh/smrsh rmail/rmail
185LIBMILTER = libmilter/libmilter.a libsm/libsm.a libsmdb/libsmdb.a libsmutil/libsmutil.a
186BINFILES  = vacation/vacation
187SBINFILES = makemap/makemap editmap/editmap praliases/praliases \
188            mailstats/mailstats
189MANFILES1 = sendmail/mailq.1 sendmail/newaliases.1 vacation/vacation.1
190MANFILES5 = sendmail/aliases.5
191MANFILES8 = sendmail/sendmail.8 mailstats/mailstats.8 makemap/makemap.8 \
192            praliases/praliases.8 smrsh/smrsh.8 mail.local/mail.local.8 \
193            rmail/rmail.8 editmap/editmap.8
194CONFFILES = aliases helpfile local-host-names sendmail.cf \
195            submit.cf trusted-users
196INCLFILES = libmilter/libmilter.h
197CONTBIN   = link_hash.sh movemail.pl smcontrol.pl \
198            passwd-to-alias.pl socketmapClient.pl bounce-resender.pl \
199            doublebounce.pl mailprio socketmapServer.pl \
200            qtool.pl buildvirtuser etrn.pl re-mqueue.pl \
201            cidrexpand expn.pl
202CONTDOC   = dnsblaccess.m4 domainmap.m4 mmuegel
203CONTMAN1  = etrn.0
204CONTMAN8  = qtool.8
205CONTCONF  = movemail.conf
206
207configure-custom:
208        @echo " ==> Configuring $(NAME) (custom)"
209        @( gsed 's,%CFLAGS%,$(CFLAGS),;s,%OCSWCC%,$(CC),' \
210                $(DOWNLOADDIR)/site.config.m4 > \
211                $(WORKSRC)/devtools/Site/site.config.m4 )
212        @$(MAKECOOKIE)
213
214build-custom:
215        @echo " ==> Building $(NAME) (custom)"
216        cd $(WORKSRC) && ./Build
217        @$(MAKECOOKIE)
218
219test-custom:
220        @echo " ==> Testing $(NAME) (custom)"
221        @$(MAKECOOKIE)
222
223install-custom:
224        @echo " ==> Installing $(NAME) (custom)"
225
226        @# Install dirs
227        ginstall -d $(DESTDIR)$(libdir)
228        ginstall -d $(DESTDIR)$(bindir)
229        ginstall -d $(DESTDIR)$(sbindir)
230        ginstall -d $(DESTDIR)$(mandir)/man1
231        ginstall -d $(DESTDIR)$(mandir)/man5
232        ginstall -d $(DESTDIR)$(mandir)/man8
233        ginstall -d $(DESTDIR)/var/opt/csw/spool/clientmqueue
234        ginstall -d $(DESTDIR)$(sharedstatedir)/sendmail
235        ginstall -d $(DESTDIR)/etc/opt/csw/init.d
236        ginstall -d $(DESTDIR)$(sysconfdir)/mail
237        ginstall -d $(DESTDIR)/opt/csw/include
238        ginstall -d $(DESTDIR)/opt/csw/include/libmilter
239        ginstall -d $(DESTDIR)/opt/csw/include/libsmdb
240        ginstall -m 755 -d $(DESTDIR)$(docdir)/$(NAME)
241        ginstall -m 755 -d $(DESTDIR)$(docdir)/$(NAME)_contrib
242        ginstall -m 755 -d $(DESTDIR)$(docdir)/libmilter
243        ginstall -m 755 -d $(DESTDIR)/etc/opt/csw/pkg/CSWsendmail
244
245        @# Install the libraries
246        ( for file in $(LIBFILES) ; do \
247                ginstall -c -m 755 $(OBJDIR)/$$file $(DESTDIR)$(libdir) ; \
248                done )
249
250        @# Install the binaries
251        ginstall -m 755 $(OBJDIR)/$(BINFILES) $(DESTDIR)$(bindir)
252        ( for file in $(SBINFILES) ; do \
253                ginstall -m 755 $(OBJDIR)/$$file $(DESTDIR)$(sbindir) ; \
254                done )
255
256        @# Install manpages
257        ( for file in $(MANFILES1) ; do \
258                ginstall -m 644 $(OBJDIR)/$$file $(DESTDIR)$(mandir)/man1 ; \
259                done )
260        ( for file in $(MANFILES5) ; do \
261                ginstall -m 644 $(OBJDIR)/$$file $(DESTDIR)$(mandir)/man5 ; \
262                done )
263        ( for file in $(MANFILES8) ; do \
264                ginstall -m 644 $(OBJDIR)/$$file $(DESTDIR)$(mandir)/man8 ; \
265                done )
266
267        @# Install milter lib files
268        ( for file in $(LIBMILTER) ; do \
269                ginstall -m 444 $(OBJDIR)/$$file $(DESTDIR)$(libdir) ; \
270                done )
271
272        @# Install include files
273        ( for file in $(INCLFILES) ; do \
274                ginstall -m 444 $(OBJDIR)/$$file $(DESTDIR)/opt/csw/include ; \
275                done )
276
277        @# Install milter files
278        ginstall -m 444 $(WORKSRC)/include/libsmdb/smdb.h $(DESTDIR)/opt/csw/include/libsmdb ; \
279        ginstall -m 444 $(WORKSRC)/include/libmilter/mfapi.h $(DESTDIR)/opt/csw/include/libmilter ; \
280        ginstall -m 444 $(WORKSRC)/include/libmilter/mfdef.h $(DESTDIR)/opt/csw/include/libmilter ; \
281
282        @# Install m4/cf macros
283        find $(WORKSRC)/cf -type f -exec chmod 644 {} +
284        cp -r $(WORKSRC)/cf $(DESTDIR)$(sharedstatedir)/sendmail
285        cp -p $(DOWNLOADDIR)/sendmail.mc $(DESTDIR)$(sharedstatedir)/sendmail/cf/cf/
286        cp -p $(DOWNLOADDIR)/solaris9csw.m4 $(DESTDIR)$(sharedstatedir)/sendmail/cf/ostype/
287
288        @# Install startup script
289        chmod +x $(DOWNLOADDIR)/cswsendmail && \
290                cp -p $(DOWNLOADDIR)/cswsendmail $(DESTDIR)/etc/opt/csw/init.d
291
292        @# Install configurations, XXX missing submit.cf/sendmail.cf
293        ( for file in $(CONFFILES) ; do \
294                ginstall -m 644 $(DOWNLOADDIR)/$$file \
295                $(DESTDIR)$(sysconfdir)/mail/$$file; \
296                done )
297        ln -s $(sharedstatedir)/sendmail/cf/cf $(DESTDIR)$(sysconfdir)/mail/cf
298
299        @# usergroup
300        ginstall -m 444 $(FILEDIR)/cswusergroup $(DESTDIR)/etc/opt/csw/pkg/CSWsendmail/
301
302        @# README
303        ginstall -m 644 $(FILEDIR)/README.CSW $(DESTDIR)$(docdir)/$(NAME)/
304
305        @# Create links in bindir
306        ln -s $(libdir)/sendmail $(DESTDIR)$(bindir)/newaliases
307        ln -s $(libdir)/sendmail $(DESTDIR)$(bindir)/mailq
308        ln -s $(libdir)/sendmail $(DESTDIR)$(bindir)/purgestats
309        ln -s $(libdir)/sendmail $(DESTDIR)$(bindir)/hoststat
310
311        @# Fix alternatives files
312        mv $(DESTDIR)$(bindir)/mailq $(DESTDIR)$(bindir)/mailq.sendmail
313        mv $(DESTDIR)$(bindir)/newaliases $(DESTDIR)$(bindir)/newaliases.sendmail
314        mv $(DESTDIR)$(mandir)/man1/mailq.1 $(DESTDIR)$(mandir)/man1/mailq1.1.sendmail
315        mv $(DESTDIR)$(mandir)/man1/newaliases.1 $(DESTDIR)$(mandir)/man1/newaliases.1.sendmail
316        mv $(DESTDIR)$(mandir)/man5/aliases.5 $(DESTDIR)$(mandir)/man5/aliases.5.sendmail
317
318        @# Post install message
319        ginstall -m 444 $(FILEDIR)/CSWsendmail.postmsg $(DESTDIR)$(docdir)/sendmail/README.postinstall
320
321        @# Milter doc files
322        ginstall -m 644 $(WORKSRC)/libmilter/docs/* $(DESTDIR)$(docdir)/libmilter
323
324        @# Contrib files
325        ( for file in $(CONTBIN) ; do \
326                ginstall -m 755 $(WORKSRC)/contrib/$$file $(DESTDIR)$(bindir) ; \
327                done )
328        ( for file in $(CONTCONF) ; do \
329                ginstall -m 644 $(WORKSRC)/contrib/$$file $(DESTDIR)$(sysconfdir) ; \
330                done )
331        ( for file in $(CONTDOC) ; do \
332                ginstall -m 444 $(WORKSRC)/contrib/$$file $(DESTDIR)$(docdir)/sendmail_contrib ; \
333                done )
334        ( for file in $(CONTMAN1) ; do \
335                ginstall -m 644 $(WORKSRC)/contrib/$$file $(DESTDIR)$(mandir)/man1 ; \
336                done )
337        ( for file in $(CONTMAN8) ; do \
338                ginstall -m 644 $(WORKSRC)/contrib/$$file $(DESTDIR)$(mandir)/man8 ; \
339                done )
340
341        @# Deactivate/reactivate scripts
342        ginstall -m 755 $(DOWNLOADDIR)/oracle-sendmail-deactivate.sh $(DESTDIR)$(docdir)/sendmail
343        ginstall -m 755 $(DOWNLOADDIR)/oracle-sendmail-reactivate.sh $(DESTDIR)$(docdir)/sendmail
344
345        @# Makefile for databases
346        ginstall -m 644 $(FILEDIR)/CSWsendmail.Makefile $(DESTDIR)$(sysconfdir)/mail/Makefile
347
348        @$(MAKECOOKIE)
Note: See TracBrowser for help on using the browser.