Update circle

classic Classic list List threaded Threaded
18 messages Options
Reply | Threaded
Open this post in threaded view
|

Update circle

Zoltán Kócsi
I have a Gentoo machine, which has not been updated for a while. Quite
a long while, actually.

Now I needed to install a package, and I did so. It went up, no
problem. Except that it relies on a newer version of openrc than
what's on the system. From here it's all downhill:

emerge openrc:
- Fails, as the current portage is EAPI 5 (whatever that is), thus all
  EAPI 6 packages are masked. Must upgrade portage.

emerge portage:
- Fails, as it needs tar-1.30 and the installed tar is 1.27. Must update
  tar.

emerge tar:
- Fails, as tar-1.30 needs EAPI 6. Must upgrade portage.

It seems that I'm kind of stuck. Wiping the disk and rebuilding the
system from scratch is absolutely not an option, the existing (and
running) system must be updated somehow.

I would appreciate any advice, I'm in complete darkness about the
internal workings of portage (would be happy to find some detailed docs
about that, by the way, preferably in PDF).

Thanks in advance,

Zoltan

Reply | Threaded
Open this post in threaded view
|

Re: Update circle

Corentin “Nado” Pazdera
August 22, 2018 10:25 AM, "Zoltán Kócsi" <[hidden email]> wrote:

> I have a Gentoo machine, which has not been updated for a while. Quite
> a long while, actually.
>
> Now I needed to install a package, and I did so. It went up, no
> problem. Except that it relies on a newer version of openrc than
> what's on the system. From here it's all downhill:
>
> emerge openrc:
> - Fails, as the current portage is EAPI 5 (whatever that is), thus all
> EAPI 6 packages are masked. Must upgrade portage.
>
> emerge portage:
> - Fails, as it needs tar-1.30 and the installed tar is 1.27. Must update
> tar.
>
> emerge tar:
> - Fails, as tar-1.30 needs EAPI 6. Must upgrade portage.
>
> It seems that I'm kind of stuck. Wiping the disk and rebuilding the
> system from scratch is absolutely not an option, the existing (and
> running) system must be updated somehow.
>
> I would appreciate any advice, I'm in complete darkness about the
> internal workings of portage (would be happy to find some detailed docs
> about that, by the way, preferably in PDF).
>
> Thanks in advance,
>
> Zoltan

What does emerge -vuDN --verbose-conflicts --with-bdeps=y world say?
What’s your portage version?
What profile are you using? (eselect profile show)
What is your gcc version?


Regards,
Corentin “Nado” Pazdera

Reply | Threaded
Open this post in threaded view
|

Re: Update circle

Zoltán Kócsi
Corentin,

> What does emerge -vuDN --verbose-conflicts --with-bdeps=y world say?

$ emerge -vuDN --verbose-conflicts --with-bdeps=y world

!!! Invalid news item:
/usr/portage/metadata/news/2017-11-21-old-wine-versions-moving-to-overlay/2017-11-21-old-wine-versions-moving-to-overlay.en.txt !!!
line 5: News-Item-Format: 2.0

[ ... several more warnings like the above ... ]

These are the packages that would be merged, in order:

Calculating dependencies... done!

!!! Ebuilds for the following packages are either all
!!! masked or don't exist:
sys-apps/elfix

!!! All ebuilds that could satisfy ">=app-portage/elt-patches-20170422"
have been masked. !!! One of the following masked packages is required
to complete your request:
- app-portage/elt-patches-20170826.1::gentoo (masked by: EAPI 6)
- app-portage/elt-patches-20170815::gentoo (masked by: EAPI 6)
- app-portage/elt-patches-20170422::gentoo (masked by: EAPI 6)

The current version of portage supports EAPI '5'. You must upgrade to a
newer version of portage before EAPI masked packages can be installed.
(dependency required by "app-admin/logrotate-3.9.1::gentoo" [ebuild])
(dependency required by "@selected" [set])
(dependency required by "@world" [argument])
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.

