Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Help with upgrading old portage while using EAPI=5 profile
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
colag
Tux's lil' helper
Tux's lil' helper


Joined: 26 Sep 2009
Posts: 105

PostPosted: Sun Apr 06, 2014 9:36 am    Post subject: Help with upgrading old portage while using EAPI=5 profile Reply with quote

After one year i did emerge --sync

Then did emerge dhcpcd

Got error:

Code:
!!! /etc/make.profile is not a symlink and will probably prevent most merges.
!!! It should point into a profile within /usr/portage/profiles/
!!! (You can safely ignore this message when syncing. It's harmless.)


!!! Your current profile is invalid. If you have just changed your profile
!!! configuration, you should revert back to the previous configuration.
!!! Allowed actions are limited to --help, --info, --search, --sync, and
!!! --version.


What can be the reason of this?

Changed topic name from "Can not install dhcpcd" to reflect the more general nature of the problem. -- desultory
Back to top
View user's profile Send private message
colag
Tux's lil' helper
Tux's lil' helper


Joined: 26 Sep 2009
Posts: 105

PostPosted: Sun Apr 06, 2014 9:55 am    Post subject: Can not update Reply with quote

emerge --sync

eselect profile list
Code:
  [1]   default/linux/x86/13.0 *
  [2]   default/linux/x86/13.0/selinux
  [3]   default/linux/x86/13.0/desktop
  [4]   default/linux/x86/13.0/desktop/gnome
  [5]   default/linux/x86/13.0/desktop/gnome/systemd
  [6]   default/linux/x86/13.0/desktop/kde
  [7]   default/linux/x86/13.0/desktop/kde/systemd
  [8]   default/linux/x86/13.0/developer
  [9]   hardened/linux/x86
  [10]  hardened/linux/x86/selinux
  [11]  hardened/linux/uclibc/x86


emerge portage
Code:
!!! Unable to parse profile: '/etc/make.profile'
!!! ParseError: Profile contains unsupported EAPI '5': '/usr/portage/profiles/default/linux/x86/13.0/eapi'
!!! Your current profile is invalid. If you have just changed your profile
!!! configuration, you should revert back to the previous configuration.
!!! Allowed actions are limited to --help, --info, --search, --sync, and
!!! --version.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54237
Location: 56N 3W

PostPosted: Sun Apr 06, 2014 10:54 am    Post subject: Reply with quote

colag,

Your emerge --sync removed the profile you had selected and you have not yet set a new profile.
Code:
eselect profile
will tell your more.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
khayyam
Watchman
Watchman


Joined: 07 Jun 2012
Posts: 6227
Location: Room 101

PostPosted: Sun Apr 06, 2014 1:41 pm    Post subject: Reply with quote

colag ...

it looks as though your currently installed portage doesn't support EAPI5 ... the following should resolve the issue (you may want to re-merge subsequent to using the binary package) ...

Code:
# PORTAGE_BINHOST="http://packages.gentooexperimental.org/packages/x86-stable/" emerge -agK --oneshot portage

best ... khay

EDIT: on second thoughts that may not work at all, you may need to download the pkg and unpack into /
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 21631

PostPosted: Sun Apr 06, 2014 3:44 pm    Post subject: Reply with quote

OP: what is the output of emerge --info? How long has it been since your last system update?
Back to top
View user's profile Send private message
desultory
Bodhisattva
Bodhisattva


Joined: 04 Nov 2005
Posts: 9410

PostPosted: Mon Apr 07, 2014 4:07 am    Post subject: Reply with quote

Merged three posts, and updated the topic title.

While I generally agree with khayyam's approach, there are a few refinements that I would suggest:
  • A different PORTAGE_BINHOST, specifically: http://tinderbox.dev.gentoo.org/default-linux/x86/.
  • If, as expected, the install fails when using emerge directly, unpack it as per khayyam's directions, then use the newly unpacked portage to itself install the the downloaded package, so as to correctly handle orphans and general package manager book keeping.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54237
Location: 56N 3W

PostPosted: Mon Apr 07, 2014 6:23 pm    Post subject: Reply with quote

In this situation, I would employ a hack.

Edit /usr/portage/profiles/eapi and change the content from 5 to 4.

Any EAPI=5 ebuilds will fail horribly as your portage cannot parse them. Its very ugly but harmless.
Provided that portage and its dependencies are EAPI <= 4 then this will allow you to
Code:
emerge -1 portage


As soon as portage has emerged revert the change to /usr/portage/profiles/eapi
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
desultory
Bodhisattva
Bodhisattva


Joined: 04 Nov 2005
Posts: 9410

PostPosted: Tue Apr 08, 2014 3:37 am    Post subject: Reply with quote

NeddySeagoon wrote:
Its very ugly but harmless.
None of the approaches discussed here are harmless, especially if misapplied. The closest we could likely come to harmless, without major time investment, would be pulling a copy of the tree from before the EAPI 5 profiles became the default and using that tree until the install was up to date with regard to that version of the tree at least to the extent of the full toolchain. Aside from that khayyam's approach, with the portage post processing refinement, probably employed upon several packages is the next closest. Attempting to change how portage interacts with the entire profile tree, knowing that a significant portion of it will not be interpretable by that version of portage, is not an approach to be undertaken lightly, especially by someone who is not familiar with what the pitfalls potentially are.

Given that, I should probably change my recommendation to: pull copies of the tree, update your toolchain against them in succession; ask when you need help.
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 3435
Location: Gainesville, Florida

PostPosted: Sat Oct 04, 2014 12:41 am    Post subject: Reply with quote

I just ran into this updating an old Gentoo amd64 install. I had the old "default/linux/amd64/10.0/no-multilib" profile, and after syncing switched to default/linux/amd64/13..0/no-multilib.
Then I got got \:
Code:
amd64 wrc # emerge -1 portage
!!! Unable to parse profile: '/etc/portage/make.profile'
!!! ParseError: Profile contains unsupported EAPI '5': '/usr/portage/profiles/default/linux/amd64/13.0/desktop/eapi'
!!! Your current profile is invalid. If you have just changed your profile
!!! configuration, you should revert back to the previous configuration.
!!! Allowed actions are limited to --help, --info, --search, --sync, and
!!! --version.
amd64 wrc #

Tried changing the /usr/portage/profiles/eapi to 4, but it didn't work.

Which old tree version should I pull as khayyam suggests? If I understand correctly, I need an pre EAPI5 tree first, unpack it in /usr/portage (replacing the current tree I just synced with), select an EAPI4 profile, and run a full update update. Correct? How do I know which tree package is an EAPI4?
_________________
Main box- AsRock x370 Gaming K4
Ryzen 7 3700x, 3.6GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
OpenRC Gentoo ~amd64 plasma, glibc-2.36-r7, gcc-13.2.1_p20230304
kernel-6.8.4 USE=experimental python3_11
Back to top
View user's profile Send private message
dol-sen
Retired Dev
Retired Dev


Joined: 30 Jun 2002
Posts: 2805
Location: Richmond, BC, Canada

PostPosted: Sat Oct 04, 2014 2:50 am    Post subject: Reply with quote

You should find an old enough tree in ZeroChaos dev space. He has some old trees for such a purpose.
_________________
Brian
Porthole, the Portage GUI frontend irc@freenode: #gentoo-guis, #porthole, Blog
layman, gentoolkit, CoreBuilder, esearch...
Back to top
View user's profile Send private message
Zero_Chaos
Developer
Developer


Joined: 22 Jun 2013
Posts: 6

PostPosted: Sat Oct 04, 2014 2:53 am    Post subject: Reply with quote

There should have been a news article that showed up, but with a system this old I wonder if it doesn't support news either...
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 3435
Location: Gainesville, Florida

PostPosted: Sat Oct 04, 2014 3:29 am    Post subject: Reply with quote

Thanks for the replies!
I got the 20120720 snapshot, extracted it, then changed back to my old profile, and tried emerge -1 portage, but it seems the version of portage it wants is no longer available (on several mirrors).
Code:
 >> Emerging (1 of 1) sys-apps/portage-2.2.0_alpha120
>>> Downloading 'http://distfiles.gentoo.org/distfiles/portage-2.2.0_alpha111.tar.bz2'
--2014-10-03 19:26:44--  http://distfiles.gentoo.org/distfiles/portage-2.2.0_alpha111.tar.bz2
Resolving distfiles.gentoo.org... 64.50.233.100, 64.50.236.52, 140.211.166.134, ...
Connecting to distfiles.gentoo.org|64.50.233.100|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2014-10-03 19:26:44 ERROR 404: Not Found.
Guess I'll try more recent EAPI4 snapshot and hope whatever version of portage it pulls is still available? Any other ideas? :roll: What's a likely date to use?


Well some progress- used the 20130120, and got a bash p42 update, but still can't find portage-2.2.0_alpha158 (currently I have installed alpha90)
_________________
Main box- AsRock x370 Gaming K4
Ryzen 7 3700x, 3.6GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
OpenRC Gentoo ~amd64 plasma, glibc-2.36-r7, gcc-13.2.1_p20230304
kernel-6.8.4 USE=experimental python3_11
Back to top
View user's profile Send private message
Zero_Chaos
Developer
Developer


Joined: 22 Jun 2013
Posts: 6

PostPosted: Sat Oct 04, 2014 4:39 am    Post subject: Reply with quote

...we suggested the snapshots on my devspace for a reason. They were taken just before the eapi profile transition and meant exactly for what you are doing...
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 3435
Location: Gainesville, Florida

PostPosted: Sat Oct 04, 2014 4:53 am    Post subject: Reply with quote

Zero_Chaos,
Thanks much! I just got your 20140311, and will try it. I've had no luck with 4 other older 2013 versions.
_________________
Main box- AsRock x370 Gaming K4
Ryzen 7 3700x, 3.6GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
OpenRC Gentoo ~amd64 plasma, glibc-2.36-r7, gcc-13.2.1_p20230304
kernel-6.8.4 USE=experimental python3_11
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 3435
Location: Gainesville, Florida

PostPosted: Sat Oct 04, 2014 5:18 am    Post subject: Reply with quote

Hmmm. I must be doing something wrong- it doesn't seem to work whatever I try (profile changes, portage tree versions, EAPI file edits, etc) I still get:
Code:
 amd64 usr # emerge -1 portage
!!! Unable to parse profile: '/etc/make.profile'
!!! ParseError: Profile contains unsupported EAPI '5': '/usr/portage/profiles/default/linux/amd64/13.0/eapi'
!!! Your current profile is invalid. If you have just changed your profile
!!! configuration, you should revert back to the previous configuration.
!!! Allowed actions are limited to --help, --info, --search, --sync, and
!!! --version.
It doesn't seem to matter if i change back to the old amd64/10.0, any type profile.

I did once get emerge -upD gcc glibc binutils to list new versions like they might install, but I didn't do it because I never understood why portage wouldn't update first. Here's what that looked like (IIRC with the old profile)
Code:
 amd64 wrc # emerge -upv gcc libtool glibc binutils
 * Last emerge --sync was 1y 255d 23h 21m 28s ago.

 * IMPORTANT: config file '/etc/portage/package.use' needs updating.
 * See the CONFIGURATION FILES section of the emerge
 * man page to learn how to update config files.

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

Calculating dependencies... done!
[ebuild     U  ] sys-libs/timezone-data-2012j [2012b] USE="nls" 341 kB
[ebuild     U  ] sys-libs/glibc-2.16.0 [2.14.1-r2] USE="-debug -gd (-hardened) (-multilib) -profile (-selinux) -systemtap% -vanilla (-glibc-omitfp%)" 10,749 kB
[ebuild     U  ] sys-devel/gcc-config-1.8 [1.5.1] 15 kB
[ebuild     U  ] sys-devel/binutils-2.23.1 [2.22-r1] USE="cxx%* nls zlib -multislot -multitarget -static-libs -test -vanilla" 20,966 kB
[ebuild  NS   #] sys-devel/gcc-4.7.2 [4.6.2] USE="cxx fortran gtk mudflap nls nptl openmp (-altivec) -bootstrap -build -doc (-fixed-point) -gcj -go -graphite (-hardened) (-libssp) (-multilib) -multislot -nopie -nossp -objc -objc++ -objc-gc -test -vanilla" 81,000 kB
[ebuild     U  ] sys-devel/gcc-4.6.3 [4.6.2] USE="cxx fortran gtk mudflap nls nptl openmp (-altivec) -bootstrap -build -doc (-fixed-point) -gcj -graphite (-hardened) (-libssp) (-multilib) -multislot -nopie -nossp -objc -objc++ -objc-gc -test -vanilla (-go%) (-libffi%) (-nocxx%)" 70,351 kB

Total: 6 packages (5 upgrades, 1 in new slot), Size of downloads: 183,419 kB
If I can get to this point again, should i go ahead and try to update the toolchain items?
_________________
Main box- AsRock x370 Gaming K4
Ryzen 7 3700x, 3.6GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
OpenRC Gentoo ~amd64 plasma, glibc-2.36-r7, gcc-13.2.1_p20230304
kernel-6.8.4 USE=experimental python3_11
Back to top
View user's profile Send private message
Zero_Chaos
Developer
Developer


Joined: 22 Jun 2013
Posts: 6

PostPosted: Sat Oct 04, 2014 5:29 pm    Post subject: Reply with quote

update portage first, if you can't update that then nothing else matters.
Back to top
View user's profile Send private message
Naib
Watchman
Watchman


Joined: 21 May 2004
Posts: 6051
Location: Removed by Neddy

PostPosted: Sun Oct 05, 2014 8:51 am    Post subject: Reply with quote

Would be good if there was a policy that portage keeps with a very basic eapi standard (even if it meant an overly verbose ebuild);as this should help with things like this.

But this raises an old topic... How old of a system is the Gentoo toolsuite meant to be upgradable from
_________________
Quote:
Removed by Chiitoo
Back to top
View user's profile Send private message
Navar
Guru
Guru


Joined: 20 Aug 2012
Posts: 353

PostPosted: Sun Oct 05, 2014 5:43 pm    Post subject: Reply with quote

wrc1944,

Just tossing out some ideas since I'm running into this today on an older x86 backup (2012 and this time I didn't try stripping it down pre-sync--probably a mistake). I followed Zero_Chaos' steps to revert back to an old snapshot. Still ran into the EAPI 5 issues, hacked those to 4 in respective files and ended up running emerge in debug to see why backtracking was failing. In my case it was struggling to update to dev-lang/python-3.3.5-r1 and that was due to tk useflag being set which ends up being a specific EAPI 5 dependency. Maybe see if you have any specifics set for python in /etc/portage.

Now it's moved forward to the sandbox issue, which seems familiar.
Code:

[ebuild     U  ] sys-devel/autoconf-wrapper-13 [12]
[ebuild     U  ] sys-devel/autoconf-2.69 [2.68] USE="(-multislot)"
[ebuild  NS    ] dev-lang/python-3.3.5-r1 [2.7.3-r2, 3.2.3] USE="gdbm ncurses readline ssl threads xml -build -doc -examples -hardened -ipv6 -sqlite -tk -wininst"
[ebuild     U  ] sys-apps/portage-2.2.12 [2.1.11.9] USE="(-pypy)" LINGUAS="-ru%" PYTHON_TARGETS="python2_7%* python3_3%* -pypy% (-python3_2) -python3_4%"
[blocks B      ] <sys-apps/sandbox-2.6-r1 ("<sys-apps/sandbox-2.6-r1" is blocking dev-lang/python-3.3.5-r1)

@Zero_Chaos,
Code:

3.) Unpack the snapshot to ~/tmp
4.) If you are not already, become root
5.) # rsync --recursive --links --safe-links --perms --times --force \
   --whole-file --delete --stats --human-readable \
   --exclude=/distfiles --exclude=/local --exclude=/packages \
   --verbose --progress --omit-dir-times /tmp/portage /usr/portage


