Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
emerge usage that is confusing
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
rzdndr
Tux's lil' helper
Tux's lil' helper


Joined: 26 Jul 2024
Posts: 112

PostPosted: Tue Oct 15, 2024 3:53 am    Post subject: emerge usage that is confusing Reply with quote

Hello,

I am checking for updates every morning using these steps:

Code:
emerge --sync
emerge -auUDv --with-bdeps=y @world
emerge --ask --depclean
dispatch-conf


I have arrived at those steps while I was reading on the update/upgrade procedures. Would this usage be correct?

What got me confused is, two days in a row, there were no updates for my system. Then I went to the https://wiki.gentoo.org/wiki/Upgrading_Gentoo page and saw some comment like this

Quote:
root #emerge -avuDN @world

--changed-use may be used in place of --newuse, but only if you do not build binary packages. --changed-use will not trigger reinstallation when disabled USE flags are added or removed from a package. See the Binary package guide.


When I did emerge -avuDN --with-bdeps=y @world I had 3 reinstalls. But emerge -auUDv --with-bdeps=y @world does not show any updates.

I want to have my system up to date. And since I only emerge a couple of binary packages (firefox-bin, google-chrome, and libreoffice), and do not build them (as binary packages), I should use --newuse I believe. Would that be correct?

Regards
Back to top
View user's profile Send private message
Banana
Moderator
Moderator


Joined: 21 May 2004
Posts: 1798
Location: Germany

PostPosted: Tue Oct 15, 2024 6:03 am    Post subject: Reply with quote

Your way to keep an updated system looks fine. Update often to avoid any emerge conflicts because of to many changes. But doing it daily is kind of overkill. Once a week or even every two weeks is fine.

Make sure you check the news items, too.

Here is a topic which may shed some light about the emerge --changed-use vs --newuse question: https://forums.gentoo.org/viewtopic-p-8719502.html
_________________
Forum Guidelines

PFL - Portage file list - find which package a file or command belongs to.
My delta-labs.org snippets do expire
Back to top
View user's profile Send private message
rzdndr
Tux's lil' helper
Tux's lil' helper


Joined: 26 Jul 2024
Posts: 112

PostPosted: Tue Oct 15, 2024 6:12 am    Post subject: Reply with quote

Banana wrote:
Your way to keep an updated system looks fine. Update often to avoid any emerge conflicts because of to many changes. But doing it daily is kind of overkill. Once a week or even every two weeks is fine.

Make sure you check the news items, too.

Here is a topic which may shed some light about the emerge --changed-use vs --newuse question: https://forums.gentoo.org/viewtopic-p-8719502.html


I got that habit from using a rolling release system prior to gentoo. You might be right about the overkill.

Thanks for the information on --changed-use and --newuse.

Regards
Back to top
View user's profile Send private message
rzdndr
Tux's lil' helper
Tux's lil' helper


Joined: 26 Jul 2024
Posts: 112

PostPosted: Tue Oct 15, 2024 8:50 am    Post subject: Reply with quote

Based on the comment in here: https://wiki.gentoo.org/wiki/Gentoo_Cheat_Sheet#Package_upgrades

Quote:
Package upgrades

Upgrade all packages in the world set, their dependencies (--deep), and packages that have USE flag changes (avoiding unnecessary rebuilds when USE changes have no impact):

root #emerge --ask --verbose --update --deep --changed-use @world

The --newuse may be used in place of--changed-use to make sure that all package use flags reflect the current state of those in the Gentoo repository, though this will entail more rebuilds. The --with-bdeps=y can be used to update build time dependencies also.


I think I will be using the --newuse option. I would like to keep the use flags to be the same as they are in the gentoo repo's. Would not mind more/extra rebuilds. But will be checking both --changed-use and --newuse when updating my system to see if these agree with each other.
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5239
Location: Bavaria

PostPosted: Tue Oct 15, 2024 11:10 am    Post subject: Re: emerge usage that is confusing Reply with quote

