Brief description:
Found that if one compiles libtool >= 1.3.5-3mdk under LM 7.2, the patch
created by Chmouel to add dummy "--build=*" option to ltconfig won't be
applied to the resulting binary RPM, i.e. the patch will have no effect at
all.
Reason:
In libtool spec, %configure is used. These are the related few lines from
the spec:
%prep
%setup -q
%patch1 -p1
%patch2 -p1
%build
%configure
...................
And here is the first few lines of definition of %%configure:
CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \
CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \
FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; \
%{?__libtoolize:[ -f configure.in ] && %{__libtoolize} --copy --force} ; \
./configure %{_target_platform} \\\
..............
after patch2 is applied(buildopt patch), %%configure follows. However it
calls "libtoolize --copy --force" which copies /usr/share/libtool/ltconfig
to overwrite the patched ltconfig, making the patch completely useless.
Proposed fix:
I'd suggest replacing %%configure with ./configure --xxx to avoid
overwriting patched ltconfig. Patch is included in attachment for
reference.
Abel Cheung
PS I played with lftp spec before discovering this......
--- libtool.spec Mon Feb 5 21:50:02 2001
+++ libtool.spec.new Sat Feb 24 21:47:05 2001
@@ -47,7 +47,15 @@
%patch2 -p1
%build
-%configure
+# ripped from /usr/lib/rpm/macros
+CFLAGS="${CFLAGS:-%optflags}" CXXFLAGS="${CXXFLAGS:-%optflags}" \
+ ./configure %{_target_platform} \
+ --prefix=%{_prefix} \
+ --datadir=%{_datadir} \
+ --libdir=%{_libdir} \
+ --mandir=%{_mandir} \
+ --infodir=%{_infodir}
+
%make -C doc
%make
%ifnarch ia64