View previous topic :: View next topic |
Author |
Message |
neyuru Apprentice
Joined: 21 Mar 2020 Posts: 191
|
Posted: Thu Dec 24, 2020 10:42 pm Post subject: Portage feature request |
|
|
It is not uncommon for a package to change its USE flags between versions, either because there is a new feature that must be enabled by the user or the package does no longer use a specific USE flag.
I am submitting a plea for portage to be able to tell the user when an already installed package has dropped or added new USE flags. For example, when submitting an emerge -xyz @world command, make portage not only indicate which packages are going to be updated, rebuild, downgraded, new slot, etc... but also which of those packages have new (or dropped) definitions of available USE flags compared to the user's current installed version. |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22619
|
Posted: Thu Dec 24, 2020 10:49 pm Post subject: |
|
|
I think this is already available. Per man emerge, for the option --verbose: Code: | Symbol Location Meaning
──────────────────────────────────────────────────────────────
- prefix not enabled (either disabled or removed)
* suffix transition to or from the enabled state
% suffix newly added or removed
() circumfix forced, masked, or removed
{} circumfix state is bound to FEATURES settings | If you add --verbose to your command, you will get the results that I think you are requesting. Please try this and, if it does not meet your requirements, describe why. |
|
Back to top |
|
|
pietinger Moderator
Joined: 17 Oct 2006 Posts: 5093 Location: Bavaria
|
Posted: Fri Dec 25, 2020 12:27 pm Post subject: |
|
|
neyuru,
I think I understand what you want. Let me split it:
1.) New USE-flags
This should be the smaller problem. You will see all new introduced flags in YELLOW when doing an "emerge -uNDvp @world".
2.) Obsolete (dropped) USE-flags
Yes, I had this also with my 12 years old gentoo installation. There were some flags in my make.conf that today doesnt exist anymore. For this you need "euse -i". Try an "euse -i xyz" and you will see, no package is using it. For the most use-flags you will see detailled information which packages use it. Some use-flags will give you only:
Code: | # euse -i cddb
global use flags (searching: cddb)
************************************************************
[+ C ] cddb - Access cddb servers to retrieve and submit information about compact disks
local use flags (searching: cddb)
************************************************************
no matching entries found |
When you want to know if you need it anymore you can check it with:
Code: | # USE="-cddb" emerge -uUDNvp @world |
Yes, it is not very much elegant ... |
|
Back to top |
|
|
geki Advocate
Joined: 13 May 2004 Posts: 2387 Location: Germania
|
Posted: Sat Dec 26, 2020 8:23 am Post subject: |
|
|
I guess this:
Quote: | # man emerge | grep -E '\-U|\-N' -A 3
--changed-use, -U
Tells emerge to include installed packages where USE flags have changed since installation. This op‐
tion also implies the --selective option. Unlike --newuse, the --changed-use option does not trigger
reinstallation when flags that the user has not enabled are added or removed.
--
--newuse, -N
Tells emerge to include installed packages where USE flags have changed since compilation. This op‐
tion also implies the --selective option. USE flag changes include: |
_________________ hear hear |
|
Back to top |
|
|
neyuru Apprentice
Joined: 21 Mar 2020 Posts: 191
|
Posted: Sat Dec 26, 2020 6:58 pm Post subject: |
|
|
Hello all:
Hu wrote: |
If you add --verbose to your command, you will get the results that I think you are requesting. Please try this and, if it does not meet your requirements, describe why. |
Yes, that's seems right about what I was asking for (in particular the percentage sign), I missed reading that part of the manual =). Although, another visual clue might be useful to the user. Something like this: in the square brackets, where the letters N, U, D, r, S, etc. are placed, add a new placeholder for added or deleted (masked, etc.) USE flags for that specific package (maybe C for "Changed USE"?). The actual prefixes, sufixes and circumflixes give the "detailed" information in it's current state.
pietinger wrote: |
This should be the smaller problem. You will see all new introduced flags in YELLOW when doing an "emerge -uNDvp @world". |
Colors are helpful. I didn't pay much attention... what option makes emerge color-code? (e.g. the addition of new flags in yellow). As explained above, maybe an added letter might give a first indication that something changed and the *-flexes, along with color coding might give the "detailed" info.
geki wrote: |
I guess this: |
I always used -aDNu in my emerges (and now -aDNuv). Unless I misunderstood, these options (-U and -N) check for changed USE flags since compilation (like for example if you are activating new USE flags on current packages to see what they do), but what I was looking is for a means to tell the user when changes where made strictly between versions (upgrades or downgrades), not including change USE in current versions. My logic being: if you have spent considerable time tuning the flags of your installed packages, it might be helpful if an added (future) feature is desirable or not. E.g. If emerge tells me that a new USE has been added, then I might go to "equery uses xyz" to see the description of the new USE flag. If it is desirable I might change either my make.conf or my package.use to add that flag and then issue the emerge command. And the same applies to no longer used flags (in which case I would streamline my make.conf or my package.use). |
|
Back to top |
|
|
neyuru Apprentice
Joined: 21 Mar 2020 Posts: 191
|
Posted: Sat Dec 26, 2020 7:27 pm Post subject: |
|
|
Oh, and by knowing which USE flags have changed, I'm referring to those ones that an user actually has the power to change. |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|