rzdndr wrote:
I am checking for updates every morning using these steps:

Code:
emerge --sync
emerge -auUDv --with-bdeps=y @world
emerge --ask --depclean
dispatch-conf


[...] Would this usage be correct?

Yes! ... but, if you have the package "eix", you might try an "eix-sync" instead "emerge --sync" ... for me it is very interesting to see also changes from other packages I dont use ... (because it cold be I see an interesting package :D )

My opinion on the daily update: keep doing it. It's a thousand times better to update frequently than too rarely. Even if I only update once or twice a week, I wouldn't consider it overkill (my former colleague at work also did it daily).
_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
rzdndr
Tux's lil' helper
Tux's lil' helper


Joined: 26 Jul 2024
Posts: 112

PostPosted: Tue Oct 15, 2024 2:23 pm    Post subject: Re: emerge usage that is confusing Reply with quote

pietinger wrote:
rzdndr wrote:
I am checking for updates every morning using these steps:

Code:
emerge --sync
emerge -auUDv --with-bdeps=y @world
emerge --ask --depclean
dispatch-conf


[...] Would this usage be correct?

Yes! ... but, if you have the package "eix", you might try an "eix-sync" instead "emerge --sync" ... for me it is very interesting to see also changes from other packages I dont use ... (because it cold be I see an interesting package :D )

My opinion on the daily update: keep doing it. It's a thousand times better to update frequently than too rarely. Even if I only update once or twice a week, I wouldn't consider it overkill (my former colleague at work also did it daily).


Will try eix the next time.

When I do updates every week there will be more things to update, and might take time. So it is much better in my case to do that daily.

Regards
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2521

PostPosted: Tue Oct 15, 2024 4:21 pm    Post subject: Reply with quote

rzdndr wrote:
Based on the comment in here: https://wiki.gentoo.org/wiki/Gentoo_Cheat_Sheet#Package_upgrades

Quote:
Package upgrades

Upgrade all packages in the world set, their dependencies (--deep), and packages that have USE flag changes (avoiding unnecessary rebuilds when USE changes have no impact):

root #emerge --ask --verbose --update --deep --changed-use @world

The --newuse may be used in place of--changed-use to make sure that all package use flags reflect the current state of those in the Gentoo repository, though this will entail more rebuilds. The --with-bdeps=y can be used to update build time dependencies also.


I think I will be using the --newuse option. I would like to keep the use flags to be the same as they are in the gentoo repo's. Would not mind more/extra rebuilds. But will be checking both --changed-use and --newuse when updating my system to see if these agree with each other.


New use will rebuild even if a disabled or masked flag gets dropped. Changed use is smarter and will rebuild only when relevant flags change. New use will not keep the use flags to be the same as they are in the Gentoo repo if you think that's what it is for. It'll rebuild on every user change, even if that flag is irrelevant. That's why changed use is not recommended if you're building binary packages. When building binary packages, exactly new use behavior is required, maybe unless you have identical use settings on all systems that will use them.

Best Regards,
Georgi
Back to top
View user's profile Send private message
finoderi
Tux's lil' helper
Tux's lil' helper


Joined: 29 Oct 2021
Posts: 79

PostPosted: Tue Oct 15, 2024 4:50 pm    Post subject: Re: emerge usage that is confusing Reply with quote

rzdndr wrote:

I am checking for updates every morning using these steps:

Code:
emerge -auUDv --with-bdeps=y @world

You can add
Code:
EMERGE_DEFAULT_OPTS="--with-bdeps=y"
- to make.conf to avoid typing it every time. And when you don't need this option use
Code:
--with-bdeps=n
in command line.
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2521

PostPosted: Tue Oct 15, 2024 4:56 pm    Post subject: Re: emerge usage that is confusing Reply with quote

finoderi wrote:
rzdndr wrote:

I am checking for updates every morning using these steps:

Code:
emerge -auUDv --with-bdeps=y @world

You can add
Code:
EMERGE_DEFAULT_OPTS="--with-bdeps=y"
- to make.conf to avoid typing it every time. And when you don't need this option use
Code:
--with-bdeps=n
in command line.


I hadn't noticed that part. That's actually useless in this query. It's by default yes when not using binary packages and no when you use binary packages. It's not only useless, but also can cause problems, so no, do not put it in EMERGE_DEFAULT_OPTS and do not change it on the command line unless you know exactly why you're doing it.

man emerge wrote:
--with-bdeps < y | n >
In dependency calculations, pull in build time dependencies that are not strictly required. This option is automatically enabled for installation actions, meaning they will be installed, and de‐
faults to "y" for the --depclean action, meaning they will not be removed. In order to prevent the --with-bdeps option from being automatically enabled for installation actions, specify
--with-bdeps-auto=n in either the command line or EMERGE_DEFAULT_OPTS.

Since many users of binary packages do not want unnecessary build time dependencies installed, this option is not automatically enabled for installation actions when the --usepkg option is enabled.
In order to pull in build time dependencies for binary packages with --usepkg, --with-bdeps=y must be specified explicitly. This also applies to options that enable the --usepkg option implicitly,
such as --getbinpkg.

This setting can be added to EMERGE_DEFAULT_OPTS (see make.conf(5)) and later overridden via the command line.


Best Regards,
Georgi
Back to top
View user's profile Send private message
finoderi
Tux's lil' helper
Tux's lil' helper


Joined: 29 Oct 2021
Posts: 79

PostPosted: Tue Oct 15, 2024 5:02 pm    Post subject: Re: emerge usage that is confusing Reply with quote

logrusx wrote:
It's not only useless, but also can cause problems.

What kind of problems? It will be enabled by default for binary packages?
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2521

PostPosted: Tue Oct 15, 2024 5:11 pm    Post subject: Re: emerge usage that is confusing Reply with quote

finoderi wrote:
logrusx wrote:
It's not only useless, but also can cause problems.

What kind of problems? It will be enabled by default for binary packages?


No, it won't be. It will be what you set it in EMERGE_DEFAULT_OPTS. It will be the default value if you don't change it somewhere. If you put it in EMERGE_DEFAULT_OPTS then you need to manually disable it on the command line when needed, which defeats the purpose, given that it's exactly what it needs to be most all the time.

Best Regards,
Georgi
Back to top
View user's profile Send private message
finoderi
Tux's lil' helper
Tux's lil' helper


Joined: 29 Oct 2021
Posts: 79

PostPosted: Tue Oct 15, 2024 5:25 pm    Post subject: Reply with quote

I'm not sure you need to override --with-bdeps=y that many times if you don't use binary packages.

UPD. It was already discussed here - https://forums.gentoo.org/viewtopic-t-1037770-postdays-0-postorder-asc-start-0.html
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2521

PostPosted: Wed Oct 16, 2024 5:51 am    Post subject: Reply with quote

I'll say it one last time. There's no point in overriding the default with itself. That's plain pointless. There's more sense in setting it to n actually. Putting it on the command line like OP is a remnant of the past. It's obsolete.

And I hope that'll be the end of it because you're well off topic already.

Best Regards,
Georgi
Back to top
View user's profile Send private message
finoderi
Tux's lil' helper
Tux's lil' helper


Joined: 29 Oct 2021
Posts: 79

PostPosted: Wed Oct 16, 2024 1:57 pm    Post subject: Reply with quote

First of all, it does make sense, just doesn't suit everybody. And it's not offtop in any way and even if it was, nobody appointed you as a moderator yet, so chill out.
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 5239
Location: Bavaria

PostPosted: Wed Oct 16, 2024 5:52 pm    Post subject: Reply with quote

finoderi wrote:
First of all, it does make sense, just doesn't suit everybody. And it's not offtop in any way and even if it was, nobody appointed you as a moderator yet, so chill out.

