Ticket #168 (closed enhancement: duplicate)

Opened 6 years ago

Last modified 5 years ago

Behaviour of cabal-install with respect to upgradeable packages is unexpected

Reported by: guest Owned by:
Priority: normal Milestone:
Component: cabal-install tool Version: 1.2.0
Severity: normal Keywords:
Cc: Difficulty: hard (< 1 day)
GHC Version: 6.4.2 Platform: Linux

Description (last modified by ijones) (diff)

Note: Consolidating this ticket and others to #198. Please watch that ticket for further developments.

When an old version of a package is already installed, running cabal-install to install it should install the latest available version of the package, rather than complaining that the package is already installed. (Or at least interactively provide the option to do so.)

Having it simply abort without doing anything is strange because in the most common case a user tries to install a package because they need it and do not already have it. If the package is already installed, that probably means that they do not have a recent enough version of the package.

It would also make cabal-install more apt-like, which is probably a good thing, considering the obvious inspiration.

Change History

Changed 6 years ago by duncan

  • difficulty changed from normal to hard (< 1 day)
  • component changed from Cabal to cabal-install
  • type changed from defect to enhancement

Yes, I agree. If you specifically ask to install a package then it should upgrade it. If it's a package that is being pulled in as a dependency and you did not explicitly ask for it then the default should be to use an existing installed version (assuming the installed version satisfies the version dependency).

It'd also be nice to provide the equivalent of gentoo's emerge --deep option which tries to update dependencies even if there is a suitable installed version already.

These both amount to preferences amongst solutions when exploring the package dependency space.

Changed 5 years ago by ijones

  • status changed from new to closed
  • resolution set to duplicate
  • description modified (diff)
Note: See TracTickets for help on using tickets.