Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Updating a system yearly is almost unfeasible
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
AchilleTalon
Guru
Guru


Joined: 11 Apr 2004
Posts: 368
Location: Montreal, Quebec, Canada

PostPosted: Thu Jun 25, 2015 4:31 am    Post subject: Updating a system yearly is almost unfeasible Reply with quote

I don't need to keep current my systems and I do not update everything on a weekly, daily or even monthly basis.

When I keep my systems current and update them on a weekly basis at least, the process is almost smooth a hassle free, however, when I am a long time without updating them, portage really sucks. It is almost impossible to update a system after a year or more. It is most of the time faster and easier to just wipeout everything and reinstall from scratch, which is a large amount of work anyway.

After a year, many ebuild disappeared, portage isn't able to figure out how to update, still requires old stuff. Almost everything is broken and need to be examined bit by bit and updated, unmerged, reemerged, use a special script (perl and python in particular, with the right arguments otherwise if fails)

The update process in Gentoo really sucks. Is there any project to build a decent updater for the whole distribution even if when you update on an unfrequent basis?

Right now, I am stucked in a situation I am totally unable to go forward, portage requires a version of an ebuild that no longer exists and ignore completely the current version.

For example:

Code:
emerge: there are no ebuilds to satisfy ">=dev-libs/icu-3.8.1-r1:0/53=".
(dependency required by "net-libs/webkit-gtk-2.4.8::gentoo" [installed])
(dependency required by "gnome-extra/sushi-3.12.0::gentoo" [installed])
(dependency required by "gnome-base/gnome-extra-apps-3.14.0-r1::gentoo" [ebuild])
(dependency required by "gnome-base/gnome-3.14.0::gentoo[extras]" [ebuild])


While icu-55.1:0/55 is actually installed. And the oldest available version in the portage tree is icu-54.1-r1.ebuild.

And this is only one example among many others. It may took a week or more to finally find a way to circumvent every broken dependency.

This is really silly. I love Gentoo, but frankly, I am considering to go away from it given the insane amount of time that need to be invested to update it.
_________________
Achille Talon Hop!
Back to top
View user's profile Send private message
ct85711
Veteran
Veteran


Joined: 27 Sep 2005
Posts: 1791

PostPosted: Thu Jun 25, 2015 4:48 am    Post subject: Reply with quote

The main thing is that webkit-gtk needs to be rebuilt when you update icu... So what it the output of:

Code:
emerge -1av icu webkit-gtk


If it allows you, go ahead the allow the emerge to finish and give us the output afterwards (if you have another issue).

Note: Please save everyone the trouble and always show the entire output instead of pieces...
Back to top
View user's profile Send private message
The Doctor
Moderator
Moderator


Joined: 27 Jul 2010
Posts: 2678

PostPosted: Thu Jun 25, 2015 5:02 am    Post subject: Reply with quote

This is no time to be subtle.
Code:
emerge -e @system
If you are feeling adventurous you can try adding your wm of choice at the same time. Updates should be smoother after that.
_________________
First things first, but not necessarily in that order.

Apologies if I take a while to respond. I'm currently working on the dematerialization circuit for my blue box.
Back to top
View user's profile Send private message
AchilleTalon
Guru
Guru


Joined: 11 Apr 2004
Posts: 368
Location: Montreal, Quebec, Canada

PostPosted: Thu Jun 25, 2015 1:01 pm    Post subject: Reply with quote

ct85711 wrote:
The main thing is that webkit-gtk needs to be rebuilt when you update icu... So what it the output of:

Code:
emerge -1av icu webkit-gtk


If it allows you, go ahead the allow the emerge to finish and give us the output afterwards (if you have another issue).

Note: Please save everyone the trouble and always show the entire output instead of pieces...


It doesn't work. Even if both icu and webkit-gtk are updated I keep getting the exact same error message.
_________________
Achille Talon Hop!
Back to top
View user's profile Send private message
AchilleTalon
Guru
Guru


Joined: 11 Apr 2004
Posts: 368
Location: Montreal, Quebec, Canada

PostPosted: Thu Jun 25, 2015 1:15 pm    Post subject: Reply with quote

The Doctor wrote:
This is no time to be subtle.
Code:
emerge -e @system
If you are feeling adventurous you can try adding your wm of choice at the same time. Updates should be smoother after that.