> What’s your portage version?

$ equery -q list "*/*" | grep portage
app-portage/gentoolkit-0.3.0.8-r2
app-portage/pfl-2.4-r3
app-portage/portage-utils-0.41
sys-apps/portage-2.2.18

> What profile are you using? (eselect profile show)

$ eselect profile show
Current /etc/portage/make.profile symlink:
  hardened/linux/x86        

> What is your gcc version?

$ gcc --version
gcc (Gentoo 4.7.3-r1 p1.4, pie-0.5.5) 4.7.3
Copyright (C) [...]

Thanks!

Best Reagrds,

Zoltan

Reply | Threaded
Open this post in threaded view
|

Re: Update circle

Neil Bothwick
In reply to this post by Zoltán Kócsi
On Wed, 22 Aug 2018 18:24:43 +1000, Zoltán Kócsi wrote:

> I have a Gentoo machine, which has not been updated for a while. Quite
> a long while, actually.
>
> Now I needed to install a package, and I did so. It went up, no
> problem. Except that it relies on a newer version of openrc than
> what's on the system. From here it's all downhill:
>
> emerge openrc:
> - Fails, as the current portage is EAPI 5 (whatever that is), thus all
>   EAPI 6 packages are masked. Must upgrade portage.
>
> emerge portage:
> - Fails, as it needs tar-1.30 and the installed tar is 1.27. Must update
>   tar.
>
> emerge tar:
> - Fails, as tar-1.30 needs EAPI 6. Must upgrade portage.
>
> It seems that I'm kind of stuck. Wiping the disk and rebuilding the
> system from scratch is absolutely not an option, the existing (and
> running) system must be updated somehow.
>
> I would appreciate any advice, I'm in complete darkness about the
> internal workings of portage (would be happy to find some detailed docs
> about that, by the way, preferably in PDF).
You don't say what version of portage you have, nor whether you are
running stable or testing. The latest stable postage, 2.3.40-r1, is EAPI
5 and depends on >=tar-1.27. The same is true of the latest testing,
2.3.48. Even the 9999 version depends on tar 1.27, although that one is
EAPI 6. Some actual portage output would be useful here.


--
Neil Bothwick

Irritable? Who the bloody hell are you calling irritable?

