ferion11/emerge_AppImage

Cannot emerge anything, due to profile issue

Closed this issue · 4 comments

Hi

./emerge-stage3-amd64-20210314T214502Z.AppImage -1vvv portage


!!! /etc/portage/make.profile is not a symlink and will probably prevent most merges.
!!! It should point into a profile within /var/db/repos/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.

Not sure what's going on with that /etc/make.profile and /etc/portage/make.profile exist and are symlinks to the same location:

ls -l /etc/portage/ | grep make
lrwxrwxrwx 1 root root     14 Mar  2 16:40 make.conf -> /etc/make.conf
lrwxrwxrwx 1 root root     52 Mar 18 15:22 make.profile -> ../../var/db/repos/profiles/default/linux/amd64/17.1

Any ideas? I had managed to get updated from 2018/9 to Sept 2020, then pulled up to date with standard portage, but then during the last world merge something weird happened and python-exec got screwed up and portage only works by calling /usr/lib/python-exec/python-3.6/emerge directly, but it won't update portage because it thinks it has a conflict with itself! So I'm trying to use your tool to resolve it.

I downloaded and used the latest version now, and everything worked fine. You are probably using a PORTDIR, DISTDIR and PKGDIR different from the new standard. To facilitate the re-use of the already configured flags, the added repositories and everything, I follow the standard:

  • PORTDIR="/var/db/repos/gentoo"
  • DISTDIR="/var/cache/distfiles"
  • PKGDIR="/var/cache/binpkgs"

others repos should be at /var/db/repos/ too.
Unfortunately, this AppImage doesn't work with the old and deprecated /usr/portage path or other custom paths, as the mount point is fixed at the moment, as seen in:

emerge_AppImage/AppRun

Lines 63 to 66 in a937064

mount -o bind,rw /var/db/repos "${HERE_RW}/var/db/repos" || die "* Cant mount var/db/repos"
mount -o bind,rw /var/cache/distfiles "${HERE_RW}/var/cache/distfiles" || die "* Cant mount var/cache/distfiles"
mount -o bind,rw /var/cache/binpkgs "${HERE_RW}/var/cache/binpkgs" || die "* Cant mount var/cache/binpkgs"
mount -o bind,rw /var/log "${HERE_RW}/var/log" || die "* Cant mount car/logs"

There is a forum with some instructions:
https://forums.gentoo.org/viewtopic-t-1102294.html

but you need to read the news of the # eselect news list while making the update because of the many changes.

While i'm sill remembering, you should change the old package.keywords to the new package.accept_keywords too, because the new portage maybe ins't working with the old name anymore:
https://forums.gentoo.org/viewtopic-t-1128301-start-0.html

And for a warning, don't try to update everything using this AppImage, as it works with stage3 in RAM, and you probably don't have enough RAM to have all the missing stage3 packages in your RAM. It was made to update python and portage and other basic packages that fit your RAM well.