This fails as well with the following blocking ebuilds:

Code:
[ebuild     U  ] gnome-extra/gnome-color-manager-3.14.2::gentoo [3.12.3::gentoo] USE="raw (-packagekit) {-test}" 2 569 KiB
[blocks B      ] <dev-qt/qtsvg-4.8.6:4 ("<dev-qt/qtsvg-4.8.6:4" is blocking dev-qt/qtchooser-0_p20150102)
[blocks B      ] <dev-qt/qtscript-4.8.6:4 ("<dev-qt/qtscript-4.8.6:4" is blocking dev-qt/qtchooser-0_p20150102)
[blocks B      ] <dev-qt/qtwebkit-4.8.6:4 ("<dev-qt/qtwebkit-4.8.6:4" is blocking dev-qt/qtchooser-0_p20150102)
[blocks B      ] <dev-qt/qtxmlpatterns-4.8.6:4 ("<dev-qt/qtxmlpatterns-4.8.6:4" is blocking dev-qt/qtchooser-0_p20150102)
[blocks B      ] <dev-qt/qtdbus-4.8.6:4 ("<dev-qt/qtdbus-4.8.6:4" is blocking dev-qt/qtchooser-0_p20150102)
[blocks B      ] <dev-qt/qttest-4.8.6:4 ("<dev-qt/qttest-4.8.6:4" is blocking dev-qt/qtchooser-0_p20150102)
[blocks B      ] <dev-util/gtk-builder-convert-2.24.27 ("<dev-util/gtk-builder-convert-2.24.27" is blocking x11-libs/gtk+-2.24.27)
[blocks B      ] <dev-qt/qtdemo-4.8.6:4 ("<dev-qt/qtdemo-4.8.6:4" is blocking dev-qt/qtchooser-0_p20150102)
[blocks B      ] <dev-qt/designer-4.8.6:4 ("<dev-qt/designer-4.8.6:4" is blocking dev-qt/qtchooser-0_p20150102)
[blocks B      ] media-gfx/graphicsmagick[imagemagick] ("media-gfx/graphicsmagick[imagemagick]" is blocking media-gfx/imagemagick-6.9.0.3)
[blocks B      ] dev-tex/mh ("dev-tex/mh" is blocking dev-texlive/texlive-latexrecommended-2012-r1)
[blocks B      ] <dev-qt/qtdeclarative-4.8.6:4 ("<dev-qt/qtdeclarative-4.8.6:4" is blocking dev-qt/qtchooser-0_p20150102)
[blocks B      ] <dev-qt/qt3support-4.8.6:4 ("<dev-qt/qt3support-4.8.6:4" is blocking dev-qt/qtchooser-0_p20150102)
[blocks B      ] <dev-qt/qtopengl-4.8.6:4 ("<dev-qt/qtopengl-4.8.6:4" is blocking dev-qt/qtchooser-0_p20150102)
[blocks B      ] <dev-qt/qtphonon-4.8.6:4 ("<dev-qt/qtphonon-4.8.6:4" is blocking dev-qt/qtchooser-0_p20150102)
[blocks B      ] <dev-qt/qthelp-4.8.6:4 ("<dev-qt/qthelp-4.8.6:4" is blocking dev-qt/qtchooser-0_p20150102)
[blocks B      ] media-gfx/imagemagick ("media-gfx/imagemagick" is blocking media-gfx/graphicsmagick-1.3.18)
[blocks B      ] <dev-qt/qtcore-4.8.6:4 ("<dev-qt/qtcore-4.8.6:4" is blocking dev-qt/qtchooser-0_p20150102)
[blocks B      ] <dev-qt/qtsql-4.8.6:4 ("<dev-qt/qtsql-4.8.6:4" is blocking dev-qt/qtchooser-0_p20150102)
[blocks B      ] <dev-qt/qtgui-4.8.6:4 ("<dev-qt/qtgui-4.8.6:4" is blocking dev-qt/qtchooser-0_p20150102)



And this, even if icu-55.1 is installed.