I presumed you meant /tmp instead of ~/tmp.
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 3435
Location: Gainesville, Florida

PostPosted: Mon Oct 06, 2014 10:14 pm    Post subject: Reply with quote

I finally succeeded in a full upgrade, but what a nightmare! My main problems were aggrevated by the fact I forgot this was a no-multilib 64bit system that used to run kdesvn live at some point about 2-3 years ago (not to mention a 3.1.0 kernel, with old radeon drivers which made the gui virtually unusable). Plus, until I saw a post by dilfridge on another thread saying eselect profile now couldn't revert to a 10.0 profile and it had to be done manually, I was going in circles, even with the Zero_Chaos portage tree. :?

After I got the profile to the old one, cleaned up package.use and package.mask, etc., I still was stuck. Had countless unsolvable udev/systemd blocks (among many other qt, kde, and gnome deps blocks/conflicts) even though I had applied all the config edits that worked before on other systems. Couldn't run --depclean at all, so I manually uninstalled all of the 2-3 year old kde and gnome related stuff, plus any deps of those desktop environments I could find. Still no --depclean, or no emerge -upDNv --with-bdeps=y @ system was possible. Then I found and removed about 20 other systemd and gnome/kde deps I had missed before. Then I decided to emerge --sync, did so, and then changed back to the newer 13.0 no-multilib profile.

