[linux-lvm] another nice feature for packagers ...
Gergely Tamas
dice at mfa.kfki.hu
Sun Jun 17 13:38:58 UTC 2001
Hi!
First of all, thanks for the ${DESTDIR} definition.
Another nice feature for packagers would be to split the installation of
liblvm.a and liblvm.so parts.
This would be good because liblvm.a's destination should be e.g. /usr/lib
and liblvm.so's destination should be /lib (because of lvm utils).
So I thought about the introduction of a new variable in make.tmpl.in (I
called it ``sharedlibdir''). Its default value is equal to ``libdir''.
So if somebody installs the package with ``make install'' or ``make -e
DESTDIR=... install'' the installation procedure will be the same as the
current. But if the installer (script) defines a sharedlibdir value other
than the default ``make -e sharedlibdir=... DESTDIR=... install'' the
installation of the shared libraries will go into that directory.
Note, that sharedlibdir needs to be specified with the DESTDIR value e.g.
``make -e sharedlibdir=$DESTDIR/$CPID/lib DESTDIR=$DESTDIR/$CPID install''
If you like this feature please include ...
Thanks,
Gergely
ps: I also attached my compile/package script; maybe somebody is
interested in it...
diff -ur LVM-orig/make.tmpl.in LVM/make.tmpl.in
--- LVM-orig/make.tmpl.in Fri Jun 15 16:16:02 2001
+++ LVM/make.tmpl.in Sun Jun 17 12:45:36 2001
@@ -37,6 +37,7 @@
exec_prefix = @exec_prefix@
bindir = ${DESTDIR}/@bindir@
libdir = ${DESTDIR}/@libdir@
+sharedlibdir = ${libdir}
sbindir = ${DESTDIR}/@sbindir@
infodir = ${DESTDIR}/@infodir@
mandir = ${DESTDIR}/@mandir@
diff -ur LVM-orig/tools/lib/Makefile.in LVM/tools/lib/Makefile.in
--- LVM-orig/tools/lib/Makefile.in Tue Apr 24 16:29:21 2001
+++ LVM/tools/lib/Makefile.in Sun Jun 17 12:48:41 2001
@@ -44,18 +44,24 @@
@echo ""
install_this:
- @echo "*** Installing $(ARCHIVE) and $(SO) in ${prefix}/lib ***"
- @rm -f ${libdir}/${SO} ${libdir}/${SOV} ${libdir}/${SOM} ${libdir}/$(ARCHIVE);
+ @echo "*** Installing $(ARCHIVE) in ${libdir} ***"
+ @rm -f ${libdir}/$(ARCHIVE);
@INSTALL@ -d ${libdir}
- @INSTALL@ -o ${OWNER} -g ${GROUP} $(ARCHIVE) $(SOV) ${libdir}
+ @INSTALL@ -o ${OWNER} -g ${GROUP} $(ARCHIVE) ${libdir}
chmod 444 ${libdir}/$(ARCHIVE)
- chmod 555 ${libdir}/$(SOV)
- ln -s $(SOV) ${libdir}/${SO}
- ln -s $(SOV) ${libdir}/${SOM}
+ @echo "*** Installing $(SO) in ${sharedlibdir} ***"
+ @rm -f ${sharedlibdir}/${SO} ${sharedlibdir}/${SOV} ${sharedlibdir}/${SOM};
+ @INSTALL@ -d ${sharedlibdir}
+ @INSTALL@ -o ${OWNER} -g ${GROUP} $(SOV) ${sharedlibdir}
+ chmod 555 ${sharedlibdir}/$(SOV)
+ ln -s $(SOV) ${sharedlibdir}/${SO}
+ ln -s $(SOV) ${sharedlibdir}/${SOM}
remove_this:
- @echo "*** Removing $(ARCHIVE) and $(SO) in ${prefix}/lib ***"
- @rm -f ${libdir}/${SO} ${libdir}/${SOV} ${libdir}/${SOM} ${libdir}/$(ARCHIVE);
+ @echo "*** Removing $(ARCHIVE) in ${libdir} ***"
+ @rm -f ${libdir}/$(ARCHIVE);
+ @echo "*** Removing $(SO) in ${sharedlibdir} ***"
+ @rm -f ${libdir}/${SO} ${libdir}/${SOV} ${libdir}/${SOM};
$(ALL_SOURCES): liblvm.h $(OTHER_DEP)
-------------- next part --------------
#!/bin/sh
# == generated by mkskel 0.0.2r19, (c) 2001 by DiCE/PsychoMix ==
DIRNAME="LVM";
PREFIX="/usr";
DESTDIR="/tmp/pkg";
BINTST="tools/vgchange";
AUTORUN=false;
error () { echo $1; exit 1; }
if [ ! -d $DIRNAME ];
then
gzip -dc lvm-20010616.tar.gz | tar xvf -;
$AUTORUN || exit;
fi
cd $DIRNAME;
if [ -f ../lvm-20010616.patch.bz2 ] && [ ! -f ../lvm-20010616.patched ];
then
bzip2 -dc ../lvm-20010616.patch.bz2 | patch -p1;
touch ../lvm-20010616.patched;
$AUTORUN || exit;
fi
if [ ! -f config.cache ] && [ -x ./configure ];
then
touch config.cache;
./configure --prefix=$PREFIX \
--sbindir=/sbin \
--libdir=$PREFIX/lib \
--includedir=$PREFIX/include \
--mandir=$PREFIX/man \
--infodir=$PREFIX/info
$AUTORUN || exit;
fi
if [ ! -x $BINTST ];
then
make;
$AUTORUN || exit;
fi
if [ -f ../$0.temp ];
then
CPID=`cat ../$0.temp`;
[ ! -d $DESTDIR/$CPID ] && error "$DESTDIR/$CPID not found.";
else
CPID=$$;
if [ ! -d $DESTDIR/$CPID ];
then
mkdir -p $DESTDIR/$CPID;
echo "$CPID" > ../$0.temp
make -e sharedlibdir=$DESTDIR/$CPID/lib \
DESTDIR=$DESTDIR/$CPID install 2>&1 | tee ../lvm-20010616.install_log;
CPWD=`pwd`;
cd $DESTDIR/$CPID;
for i in `find . -type f | grep "/man/" | grep -v ".gz" | grep -v ".bz2"`;
do
MNAME=`basename $i`;
echo "$MNAME -> $MNAME.gz";
gzip $i;
done
cd $CPWD;
$AUTORUN || exit;
fi
fi
cd ..;
if [ -d $DESTDIR/$CPID ];
then
CPWD=`pwd`;
cd $DESTDIR/$CPID;
makepkg $CPWD/lvm-20010616.tgz;
cd ..;
rm -Rf $CPID;
cd $CPWD;
fi
rm -f $0.temp lvm-20010616.patched;
More information about the linux-lvm
mailing list