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

Reply via email to