1 |
Bo Ørsted Andresen wrote: |
2 |
> On Wednesday 16 April 2008 10:15:16 Mateusz A. Mierzwiński wrote: |
3 |
>> So why not to send on screen info about what to do rather then "ERROR"? |
4 |
> |
5 |
> Please reread this entire thread. That's exactly what is being proposed. |
6 |
|
7 |
I'd go one step further. Don't tell the user what to do - just do it |
8 |
(when this is safe). |
9 |
|
10 |
Maybe have a REPLACES="app-foo/bar" variable in ebuilds. That tells the |
11 |
package manager that the new package supersedes the old one - any |
12 |
version of the new package is considered higher in version than any |
13 |
version of the old package. Any cases where the new package overwrites |
14 |
files belonging to the old package are not detected as collisions. If |
15 |
set to auto-clean the package manger unmerges the old package after |
16 |
merging the new one. If the package manager sees the old package in |
17 |
world it will act like the new package is in world. Basically you treat |
18 |
it like an upgrade. |
19 |
|
20 |
This isn't always desirable, and in those cases you wouldn't use this |
21 |
functionality. |
22 |
|
23 |
Having an ebuild output a list of steps telling the user how to work |
24 |
around a package manager limitation is really a non-ideal solution. If |
25 |
a defined set of steps will always fix the issue, why not just do them? |
26 |
|
27 |
And maybe have an option/FEATURE to disable this behavior, just as you |
28 |
can disable auto-cleaning in portage. We don't tell users to manually |
29 |
clean out old versions of software, so why tell them to manually resolve |
30 |
other issues? |
31 |
|
32 |
Again, I'm not proposing this as a fix to ALL blocks. However, |
33 |
something like this could have made the mktemp mess a lot simpler. |
34 |
There would have been no issues to end users if the new coreutils |
35 |
silently collided with mktemp and triggered auto-removal of mktemp when |
36 |
the upgrade was done. |
37 |
-- |
38 |
gentoo-dev@l.g.o mailing list |