[linux-lvm] Re: another nice feature for packagers ...
AJ Lewis
lewis at sistina.com
Mon Jun 18 14:55:33 UTC 2001
On Sun, Jun 17, 2001 at 03:38:58PM +0200, Gergely Tamas wrote:
> First of all, thanks for the ${DESTDIR} definition.
No problem, I'm still trying to decide if we should move ${DESTDIR} into the
individual 'install' targets or not...
> 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''.
Hmm...I think it should be the other way around. We've hacked up the
install targets so that the default ${sbindir} and ${libdir} are /sbin and
/lib respectively. Therefore, we should define a variable called
${staticlibdir} and have it equal to ${prefix}/lib by default perhaps?
It makes sense to put liblvm.a into /usr/lib to me; it just the way we're
doing it that I'm questioning. I'd like to prevent installation problems
because the user didn't type 'make -e sharedlibdir=/lib install', which is
what would happen if we made the default libdir point to /usr/lib.
Just FYI, the entire build system is going to get an overhaul after the 1.0
release, so I will definitely be making sure these detail are kept in mind
for that.
> 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)
>
> #!/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;
--
AJ Lewis
Sistina Software Inc. Voice: 612-638-0500
1313 5th St SE, Suite 111 Fax: 612-638-0500
Minneapolis, MN 55414 E-Mail: lewis at sistina.com
http://www.sistina.com
Current GPG fingerprint = 3B5F 6011 5216 76A5 2F6B 52A0 941E 1261 0029 2648
Get my key at: http://www.sistina.com/~lewis/gpgkey
(Unfortunately, the PKS-type keyservers do not work with multiple sub-keys)
-----Begin Obligatory Humorous Quote----------------------------------------
Programming graphics in X is like finding sqrt(pi) using Roman numerals.
-----End Obligatory Humorous Quote------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 232 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/linux-lvm/attachments/20010618/8f05fa3a/attachment.sig>
More information about the linux-lvm
mailing list