On 07 Jun 2005, at 22:57, Daniel E. Macks wrote:

Fink was recently patched so that any "fink reinstall" of a package
whose binary does not exist is automatically upgraded to a "fink
rebuild" (a mode that always concludes by reinstalling). Without this,
users have observed that fink will crash, since it can't install a
non-existant .deb. I figure if a user says "reinstall" then he really
wants to reinstall, just like "fink install" automatically builds as
necessary...fink may as well work its way out of a jam if it can. If
users need more control, it would be easy to add a prompt "No a binary
available to reinstall; do you want to compile/download? [Y/n]", and
then either upgrade-to-rebuild or abort based on his choice.

OTOH, JFM has emailed me about the wisdom of this behavior, even with
the prompt. He can explain his thoughts better than I can...
I was sure you would do it, and perfectly..

The arguments were :
1) It represents a loss in the language: the new behaviour was trivial
to obtain under the old semantics by 'fink build foo; fink reinstall foo',
while I see no way to reimplement the old semantics currently...
2) Stability of the language :
Users might have scripts that depend on the old behaviour..
(I no longer have _ but I did). In that sense one might wish to argue
that if a new meaning is given, it depends on some flag (eg, reinstall -b ,
"b" for build), and that original meanings be preserved if possible...
(Example of such use :
Take a script by which a user is doing his own installs (whether it be
in order to save logs, or in order to always build things in dependency order,
or to enforce own preferences like eg to install 'all possible splitoffs
that have been built', or ..).
For the script to be effective even for rebuilds, it has to start with
fink rebuild foo; next it has then to issue a reinstall command (possibly for the whole foo-family), and it is important that this does not re- attempt
a build that has just failed...
)

A prompt is a pain when writing scripts: one would have to try piping an
'echo no' to the command (there is no fink -n reinstall ...).
So I would suggest either
1) use 'fink reinstall -b' for the new semantics and keep the old meaning
of fink reinstall.
2) or, if stability of the language is deemed unimportant, preserve the
old semantics under some additional flag to reinstall.

Jean-François


-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.  How far can you shotput
a projector? How fast can you ride your desk chair down the office luge track?
If you want to score the big prize, get to know the little guy.
Play to win an NEC 61" plasma display: http://www.necitguy.com/?r _______________________________________________
Fink-devel mailing list
Fink-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to