Changes between Version 240 and Version 241 of SummerOfCode


Ignore:
Timestamp:
May 18, 2014, 9:43:49 PM (11 years ago)
Author:
shasha@…
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SummerOfCode

    v240 v241  
    252252Write an interactive command-line tool that can be used instead of the non-interactive port(1). (The existing "interactive mode" of port(1) is actually just batch mode reading from stdin, and is not really interactive.) Factor out code used by both tools into a shared module.
    253253
    254 An interactive tool would ask for user input to resolve many situations that cause port(1) to simply error out.
    255 All the suggested interactivity use cases are listed below-
    256 1. If you try to install a port and one of its dependencies conflict with something already installed, it could ask if you want to
    257    deactivate the installed one and its dependents and reactivate them after the build.
    258 2. When trying to install a port but one of the files installed by this port is already present, ask the user whether the file should be
    259    overwritten.
    260 3. When a user tries to install a port, display a list of ports that will be installed as dependencies and ask for confirmation (unless
    261    there aren't any dependencies to be installed), like apt-get does.
    262 4. Asking for permission in a situation where uninstalling a package will break another package that's still installed and depends on   
    263    the to-be-uninstalled package.
    264 5. When installing a port that requires a dependency to have a certain variant, but this variant is not set. Ask the user if it should 
    265    reinstall the dependency with that variant.
    266 6. When activate is ambiguous, present a list of installed ports for the user to choose from.
    267 7. Ask user before rebuilding in rev-upgrade.
    268 8. When a user uninstalls a port using --follow-dependencies, the list of dependencies will be displayed and the user will be asked for 
    269    confirmation.
     254An interactive tool would ask for user input to resolve many situations that cause port(1) to simply error out. For example - If you try to install a port and one of its dependencies conflict with something already installed, it could ask if you want to deactivate the installed one and its dependents and reactivate them after the build.
     255 
     256
    270257
    271258* Difficulty: Medium