After fixing some more random USE flag problems, things were going better. I was able to emerge -u gcc, glibc, binutils, libtool, and then got through an emerge --update --newuse --deep --with-bdeps=y @system. Then I reinstalled kdebase-meta, and a few other kde metas, which went well.

I thought I was finally OK, but I still couldn't run emerge @preserved-rebuild or revdep-rebuild, perl-cleaner, python-updater, and the emerge --update --newuse --deep --with-bdeps=y @world update kept presenting numerous blockages and conflicts I gradually sorted out (USE flag, world file, mask problems). Finally got it down to only the dreaded udev/systemd conflict, and after fumbling around I realized that udev and a few others were built with the wrong USE flags. After fixing those, I could finally run --depclean, which removed 467 packages, including the just installed kdebase-meta (at that point, I didn't care about kde- just wanted a full --depclean). After that, I could finally run revdep-rebuild, perl-cleaner, python-updater, and a full @world update, and the old 2-3 year old installation was back to current, with revdep-rebuild all consistent. :D I probably have left out a few problems I encountered, but I finally reinstalled a full kde-meta desktop, and Case closed.


One thing I know for sure- I'm never doing this again. Any over 1 year-old neglected Gentoo install will now warrant a data backup and complete format/reinstall with the latest live cd.

EDIT: Forgot to mention- I did get a 3.16.3-gentoo kernel built IIRC right after I finally did the full @system update, and a reboot made the gui usable with an LXDE desktop.
_________________
Main box- AsRock x370 Gaming K4
Ryzen 7 3700x, 3.6GHz, 16GB GSkill Flare DDR4 3200mhz
Samsung SATA 1000GB, Radeon HD R7 350 2GB DDR5
OpenRC Gentoo ~amd64 plasma, glibc-2.36-r7, gcc-13.2.1_p20230304
kernel-6.8.4 USE=experimental python3_11
Back to top
View user's profile Send private message
Spankin Partier
n00b
n00b


