- Expanded variables in EBUILDs: /var/db/repos/gentoo/metadata/md5-cache/
- Update repository md5-cache:
sudo egencache --update --repo gentoo
- Update repository md5-cache:
- Installed packages and the USE flags used: /var/db/pkg
- Profile use flags: /etc/portage/make.profile
- To get system-wide use flags:
portageq envvar USE
, slower and with extra clutter:emerge --info
- example package constraint:
>=xfce-base/libxfce4ui-4.12:=[gtk3(+)]
>=x11-libs/gtk+-3.22:3[introspection?,X]
TODO:
- Finish use_database
- Read /var/db/pkg for installed packages
- to see change of use flags and mark ebuilds that have flag change
- mark which version is installed
- Read world set of user installed packages
- Read system set: compare with world to understand better
(Interpreted from the PMS)
Phase function | Satisfied dependency classes |
---|---|
Prepare, compile and create an image, aka all the src_* functions |
DEPEND , BDEPEND |
Interaction with the live filesystem: install or uninstall | RDEPEND , IDEPEND |
pkg_config , after install |
RDEPEND , PDEPEND |
The call order for installing a package is:
- Prepare, compile and create an image:
pkg_setup
src_unpack
src_prepare
src_configure
src_compile
src_test
(except if RESTRICT=test or disabled by user)src_install
- Interaction with the live filesystem: install
pkg_preinst
: can touch stuff under${ROOT}
(which usually points to/
)- [ ... emerge performs the install ... ]
pkg_postinst
: can touch stuff under${ROOT}
(which usually points to/
)
The call order for uninstalling a package is:
pkg_prerm
- [ ... emerge performs the uninstall ... ]
pkg_postrm
The call order for upgrading, downgrading or reinstalling a package is:
- Prepare, compile and create an image:
pkg_setup
src_unpack
src_prepare
src_configure
src_compile
src_test
(except if RESTRICT=test or disabled by user)src_install
- Interaction with the live filesystem: uninstall old then install new
pkg_preinst
pkg_prerm
for the package that will be replaced- [ ... emerge uninstalls old package ... ]
pkg_postrm
for the package that will be replaced- [ ... emerge install new package ... ]
pkg_postinst
for the replacing package
For installing binary packages, the src phases are not called.
When building binary packages that are not to be installed locally, the pkg_preinst
and pkg_postinst
functions are not called.