deu / palemoon-overlay

Unofficial Gentoo overlay for the Pale Moon (http://www.palemoon.org/) web browser.
34 stars 12 forks source link

www-client/palemoon-32.4.0.1: newicon: command not found #139

Open sedimentation-fault opened 9 months ago

sedimentation-fault commented 9 months ago

Problem

Trying to build www-client/palemoon-32.4.0.1, all went smoothly, up to the install phase, specifically the install_branding_files function - where I got the errors

newicon: command not found
newmenu: command not found

from the environment file at /path-to-build-dir/portage/www-client/palemoon-32.4.0.1-r1/temp/environment.

Reason

This is an old system - last system update was in February 2022. This means my portage uses eclasses from that time. Something has changed in eclasses in-between: eutils does not support EAPI 6 or 7, for example, only 8. The ebuild must of course use the latest eclasses. It has:

EAPI=8
inherit palemoon-5 git-r3 flag-o-matic pax-utils

These, on an old system like mine, are not going to work anymore.

Solutions

Upgrade the whole system

This is the Gentoo equivalent of the well-known "solution" from the Windows world: reinstall everything, upgrade, reboot 100 times - yes, even erase your disk and start from scratch. Been there, will not do that. Each time I upgrade, it costs me 2 months(!), 10 hours/day, 24x7. Forget this "solution". I will upgrade when I deem it appropriate, not when a browser forces me to.

Modify the ebuild and bring back the old EAPI and eutils

Replace the above with

EAPI=6
inherit palemoon-5 git-r3 flag-o-matic pax-utils eutils

www-client/palemoon-32.4.0.1 now is built and installed without a problem. Works like a charm, as always - thank you.

Epilog

Took me almost a day of experimentation - I thought I would write it somewhere for people with the same problem. It would be very desirable if the browser (or any piece of software, for that matter) did not dictate a whole system upgrade through a silent feature like the use of new eclasses. I understand that Gentoo must go on and ebuild maintainers must follow, but ideally this should happen painlessly, even for old systems.

You can mark this as solved. Thanks again for the good work.