[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-janitors] #929: chicken-install should rm shared libraries
From: |
Chicken Trac |
Subject: |
Re: [Chicken-janitors] #929: chicken-install should rm shared libraries prior to install |
Date: |
Fri, 25 Oct 2013 19:54:06 -0000 |
#929: chicken-install should rm shared libraries prior to install
-----------------------------+----------------------------------------------
Reporter: zbigniew | Owner: zbigniew
Type: defect | Status: reopened
Priority: minor | Milestone: 4.9.0
Component: core libraries | Version: 4.8.x
Resolution: | Keywords:
-----------------------------+----------------------------------------------
Comment(by sjamaan):
Replying to [comment:5 mario]:
> In case of reinstallation, chicken-install could obtain the list of
current installed files by egg by inspecting the .setup-info file
'''before''' overwriting it. Then only remove files in the old version
(installed) but not in the new version (to be installed).
That would solve the problem I mentioned, but not the original problem in
this ticket: segfaults would still happen for shared objects that get
replaced. Unless of course we implement both ideas: uninstall the stale
files and use BSD install(1) to install the changed and new ones.
However, it's probably easier to just uninstall completely first and then
(re)install.
> However, I'm not sure this strategy would work for eggs which don't use
{{{install-{extension,program,script}}}} from setup-api.
chicken-uninstall has to work for those eggs, doesn't it? When invoking
{{{chicken-install foo}}}, it should be able to first uninstall that egg
(if there), and then install it. Perhaps try to fetch it first?
The annoying bit would be that if the egg doesn't compile correctly, you'd
end up with the egg uninstalled and an uninstallable new version... This
idea is getting less and less interesting the more I think about it :)
I guess just replacing {{{cp}}} with {{{install}}} should suffice for now.
--
Ticket URL: <http://bugs.call-cc.org/ticket/929#comment:6>
Chicken Scheme <http://www.call-with-current-continuation.org/>
Chicken Scheme is a compiler for the Scheme programming language.