summaryrefslogtreecommitdiffstats
path: root/pym
Commit message (Collapse)AuthorAgeFilesLines
* Make vartree.cpv_all() stop relying on having a categoriesZac Medico2007-12-201-2/+13
| | | | | | | list since it may not be available if there is no portage tree. (trunk r8982) svn path=/main/branches/2.1.2/; revision=8983
* Fix a typo: eclasses -> eclass. (trunk r8978)Zac Medico2007-12-201-1/+1
| | | | svn path=/main/branches/2.1.2/; revision=8979
* Make some adjustments so that it's possible to install binaryZac Medico2007-12-201-6/+30
| | | | | | | | | | | | | | | | | | | | | | | packages without having a portage tree: * Make portdbapi.aux_get() return early by raising a KeyError if it detects that there is no portage tree. * Move the ARCH and USERLAND sanity check to the last moment in doebuild() and only require these variables if an existing environment (such as environment.bz2) is unavailable. * Convert messages about missing portage tree to debug level warnings since quite often it's possible to function without a portage tree now. * Make binarytree.populate() stop relying on having a categories list since it may not be available if there is no portage tree. (trunk r8972:8976) svn path=/main/branches/2.1.2/; revision=8977
* Bug #202748 - When merging a binary package, only clean upZac Medico2007-12-201-1/+4
| | | | | | | temp files on success. Otherwise, leave the temp files intact for debugging purposes. (trunk r8971) svn path=/main/branches/2.1.2/; revision=8972
* Whitespace only: remove extra indentation. (trunk r8969)Zac Medico2007-12-201-38/+37
| | | | svn path=/main/branches/2.1.2/; revision=8970
* Always add ARCH to USE without relying on it being listedZac Medico2007-12-201-0/+2
| | | | | | in PORTAGE_ARCHLIST. (trunk r8967) svn path=/main/branches/2.1.2/; revision=8968
* Keep filtered USE in the PORTAGE_USE variable to keepZac Medico2007-12-191-6/+6
| | | | | | | it separate from the global USE that's shown by emerge --info. (trunk r8963) svn path=/main/branches/2.1.2/; revision=8964
* Trigger a config.regenerate() call inside setcpv() when theZac Medico2007-12-191-1/+7
| | | | | | | | | EBUILD_PHASE variable is defined. It's too expensive to do the regenerate() call every time. Do in when EBUILD_PHASE is defined since it's needed to create the filtered USE that environ() passes to the ebuild environment. (trunk r8961) svn path=/main/branches/2.1.2/; revision=8962
* Store filtered USE for config.environ() calls in a specialZac Medico2007-12-181-3/+14
| | | | | | | attribute so that the normal global USE is still available for things like emerge --info output. (trunk r8959) svn path=/main/branches/2.1.2/; revision=8960
* Fix USE filtering code so that it doesn't rely on config.setcpv()Zac Medico2007-12-181-2/+4
| | | | | | calling config.regenerate(). (trunk r8957) svn path=/main/branches/2.1.2/; revision=8958
* Make special build and bootstrap flags into implicit membersZac Medico2007-12-181-0/+5
| | | | | | of IUSE so that stage builds will work again. (trunk r8955) svn path=/main/branches/2.1.2/; revision=8956
* Include masked flags in PORTAGE_IUSE to avoid more false positivesZac Medico2007-12-181-3/+4
| | | | | | in the useq() IUSE check. (trunk r8949) svn path=/main/branches/2.1.2/; revision=8950
* Create a PORTAGE_IUSE variable containing an egrep patternZac Medico2007-12-181-2/+13
| | | | | | | | for use by the QA check that's built into useq(). This allows the IUSE logic for this check to be isolated in the python code. (trunk r8945) svn path=/main/branches/2.1.2/; revision=8948
* Bug #176467 - Filter out USE flags that aren't part of IUSE.Zac Medico2007-12-181-5/+35
| | | | | | | | | | | | Some flags are considered to be implicit members of IUSE: * Flags derived from ARCH * Flags derived from USE_EXPAND_HIDDEN variables * Forced flags, such as those from {,package}use.force (trunk r8944) svn path=/main/branches/2.1.2/; revision=8947
* Bug #201848 - Make the ebuild command reject ebuilds that do not defineZac Medico2007-12-131-1/+6
| | | | | | SLOT. (trunk r8895) svn path=/main/branches/2.1.2/; revision=8902
* Bug #201848 - Mask ebuilds that do not define SLOT. (trunk r8894)Zac Medico2007-12-131-0/+2
| | | | svn path=/main/branches/2.1.2/; revision=8900
* Instead of calling sys.exit when a ParseError occurs in the configZac Medico2007-12-111-58/+20
| | | | | | | | | constructor, raise a ParseError and make emerge and portageq handle the error. This way consumers of the portage api can handle the ParseError rather than have their application exit. Thanks to lxnay for reporting. (trunk r8884) svn path=/main/branches/2.1.2/; revision=8886
* * Raise PermissionDenied from getconfig() when appropriate.Zac Medico2007-12-111-3/+5
| | | | | | | | * When available, make getconfig() include an invalid token in a ParseError message. (trunk r8883) svn path=/main/branches/2.1.2/; revision=8885
* * When installing a binary package, export the file name of the packageZac Medico2007-12-111-1/+8
| | | | | | | | | | | | | | | as PORTAGE_BINPKG_FILE in order to give bashrc users an opportunity to do various things such as remove binary packages after they're installed. * Add a note in ebuild.sh explaining why hardcoded bash lists are needed for backward compatibility with <portage-2.1.4 since they assume that a newly installed version of ebuild.sh will work for pkg_postinst, pkg_prerm, and pkg_postrm when portage is upgrading itself. (trunk r8878) svn path=/main/branches/2.1.2/; revision=8881
* Do an EBUILD_EXIT_STATUS_FILE sanity check in spawnebuild()Zac Medico2007-12-081-1/+10
| | | | | | | where it spawns misc-functions.sh after the install phase. (trunk r8874) svn path=/main/branches/2.1.2/; revision=8875
* Bug #189417 - Explicitly whitelist any remaining variables that areZac Medico2007-12-071-12/+40
| | | | | | | | allowed to leak into the ebuild environment. Also, fix spawnebuild to properly filter the env when it spawns misc-functions.sh after the install phase. (trunk r8863:8867) svn path=/main/branches/2.1.2/; revision=8868
* Bug #201506 - Make preprocess_ebuild_env() preserveZac Medico2007-12-061-1/+4
| | | | | | | | SANDBOX_{DENY,PREDICT,READ,WRITE} between all phases, except when the environment comes directly from environment.bz2. (trunk r8853) svn path=/main/branches/2.1.2/; revision=8854
* Remove redundant config.load_infodir() calls fromZac Medico2007-12-031-2/+0
| | | | | | | portage.pkgmerge() and dblink.unmerge() since it's already called in doebuild(). (trunk r8835) svn path=/main/branches/2.1.2/; revision=8836
* * Don't load the CATEGORY in config.load_infodir() since this value isZac Medico2007-12-031-22/+22
| | | | | | | | | critical for doebuild() operation and we already know the category. * Always call config.setcpv() prior to config.load_infodir() so that the CATEGORY is always known. (trunk r8830:88310 svn path=/main/branches/2.1.2/; revision=8832
* Bug #201090 - When portage creates a temp PORTAGE_BIN_PATH, put itZac Medico2007-12-031-1/+4
| | | | | | | inside PORTAGE_TMPDIR since, unlike /tmp, it can't be mounted with the "noexec" option. (trunk r8828) svn path=/main/branches/2.1.2/; revision=8829
* Make config.load_infodir() more fault tolerant for cases like bugZac Medico2007-12-031-5/+16
| | | | | | #201082. (trunk r8826) svn path=/main/branches/2.1.2/; revision=8827
* Bug #201082 - Don't call config.load_infodir() prior to pkg_postinst()Zac Medico2007-12-031-1/+0
| | | | | | | | | because it's not needed and the ebuild path that's passed in for postinst is may be from the portage tree, which causes load_infodir() to discard critical metadata such as CATEGORY without realoading it. (trunk r8822) svn path=/main/branches/2.1.2/; revision=8823
* * whitelist CCACHE_* and DISTCC_* variables in config.environ()Zac Medico2007-12-031-1/+4
| | | | | | | * unset CCACHE_* and DISTCC_* variables in save_ebuild_env() (trunk r8818) svn path=/main/branches/2.1.2/; revision=8819
* Synchronize self-reinstallation logic so that emerge will alwaysZac Medico2007-12-021-1/+2
| | | | | | | restart itself when dblink.merge() creates temporary copies of PORTAGE_{BIN,PYM}_PATH. (trunk r8803) svn path=/main/branches/2.1.2/; revision=8804
* In dblink.treewalk(), tweak the "Safely unmergingZac Medico2007-12-021-9/+13
| | | | | | | already-installed instance" logic to make sure that it works in all possible cases. (trunk r8801) svn path=/main/branches/2.1.2/; revision=8802
* For portage.spawn() calls, use a _shell_quote() function to quoteZac Medico2007-12-021-19/+36
| | | | | | the path of the binary since. (trunk r8798) svn path=/main/branches/2.1.2/; revision=8799
* * whitelist some misc variables from the calling environmentZac Medico2007-12-011-4/+9
| | | | | | | | | * blacklist the same variables in save_ebuild_env() so that the latest values from the calling environment always override those from the ebuild environment (trunk r8796) svn path=/main/branches/2.1.2/; revision=8797
* Move duplicate module loading code into a function. (trunk r8789)Zac Medico2007-12-011-15/+13
| | | | svn path=/main/branches/2.1.2/; revision=8790
* Add missing newline after message. (trunk r8787)Zac Medico2007-12-011-1/+2
| | | | svn path=/main/branches/2.1.2/; revision=8788
* In create_trees(), when isolating the environment of the ROOT=/ config,Zac Medico2007-12-011-2/+4
| | | | | | | use it's env.d keys as a blacklist to make env.d override the calling environment. (trunk r8785) svn path=/main/branches/2.1.2/; revision=8786
* * whitelist PREROOTPATH in config.environ()Zac Medico2007-12-011-1/+1
| | | | | | | * filter PREROOTPATH in save_ebuild_env() (trunk r8781) svn path=/main/branches/2.1.2/; revision=8782
* * whitelist DISTDIR, PORTDIR, and PORTAGE_TMPDIR, PORTAGE_WORKDIR_MODE.Zac Medico2007-12-011-4/+12
| | | | | | * whitelist RPMDIR just for the "rpm" phase. (trunk r8779) svn path=/main/branches/2.1.2/; revision=8780
* Update comments about ROOTPATH:Zac Medico2007-12-011-1/+2
| | | | | | | sandbox's bashrc sources /etc/profile which unsets ROOTPATH, so we have to back it up and restore it. (trunk r8775:8777) svn path=/main/branches/2.1.2/; revision=8778
* In doebuild_environment(), fix KV logic so that itZac Medico2007-12-011-1/+2
| | | | | | | | never gets set during the "depend" phase. Also, use backup_changes() to properly cache the result. (trunk r8771) svn path=/main/branches/2.1.2/; revision=8773
* sandbox unsets ROOTPATH, so we have to back it up on the pythonZac Medico2007-11-301-1/+6
| | | | | | side then restore it on the bash side. (trunk r8768) svn path=/main/branches/2.1.2/; revision=8769
* Fix broken module loading logic.Zac Medico2007-11-301-6/+8
| | | | svn path=/main/branches/2.1.2/; revision=8767
* Add some variables such as TERM to the whitelist of variablesZac Medico2007-11-301-2/+13
| | | | | | | from the calling environment that are allowed into the ebuild environment. (trunk r8763) svn path=/main/branches/2.1.2/; revision=8764
* Make config.environ() export PKGDIR to the ebuild environmentZac Medico2007-11-301-0/+7
| | | | | | | during the "package" phase since it's currently referenced there. (trunk r8759) svn path=/main/branches/2.1.2/; revision=8760
* Bug #189417 - When ${T}/environment exists, isolate the ebuildZac Medico2007-11-301-8/+74
| | | | | | | | | environment from the calling environment. This makes it possible for the build to unset a variable that was inherited from the calling environment, and the variable will remain unset between phases. (trunk r8752:8755) svn path=/main/branches/2.1.2/; revision=8756
* Make elog_process() pre-load log modules that it can be calledZac Medico2007-11-291-0/+19
| | | | | | just for that purpose. (trunk r8751) svn path=/main/branches/2.1.2/; revision=8752
* When portage reinstalls itself, pre-load elog modules inZac Medico2007-11-291-3/+10
| | | | | | | dblink.merge() since we won't be able to later if they get unmerged (happens when namespace changes). (trunk r8749) svn path=/main/branches/2.1.2/; revision=8750
* Don't modify sys.path inside dblink.merge() because it doesn't seemZac Medico2007-11-291-4/+2
| | | | | | | to help and it triggers import errors for elog modules when downgrading to versions of portage that use the old namespace. (trunk r8745) svn path=/main/branches/2.1.2/; revision=8748
* When portage reinstalls itself, copy both the bin and pymZac Medico2007-11-291-25/+26
| | | | | | | | directories to a temp dir. Insert the temporary PORTAGE_PYM_PATH as the first element of sys.path and register an atexit hook to clean up the temporary directories. (trunk r8743) svn path=/main/branches/2.1.2/; revision=8744
* In dblink.treewalk(), make portage unmerge multiple instancesZac Medico2007-11-291-1/+2
| | | | | | | os sys-apps/portage in the same slot if necessary (needed when AUTOCLEAN=no is set). svn path=/main/branches/2.1.2/; revision=8742
* If portage is reinstalling itself, create a temporaryZac Medico2007-11-291-27/+81
| | | | | | | | copy of PORTAGE_BIN_PATH in order to avoid relying on on the new versions which may be incompatible. (trunk r8730:8739) svn path=/main/branches/2.1.2/; revision=8740