[linux-lvm] Patches for 0.8.1

Russell Coker russell at coker.com.au
Sat Dec 16 18:51:42 UTC 2000


This one removes an unnecessary library check (which doesn't work) and adds 
version data to the config file (this is so handy).

--- lvm-0.8.orig/configure.in   Sun Nov 12 19:52:12 2000
+++ lvm-0.8.1/configure.in      Sat Dec 16 16:02:54 2000
@@ -31,10 +31,6 @@
 AC_PROG_LN_S
 AC_PROG_MAKE_SET
 
-dnl Checks for libraries.
-dnl Replace `main' with a function in -llvm:
-AC_CHECK_LIB(lvm, main)
-
 dnl Checks for header files.
 AC_HEADER_DIRENT
 AC_HEADER_STDC
@@ -58,6 +54,9 @@
 AC_CHECK_FUNCS(mkdir rmdir uname)
 
 AC_SUBST(JOBS)
+
+AC_SUBST(VERSION)
+VERSION=0.8final
 
 dnl First and last lines should not contain files to generate in order to
 dnl keep utility scripts running properly

The following makes it the library compile as a versioned shared object 
(allowing multiple versions to be on the machine at the same time).
Later I'll submit a patch that adds this and a ./configure option to select 
shared object or static linking.

diff -ru lvm-0.8.orig/tools/lib/Makefile.in lvm-0.8.1/tools/lib/Makefile.in
--- lvm-0.8.orig/tools/lib/Makefile.in  Sun Nov 12 19:52:12 2000
+++ lvm-0.8.1/tools/lib/Makefile.in     Sat Dec 16 16:12:08 2000
@@ -30,11 +30,14 @@
 
 include ../../make.tmpl
 include ../tools_and_lib.make.tmpl
+CFLAGS += -fPIC
 
+VERSION=@VERSION@
 ARCHIVE = liblvm.a
-SO = liblvm.so
+BASESO = liblvm.so
+SO = ${BASESO}.${VERSION}
 
-ALL_RM = $(ALL_OBJECTS) $(ARCHIVE) $(SO)
+ALL_RM = $(ALL_OBJECTS) $(ARCHIVE) $(SO) ${BASESO}
 
 all_this: $(ARCHIVE) $(SO) Makefile
        @echo ""
@@ -45,9 +48,10 @@
        @echo "*** Installing $(ARCHIVE) and $(SO) in ${prefix}/lib ***"
        @rm -f ${libdir}/${SO} ${libdir}/$(ARCHIVE);
        @INSTALL@ -d ${libdir}
-       @INSTALL@ $(ARCHIVE) $(SO) ${libdir}
-       chmod 444 ${libdir}/$(ARCHIVE)
+       @INSTALL@ $(SO) ${libdir}
        chmod 555 ${libdir}/$(SO)
+#      @INSTALL@ $(ARCHIVE) ${libdir}
+#      chmod 444 ${libdir}/$(ARCHIVE)
 
 remove_this:
        @echo "*** Removing $(ARCHIVE) and $(SO) in ${prefix}/lib ***"
@@ -64,7 +68,8 @@
        ranlib $@
 
 $(SO): $(ALL_OBJECTS)
-       ld -shared -o $(SO) $(ALL_OBJECTS)
+       ld -shared -soname=${SO} -o $(SO) $(ALL_OBJECTS)
+       ln -sf ${SO} ${BASESO}
 
 clean_this:
        rm -f $(ALL_RM)




-- 
http://www.coker.com.au/bonnie++/     Bonnie++ hard drive benchmark
http://www.coker.com.au/postal/       Postal SMTP/POP benchmark
http://www.coker.com.au/projects.html Projects I am working on
http://www.coker.com.au/~russell/     My home page



More information about the linux-lvm mailing list