Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Portage & Programming
  • Search

EAPI 6 setuptools portage Chicken+Egg

Problems with emerge or ebuilds? Have a basic programming question about C, PHP, Perl, BASH or something else?
Post Reply
Advanced search
12 posts • Page 1 of 1
Author
Message
icytease
n00b
n00b
Posts: 5
Joined: Sun Oct 08, 2017 4:54 am

EAPI 6 setuptools portage Chicken+Egg

  • Quote

Post by icytease » Sun Oct 08, 2017 5:03 am

Hi all,

I might've been a bit lax on my maintenance of a gentoo server, and now it seems I have a chicken+egg problem -- I can't upgrade portage, and I can't upgrade python (python-updater) because of complaints on setuptools.

I've gone through the masked output of python-updater many times and basically unmerged as much as I could, especially a ton of Gnome things (I no longer need it as a desktop). I'm now here

Code: Select all

lynx ~ # emerge -1v portage
!!! Invalid news item: /usr/portage/metadata/news/2017-08-19-hardened-sources-removal/2017-08-19-hardened-sources-removal.en.txt
!!!   line 5: News-Item-Format: 2.0
!!! Invalid news item: /usr/portage/metadata/news/2017-07-16-systemd-rootprefix/2017-07-16-systemd-rootprefix.en.txt
!!!   line 5: News-Item-Format: 2.0
!!! Invalid news item: /usr/portage/metadata/news/2017-10-04-gentoolkit-dev-deprecation/2017-10-04-gentoolkit-dev-deprecation.en.txt
!!!   line 5: News-Item-Format: 2.0
!!! Invalid news item: /usr/portage/metadata/news/2017-04-10-split-and-slotted-wine/2017-04-10-split-and-slotted-wine.en.txt
!!!   line 6: News-Item-Format: 2.0

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

Calculating dependencies... done!