Code:
emerge: there are no ebuilds to satisfy ">=dev-libs/icu-49:0/53=".
(dependency required by "dev-qt/qtcore-4.8.5-r2::gentoo" [installed])
(dependency required by "dev-qt/qt3support-4.8.5::gentoo" [installed])
(dependency required by "dev-qt/designer-4.8.5::gentoo[qt3support]" [installed])
(dependency required by "@selected" [set])
(dependency required by "@world" [argument])

_________________
Achille Talon Hop!
Back to top
View user's profile Send private message
Buffoon
Veteran
Veteran


Joined: 17 Jun 2015
Posts: 1369
Location: EU or US

PostPosted: Thu Jun 25, 2015 2:54 pm    Post subject: Reply with quote

The advantage of a rolling Linux is you do not re-install it every now and then, disadvantage is you have to roll it.

Anyhow, having similar issues in past I simply unmerged all blocks, you may want to keep notes on what you remove so you can restore original setup. Or just back up your world file and replace it with an empty one.
Back to top
View user's profile Send private message
dweezil-n0xad
Apprentice
Apprentice


Joined: 30 Oct 2006
Posts: 156
Location: Ostend, Belgium

PostPosted: Thu Jun 25, 2015 2:55 pm    Post subject: Reply with quote

What happens when you put dev-libs/icu-49 in /etc/portage/profile/package.provided ?
_________________
i7-4790K | 16GB DDR3 | GTX 970 | 500GB SSD
ASUS N56VV | i7-3630QM | 12GB DDR3 | GT 750M | 256GB SSD
Back to top
View user's profile Send private message
Tony0945
Watchman
Watchman


Joined: 25 Jul 2006
Posts: 5127
Location: Illinois, USA

PostPosted: Thu Jun 25, 2015 4:08 pm    Post subject: Reply with quote

Quote:

The Doctor wrote:
This is no time to be subtle.
Code:
emerge -e @system
If you are feeling adventurous you can try adding your wm of choice at the same time. Updates should be smoother after that.


This fails as well with the following blocking ebuilds:


This sounds like a bug. From the manpage:
Quote:
--emptytree (-e)
Reinstalls target atoms and their entire deep dependency tree, as though no packages are currently installed. You should run this with --pretend first to make sure the result is what you expect.


Add "--keep-going" to get as much update as possible each time. And how did gnome-color-manager get in the system set?

All those qt blocks suggest you need a qt upgrade. Try temporarily adding -qt4 or -qt3 as appropriate to your USE flags.

In the future, even if you don't update, at least run eix-sync once a week. It only takes about a minute. Since you are using gnome, just say on Monday (lots of changes on weekends) just open a terminal, run 'sudo eix-sync' and go back to whatever you were doing. Even if you don't update, read the news ('eselect news list') to see if a major change has occurred. I understand reluctance to update, I have one system (a k-6III+ 450Mhz with 384<i>Meg</i> RAM) that takes 11.5 hours to emerge gcc.

Possibly the "--changed-deps " or "--dynamic-deps=n" might help. I have never run these, so I'm unsure of the effects.
Back to top
View user's profile Send private message
The Doctor
Moderator
Moderator


Joined: 27 Jul 2010
Posts: 2678

PostPosted: Thu Jun 25, 2015 5:15 pm    Post subject: Reply with quote

gnome-color-manager shouldn't be anywhere near the @system set. Maybe try @world if you have already tried @system by itself.
_________________
First things first, but not necessarily in that order.

Apologies if I take a while to respond. I'm currently working on the dematerialization circuit for my blue box.
Back to top
View user's profile Send private message
genoobish
n00b
n00b


Joined: 18 Feb 2015
Posts: 73

PostPosted: Thu Jun 25, 2015 6:06 pm    Post subject: Reply with quote

NeddySeagoon wrote:
Barade,

Gentoo does not have releases at all. Its a rolling distro. The portage tree mirrors can update every 30 minites.
Thu stage3 and install media have releases by build date but that does not transfer into your install.

Barade wrote:
My problem is that whenever you do not update Gentoo for some time you ALWAYS get lots of conflicts or even missing ebuilds on a system update.

Thats a feature of the rolling release model, not a problem. Indeed, if you get too far out of date, a reinstall is often faster than an update.

Old versions are removed from the mirrors to make way for new versions or because they have security issues. Think heartbleed and shellshock for two in the headlines recently.
There are other reasons that have already been touched on.

