Want to upgrade sendmail in next OS release

Giorgos Keramidas keramida at ceid.upatras.gr
Mon Oct 22 05:47:50 PDT 2007


On 2007-10-21 16:42, "Tuc at T-B-O-H.NET" <ml at t-b-o-h.net> wrote:
>>On 2007-10-21 11:28, "Tuc at T-B-O-H.NET" <ml at t-b-o-h.net> wrote:
>>> Hi,
>>>
>>> I'd like to upgrade my sendmail version in advance of upgrading to the
>>> next release of the OS.
>>
>> Why?
>
> I can afford the time to start/stop sendmail here and there, but I
> have to schedule the maintenance window to upgrade this particular
> machine.

I see.  I'd still go for the maintenance window option, unless there is
a _very_ pressing need to upgrade Sendmail *today* because of a security
update, but you have a point :)

>>> # cd /usr/src/lib/libsm
>>> # make obj && make depend && make
>>> # cd /usr/src/lib/libsmutil
>>> # make obj && make depend && make
>>> # cd /usr/src/usr.sbin/sendmail
>>> # make obj && make depend && make && make install
>>
>> This can be done only if you manage to upgrade Sendmail sources and
>> their build-glue manually, by following *exactly* the same process that
>> Gregory Shapiro (our native Sendmail maintainer) uses to do it.
>
> So where do I find that? I took those instructions from previous
> FreeBSD Security announcements against sendmail.

The process is described in `/usr/src/contrib/sendmail/FREEBSD-upgrade',
but it takes a certain amount of experience with CVS and merging.  Even
if you don't really want to use CVS to merge the changes yourself, the
list of build/install/runtime infrastructure files near the end of this
file will prove veery useful.  Quoting from a recent copy:

% The following files make up the sendmail build/install/runtime
% infrastructure in FreeBSD:
%
%         Makefile.inc1
%         bin/Makefile
%         bin/rmail/Makefile
%         contrib/sendmail/
%         [...]

>> You are also missing some parts of Sendmail above, like:
>>
>>      /usr/src/bin/rmail
>>      /usr/src/usr.bin/vacation
>>      /usr/src/etc/sendmail
>
>       rmail - 99% of delivery is procmail, but good point.
>       vacation - Not used
>       etc/sendmail - I don't use default mc's, and don't mind
>               running older cf's on a newer version. The
>               change between 8.13 and 8.14 wasn't enough for
>               us to need to.

Interesting bits of that list are:

        lib/libmilter/Makefile
        lib/libsm/Makefile
        lib/libsmdb/Makefile
        lib/libsmutil/Makefile
        libexec/mail.local/Makefile
        libexec/smrsh/Makefile
        usr.bin/vacation/Makefile
        usr.sbin/editmap/Makefile
        usr.sbin/mailstats/Makefile
        usr.sbin/makemap/Makefile
        usr.sbin/praliases/Makefile
        usr.sbin/sendmail/Makefile
        usr.sbin/mailwrapper/Makefile

For future upgrades of Sendmail, it would probably be a good idea to
upgrade the libraries *first* and only when you are done building the
new libraries to install everything.

It may be possible to build everything with MAKEOBJDIRPREFIX='/usr/obj',
and install in one go when you are done with everything, but that's
something you should probably experiment a bit with -- preferrably in a
test machine, before you do the same on a live system.

> In the mean time, I got bored, so I did just that. Seems to be working
> fine, has processed about 15K emails since.

Neat :)



More information about the freebsd-questions mailing list