attachment0 (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Update circle

Neil Bothwick
In reply to this post by Zoltán Kócsi
On Wed, 22 Aug 2018 19:15:54 +1000, Zoltán Kócsi wrote:

> > What does emerge -vuDN --verbose-conflicts --with-bdeps=y world say?  
>
> $ emerge -vuDN --verbose-conflicts --with-bdeps=y world

snipped lots of output.

That's too much to try to do in one go, what do you get with just a basic
system update?

emerge -up @system

And what do you get when trying to update only portage?

emerge -p portage

--
Neil Bothwick

"Daddy, what does formatting drive 'C' mean?

attachment0 (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Update circle

Corentin “Nado” Pazdera
In reply to this post by Zoltán Kócsi
August 22, 2018 11:16 AM, "Zoltán Kócsi" <[hidden email]> wrote:

> Corentin,
>
>> What does emerge -vuDN --verbose-conflicts --with-bdeps=y world say?
>
> $ emerge -vuDN --verbose-conflicts --with-bdeps=y world
>
> !!! Invalid news item:
> /usr/portage/metadata/news/2017-11-21-old-wine-versions-moving-to-overlay/2017-11-21-old-wine-versio
> s-moving-to-overlay.en.txt !!!
> line 5: News-Item-Format: 2.0
>
> [ ... several more warnings like the above ... ]
>
> These are the packages that would be merged, in order:
>
> Calculating dependencies... done!
>
> !!! Ebuilds for the following packages are either all
> !!! masked or don't exist:
> sys-apps/elfix
>
> !!! All ebuilds that could satisfy ">=app-portage/elt-patches-20170422"
> have been masked. !!! One of the following masked packages is required
> to complete your request:
> - app-portage/elt-patches-20170826.1::gentoo (masked by: EAPI 6)
> - app-portage/elt-patches-20170815::gentoo (masked by: EAPI 6)
> - app-portage/elt-patches-20170422::gentoo (masked by: EAPI 6)
>
> The current version of portage supports EAPI '5'. You must upgrade to a
> newer version of portage before EAPI masked packages can be installed.
> (dependency required by "app-admin/logrotate-3.9.1::gentoo" [ebuild])
> (dependency required by "@selected" [set])
> (dependency required by "@world" [argument])
> For more information, see the MASKED PACKAGES section in the emerge
> man page or refer to the Gentoo Handbook.
>
>> What’s your portage version?
>
> $ equery -q list "*/*" | grep portage
> app-portage/gentoolkit-0.3.0.8-r2
> app-portage/pfl-2.4-r3
> app-portage/portage-utils-0.41
> sys-apps/portage-2.2.18
>
>> What profile are you using? (eselect profile show)
>
> $ eselect profile show
> Current /etc/portage/make.profile symlink:
> hardened/linux/x86
>
>> What is your gcc version?
>
> $ gcc --version
> gcc (Gentoo 4.7.3-r1 p1.4, pie-0.5.5) 4.7.3
> Copyright (C) [...]
>
> Thanks!
>
> Best Reagrds,
>
> Zoltan

Given how old this system is, I think it will be easier to setup a chroot with latest stage3 and buildpkg system tools in it.
From the top of my head, you’d need to repackage portage and deps, python, gcc (you will love that one).
I suggest reading the wiki for gcc upgrades as 4.7.3 is really old.

Regards,
Corentin “Nado” Pazdera

Reply | Threaded
Open this post in threaded view
|

Re: Update circle

Zoltán Kócsi
In reply to this post by Neil Bothwick
Neil,

> That's too much to try to do in one go, what do you get with just a
> basic system update?
>
> emerge -up @system

$ emerge -up @system
These are the packages that would be merged, in order:

Calculating dependencies... done!

!!! Ebuilds for the following packages are either all
!!! masked or don't exist:
sys-apps/elfix

!!! All ebuilds that could satisfy ">=app-portage/elt-patches-20170422"
have been masked. !!! One of the following masked packages is required
to complete your request:
- app-portage/elt-patches-20170826.1::gentoo (masked by: EAPI 6)
- app-portage/elt-patches-20170815::gentoo (masked by: EAPI 6)
- app-portage/elt-patches-20170422::gentoo (masked by: EAPI 6)

The current version of portage supports EAPI '5'. You must upgrade to a
newer version of portage before EAPI masked packages can be installed.
(dependency required by "sys-devel/gcc-7.3.0-r3::gentoo" [ebuild])
(dependency required by "@system" [argument])
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.

> And what do you get when trying to update only portage?
>
> emerge -p portage

$ emerge -p portage
These are the packages that would be merged, in order:

Calculating dependencies... done!

!!! All ebuilds that could satisfy ">=app-arch/tar-1.27" have been
masked. !!! One of the following masked packages is required to
complete your request:
- app-arch/tar-1.30::gentoo (masked by: EAPI 6)

The current version of portage supports EAPI '5'. You must upgrade to a
newer version of portage before EAPI masked packages can be installed.
(dependency required by "sys-apps/portage-2.3.40-r1::gentoo" [ebuild])
(dependency required by "portage" [argument])
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.

Thanks,

Zoltan



Reply | Threaded
Open this post in threaded view
|

Re: Update circle

Neil Bothwick
On Wed, 22 Aug 2018 19:42:34 +1000, Zoltán Kócsi wrote:

> > That's too much to try to do in one go, what do you get with just a
> > basic system update?
> >
> > emerge -up @system  
>
> $ emerge -up @system
> These are the packages that would be merged, in order:
>
> Calculating dependencies... done!
>
> !!! Ebuilds for the following packages are either all
> !!! masked or don't exist:
> sys-apps/elfix
>
> !!! All ebuilds that could satisfy ">=app-portage/elt-patches-20170422"
> have been masked. !!! One of the following masked packages is required
> to complete your request:
> - app-portage/elt-patches-20170826.1::gentoo (masked by: EAPI 6)
> - app-portage/elt-patches-20170815::gentoo (masked by: EAPI 6)
> - app-portage/elt-patches-20170422::gentoo (masked by: EAPI 6)
>
> The current version of portage supports EAPI '5'. You must upgrade to a
> newer version of portage before EAPI masked packages can be installed.
> (dependency required by "sys-devel/gcc-7.3.0-r3::gentoo" [ebuild])
> (dependency required by "@system" [argument])
> For more information, see the MASKED PACKAGES section in the emerge
> man page or refer to the Gentoo Handbook.
Try adding --exclude gcc --exclude elfix etc.

 > > And what do you get when trying to update only portage?

> >
> > emerge -p portage  
>
> $ emerge -p portage
> These are the packages that would be merged, in order:
>
> Calculating dependencies... done!
>
> !!! All ebuilds that could satisfy ">=app-arch/tar-1.27" have been
> masked. !!! One of the following masked packages is required to
> complete your request:
> - app-arch/tar-1.30::gentoo (masked by: EAPI 6)
>
> The current version of portage supports EAPI '5'. You must upgrade to a
> newer version of portage before EAPI masked packages can be installed.
> (dependency required by "sys-apps/portage-2.3.40-r1::gentoo" [ebuild])
> (dependency required by "portage" [argument])
Which version of tar do you have?

This looks like a really old system and you can expect a long journey to
update it. Large amounts of patience, caffeine and man page reading will
be needed.


--
Neil Bothwick

Microbiology: staph only.

attachment0 (849 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Update circle

Arve Barsnes
On Wed, 22 Aug 2018 at 12:12, Neil Bothwick <[hidden email]> wrote:
> Which version of tar do you have?
>
> This looks like a really old system and you can expect a long journey to
> update it. Large amounts of patience, caffeine and man page reading will
> be needed.

I would suggest downloading the ebuild for the previous version of
tar, which was EAPI 5, and install that:

https://gitweb.gentoo.org/repo/gentoo.git/plain/app-arch/tar/tar-1.29-r3.ebuild?id=9c7c8cc9b55491825725e7edb8891695e655d2e6

Cheers,
Arve

Reply | Threaded
Open this post in threaded view
|

Re: Update circle

Nuno Silva
In reply to this post by Zoltán Kócsi
On 2018-08-22, Zoltán Kócsi wrote:

> I have a Gentoo machine, which has not been updated for a while. Quite
> a long while, actually.
>
> Now I needed to install a package, and I did so. It went up, no
> problem. Except that it relies on a newer version of openrc than
> what's on the system. From here it's all downhill:
>
> emerge openrc:
> - Fails, as the current portage is EAPI 5 (whatever that is), thus all
>   EAPI 6 packages are masked. Must upgrade portage.
>
> emerge portage:
> - Fails, as it needs tar-1.30 and the installed tar is 1.27. Must update
>   tar.
>
> emerge tar:
> - Fails, as tar-1.30 needs EAPI 6. Must upgrade portage.
>
> It seems that I'm kind of stuck. Wiping the disk and rebuilding the
> system from scratch is absolutely not an option, the existing (and
> running) system must be updated somehow.
>
> I would appreciate any advice, I'm in complete darkness about the
> internal workings of portage (would be happy to find some detailed docs
> about that, by the way, preferably in PDF).
>
> Thanks in advance,
>
> Zoltan

First, and before anything else: it can be done. You will have to deal
with issues that are perhaps a bit more complex than the usual conflicts
and issues that show up once in a while even on a stable system which is
updated frequently. But it's definitely not impossible.

The biggest hurdle in your case is that you need to update tar. Do what
was already mentioned elsewhere in the thread, fetch the older EAPI 5
ebuild, put it in the local overlay and let portage grab that.

If you're lucky, that might be the only problem you'll have. If you're
not so lucky, you will have a couple packages that were since removed
from the tree, and which must be either uninstalled or added to a local
overlay and adjusted as required. (Because they might depend on older
versions of other packages which do not exist anymore.)

You will probably find some actual bugs too, for example, some packages
may fail because their dependencies are not correct.

When was the last time this system was fully updated/upgraded? (Not the
last time you synced the tree, but the last time you did
emerge -DuN world or the like.) This might be useful to figure out which
issues are you going to find.

Some recent issues were a change in the C++ ABI and the build system
change in certain X11-related packages that pulls python3 as a build
dependency.

--
Nuno Silva


Reply | Threaded
Open this post in threaded view
|

Re: Update circle

Zoltán Kócsi
On Wed, 22 Aug 2018 15:17:58 +0100
<[hidden email]> (Nuno Silva) wrote:

> [...]
> The biggest hurdle in your case is that you need to update tar. Do
> what was already mentioned elsewhere in the thread, fetch the older
> EAPI 5 ebuild, put it in the local overlay and let portage grab that.

Thanks, I will try to do that.
 
> [...]
> Some recent issues were a change in the C++ ABI and the build system
> change in certain X11-related packages that pulls python3 as a build
> dependency.

The machine is actually a server, which just sat in a corner doing its
job perfectly. That's one of the reasons it wasn't updated: if it ain't
broken, don't fix it. But the important thing is that it has no X11,
pretty much nothing apart from the basic system and a handful of
network daemons. Now it needs one more daemon and that started the
whole exercise.

Thanks,

Regards,

Zoltan

Reply | Threaded
Open this post in threaded view
|

Re: Update circle

Adam Carter
The machine is actually a server, which just sat in a corner doing its
job perfectly. That's one of the reasons it wasn't updated: if it ain't
broken, don't fix it.

Any system that is not getting software updates is broken to some degree, just in a subtle way.

Trimming your /var/lib/portage/world file and removing the trimmed packages can make the update less painful. I sometimes remove non-system packages I want, then reinstall again later to get through difficult upgrades.
Reply | Threaded
Open this post in threaded view
|

Re: Update circle

Grant Edwards-6
In reply to this post by Zoltán Kócsi
On 2018-08-22, Zoltán Kócsi <[hidden email]> wrote:
> I have a Gentoo machine, which has not been updated for a while. Quite
> a long while, actually.

> It seems that I'm kind of stuck. Wiping the disk and rebuilding the
> system from scratch is absolutely not an option, the existing (and
> running) system must be updated somehow.

Doing a reinstall will probably be far less work and less disruption
for the machines user's.  You don't have to "wipe the disk" to do a
re-install.

--
Grant Edwards               grant.b.edwards        Yow! You were s'posed
                                  at               to laugh!
                              gmail.com            


Reply | Threaded
Open this post in threaded view
|

Re: Update circle

Taiidan@gmx.com
On 08/23/2018 10:27 AM, Grant Edwards wrote:

> On 2018-08-22, Zoltán Kócsi <[hidden email]> wrote:
>> I have a Gentoo machine, which has not been updated for a while. Quite
>> a long while, actually.
>
>> It seems that I'm kind of stuck. Wiping the disk and rebuilding the
>> system from scratch is absolutely not an option, the existing (and
>> running) system must be updated somehow.
>
> Doing a reinstall will probably be far less work and less disruption
> for the machines user's.  You don't have to "wipe the disk" to do a
> re-install.

Yeah.

I would suggest after the back up then you simply clone the disk and
perform the re-install on another computer or in a VM so that you can
fiddle with things and then just swap out the drives vs having down-time
for your users potentially for days if something goes wrong on the
actual server.

It is what I do for situations like this and it works great.

Reply | Threaded
Open this post in threaded view
|

Re: Update circle

antlists
In reply to this post by Adam Carter
On 23/08/18 11:25, Adam Carter wrote:

>     The machine is actually a server, which just sat in a corner doing its
>     job perfectly. That's one of the reasons it wasn't updated: if it ain't
>     broken, don't fix it.
>
>
> Any system that is not getting software updates is broken to some
> degree, just in a subtle way.
>
> Trimming your /var/lib/portage/world file and removing the trimmed
> packages can make the update less painful. I sometimes remove non-system
> packages I want, then reinstall again later to get through difficult
> upgrades.

Bit late to the party, but yes this is normally my approach.

If emerge lists a bunch of packages it thinks it can build, I explicitly
just update them (on several occasions that has "miraculously" cleared
the conflicts and the next global emerge just roars away).

I wish there was a portage option that said "don't give up, just emerge
what you can".

If there are conflicts on something that doesn't appear crucial to the
system, I just "emerge -C" it, and make a note to put it back later.

My current home system is like this one, well out of date, but I'm
planning to replace not fix it, because it's a multi-user system and
*relies* on kdm which has, iirc, been deprecated and is not in kde5.
Upgrading that is a task I do NOT fancy ... :-)

Cheers,
Wol

Reply | Threaded
Open this post in threaded view
|

Re: Update circle

Peter Humphrey-3
On Saturday, 1 September 2018 09:35:46 BST Wol's lists wrote:

> On 23/08/18 11:25, Adam Carter wrote:
> >     The machine is actually a server, which just sat in a corner doing
> >     its
> >     job perfectly. That's one of the reasons it wasn't updated: if it
> >     ain't
> >     broken, don't fix it.
> >
> > Any system that is not getting software updates is broken to some
> > degree, just in a subtle way.
> >
> > Trimming your /var/lib/portage/world file and removing the trimmed
> > packages can make the update less painful. I sometimes remove non-system
> > packages I want, then reinstall again later to get through difficult
> > upgrades.
>
> Bit late to the party, but yes this is normally my approach.
>
> If emerge lists a bunch of packages it thinks it can build, I explicitly
> just update them (on several occasions that has "miraculously" cleared
> the conflicts and the next global emerge just roars away).
>
> I wish there was a portage option that said "don't give up, just emerge
> what you can".

There is: --keep-going

> If there are conflicts on something that doesn't appear crucial to the
> system, I just "emerge -C" it, and make a note to put it back later.
>
> My current home system is like this one, well out of date, but I'm
> planning to replace not fix it, because it's a multi-user system and
> *relies* on kdm which has, iirc, been deprecated and is not in kde5.
> Upgrading that is a task I do NOT fancy ... :-)

Yes, the recommended replacement is sddm, which I'm having problems with at
the moment, as in the thread "KDE reboot not preserving running
applications"

--
Regards,
Peter.




Reply | Threaded
Open this post in threaded view
|

Re: Update circle

antlists
On 01/09/18 10:39, Peter Humphrey wrote:
>> I wish there was a portage option that said "don't give up, just emerge
>> > what you can".

> There is: --keep-going
>
There isn't ...

"keep going" says "don't stop once you've started". What I want is
"start anyway".

If emerge hits a load of dependency conflicts, it refuses to start
emerging. Instead of giving up, I want it to emerge anything that
doesn't conflict.

Cheers,
Wol

Reply | Threaded
Open this post in threaded view
|

Re: Update circle

Peter Humphrey-3
On Saturday, 1 September 2018 11:35:49 BST Wols Lists wrote:

> On 01/09/18 10:39, Peter Humphrey wrote:
> >> I wish there was a portage option that said "don't give up, just emerge
> >>
> >> > what you can".
> >
> > There is: --keep-going
>
> There isn't ...
>
> "keep going" says "don't stop once you've started". What I want is
> "start anyway".
>
> If emerge hits a load of dependency conflicts, it refuses to start
> emerging. Instead of giving up, I want it to emerge anything that
> doesn't conflict.

Ah, now I understand.

--
Regards,
Peter.