Barade wrote:
Is there no way to keep a more "long time" portage tree which makes it easier for someone maintaining his system.

That would really be to make it easier for someone not maintaining their system.

Yes. You can get the ebuilds and distfiles into your overlay.

https://forums.gentoo.org/viewtopic-t-1020810.html
I think this addresses your main "problem".

(edit: but it seems people have already addressed it here... I was doing a quick browse and just pasted this based on your thread title. )
Back to top
View user's profile Send private message
v_andal
Guru
Guru


Joined: 26 Aug 2008
Posts: 541
Location: Germany

PostPosted: Fri Jun 26, 2015 6:50 am    Post subject: Re: Updating a system yearly is almost unfeasible Reply with quote

AchilleTalon wrote:

When I keep my systems current and update them on a weekly basis at least, the process is almost smooth a hassle free, however, when I am a long time without updating them, portage really sucks. It is almost impossible to update a system after a year or more. It is most of the time faster and easier to just wipeout everything and reinstall from scratch, which is a large amount of work anyway.


Well, I also have a system that is updated only once a year. Truly, the update runs always very painfully, but so far I've done it already 3 times and every time was able to get through despite all of the blocks and catches. General trick is - uninstall packages that require blockers. Just be careful not to remove gcc or binutils :) The work is tedious, but last time I've done it within few hours.

An alternative is to install some other distribution on computers that get updated infrequently. I don't believe that it is possible to come up with anything better, than current portage system. Well, it wouldn't be Gentoo then anyway :D
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 8935

PostPosted: Fri Jun 26, 2015 7:02 am    Post subject: Reply with quote

AchilleTalon wrote:
This fails as well with the following blocking ebuilds:
...

You didn't give us your full output, but this feels like a higher backtrack value could solve some of your problems (add something like `--backtrack=1000` to your emerge command).
Back to top
View user's profile Send private message
VoidMage
Watchman
Watchman


Joined: 14 Oct 2006
Posts: 6196

PostPosted: Fri Jun 26, 2015 6:14 pm    Post subject: Reply with quote

genstorm wrote:
AchilleTalon wrote:
This fails as well with the following blocking ebuilds:
...

You didn't give us your full output, but this feels like a higher backtrack value could solve some of your problems (add something like `--backtrack=1000` to your emerge command).


...then again, maybe not. This could be a case of an installed package, that left the tree.
In such case, '--verbose-conflicts' might be helpful in figuring out the problem.
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 8935

PostPosted: Fri Jun 26, 2015 6:23 pm    Post subject: Reply with quote

VoidMage wrote:
...then again, maybe not.

That's why I said "some" - thinking about the Qt blockers ;)

It looks as if at least media-gfx/graphicsmagick and dev-tex/mh should be unmerged. Doesn't look that bad at all otherwise.
Back to top
View user's profile Send private message
Cyker
Veteran
Veteran


Joined: 15 Jun 2006
Posts: 1746

PostPosted: Fri Jun 26, 2015 10:11 pm    Post subject: Reply with quote

I feel your pain OP, you're totally right.

The funny thing with Gentoo is it feels like it takes a certain amount of time to get to a certain update level.

If you don't do any updates, you find you end up spending all that time in one go instead of in bits as is the case if you updated regularly.

My previous system, I stopped updating when KDE3.5 dropped off Portage while I tried to figure out a way to keep it.
By the time I did, it was so out of date that I ended up pulling in new packages manually instead of using emerge --sync and stopped updating world because I couldn't go through the weeks of hell bringing it up to current.

On the bright side, that was one of the biggest motivators for my to get this lovely new Kaveri box ^_______^
(That and the web browser using almost all of the 4GB of RAM the 32-bit system could provide... seriously, javascript and HTML5 is getting out of control....)



If you are only going to update even only every month, you need to develop very good problem-solving skills and get the hang of unravelling the twisted yarn ball that is portage.

If you could 'undo' emerge --sync's it would be a lot easier to muddle through, but one alternative is if you are using btrfs you can take a snapshot of the system, do the sync and upgrade, see what breaks, then roll back the snapshot and prepare for it better.


Other things that have helped me cope with long times between updates:

demerge - This is like a snapshot system for your installed packages, it is extremely cool and very good for undoing botched updates.

https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/
This is a super awesome place where you can pick up ebuilds all the way back to the inception of Gentoo; Combine this with a local overlay and you can usually pick your way though multi-step upgrade blockers by picking up old ebuilds, patches and such from it and putting it into your overlay so emerge can proceed easier without doing some tricky unravelling.


But the bottom line is it does take an increasing amount of time the further away a system is from current. The biggest problem is the longer between updates, the higher the chance some major system breaking change goes through that requires in-depth user intervention (I recently completed an emul-linux -> multilib move; It actually turned out to be easier than I'd anticipated, but if it had been combined with a years worth of updates I'm sure I would have had a much harder time puzzling through it!)
Back to top
View user's profile Send private message
AchilleTalon
Guru
Guru


Joined: 11 Apr 2004
Posts: 368
Location: Montreal, Quebec, Canada

PostPosted: Sat Jun 27, 2015 3:39 pm    Post subject: Reply with quote

Guys,

I finally got my system updated with a mix of some of your suggestions. I had to unmerge about three dozen of ebuild (qt mostly) and use the -e flag plus alternate the updates with emerge -av @preserved-rebuild. I stumbled upon a problem I opened a bug report about a year ago and to version later it is still unresolved even if I provided a patch for it, I just make my alternate ebuild using my old patch for this one it worked nicely. I stumbled upon a new bug on the mathgl package which can be easily solved and is probably solved in the latest version of mathgl (currently 2.3.3) while the latest version in the Gentoo tree is 2.1.3. Again, built my own alternate ebuild for this one.

After all this, I am having only a ebuild left which seems not complete the entire process (flightgear) but it is entirely optional here since I am not using it that much.

One last comment, I understand Gentoo is designed as a rolling distro. However, people must keep in mind the goal is to use Linux, not just to install it and maintain it. And even if it is a rolling distro, how far are we supposed to roll without hassle? A day? A week? A month? A quarter? A year?

I mean, sometimes you need a stable version because you are doing actual work (most of the time in fact). You can afford to update minor ebuild, but not necessarily all of them because you are satisfied with something you are using often and is critical at this point in time. You will eventually update it, but cannot afford the burden in time to do it right now or take the risk to introduce an instability.

So, maybe some thinking and brainstorming should be done about the idea Linux is a tool, not necessarily a goal for many of us. Yes, you can tell me to pick another distro, I did in the past, Gentoo is the distro I sticked the longest despited this kind of problems so far. I appreciate the capability to quickly update things other distros will update only in the next release or so. I am just asking, why can't I have everything? A distro I can update quickly and patch quickly and a distro that won't suck my time for many days when upgrading not too often for good reasons? This should be feasible.
_________________
Achille Talon Hop!
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 8935

PostPosted: Sat Jun 27, 2015 3:50 pm    Post subject: Reply with quote

AchilleTalon wrote:
I mean, sometimes you need a stable version because you are doing actual work (most of the time in fact). You can afford to update minor ebuild, but not necessarily all of them because you are satisfied with something you are using often and is critical at this point in time. You will eventually update it, but cannot afford the burden in time to do it right now or take the risk to introduce an instability.

In short: You can't have everything at the same time. Gentoo gives you all the control, you can hold back updates on individual packages and need not let bitrot everything else, or you have an update cycle as you describe but then need to invest more time for once. From the glimpse I got on package maintenance, it simply is impossible to cater to a one year old portage tree.
Back to top
View user's profile Send private message
Silentsand74
Tux's lil' helper
Tux's lil' helper


Joined: 10 Jul 2007
Posts: 131

PostPosted: Sat Jun 27, 2015 4:28 pm    Post subject: Reply with quote

Hello,

Just to be honest I don't perform any major upgrades on my Gentoo box which is in DMZ.
I haven't synced portage on that box for more that 400 days (emerge is getting a little crazy about it),
and I am aware that deep upgrade will be very tough *sigh*.

What I would like to expect is more backward compatibility of newst packages with the older ones,
to prevent rebuilding of whole box which causes blocks many times and time consumpting manual dependency resolution.

Moreover sometimes introduction of new use flags to well known packages is sometimes surprising,
and becomes time consumpting process when the usage have to be once again rethinked taking into account current build specification.
Back to top
View user's profile Send private message
ct85711
Veteran
Veteran