!!! All ebuilds that could satisfy "dev-python/setuptools[python_targets_pypy(-)?,python_targets_python2_7(-)?,python_targets_python3_4(-)?,python_targets_python3_5(-)?,-python_single_target_pypy(-),-python_single_target_python2_7(-),-python_single_target_python3_4(-),-python_single_target_python3_5(-)]" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-python/setuptools-9999::gentoo (masked by: EAPI 6)
- dev-python/setuptools-36.5.0::gentoo (masked by: EAPI 6)
- dev-python/setuptools-36.0.1::gentoo (masked by: EAPI 6)
- dev-python/setuptools-35.0.2::gentoo (masked by: EAPI 6)
- dev-python/setuptools-35.0.1::gentoo (masked by: EAPI 6)
- dev-python/setuptools-34.0.2-r1::gentoo (masked by: EAPI 6)
- dev-python/setuptools-30.4.0::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 "dev-python/pyxattr-0.5.5::gentoo" [ebuild])
(dependency required by "sys-apps/portage-2.3.8::gentoo[xattr,python_targets_python2_7]" [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.
eselect python list

Code: Select all

Available Python interpreters:
  [1]   python2.7
  [2]   python3.2
  [3]   python3.3 *
one strange part is that my python target appears set to 3.4 even though I've never even installed 3.4 yet...? Not seeing it in /etc/make.conf

Code: Select all

lynx ~ # emerge --info
Portage 2.2.18 (python 3.3.5-final-0, default/linux/amd64/13.0, gcc-4.7.3, glibc-2.15-r3, 3.8.13-gentoo x86_64)
=================================================================
System uname: Linux-3.8.13-gentoo-x86_64-AMD_FX-tm-8350_Eight-Core_Processor-with-gentoo-2.2
KiB Mem:    16406708 total,    397800 free
KiB Swap:    1023996 total,   1023996 free
Timestamp of repository gentoo: Sat, 07 Oct 2017 16:00:01 +0000
sh bash 4.2_p45
ld GNU ld (GNU Binutils) 2.23.1
app-shells/bash:          4.2_p45::gentoo
dev-java/java-config:     2.1.12-r1::gentoo
dev-lang/perl:            5.12.4-r1::gentoo
dev-lang/python:          2.7.9-r1::gentoo, 3.2.5-r1::gentoo, 3.3.5-r1::gentoo
dev-util/cmake:           2.8.10.2-r2::gentoo
dev-util/pkgconfig:       0.28::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.11.8::gentoo
sys-apps/sandbox:         2.6-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.9.6-r3::gentoo, 1.10.3::gentoo, 1.11.6::gentoo, 1.12.6::gentoo, 1.13.4::gentoo
sys-devel/binutils:       2.23.1::gentoo
sys-devel/gcc:            4.6.4::gentoo, 4.7.3::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4-r1::gentoo
sys-devel/make:           3.82-r4::gentoo
sys-kernel/linux-headers: 3.7::gentoo (virtual/os-headers)
sys-libs/glibc:           2.15-r3::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

megacoffee
    location: /var/lib/layman/megacoffee
    masters: gentoo
    priority: 0

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA RAR"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=native"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=native"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://gentoo.osuosl.org/ http://mirror.lug.udel.edu/pub/gentoo/"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j6"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
USE="X acl alsa amd64 bash-completion berkdb bzip2 cdr cli consolekit cracklib crypt css cups cxx dri dvd dvdr encode extras firefox fortran gdbm gif gtk hddtemp iconv imlib ipv6 jpeg matroska mmx modules mp3 mp4 mplayer multilib mysql ncurses nls nocd nptl ogg opengl openmp pam pcre perl png policykit postgres pulseaudio python readline ruby samba seccomp session spell sse sse2 ssl tcpd tidy tiff truetype udev unicode videos vim-syntax vorbis win32codecs x264 xattr xml xv xvid zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby19 ruby20" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Any help to unblock this would be awesome!

thx,
icy`
Top
Marlo
Veteran
Veteran
Posts: 1591
Joined: Sat Jul 26, 2003 1:41 pm

  • Quote

Post by Marlo » Sun Oct 08, 2017 7:38 am

Hi icytease,

Comment out what's in /etc/portage/ profile/eapi. Or delete eapi and leave portage select the correct eapi version.
then emerge the new portage version:

Code: Select all

emerge --oneshot sys-apps/portage -av
afterwards:

Code: Select all

emerge --oneshot dev-lang/python -av
this should install version python-3.4.5
and see what happens with:

Code: Select all

emerge --update --newuse --deep --with-bdeps = y --backtrack = 50 --complete-graph y --keep-going @world -av
------------------------------------------------------------------
http://radio.garden/
Top
icytease
n00b
n00b
Posts: 5
Joined: Sun Oct 08, 2017 4:54 am

  • Quote

Post by icytease » Sun Oct 08, 2017 8:10 am

Hi Marlo,

I didn't have an /etc/portage/profile directory. For kicks, i tried creating /etc/portage/profile/eapi and setting that to 6 or 5, but that doesn't change the outcome.

I can't oneshot portage because dev-python/setuptools is masked by EAPI 6, same error as in opening post.

I've also tried emerging python by itself, but that gives an EAPI 6 error, just with patch packages:

Code: Select all

lynx ~ # emerge -av =dev-lang/python-3.4.5
!!! Invalid news item: /usr/portage/metadata/news/2017-08-19-hardened-sources-removal/2017-08-19-hardened-sources-removal.en.txt
!!!   line 5: News-Item-Format: 2.0
!!! Invalid news item: /usr/portage/metadata/news/2017-07-16-systemd-rootprefix/2017-07-16-systemd-rootprefix.en.txt
!!!   line 5: News-Item-Format: 2.0
!!! Invalid news item: /usr/portage/metadata/news/2017-10-04-gentoolkit-dev-deprecation/2017-10-04-gentoolkit-dev-deprecation.en.txt
!!!   line 5: News-Item-Format: 2.0
!!! Invalid news item: /usr/portage/metadata/news/2017-04-10-split-and-slotted-wine/2017-04-10-split-and-slotted-wine.en.txt
!!!   line 6: News-Item-Format: 2.0

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

Calculating dependencies... done!

!!! 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 "dev-lang/python-3.4.5::gentoo" [ebuild])
(dependency required by "=dev-lang/python-3.4.5" [argument])
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.
Top
icytease
n00b
n00b
Posts: 5
Joined: Sun Oct 08, 2017 4:54 am

  • Quote

Post by icytease » Sun Oct 08, 2017 8:23 am

so I noticed a certain directory /usr/portage/dev-python/setuptools

Suppose I edit one of the lowest compatible versions of "setuptools" -- I change the file /usr/portage/dev-python/setuptools/setuptools-30.4.0.ebuild by altering the fourth line, EAPI=6 to EAPI=5. An emerge of portage now thinks the package is masked by corruption since the hashes dont match.
Luckily there is a Manifest file in the same directory... suppose I then change the hash to match? Consequences? Might it be silly enough to work?! (and later fix by updating to a later setuptools)
Top
NeddySeagoon
Administrator
Administrator
User avatar
Posts: 56082
Joined: Sat Jul 05, 2003 9:37 am
Location: 56N 3W

  • Quote

Post by NeddySeagoon » Sun Oct 08, 2017 9:34 am

icytease,

Code: Select all

masked by: EAPI 6
means thay your portage is too old.
It does not understand EAPI 6.

You have several choices.

a) update portage and python from a binhost. The portage you need depends an a newer python.

b) revert your ebuild repository to a time when there was an older portage and pythen in the tree and update in steps.
The source tarballs will be gone from the gentoo mirror system, so you will ned to find them and add them to your distfiles by hand.

There are several ways to get the old ebuilds you need. Swift has an archive.

You may need several iterations.
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Top
dilfridge
Developer
Developer
User avatar
Posts: 121
Joined: Sat Sep 18, 2010 11:38 am
Location: Regensburg, Germany
Contact:
Contact dilfridge
Website

  • Quote

Post by dilfridge » Tue Oct 10, 2017 2:11 pm

Log in as root

Download the tarball for the latest portage release and unpack it into /root , or clone https://anongit.gentoo.org/git/proj/portage.git there

Run the emerge program from that copy, /root/portage/bin/emerge to update that system (yes that works independent of the system portage installation)

This will hopefully also update your system portage, and then you don't need the copy in /root anymore.

Have fun! :D
Top
eccerr0r
Watchman
Watchman
Posts: 10239
Joined: Thu Jul 01, 2004 6:51 pm
Location: almost Mile High in the USA
Contact:
Contact eccerr0r
Website

  • Quote

Post by eccerr0r » Tue Oct 10, 2017 3:58 pm

Will future versions of portage continue to be compatible with old versions of python in case only a old version of python is available?
Intel Core i7 2700K/Radeon Firepro W2100/24GB DDR3/800GB SSD
What am I supposed watching?
Top
Tony0945
Watchman
Watchman
Posts: 5127
Joined: Tue Jul 25, 2006 12:19 am
Location: Illinois, USA

  • Quote

Post by Tony0945 » Tue Oct 10, 2017 11:04 pm

I recently updated a Gentoo installation (32bit) that was one year 87 days old. I also updated one that was about four months old. The latter gave me fits as you describe with blockers all over. The year old installation was easier because I did NOT sync first and lose half the ebuilds that have fallen out of the tree. What I did was update portage first, by copying the ebuild from another installation. I did have to do surgery to change EAPI to 5 and maybe change versions on a dependency (like remove portage_3_4). Then I ran "ebuild portage-xxxx.ebuild digest" to rebuild the manifest. It also fetched the latest ebuild. Once I had portage rebuilt to latest stable, I did the same to python in a similar manner and got rid of the old python version (3.3?). All this was done using python 2.7. Then I sync'd and emerged "-a1v repoman portage python". Then I did "emerge -auvND world --exclude gcc" (I have --with-bdeps=y" in my default opts). I only excluded gcc because it's really S-L-O-W on the old k6-3 450Mhz 768Meg RAM). The next day I saw that it had finished. Much less trouble than the Phenom II that was only a few months out of date.

If you can find a portage snapshot that corresponds to a time frame close to what you had, I would download it and try it my way. I would still hold the gcc upgrade until all else was upgraded.

On the other system I slugged it out as suggested above including several emerges with "--nodeps". Either way, it is key to get portage and python updated. If you have python 2.7, just unmerge other versions that have disappeared from the tree and use 2.7 until you get clean ebuilds.
Top
icytease
n00b
n00b
Posts: 5
Joined: Sun Oct 08, 2017 4:54 am

  • Quote

Post by icytease » Thu Oct 12, 2017 7:28 pm

NeddySeagoon wrote:icytease,

Code: Select all

masked by: EAPI 6
means thay your portage is too old.
It does not understand EAPI 6.

You have several choices.

a) update portage and python from a binhost. The portage you need depends an a newer python.

b) revert your ebuild repository to a time when there was an older portage and pythen in the tree and update in steps.
The source tarballs will be gone from the gentoo mirror system, so you will ned to find them and add them to your distfiles by hand.

There are several ways to get the old ebuilds you need. Swift has an archive.

You may need several iterations.
I ended up going with option (a) . After reading some more, I found a public binhost that appeared to match my architecture (yay, saves me the trouble of making my own). I changed PORTAGE_BINHOST in make.conf and then used the emerge --getbinpkg option to look for python 3.4.5 , portage 2.3.8, and a few others. I wasn't out of the woods yet, as dependency calculations were still done, and I was somewhat riddled with conflicts and blocks.

I had to be somewhat aggressive in that things I wanted to unmerge, I had to do with -C (screwing over anything depending on package) and not just -c. I tried to keep note of things I might later want to re-emerge. In general, I tried to cut the system down as slim as I could, as I no longer needed it as a desktop (so really no more need for xfce, gnome, gtk, X).

At one point it told me that python-exec was being blocked by the older python and python-exec, and so I figured,"Well, I'll just unmerge python-exec and emerge the later version right away." Great.

Code: Select all

emerge -av python-exec
Joke's on me! emerge was actually a symbolic link to python-exec and no longer recognized as a command :lol: I quickly fixed that one with a distfiles archive. But yeah, in general I'm past the big EAPI 6 hurdle, and now I still have some conflicts/blocks to figure out. For example, I have plex-media-server package that for some reason wants net-dns/avahi to be compiled with "gtk" USE flag. This is a server -- why should it care for graphical toolkits o.O One of my goals, though, is to get this thing server-ready, so that my new TV can see it ;D Not yet sure if I want Plex or Serviio.

As for more blocks -- I have some emul-linux-x86 issues. While I think I can remove these libs, some packages still appear to be pulling them in. I don't recall exactly what the block was. Hopefully I'll be able to chip away at it. Thx for the ideas. I'm constantly checking if I'm good to go with

Code: Select all

emerge -auvDN --with-bdeps=y --backtrack=50 --complete-graph y --keep-going @world
as per Marlo's suggestion. Can't wait to be up to date ;P
Top
icytease
n00b
n00b
Posts: 5
Joined: Sun Oct 08, 2017 4:54 am

  • Quote

Post by icytease » Sun Oct 22, 2017 10:45 pm

I think I'm finally clear of the manual blocks!

https://i.imgur.com/1qcsQ6V.png

I just need to type "y" 8)

Side questions:
1. I've been trying to take "gtk" out of my make.conf global USE flags, but I'm seeing some essential packages like net-dns/avahi demanding it (which in turn samba needs). Why does avahi, a discovery service, need gtk?
2. I can't seem to free myself from a few gnome libs, and a bunch of x11 libs. I've taken out "X" global USE. I believe I uninstalled vnc-related apps, so graphical remote desktop is out, though I kept xterm. Still, I think there should be a lot less of these libs installed.

(P.S. this forum doesn't support the img BBCode tag?)

thanks,
icy`
Top
Hu
Administrator
Administrator
Posts: 24386
Joined: Tue Mar 06, 2007 5:38 am

  • Quote

Post by Hu » Sun Oct 22, 2017 11:56 pm

Portage should print output explaining why any particular flag is required. If you need help interpreting it, please post the full output of the failed command (in this case, whichever command tells you that avahi requires gtk).
Top
Mikkl
Tux's lil' helper
Tux's lil' helper
Posts: 79
Joined: Thu Jan 12, 2006 3:54 pm

  • Quote

Post by Mikkl » Sat Feb 16, 2019 12:32 pm

dilfridge wrote:Log in as root

Download the tarball for the latest portage release and unpack it into /root , or clone https://anongit.gentoo.org/git/proj/portage.git there

Run the emerge program from that copy, /root/portage/bin/emerge to update that system (yes that works independent of the system portage installation)

This will hopefully also update your system portage, and then you don't need the copy in /root anymore.

Have fun! :D
I stumbled upon this thread when facing the same problem on one of my machines but coming from EAPI 5 to EAPI 7 instead of EAPI 6. This approach definitely worked for me and did not pose any more problems with blockers etc., just like that.

Thank you!
Top
Post Reply

12 posts • Page 1 of 1

Return to “Portage & Programming”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic