aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Shorten 'repositories' usage to 'repos' to be more consistentreposTim Harder2015-06-2815-63/+54
| | | | | | This slightly breaks the API in a few places, namely in pkgcore.config.domain if the installed_repositories and source_repositories attrs are used externally.
* domain: split configuring and filtering repos into separate methodTim Harder2015-06-281-84/+81
| | | | | | This is the beginning of refactoring domain into separate pieces bit by bit. It would have been cleaner if the visibility module was written but that will come later.
* repos: remove the 'base' attr (only provide and use 'location')Tim Harder2015-06-283-35/+35
| | | | | This simplifies things as they appeared to be used interchangeably in certain places.
* change DISTDIR, PKGDIR, and "PORTDIR" defaultsTim Harder2015-06-283-3/+7
| | | | | | | | | | | | | | | | | Everything is now anchored under /var/gentoo, note that /var/cache/gentoo wasn't chosen since various data might not be able to be regenerated, e.g. certain binary pkgs in PKGDIR or locally modified ebuilds that aren't committed anywhere else. The defaults are now as follows: DISTDIR=/var/gentoo/dist PKGDIR=/var/gentoo/pkgs PORTDIR=/var/gentoo/repos/gentoo Note that PORTDIR isn't actually supported anymore but all repos will be available under /var/gentoo/repos/<repo_name> where repo_name should generally be the matching name from the repo metadata.
* update another pkgcore-check -> pkgcheck referenceTim Harder2015-06-281-4/+3
|
* portage_conf: add support for make.conf directoriesTim Harder2015-06-281-16/+25
| | | | | | All regular, nonhidden files under make.conf will be parsed in alphabetical order meaning that later settings will override earlier ones.
* fs/livefs: add sorted_scan() to return regular, nonhidden filesTim Harder2015-06-285-24/+58
| | | | | Mostly the same thing is being used in a several places throughout the code.
* portage_conf: don't try to load /etc/make.globals anymoreTim Harder2015-06-281-12/+5
| | | | | Only the file provided by pkgcore (usually installed at /usr/share/pkgcore/config/make.globals) is used for global settings.
* use consistent format for errno checkingTim Harder2015-06-282-2/+2
|
* Revert "tox: simplify installing snakeoil and pkgcore"Tim Harder2015-06-281-4/+4
| | | | | | | The simpler install method doesn't appear to work quite right with the travis-ci setup yet. This reverts commit e080b28a84bf237ec72a8da4a5685123169ff939.
* travis-ci: drop unnecessary wheel and portage uid/gid settingsTim Harder2015-06-281-6/+0
| | | | The warnings and errors for the missing uids/gids was dropped recently.
* tox: simplify installing snakeoil and pkgcoreTim Harder2015-06-271-4/+4
|
* don't build man pages by defaultTim Harder2015-06-271-1/+1
|
* use setuptools when availableTim Harder2015-06-271-5/+12
| | | | | | | | | | | | This should fix installing pkgcore via pip which uses setuptools internally and passes options to the install method that distutils doesn't support so our custom, distutils-based install method breaks. However, this still doesn't allow just doing `pip install pkgcore` or similar to fully work since pkgcore's setup.py depends on snakeoil modules so pip is unable to figure out the dependency and install it on new setups. In other words, you have to do `pip install snakeoil` first manually before installing pkgcore in new environments.
* portage_conf: explicitly load required modulesTim Harder2015-06-271-7/+4
| | | | | It's not worth demandloading modules that will almost always be needed. Some of these are always needed now that we require repos.conf to exist.
* portage_conf: return priority ordered dict from load_repos_conf()Tim Harder2015-06-271-8/+13
|
* portage_conf: main-repo setting must be valid or the gentoo repo must existTim Harder2015-06-271-1/+8
| | | | | | We're not quite at a fully unpinned repos setup without any underlying default so either the default must be set or the gentoo repo must be configured in repos.conf.
* portage_conf: throw error on missing repos.conf settingsTim Harder2015-06-271-0/+4
|
* use OrderedDict from collections instead of snakeoil.mappingsTim Harder2015-06-274-6/+6
|
* portage_conf: re-add config object simplification for the base caseTim Harder2015-06-271-4/+7
| | | | | We don't need a multiplex setup for the base case where only the default repo exists.
* portage_conf: revert to using the default repo as a default parent repoTim Harder2015-06-271-5/+2
| | | | | This is what the previous code did and is the easiest fall back until we fix masters handling.
* portage_conf: re-add missing fields for repo objects in the configTim Harder2015-06-271-5/+14
| | | | | | | | | This fixes things like slaved repos properly inheriting mirrors from the master repo. Note that more work needs to be done since this doesn't fully handle multiple masters yet or response the masters field from repos.conf settings.
* fix unknown mirror error message wordingTim Harder2015-06-271-3/+5
|
* portage_config: fix prepending root to world file pathMichał Górny2015-06-261-1/+1
| | | | | | Strip leading slash from the world file path passed to os.path.join(), as that causes it to ignore preceding parameters and therefore fail to prepend root.
* travis-ci: force <tox-2 to be installedTim Harder2015-06-251-1/+1
| | | | | tox>=2 is broken for various documented dir substitutions (see https://bitbucket.org/hpk42/tox/issue/246/envbindir-substitution-key-not-found).
* remove dead codeTim Harder2015-06-255-173/+0
| | | | It can be found/revived from the history if needed.
* portage_conf: minor syncer config simplificationTim Harder2015-06-241-2/+1
| | | | Syncers should always exist under the new repos.conf only system.
* portage_conf: minor dict creation simplificationTim Harder2015-06-241-1/+1
|
* portage_conf: high values map to high priority levels for reposTim Harder2015-06-241-6/+8
| | | | This mirrors portage's current usage and docs.
* bzr sync: use modern 'bzr branch' commandMichał Górny2015-06-231-1/+1
| | | | | Use 'bzr branch' rather than 'bzr get' since the latter is deprecated and no longer works correctly.
* bash: default to EAPI=0 if nothing is passed to generate EAPI func listTim Harder2015-06-231-1/+1
|
* bash: drop __inject_common_phase_funcs() usageTim Harder2015-06-235-8/+4
| | | | | It's cleaner to just use __inject_phase_funcs directly in only the EAPI=0 lib.
* drop unused importTim Harder2015-06-231-1/+0
|
* drop warnings if wheel and/or the portage users/groups are missingTim Harder2015-06-231-20/+1
| | | | | | | | | | | These types of messages spew forth annoyingly on non-Gentoo systems where pkgcore or pkgcheck work fine running as root or another user (e.g. on travis-ci) or in a prefix setting once support is finished for it. Really it seems like it would better to document such requirements for certain use cases and error out if absolutely necessary in the code somewhere else.
* remove old, unused USERLAND settingTim Harder2015-06-231-3/+0
|
* doc: update pkgcore man page with portage differencesTim Harder2015-06-221-6/+16
|
* remove all possible portdir referencesTim Harder2015-06-229-48/+47
| | | | | | | | | The only one left in the code is required to be exported to the ebuild environment according to PMS and should really be deprecated and dropped from a future EAPI. Besides that, references are scattered throughout the docs and may be cleaned up in the future.
* drop deprecated support for loading /etc/make.confTim Harder2015-06-222-3/+3
| | | | Only /etc/portage/make.conf is used now.
* remove unused importsTim Harder2015-06-222-5/+2
|
* minor pkgcore_checks -> pkgcheck renaming fixTim Harder2015-06-221-1/+1
|
* whitespace consistencyTim Harder2015-06-229-69/+75
|
* portage_conf: more variable renamingTim Harder2015-06-221-64/+64
| | | | Mostly for clarification and simplification purposes.
* more repos.conf and repo syncer cleanupsTim Harder2015-06-221-51/+61
| | | | | Various simplifications and explanations hopefully to make the code a bit clearer.
* tox: bump coverage versionTim Harder2015-06-221-1/+1
|
* rework and simplify repos.conf parsing and sync setupTim Harder2015-06-224-158/+82
| | | | | | | | | Now pkgcore only supports configuring repos via repos.conf, PORTDIR and PORTDIR_OVERLAY settings in make.conf are no longer respected. Also, all references to portdir and overlays are slowly getting purged from pkgcore. All that is seen are repos that are sorted via their priority settings in repos.conf.
* drop deprecated gentoo repo check for empty mastersTim Harder2015-06-211-1/+1
| | | | | The official gentoo repo has properly unset masters in its layout.conf file for a while now.
* update snakeoil.compatibility.ConfigParser usageTim Harder2015-04-252-5/+7
|
* Merge pull request #88 from flhs/fixferringb2015-04-181-0/+2
|\ | | | | fixed function usev() in bash/eapi/common.lib
| * fixed function usev() in bash/eapi/common.libWenhua Zhao2015-04-181-0/+2
|/
* Fixed a 'pmerge --clean' behavior by setting replace=False.Wenhua Zhao2015-04-181-0/+1
| | | | | | | | | | | | | | 'clean' should reuse livefs repos. With replace=True, livefs repos are excluded by the _vdb_restrict in ebuild/resolver.py, causing the resolver to generate a packages list that is not consistent with the installed packages. The error can be shown by running "pmerge --clean" then "pmerge -uD @world". Some packages (automake-1.15 in my case) removed by 'clean' are reinstalled by 'update'. Setting replace=False fixed the error. We don't want to replace anything by 'pmerge --clean' afterall.