firstly: man emerge says quite clearly:
Quote:
This option is used to enable or disable the program logic that causes --with-bdeps is to be automatically enabled for installation actions. This option is enabled by default. Use --with-bdeps-auto=n to prevent --with-bdeps from being automatically enabled for installation actions.

So, @logrusx gave a correct information.

secondly, you should not rely on posts that are 8 years old, as the likelihood that something has changed in the meantime is very high.

thirdly, you should listen to experienced users, even if they are not moderators. Most of the time, our experienced users act in the interests of moderation ... and help us so that we have less work. (only if this is not the case do we intervene, of course).

(Blue means: this answer was written with the moderator hat on.)
_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
finoderi
Tux's lil' helper
Tux's lil' helper


Joined: 29 Oct 2021
Posts: 79

PostPosted: Wed Oct 16, 2024 7:39 pm    Post subject: Reply with quote

pietinger wrote:
you should listen to experienced users, even if they are not moderators.

Even when they are this full of themselves and call 'offtop' what clearly isn't. I see.
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20521

PostPosted: Wed Oct 16, 2024 8:59 pm    Post subject: Reply with quote

I'd like to push back a bit.

Unless I've missed it, I haven't see any clarification on what PROBLEM(S) result from having with-bdeps=y in EMERGE_DEFAULT_OPTS. The man page, previously quoted, only mentions that users of binary packages may "not want unnecessary build time dependencies installed". And that's no t a problem, it's a choice.

The man page explicitly states that =y is used except for when binary packages are in use, at which point =n is used. So having =y in default opts simply enables =y for binary packages as well (per the man page, which may be outdated or incomplete).

So, no, I won't blindly accept "more experienced users" as an acceptable metric until said user or users provides a demonstrable example (which again, I may have missed).
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
ian.au
l33t
l33t


Joined: 07 Apr 2011
Posts: 606
Location: Australia

PostPosted: Wed Oct 16, 2024 10:33 pm    Post subject: Reply with quote

pjp wrote:
I'd like to push back a bit.

Unless I've missed it, I haven't see any clarification on what PROBLEM(S) result from having with-bdeps=y in EMERGE_DEFAULT_OPTS. The man page, previously quoted, only mentions that users of binary packages may "not want unnecessary build time dependencies installed". And that's no t a problem, it's a choice.

The man page explicitly states that =y is used except for when binary packages are in use, at which point =n is used. So having =y in default opts simply enables =y for binary packages as well (per the man page, which may be outdated or incomplete).

So, no, I won't blindly accept "more experienced users" as an acceptable metric until said user or users provides a demonstrable example (which again, I may have missed).


I've had Bdeps="y" in default opts forever without problems, but this thread was useful advice for me that this is now the default state when building from source - which it wasn't initially. Some very quick research indicates that this was changed in 2017, somehow I missed it.

I'll probably revert my EMERGE_DEFAULT_OPTS to remove it, not that I use many binary packages...

I run --newuse about once a year, and I'm not even sure that is necessary --changed-use is more than sufficient - using newuse just guarantees you'll rebuild a lot of unnecessary packages, because ie. a use flag you'll never need was added, or one you never needed was dropped..

Updating daily? Everyone's use case is different, but every two weeks is my preferred schedule
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20521

PostPosted: Sat Oct 19, 2024 2:37 am    Post subject: Reply with quote

@ian.au,

I thought I had =y in EMERGE_DEFAULT_OPTIONS, but I ignored it. I do remember seeing people comment that it had become the default, but it didn't seem like anything to be concerned about, so I wasn't.

Because of this thread, I checked, and I don't have it set, but I do have it in aliases that I use to perform updates. Including for my binary client and the chroot where it's binaries are built.

As far as I can tell, the claim of it being problematic at least appears to be undocumented.

As for --newuse, I used it again for the first time in a long time. I couldn't find the thread, but I had "issues" and it was pointed out to me that --newuse was the cause of so many pointless rebuilds. That was years ago.
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
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