Moving to fedora-packaging...
Seeking assistance from .x86_64 packaging gurudom.
Issues we're trying to solve here are:
* The package should be buildable without having all of the
run-time requirements met (there are things that are called
out as both BuildRequires: and Requires: that are really only
the latter.
* When building on an x86_64 architecture, we should look
for the libmilter stuff in /usr/lib64 and /lib64 also. (Wasn't
sure if this goes in the configure.in file, or should be an
additional conditional argument passed into %configure
instead...)
* It's not building any symbol-table exports for the debuginfo
package, and I don't know why.
Can someone walk me through these issues?
David will post patches if we can get official blessings.
Thanks,
-Philip
P.s. Can the list admin please take .eml off the prohibited
attachment suffix list?
Philip Prindeville wrote:
Hmmm...
I run sendmail/cyrus-imapd/spamassassin/mimedefang on an
x86_64 machine (FC5 on an Athalon64 2800+) and it works fine.
To keep the mail server simple, however, I wanted to build
mimedefang-2.58 on a different machine, so I went ahead and
grabbed all of the dependencies.
I have to say, I was a bit configured. It seems that the build-time
dependencies have been muddled with the run-time dependencies.
You don't need:
BuildRequires: perl-Digest-SHA1 perl-MIME-tools perl-IO-stringy perl-MailTools
in the .spec file, do you? Can we yank this? I just pulled it out
and things built fine (oh, after adding "--disable-check-perl-modules"
to the ./configure line).
Further, if you install sendmail-devel but don't actually
have sendmail installed on the machine (since your building,
but not actually running)... then you might run afoul of the
following scenario. sendmail-devel installs (on an x86_64
architecture) /usr/lib64/libmilter.a only.
So, from configure.in:
AC_PATH_PROG(LIBMILTER, libmilter.a, no,
$MILTERLIB:$SMPATH:/usr/local/lib:/lib:/usr/lib:/usr/lib/libmilter)
SMPATH=`echo ../sendmail-*/obj.*/libsm`
AC_PATH_PROG(LIBSM, libsm.a, no, $SMPATH:/usr/local/lib:/lib:/usr/lib:/usr/lib/libmilter)
dnl find libmilter.so in case we have shared libraries
AC_PATH_PROG(LIBMILTERSO, libmilter.so, no,
$MILTERLIB:$SMPATH:/usr/local/lib:/lib:/usr/lib:/usr/lib/libmilter)
should we add /lib64 and /usr/lib64 before /lib and /usr/lib,
respectively?
I changed the .spec file to include:
./configure ... --with-libmilter=/usr/lib64 ...
and it seems to build... but it might make more sense to
fix this in the configure.in file instead, as above.
Opinions?
Oh, and do we need the symbol file for /usr/bin/mimedefang
to put into mimedefang-debuginfo-2.58?
-Philip
--- mimedefang.spec 2006-11-19 17:22:04.000000000 -0700
+++ mimedefang2.spec 2006-11-19 19:00:14.000000000 -0700
@@ -132,21 +132,22 @@
%{?_without_antivirus: %{expand: %%define with_antivirus 0}}
Summary: Email filtering application using sendmail's milter interface
Name: mimedefang
Version: 2.58
-Release: 1
+Release: 2
License: GPL
Group: Networking/Mail
Source0:
http://www.roaringpenguin.com/%{name}/%{name}-%{version}.tar.gz
Url:
http://www.roaringpenguin.com/%{name}
Vendor: Roaring Penguin Software Inc.
Buildroot: %{_tmppath}/%{name}-root
Requires: sendmail > 8.12.0
Requires: perl-Digest-SHA1 perl-MIME-tools perl-IO-stringy perl-MailTools
BuildRequires: sendmail-devel > 8.12.0
-BuildRequires: perl-Digest-SHA1 perl-MIME-tools perl-IO-stringy perl-MailTools
+BuildRequires: autoconf > 2.55
+Patch99: mimedefang-libmilter64.patch
%description
MIMEDefang is an e-mail filter program which works with Sendmail 8.11
and later. MIMEDefang filters all e-mail messages sent via SMTP.
MIMEDefang splits multi-part MIME messages into their components and
@@ -165,13 +166,17 @@
willingness of your e-mail users to commit to security, or they will
complain loudly about MIMEDefang.
%prep
%setup -q -n %{name}-%{version}
-./configure --prefix=%{_prefix} \
+%patch99 -p0 -b .libmilter64
+autoconf
+%configure --prefix=%{_prefix} \
--mandir=%{_mandir} \
+ --enable-debug \
--sysconfdir=/etc \
+ --disable-check-perl-modules \
--with-spooldir=%{dir_spool} \
--with-quarantinedir=%{dir_quarantine} \
%if %{with_antivirus}
--with-user=%{user}
%else
--- /dev/null 2006-10-20 13:24:12.475602750 -0600
+++ ../SOURCES/mimedefang-libmilter64.patch 2006-11-19 17:17:55.000000000 -0700
@@ -0,0 +1,19 @@
+*** configure.in.bak 2006-11-06 08:01:23.000000000 -0700
+--- configure.in 2006-11-19 17:17:06.000000000 -0700
+***************
+*** 625,631 ****
+
+ dnl find libmilter.a and libsm.a
+ SMPATH=`echo ../sendmail-*/obj.*/libmilter`
+! AC_PATH_PROG(LIBMILTER, libmilter.a, no,
$MILTERLIB:$SMPATH:/usr/local/lib:/lib:/usr/lib:/usr/lib/libmilter)
+ SMPATH=`echo ../sendmail-*/obj.*/libsm`
+ AC_PATH_PROG(LIBSM, libsm.a, no,
$SMPATH:/usr/local/lib:/lib:/usr/lib:/usr/lib/libmilter)
+
+--- 625,631 ----
+
+ dnl find libmilter.a and libsm.a
+ SMPATH=`echo ../sendmail-*/obj.*/libmilter`
+! AC_PATH_PROG(LIBMILTER, libmilter.a, no,
$MILTERLIB:$SMPATH:/usr/local/lib:/lib64:/lib:/usr/lib64:/usr/lib:/usr/lib/libmilter)
+ SMPATH=`echo ../sendmail-*/obj.*/libsm`
+ AC_PATH_PROG(LIBSM, libsm.a, no,
$SMPATH:/usr/local/lib:/lib:/usr/lib:/usr/lib/libmilter)
+