Joined: 27 Sep 2005
Posts: 1791

PostPosted: Sat Jun 27, 2015 5:06 pm    Post subject: Reply with quote

From what I have been seeing and my own testing, you may want to look at the Manjaro Distro, it's a rolling bin-dist. So it is similar to Gentoo in that they don't do releases every so often, but it also doesn't have the issue like Gentoo in that it doesn't have any complaints if you don't update too frequently.

Don't get me wrong, I love Gentooo, and that won't be changing on my main machine (at least till sysd is forced on us, then I may be switching to bsd). However, when I was considering on getting an laptop, I had to look at a different distro that I can use. I knew once I get a laptop, I won't have the time to keep it up to date as regularly as I do on my desktop. That was my major focus, I also did not want to have a compile based distro on a laptop again, just to burn the laptop out (done it a couple times); and no I don't ever use distcc ever.

My experiences from my testing of Majaro:
It defaults to using systemd, but it does allow you to switch away to openrc/eudev.
From what I've seen, the distro does keep in step with gentoo (unstable branch, and in a few cases ahead) on package versions.
It does not give you much flexibility on configuring packages (expected with a bin-distro).
The update manager does support connecting to arch's repo, but setting up the system to use them is a pain (the compile toolchain is not pre-installed).
The update managers only connect to gnome-keyring to manage authentication, which is a pain to setup if you don't use gnome.
Back to top
View user's profile Send private message
hasufell
Retired Dev
Retired Dev


Joined: 29 Oct 2011
Posts: 429

PostPosted: Sat Jun 27, 2015 8:34 pm    Post subject: Re: Updating a system yearly is almost unfeasible Reply with quote

AchilleTalon wrote:
I don't need to keep current my systems and I do not update everything on a weekly, daily or even monthly basis.

When I keep my systems current and update them on a weekly basis at least, the process is almost smooth a hassle free, however, when I am a long time without updating them, portage really sucks. It is almost impossible to update a system after a year or more. It is most of the time faster and easier to just wipeout everything and reinstall from scratch, which is a large amount of work anyway.

After a year, many ebuild disappeared, portage isn't able to figure out how to update, still requires old stuff. Almost everything is broken and need to be examined bit by bit and updated, unmerged, reemerged, use a special script (perl and python in particular, with the right arguments otherwise if fails)

The update process in Gentoo really sucks. Is there any project to build a decent updater for the whole distribution even if when you update on an unfrequent basis?

Right now, I am stucked in a situation I am totally unable to go forward, portage requires a version of an ebuild that no longer exists and ignore completely the current version.

For example:

Code:
emerge: there are no ebuilds to satisfy ">=dev-libs/icu-3.8.1-r1:0/53=".
(dependency required by "net-libs/webkit-gtk-2.4.8::gentoo" [installed])
(dependency required by "gnome-extra/sushi-3.12.0::gentoo" [installed])
(dependency required by "gnome-base/gnome-extra-apps-3.14.0-r1::gentoo" [ebuild])
(dependency required by "gnome-base/gnome-3.14.0::gentoo[extras]" [ebuild])


While icu-55.1:0/55 is actually installed. And the oldest available version in the portage tree is icu-54.1-r1.ebuild.

And this is only one example among many others. It may took a week or more to finally find a way to circumvent every broken dependency.

This is really silly. I love Gentoo, but frankly, I am considering to go away from it given the insane amount of time that need to be invested to update it.

You are totally right. However, in order to fix/improve any of those things you need to

  • actually make people understand that there is a problem... from my experience, some devs don't even agree there is a problem... others agree, but don't care, because in order to change non-trivial things in gentoo you need a LOT of energy and time
  • fix the input (as in: the ebuilds)... this would require ebuild writing policies that are WAY more strict... and it would require a functional QA team that steps forward and takes up initiative
  • start the PM from scratch or fork existing solutions... our package managers were designed in a time when C and maybe C++ were the only big languages... the same goes for FHS which is now completely surreal. Everything revolves around those languages and our PMs can barely map proper behavior for different languages... in fact, all the logic for those different languages are in ECLASSES. That's not how it was supposed to be, really and it gets worse with things like ruby and haskell which effectively require some sort of sandboxing, unless you want to be in blocker-hell
  • abandon PMS... for almost the same reasons as the previous point... but more importantly, because it started as a description of old portage behavior (quote from PMS guys) and not as an actual spec
  • sell all those things to the gentoo community... and make someone actually work on that in his free time (uh, lol)


