Python
Python is a scripting language as well as a high-level programming language, and is used extensively by Funtoo and Gentoo Linux. Portage, the ports system used by Funtoo and Gentoo Linux, is written in Python (along with bash-based ebuilds.)
Contents |
Introduction
Funtoo Linux contains many enhancements related to Python, and most of these enhancements are the result of integrating the Progress Overlay into Funtoo Linux. This new functionality allows Portage to do a much, much better job of keeping Python-based packages up-to-date on your system.
Prior Problems
With the older python.eclass in Gentoo (and that used to be in Funtoo Linux,) no usable accounting information is stored by Portage so that it could "know" what versions of Python various ebuilds were built to use. This created a problem when new versions of Python were installed, as Portage didn't have the ability to automatically update Python-based packages to work with newer versions of Python that were installed.
This created the need for a separate tool, called python-updater which was used to rebuild all Python-related ebuilds so that they properly utilize the currently-installed versions of Python.
Progress
The new Progress Overlay that has been integrated into Funtoo Linux goes a very long way towards solving the prior problems that existed when dealing with Python-based packages/ebuilds. The Progress Overlay adds two important things. The first is a new eclass that allows new Python-related ebuilds to be written in a way so that Portage can understand what versions of Python they were built against.
By being integrated into Funtoo Linux, Progress Overlay also offers Funtoo Linux users hundreds of updated ebuilds. Hundreds (over four hundred) ebuilds that interact with Python in some way have been enhanced to take advantage of the new Python eclass. These new enhancements allow Portage to do what python-updater used to do for you -- keep your system up-to-date and all dependencies satisfied, even in the case where you may upgrade or change Python versions installed on your system.
Resources
For more information, see: