Commit message (Collapse)AuthorAgeFilesLines
* portage/repository/config.py: Remove _manifest_cachegkeysBrian Dolbec2015-04-031-4/+1
* repository/config: Add a sigcheck keyword to load_manifestBrian Dolbec2015-04-032-2/+4
| | | | Add sigcheck keyword check to disable the validateSignature() call for the ManifestProcess which creates a manifest.
* portage/repository/config.py: Add loglevel setting to the gkeys instantiationBrian Dolbec2015-04-031-1/+1
* whitespace cleanupBrian Dolbec2015-04-031-5/+5
* portage/dbapi/porttree.py: Update manifest pathBrian Dolbec2015-04-031-2/+2
* repository/config.py: Update the manifest importBrian Dolbec2015-04-031-1/+1
* portage/package/ebuild/manifest.y: Add getManifest functionBrian Dolbec2015-04-031-0/+11
| | | | | This replaces the original digestcheck() which only passed in a path, not a Manifest instance. This retrieves a Manifest instance from the repo_config instance for that repo. This standardizes the use of digestcheck to the new Manifest class function.
* portage/package/ebuild/manifest.py: Remove deprecated manifest1_compat parameterBrian Dolbec2015-04-031-6/+1
| | | Remove derecation warning.
* Move manifest.py to portage/package/ebuild namespaceBrian Dolbec2015-04-031-0/+0
* whitespace cleanupBrian Dolbec2015-04-032-2/+2
* Initial refactor moving gkeys to repository/config RepoConfig classBrian Dolbec2015-04-037-198/+193
| | | | | | Move digestcheck to the Manifest class Create portage/package/ebuild/manifest.py: getManifest() to replace digestcheck.py Cache the digestcheck result. Cache the Manifest instances at the repo level.
* WIP add the gkeys repo to the testpathBrian Dolbec2015-04-031-1/+1
* portage/package/ebuild/digestcheck.py: Add a digestcheck cacheBrian Dolbec2015-04-031-0/+8
| | | | Emerge was calling digestcheck in 2 places for the same package in the same emerge run. This caches the first time and returns True if found in the cache.
* portage/package/ebuild/digestcheck: Initial Manifest signature verification ↵Brian Dolbec2015-04-031-1/+15
| | | | | addition Not yet toggled on/off via a FEATURE/cli option
* portage/repository/config.py: Add missed sign_manifest kwd to kwds passed to ↵Brian Dolbec2015-04-031-0/+1
| | | | Manifest
* portage/manifest.py: Add gkeys Manifest gpg sig verificationBrian Dolbec2015-04-031-7/+18
* portage/manifest.py: whitespace cleanupBrian Dolbec2015-04-031-13/+13
* dispatch-conf: fix unicode handling (bug 545270)Zac Medico2015-04-012-7/+6
| | | | | | | | This avoids UnicodeDecodeError problems by using UTF-8 encoding regardless of the locale. X-Gentoo-Bug: 545270 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=545270
* binarytree.move_ent: fix binpkg-multi-instance _pkg_paths corruption (bug ↵Zac Medico2015-04-011-2/+1
| | | | | | | | | | | | | | 545252) When binpkg-multi-instance support was added in commit 328dd4712f88cbb8ef390ae9eb471afa1ef781d7, the code that adjusts self._pkg_paths in binarytree.move_ent was not fixed to account for the extra directory in the path. Fixes: 328dd4712f88 ("binpkg-multi-instance 3 of 7") X-Gentoo-Bug: 545252 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=545252 Acked-by: Brian Dolbec <dolsen@gentoo.org>
* repoman: add --straight-to-stable (-S) optionMichał Górny2015-03-251-12/+16
| | | | | | | Add an option to safely allow committing ebuilds straight to stable. Before, this required either round trips with multiple commits or --force option that ignored valid QA concerns and (surprisingly to many developers) skipped some expensive QA checks.
* _post_src_install_soname_symlinks: fix bug 543818Zac Medico2015-03-222-19/+42
| | | | | | | | | | | | | The SonameDepsProcessor.add() method raises AssertionError if the multilib category of an ELF file is not recognized. It's not possible to account for soname dependencies in this case (the file is probably intended for a foreign architecture), so avoid the AssertionError and generate an eqawarn message for this case. The eqawarn message is suppressed for files matched by the QA_PREBUILT variable. X-Gentoo-Bug: 543818 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=543818 Acked-by: Brian Dolbec <dolsen@gentoo.org>
* dispatch-conf.conf: less-opts --quit-if-one-screen for bug 501886Marc Schiffbauer2015-03-101-1/+1
| | | | | | | | | | Use --quit-if-one-screen instead of --QUIT-AT-EOF, so that less doesn't quit automatically when the user has scrolled to the bottom. X-Gentoo-Bug: 501886 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=501886 Signed-off-by: Zac Medico <zmedico@gentoo.org> Acked-by: Brian Dolbec <dolsen@gentoo.org>
* WorldSelectedSet: fix load method for bug 542732Zac Medico2015-03-091-1/+4
| | | | | | | | | | | Since commit c3586c5e15c8373d08f9192713a2b03d4542faaf, the WorldSelectedSet load method does not force the set to load if it has already been loaded. Fix it to do so. Fixes: c3586c5e15c8 ("WorldSelectedSet: fix breakage for bug #539746") X-Gentoo-Bug: 542732 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=542732 Acked-by: Brian Dolbec <dolsen@gentoo.org>
* RELEASE-NOTES: fix typo in bug numberBrian Dolbec2015-03-041-1/+1
* binpkg-multi-instance 7 of 7Zac Medico2015-03-0414-38/+237
| | | | | | | | | | | | | | | | | | | | | | Support "profile-formats = build-id" setting for layout.conf. When this is enabled in layout.conf of the containing repository, a dependency atom in the profile can refer to a specific build, using the build-id that is assigned when FEATURES=binpkg-multi-instance is enabled. A build-id atom is identical to a version-specific atom, except that the version is followed by a hyphen and an integer build-id. With the build-id profile format, it is possible to assemble a system using specific builds of binary packages, as users of "binary" distros might be accustomed to. For example, an atom in the "packages" file can pull a specific build of a package into the @system set, and an atom in the "package.keywords" file can be used to modify the effective KEYWORDS of a specific build of a package. Refering to specific builds can be useful for a number of reasons. For example, if a particular build needs to undergo a large amount of testing in a complex environment in order to verify reliability, then it can be useful to lock a profile to a specific build that has been thoroughly tested.
* binpkg-multi-instance 6 of 7Zac Medico2015-03-041-113/+4
| | | | | | | | | | | | | Remove unused binarytree _remove_symlink, _create_symlink, prevent_collision, _move_to_all, and _move_from_all methods. These are all related to the oldest PKGDIR layout, which put all of the tbz2 files in $PKGDIR/All, and created symlinks to them in the category directories. The $PKGDIR/All layout should be practically extinct by now. Now portage recognizes all existing layouts, or mixtures of them, and uses the old packages in place. It never puts new packages in $PKGDIR/All, so there's no need to move packages around to prevent file name collisions between packages from different categories. It also only uses regular files (any symlinks are ignored).
* binpkg-multi-instance 5 of 7Zac Medico2015-03-041-42/+0
| | | | | | | | | | Remove unused bintree _pkgindex_cpv_map_latest_build function. This function is used by binhost clients running older versions of portage to select the latest builds when their binhost server switches to FEATURES=binpkg-multi-instance. The function is now unused because portage is now capable of examining multiple builds and it sorts them by BUILD_TIME in order to ensure that the latest builds are preferred when appropriate.
* binpkg-multi-instance 4 of 7Zac Medico2015-03-044-4/+126
| | | | | | | Add a test case to verify that emerge --rebuilt-binaries works with binpkg-multi-instance. This relies on the fact that binary packages of the same version are ordered by BUILD_TIME, so that the latest builds are preferred when appropriate.
* binpkg-multi-instance 3 of 7Zac Medico2015-03-0415-285/+613
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | FEATURES=binpkg-multi-instance causes an integer build-id to be associated with each binary package instance. Inclusion of the build-id in the file name of the binary package file makes it possible to store an arbitrary number of binary packages built from the same ebuild. Having multiple instances is useful for a number of purposes, such as retaining builds that were built with different USE flags or linked against different versions of libraries. The location of any particular package within PKGDIR can be expressed as follows: ${PKGDIR}/${CATEGORY}/${PN}/${PF}-${BUILD_ID}.xpak The build-id starts at 1 for the first build of a particular ebuild, and is incremented by 1 for each new build. It is possible to share a writable PKGDIR over NFS, and locking ensures that each package added to PKGDIR will have a unique build-id. It is not necessary to migrate an existing PKGDIR to the new layout, since portage is capable of working with a mixed PKGDIR layout, where packages using the old layout are allowed to remain in place. The new PKGDIR layout is backward-compatible with binhost clients running older portage, since the file format is identical, the per-package PATH attribute in the 'Packages' index directs them to download the file from the correct URI, and they automatically use BUILD_TIME metadata to select the latest builds. There is currently no automated way to prune old builds from PKGDIR, although it is possible to remove packages manually, and then run 'emaint --fix binhost' to update the ${PKGDIR}/Packages index. Support for FEATURES=binpkg-multi-instance is planned for eclean-pkg. X-Gentoo-Bug: 150031 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=150031
* binpkg-multi-instance 2 of 7Zac Medico2015-03-041-26/+87
| | | | | | | | Add multi-instance support to fakedbapi, which allows multiple instances with the same cpv to be stored simultaneously, as long as they are distinguishable using the new _pkg_str build_id, build_time, file_size, and mtime attributes. This will be used to add multi-instance support to the bindbapi class (which inherits from fakedbapi).
* binpkg-multi-instance 1 of 7Zac Medico2015-03-046-26/+93
| | | | | | | | Extend the _pkg_str class with build_id, build_time, file_size, and mtime attributes. These will be used to distinguish binary package instances that have the same cpv. Package sorting accounts for build_time, which will be used to prefer newer builds over older builds when their versions are identical.
* setup.py: Set version for new releasev2.2.18Brian Dolbec2015-03-041-1/+1
* RELEASE-NOTES: Update for releaseBrian Dolbec2015-03-041-0/+19
* man/egencache.1: Add missed --write-timestamp option (540482)Brian Dolbec2015-03-041-1/+4
* emaint.1: Update man page for better clarity (540482)Brian Dolbec2015-03-041-13/+30
| | | | | | | | As recommended by Duncan on the gentoo-portage-dev list. Clarify the all command. Add OPTIONS to all commands, so a user can determine which modules may run when the 'all' command is used. Remove repetitive '(* command only)' text by adding it to the section header.
* Don't spawn socks5-server.py for pkg_nofetch (bug 542052)Zac Medico2015-03-041-1/+3
| | | | | | | | | Don't spawn socks5-server.py for pkg_nofetch, since the spawn_nofetch function creates a private PORTAGE_TMPDIR. X-Gentoo-Bug: 542052 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=542052 Acked-by: Brian Dolbec <dolsen@gentoo.org>
* depgraph: fix 'operation' AttributeError (bug 541754)Zac Medico2015-03-031-1/+1
| | | | | | | | | | | Since commit 4f5e4f697e2593df164fc9864893768f7d2375fc, this faulty code has gone unreported because it's only triggered by invalid dependencies in /var/db/pkg. Fixes: 4f5e4f697e25 ("Use Package instance attributes to clean up and simplify depgraph.validate_blockers().") X-Gentoo-Bug: 541754 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=541754 Acked-by: Brian Dolbec <dolsen@gentoo.org>
* make.conf: expand PORTAGE_CONFIGROOT (bug 511806)Zac Medico2015-03-031-0/+1
| | | | | | | | | This can be useful for making settings, such as PKGDIR, relative to PORTAGE_CONFIGROOT. X-Gentoo-Bug: 511806 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=511806 Acked-by: Brian Dolbec <dolsen@gentoo.org>
* main/emaint.1: Add entry about the merges modulePavel Kazakov2015-02-281-1/+9
* Do not interrupt on SIGCONTBertrand SIMONNET2015-02-261-0/+1
| | | | | | | | SIGCONT signals should not interrupt any system calls (locking or wait pid for example). URL: http://crbug.com/417800 X-Gentoo-Bug-URL: https://bugs.gentoo.org/500436
* man: fix bold style with man page sectionsMike Frysinger2015-02-266-9/+9
| | | | The section number should not be bolded like the main page.
* actions.py: fix missing localization import (bug 541302)Zac Medico2015-02-251-1/+3
| | | | | | | | | | | | Since commit 206efe5f6341bce99a5e9994a0458c304513b2c3, FEATURES=buildpkg triggers a NameError due to a missing localization import. Fix the NameError, and also allow read-only PKGDIR if the --usepkgonly option is enabled. Fixes: 206efe5f6341 ("emerge: check for writable PKGDIR (490732)") X-Gentoo-Bug: 541302 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=541302 Acked-by: Brian Dolbec <dolsen@gentoo.org>
* use_reduce: support non-string token_class (bug 541198)Zac Medico2015-02-241-2/+4
| | | | | | | | Do not assume that token_class returns a basestring. X-Gentoo-Bug: 541198 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=541198 Acked-by: Brian Dolbec <dolsen@gentoo.org>
* man/portage.5: document sets.conf (bug 541188)Zac Medico2015-02-231-1/+48
| | | | | | | | | | This documents /etc/portage/sets.conf, /usr/portage/sets.conf, and /usr/share/portage/config/sets. It refers to "Package Set Configuration" section of the html documentation for more information. X-Gentoo-Bug: 541188 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=541188 Acked-by: Brian Dolbec <dolsen@gentoo.org>
* repoman: skip vcs calls for manifest modes (bug 540882)Zac Medico2015-02-211-1/+4
| | | | | | | | | For manifest and manifest-check modes, there's no need to call the vcs unless --if-modified=y is enabled. X-Gentoo-Bug: 540882 X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=540882 Acked-by: Brian Dolbec <dolsen@gentoo.org>
* emaint merges: Fix call to emergePavel Kazakov2015-02-211-3/+3
| | | | | | | Due to a change to the constant PORTAGE_BIN_PATH, the emaint merges module needs to be updated to properly call the emerge command. Furthermore, the --ask flag is set to prompt users before attempting to emerge any packages--thanks to Nikoli for the idea.
* emerge(1): use (...) for parenthetical asidesMike Frysinger2015-02-181-2/+2
* binarytree: avoid unecessary index regenerationZac Medico2015-02-171-0/+2
| | | | | | | | | | Since commit f1c1b8a77eebf7713b32e5f9945690f60f4f46de, binarytree regenerates the 'Packages' index unnecessarily, due to missing REQUIRES and PROVIDES entries. These entries are not required, so use default empty values in order to avoid the unnecessary regeneration. Fixes: f1c1b8a77eeb ("Generate soname dependency metadata (bug 282639)") Acked-by: Alexander Berntsen <bernalex@gentoo.org>
* bin/eapi.sh: Invert condition in ___eapi_unpack_supports_absolute_paths().Ulrich Müller2015-02-161-1/+1
| | | | | This should return true starting with EAPI 6, and false for EAPI 5 and earlier.
* Fix random SonameOrChoicesTestCase failureZac Medico2015-02-141-1/+1
| | | | | | | | | | | | In commit 11467fc640995e3dc8897c82bbc7130d5bf27d05, the atom_not_selected variable was initialized outside of a loop, when it should have been re-initialized for each iteration of the loop. This caused atom_not_selected to have an incorrect value in some cases, triggering random failures of SonameOrChoicesTestCase, as observed here: https://travis-ci.org/gentoo/portage/jobs/50673911#L1114 Fixes: 11467fc64099 ("depgraph: soname dependency resolution (bug 282639)")