Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
How do I know whether it's safe to prevent a package update?
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
lars_the_bear
Guru
Guru


Joined: 05 Jun 2024
Posts: 385

PostPosted: Mon Sep 02, 2024 7:41 am    Post subject: How do I know whether it's safe to prevent a package update? Reply with quote

Hi folks

I've more-or-less decided not to update the Gentoo installations on my old-ish laptops ever again, just because I can't cope with the days and days of compilation it requires. But, just out of curiosity I ran `emerge ... @world` this morning, and I saw:

Code:

[ebuild     U ~] sci-electronics/kicad-8.0.4::gentoo [8.0.3::gentoo] USE="nls openmp -doc -examples -test" PYTHON_SINGLE_TARGET="python3_12 -python3_10 -python3_11" 71249 KiB


If I wanted to update everything else, I appreciate that I could use, e.g., `package.mask` to hold this package at its current version. I'm perfectly happy with the 8.0.3 that I already have, and see no benefit in updating.

I suspect that 8.0.3 would continue to work even if I allowed emerge to update everything else it wants to update, but how can I be sure of that? Is it even possible to be sure? Other than trying it, of course. But if I did try it, and I found it didn't work, I'd have to rebuild KiCAD from source, which takes 2-3 days on my system (so far as I know, there is no binary available).

I'm thinking about KiCAD here, but it's a more general question: is there some way to predict accurately whether a package can be excluded from updating, without breaking anything?

BR, Lars.
Back to top
View user's profile Send private message
pietinger
Moderator
Moderator


Joined: 17 Oct 2006
Posts: 4855
Location: Bavaria

PostPosted: Mon Sep 02, 2024 12:47 pm    Post subject: Reply with quote

lars_the_bear wrote:
[...] I'm thinking about KiCAD here, but it's a more general question: is there some way to predict accurately whether a package can be excluded from updating, without breaking anything?

You can always check beforehand what an “emerge -uUDvp -X kicad @world” would do.

Whether this causes problems is not always predictable, but in general you can usually exclude everything from an update that is at the top of the hierarchy; I mean programs that are not a prerequisite for other programs (exception: the kernel; you can even skip a new version). Examples are: Browser, LibreOffice, games, CAD software, ... ;-)
_________________
https://wiki.gentoo.org/wiki/User:Pietinger
Back to top
View user's profile Send private message
lars_the_bear
Guru
Guru


Joined: 05 Jun 2024
Posts: 385

PostPosted: Mon Sep 02, 2024 1:41 pm    Post subject: Reply with quote

pietinger wrote:

You can always check beforehand what an “emerge -uUDvp -X kicad @world” would do.


Thanks. It looks like it would be a substantial update even without KiCAD. But also there is some sort of slot conflict:

Code:

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

dev-lang/perl:0

  (dev-lang/perl-5.40.0-1:0/5.40::gentoo, binary scheduled for merge) USE="gdbm -berkdb -doc -minimal" ABI_X86="(64)" PERL_FEATURES="(-debug) -ithreads -quadmath" pulled in by
    dev-lang/perl:0/5.40= required by (virtual/perl-Encode-3.210.0-r1-1:0/0::gentoo, binary scheduled for merge) USE="" ABI_X86="(64)"
                 ^^^^^^^^                                                                                                                                                                   
    =dev-lang/perl-5.40* required by (virtual/perl-libnet-3.150.0-r1-1:0/0::gentoo, installed) USE="ssl" ABI_X86="(64)"
    ^              ^^^^^                                                                                                                                                                                           
    (and 19 more with the same problems)

  (dev-lang/perl-5.38.2-r3-1:0/5.38::gentoo, installed) USE="gdbm -berkdb -doc -minimal" ABI_X86="(64)" PERL_FEATURES="(-debug) -ithreads -quadmath" pulled in by
    =dev-lang/perl-5.38* required by (virtual/perl-IO-1.520.0-1:0/0::gentoo, installed) USE="" ABI_X86="(64)"
    ^              ^^^^^                                                                                                                                                               
    dev-lang/perl:0/5.38= required by (dev-perl/Mozilla-CA-20999999-r1-2:0/0::gentoo, installed) USE="-test" ABI_X86="(64)" PERL_FEATURES="(-debug) -ithreads -quadmath"
                 ^^^^^^^^                                                                                                                                                                                                                                                                                 
    (and 28 more with the same problems)


I understand that I can force one or other of these Perl versions to be used, but I have no clue which one I should mask. Or, indeed, why the problem exists.

BR, Lars.
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22404

PostPosted: Mon Sep 02, 2024 1:58 pm    Post subject: Reply with quote

lars_the_bear wrote:
Code:
[ebuild     U ~] sci-electronics/kicad-8.0.4::gentoo [8.0.3::gentoo] USE="nls openmp -doc -examples -test" PYTHON_SINGLE_TARGET="python3_12 -python3_10 -python3_11" 71249 KiB
I suspect that 8.0.3 would continue to work even if I allowed emerge to update everything else it wants to update, but how can I be sure of that?
That depends on whether KiCAD is sensitive to anything else you update. Some programs may be finicky about the shared libraries they use, or the data files from other packages. Gentoo generally tries to prevent you from installing known-broken setups, but there is always the risk that nobody has previously reported as broken the setup you are considering creating.
lars_the_bear wrote:
But if I did try it, and I found it didn't work, I'd have to rebuild KiCAD from source, which takes 2-3 days on my system (so far as I know, there is no binary available).
That depends on whether you want to solve the problem by bringing KiCAD forward or by downgrading the offending package. For the latter, you could restore the old version from a local gpkg - assuming that the offending package can be downgraded. Some special cases, such as glibc, cannot.

That perl conflict looks like a very standard case of not upgrading all the perl-consuming packages in one step. Usually, it can be resolved by ensuring Portage will update/replace every perl-consuming package. Normally, I would expect Portage to get this right on its own, and not show this error.
Back to top
View user's profile Send private message
lars_the_bear
Guru
Guru


Joined: 05 Jun 2024
Posts: 385

PostPosted: Mon Sep 02, 2024 2:10 pm    Post subject: Reply with quote

@Hu

OK, thanks.

The safest thing, I think, is not to update. It took a long time to get this laptop into a working state, and I really don't want to risk breaking it. Or compiling for another two weeks.

I'm coming to the conclusion that I might not be brave enough to use Gentoo on a system that really has to work without downtime :/

BR, Lars.
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 22404

PostPosted: Mon Sep 02, 2024 2:13 pm    Post subject: Reply with quote

I have used Gentoo for longer than I have had this forum account. The worst I ever broke it was when I briefly made coreutils unusable due to installing an update in the wrong order. I fixed that within half an hour, and without rebooting. I did have to do it without Portage's help, since it wanted a working coreutils.
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