Additionally, as I see it... it's not just a distribution problem. The problem lies in the whole linux eco system which as I said is still based on ancient languages and deriving concepts and doesn't really keep up with reality.

Now we have NixOS which solves a lot of those problems (and therefore is very popular among e.g. haskell users)... but what does that give us? It completely breaks FHS. And yes, although FHS is somewhat nonsensical these days... this decision does still affect you as a user. Whenever you do something outside of the nix PM, you are on your own (although they are improving that side as well).

It's not all that easy. Dependency resolution is not easy. Dealing with incompatibilities is not easy. Keeping an upgrade path is not easy. Doing releases is not easy. Making people understand problems is not easy...

Possible options you have:

  • try out NixOS if you feel keen... I couldn't bear it, tbh
  • try out a different, stricter PM like paludis (but you'll get different problems with that one)
Back to top
View user's profile Send private message
Tony0945
Watchman
Watchman


Joined: 25 Jul 2006
Posts: 5127
Location: Illinois, USA

PostPosted: Sat Jun 27, 2015 10:52 pm    Post subject: Reply with quote

AchiileTalon said:
Quote:
One last comment, I understand Gentoo is designed as a rolling distro. However, people must keep in mind the goal is to use Linux, not just to install it and maintain it. And even if it is a rolling distro, how far are we supposed to roll without hassle? A day? A week? A month? A quarter? A year?


I run Mate (old Gnome2 cleaned up). I usually open a terminal, the first time I logon in a day, open a terminal, su into root, run "eix-sync && emerge -auvND world) and then move on to whatever I was going to do, generally running Thunderbird to check my mail or Firefox to see what's up in the world. After a while, I ALT-TAB over to the terminal and see what it wants to do. Ninety percent of the time I then hit ENTER to tell it to go ahead in the background. Sometimes, maybe once a month, there are blockers and I either deal with it or wait for later. Maybe once a quarter there is a major shakeup like a new version of perl, python, or Qt to name the most notorious packages. I try to keep perl and qt off my machine for those reasons. Once or twice a year the devs throw me a curve like deprecating v4l, eliminating emul-linux, crap like systemd and udev persistent naming, adding hal, deprecating hal and similar political crap. Then I have to spend a couple of days or at least a day rebuilding my system. But if you let cruft accumulate over a year, you are asking for trouble.

The oldest system I updated was four years old and it took the better part of a week. The biggest problems were going from kernel 2.6 to 3.0 and from gcc 3.4 to 4.6 after that it was plug and chug, but I did remove X from the box (just using it as a cron server to wake up or shut down other boxes).
Back to top
View user's profile Send private message
ian.au
Guru
Guru


Joined: 07 Apr 2011
Posts: 591
Location: Australia

PostPosted: Sun Jun 28, 2015 2:08 am    Post subject: Reply with quote

Well the proposition in the title is correct under most use cases :)

My first gentoo box (which I was totally unable to update without breaking) ran a SAMBA Win logon domain and filesharing on our internal network from 2003-6 without an update simply because despite finally getting it working properly; my understanding of what I'd done and how was so sadly deficient that I was terrified to touch it again.

It's a testament to the robustness of a separate /home partition that the datafiles from that original drive are still securely available deep in the fs of my current machine.

Fast forward to now all my machines are linux, mostly gentoo some Debian / Raspbian depending what they're doing.

Desktops I update weekly / fortnightly at most. I always run the first update with the -pv switch first and quickly skim the kernel and portage sections of the forums if it looks like anything contentious is proposed. The updates run overnight and rarely fail. Time investment between gentoo and debian machines much the same. When I want to update/install a single package or set - with a few simple tools understood (equery, eix) portage is unbeatable. I can install it in gentoo before I can even find the package in aptitude :?

But my experience is all distros need upgrading, not just gentoo. Stable correctly maintained gentoo installs are easily maintained these days, and still so flexible that they are definitely worth the effort.
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