Joined: 15 Jan 2007
Posts: 33

PostPosted: Tue Dec 16, 2014 7:10 am    Post subject: Reply with quote

Just ran into this problem on an old headless file/web (internal use only) server. By the looks of things it wasn't synced in over 5 years.

So from what I see I can attempt the above trick of using an older portage snapshot and go from there. Or since the system is so old, would I be better off backing up the data files, /etc, and /var/lib/portage so that I can download and install the latest Stage3 and install it over top of the existing system. Then restore /var/lib/portage, check my /etc/portage/make.config and run a emerge -aDuN @world?

I'm guessing my biggest problem would be my /etc directory. Since extracting a Stage3 will overwrite all my configs.

The only other option would it be better to simply start completely from scratch.

Any thoughts?
Back to top
View user's profile Send private message
khayyam
Watchman
Watchman


Joined: 07 Jun 2012
Posts: 6227
Location: Room 101

PostPosted: Tue Dec 16, 2014 11:15 am    Post subject: Reply with quote

Spankin Partier wrote:
The only other option would it be better to simply start completely from scratch.

Spankin ... that's what you should do, if you unpack a stage3 on top of the existing filesystem you will create discontinuity between the package manager and installed files (so, stray files/libs, dependencies, etc, etc). Your best to backup your configs, world file, user data, etc, and rebuild the system from scratch.

best ... khay
Back to top
View user's profile Send private message
Spankin Partier
n00b
n00b


Joined: 15 Jan 2007
Posts: 33

PostPosted: Tue Dec 16, 2014 6:57 pm    Post subject: Reply with quote

Cool thanks.

The one thing I've always loved about Gentoo is the fact that out of the dozens of installations I've managed over the years I've only lost one installation do to software issues (and that to was due to a lack of timely maintenance). Time to say a few words and send him off to the frigid Zeroed Sea.
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