Summary: | Unable to unmerge packages referenced in a set with a different slot | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Marco Albanese <delian2> |
Component: | Core | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | ag |
Priority: | High | Keywords: | InVCS |
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 144480, 210077 | ||
Attachments: | fix matching of sets against packages, analogous to bug 218854 |
Description
Marco Albanese
2008-06-13 12:19:22 UTC
*** Bug 229689 has been marked as a duplicate of this bug. *** Created attachment 158707 [details, diff] fix matching of sets against packages, analogous to bug 218854 I tested this by creating a jdk package set, like this: mkdir -p /etc/portage/sets echo dev-java/sun-jdk >> /etc/portage/sets/jdk emerge --noreplace @jdk emerge -C sun-jdk It allowed me to unmerge the 1.5 slot but the 1.6 slot stayed installed because it was the highest version. Is there anything left to fix here or does this patch solve everything? How do I apply the patch? I've copied it to /usr/lib/portage and run: patch -p1 < set_slots.patch but can't find file to patch at input line 5 Perhaps you should have used the -p or --strip option? Sorry for the triviality.. If the patch is saved as /tmp/set_slots.patch, then it can be applied as follows: cd /usr/lib/portage patch -p0 < /tmp/set_slots.patch (In reply to comment #4) > If the patch is saved as /tmp/set_slots.patch, then it can be applied as > follows: > > cd /usr/lib/portage > patch -p0 < /tmp/set_slots.patch > It gives: odino portage # patch -R -p0 <~iro/set_slots.patch patching file pym/_emerge/__init__.py Hunk #1 succeeded at 6384 (offset -152 lines). Hunk #2 succeeded at 6626 (offset -152 lines). Hunk #3 succeeded at 6636 (offset -152 lines). Are those safe? The patch fixes the problem for me.
> odino portage # patch -R -p0 <~iro/set_slots.patch
> patching file pym/_emerge/__init__.py
> Hunk #1 succeeded at 6384 (offset -152 lines).
> Hunk #2 succeeded at 6626 (offset -152 lines).
> Hunk #3 succeeded at 6636 (offset -152 lines).
sorry, I pasted the wrong ones. Theese are the
warning it gives me when applying against portage-2.2-rc1
# patch -p0 <~iro/set_slots.patch
patching file pym/_emerge/__init__.py
Hunk #1 succeeded at 6384 (offset -152 lines).
Hunk #2 succeeded at 6639 (offset -152 lines).
Hunk #3 succeeded at 6655 (offset -152 lines).
(In reply to comment #6) > # patch -p0 <~iro/set_slots.patch > patching file pym/_emerge/__init__.py > Hunk #1 succeeded at 6384 (offset -152 lines). > Hunk #2 succeeded at 6639 (offset -152 lines). > Hunk #3 succeeded at 6655 (offset -152 lines). > Yes, it's safe. The hunks are offset because a few other changes have been made to the same file. It doesn't do any harm in this case. For me, the patch fix the problem :) emerge -C sweeper >>> These are the packages that would be unmerged: Not unmerging package kde-base/sweeper-9999 as it is still referenced by the following package sets: kdeutils-meta kde-base/sweeper selected: 4.0.4 protected: none omitted: none >>> 'Selected' packages are slated for removal. >>> 'Protected' and 'omitted' packages will not be removed. Thanks ;) Reopening until this is released. This is fixed in 2.2_rc2. Still getting similar error with 2.2_rc36 when I execute: emerge -C @kdebase, error message: ... Not unmerging package kde-base/kdebase-data-4.2.4-r1 as it is still referenced by the following package sets: world Not unmerging package kde-base/kdm-4.2.4-r1 as it is still referenced by the following package sets: world .... (In reply to comment #10) > This is fixed in 2.2_rc2. > (In reply to comment #11) See bug #243020 and bug #279449. |