-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow automatic calling of emerge -DUu @world
#18
Comments
I stumbled across the
Using this seems to be an option for pulling in broken haskell packages using a world update: emerge -DUu --keep-going @world --reinstall-atoms "$(haskell-updater -l | xargs -d'\n' echo)" |
And a world update can further break haskell packages, so you'll need to run haskell-updater afterwards regardless. |
The problem is, sometimes portage needs to pull in updates for haskell packages that are not yet broken, otherwise it can't sort out the dependency graph. This actually just happened to me:
The hack was to run I think that |
Running the command in a loop seems to be working: until emerge -DUu --keep-going @world --reinstall-atoms "$(haskell-updater -l | xargs -d'\n' echo)"; do sleep 1; done although I had to add This was when all non-haskell packages had been updated so the Ideally, we would be able to pull in all haskell packages that need an update, plus packages that are reported broken by Edit:
|
Add `--mode=reinstall-atoms` flag which uses experimental emerge invocation (using `--reinstall-atoms`). The rationale is that by marking broken packages by using `--reinstall-atoms`, portage will pretend that they are not yet installed, thus forcing their reinstallation. `--update` is used and all installed Haskell packages are targeted so that the entire Haskell environment is examined. This has a side-effect of skipping packages that are masked or otherwise unavailable while still rebuilding needed dependencies that have been broken. A new `--target=world` option has been added exclusively for `--mode=reinstall-atoms`, which sets the portage target to `@world`. This will hopefully provide a way to update the entire system while fixing broken Haskell packages as they appear. Reorganize command line options quite a bit as well, adding `--mode` and `--target` options as well as convenience/legacy aliases. Bug: #18 Signed-off-by: hololeap <[email protected]>
haskell-updater
is often the most useful when run in a loop, such as:It would be convenient to have the basic
haskell-updater
invocation support running a loop like this, especially for newcomers who might be confused as to why they have to repeatedly runhaskell-updater
during updates.There could be a flag to choose from different options, including the original behavior, and with #17 the default could be changed and new options be added.
The text was updated successfully, but these errors were encountered: