sm-discuss AT lists.ibiblio.org
Subject: Public SourceMage Discussion List
List archive
- From: Geoffrey Derber <Geoffrey.Derber AT Trinity.edu>
- To: shivaken <shivaken AT jcom.home.ne.jp>
- Cc: sm-discuss AT lists.ibiblio.org
- Subject: Re: [SM-Discuss] Sorcery improvement
- Date: Fri, 27 Jun 2003 23:09:28 -0500
shivaken wrote:
Hi all,
I want to propose to a sorcery improvement.
Now almost spell uses "prepare_install" to clean up obsoleted files.
like..
------------
make
prepare_install
make install
-------------
Because of this, at casting glibc, /etc/ld.so.cashe can be removed.
Then that will cause error.
To avoid this, you have to install newer files first, then remove just only old files. We can find old files with comparing old install log
(/var/log/sorcery/install/$SPELL) with new install log
At that time we have to take care about config files and user data.
For example, mysql spell installs mysql database files. We should not delete them. So sorcery must know unremoval files and directory to clean up safely.
Fortunately, Spell Writer can recognize those unremoval files.
I want sorcery to be implemented that "install 1st, then clean up".
How do you feel?
--- shivaken
I still think the best solution for glibc would be to do what has been suggested long ago, (And I'm sure lunar does it this way, but we never did), which is to copy the files to a temporary directory, prior to removal, then update.
There BUILD file actually contains the following that between their make and make install
================================================================
make &&
# Preserve the old glibc temporarily
case "`arch`" in
"alpha")
LD=/lib/ld-linux.so.2
GLIBC=/lib/libc.so.6.1
DL=/lib/libdl.so.2.1
M=/lib/libm.so.6.1
RT=/lib/librt.so.1
PTHREAD=/lib/libpthread.so.0
NSS=/lib/libnss_files.so.2
UTIL=/lib/libutil.so.1.1
NSL=/lib/libnsl.so.1.1
CRYPT=/lib/libcrypt.so.1.1
;;
ppc)
LD=/lib/ld.so.1
GLIBC=/lib/libc.so.6
DL=/lib/libdl.so.2
M=/lib/libm.so.6
RT=/lib/librt.so.1
PTHREAD=/lib/libpthread.so.0
NSS=/lib/libnss_files.so.2
UTIL=/lib/libutil.so.1
NSL=/lib/libnsl.so.1
CRYPT=/lib/libcrypt.so.1
;;
*)
LD=/lib/ld-linux.so.2
GLIBC=/lib/libc.so.6
DL=/lib/libdl.so.2
M=/lib/libm.so.6
RT=/lib/librt.so.1
PTHREAD=/lib/libpthread.so.0
NSS=/lib/libnss_files.so.2
UTIL=/lib/libutil.so.1
NSL=/lib/libnsl.so.1
CRYPT=/lib/libcrypt.so.1
;;
esac
cp $LD /lib/ld-lunar.so &&
cp $GLIBC /lib/libc-lunar.so &&
cp $DL /lib/libdl-lunar.so &&
cp $M /lib/libm-lunar.so &&
cp $RT /lib/librt-lunar.so &&
cp $PTHREAD /lib/libpthread-lunar.so &&
cp $NSS /lib/libnss_files-lunar.so &&
cp $UTIL /lib/libutil-lunar.so &&
cp $NSL /lib/libnsl-lunar.so &&
cp $CRYPT /lib/libcrypt-lunar.so &&
# Setup links for libraries
sln /lib/ld-lunar.so $LD &&
sln /lib/libc-lunar.so $GLIBC &&
sln /lib/libdl-lunar.so $DL &&
sln /lib/libm-lunar.so $M &&
sln /lib/librt-lunar.so $RT &&
sln /lib/libpthread-lunar.so $PTHREAD &&
sln /lib/libnss_files-lunar.so $NSS &&
sln /lib/libutil-lunar.so $UTIL &&
sln /lib/libnsl-lunar.so $NSL &&
sln /lib/libcrypt-lunar.so $CRYPT &&
# This removes the old glibc
prepare_install &&
# And now we install the new
make install &&
-
[SM-Discuss] Sorcery improvement,
shivaken, 06/27/2003
-
Re: [SM-Discuss] Sorcery improvement,
Sergey A. Lipnevich, 06/27/2003
-
Re: [SM-Discuss] Sorcery improvement,
Andrew, 06/27/2003
- Re: [SM-Discuss] Sorcery improvement, shivaken, 06/28/2003
-
Re: [SM-Discuss] Sorcery improvement,
Andrew, 06/27/2003
- Re: [SM-Discuss] Sorcery improvement, Hamish Greig, 06/27/2003
-
Re: [SM-Discuss] Sorcery improvement,
Geoffrey Derber, 06/28/2003
- Re: [SM-Discuss] Sorcery improvement, Andrew, 06/28/2003
- <Possible follow-up(s)>
- Fwd: Re: [SM-Discuss] Sorcery improvement, Hamish Greig, 06/28/2003
- RE: [SM-Discuss] Sorcery improvement, evraire, 06/29/2003
-
Re: [SM-Discuss] Sorcery improvement,
Sergey A. Lipnevich, 06/27/2003
Archive powered by MHonArc 2.6.24.