summaryrefslogtreecommitdiffstats
path: root/pym/portage.py
Commit message (Collapse)AuthorAgeFilesLines
* In the file collision eerror output, don't colorize theZac Medico2007-10-131-3/+2
| | | | | | | file paths since the escape codes look ugly in the log. (trunk r8113:8115) svn path=/main/branches/2.1.2/; revision=8116
* Make the file collision eerror message less verboseZac Medico2007-10-131-9/+11
| | | | | | when in --quiet mode. (trunk r8100) svn path=/main/branches/2.1.2/; revision=8101
* In dblink.treewalk(), use os.walk() instead of portage.listdir()Zac Medico2007-10-131-13/+21
| | | | | | | | | | | | | in order to avoid cacheddir() bloat when listing the files to be merged from ${D}. Remove a chdir() call that's no longer needed for the collision-protect symlink code. (trunk r8095:8098) svn path=/main/branches/2.1.2/; revision=8099
* Remove a redundant call to elog_process(). (trunk r8091)Zac Medico2007-10-121-1/+0
| | | | svn path=/main/branches/2.1.2/; revision=8092
* s:this package wants:this package will: (trunk r8089)Zac Medico2007-10-121-1/+1
| | | | svn path=/main/branches/2.1.2/; revision=8090
* Bug #195527 - Unconditionally detect file collisions and logZac Medico2007-10-121-4/+37
| | | | | | | | | them as eerror messages via elog. This will allow us to collect more file collision data but it won't be quite as annoying as enabling collision-protect by default would be. (trunk r8085:8087) svn path=/main/branches/2.1.2/; revision=8088
* Make portdbapi.aux_get() cache more often. (trunk r8011)Zac Medico2007-10-121-0/+2
| | | | svn path=/main/branches/2.1.2/; revision=8069
* Properly exclude old-style virtuals from theZac Medico2007-10-121-2/+4
| | | | | | portdbapi.cp_list() cache. (trunk r8010) svn path=/main/branches/2.1.2/; revision=8068
* Remove a redundant os.access() call in portdbapi.aux_get()Zac Medico2007-10-121-3/+3
| | | | | | and handle the potential OSError instead. (trunk r8009) svn path=/main/branches/2.1.2/; revision=8067
* Optimize away a match_from_list() call insideZac Medico2007-10-121-4/+15
| | | | | | | | portdbapi.xmatch("match-all") when given atom has no operator or version. Also, make cp_list() use the xmatch("match-all") cache when possible. (trunk r8008) svn path=/main/branches/2.1.2/; revision=8066
* Strip the - prefix from EAPI in getmaskingstatus()Zac Medico2007-10-051-0/+2
| | | | | | if necessary. (trunk r7975) svn path=/main/branches/2.1.2/; revision=7976
* Include the package name in all exceptions raised fromZac Medico2007-10-051-3/+5
| | | | | | | | portdbapi.getfetchlist() so that a redundant and sometimes inaccurate message doesn't have to be shown when the error is caught in digestgen(). (trunk r7917) svn path=/main/branches/2.1.2/; revision=7939
* Make portdbapi.getfetchlist() bail out if the EAPIZac Medico2007-10-051-1/+8
| | | | | | | | is unsupported. This makes it impossible for an unsupported EAPI to result in invalid Manifest generation. (trunk r7916) svn path=/main/branches/2.1.2/; revision=7938
* Add EAPI masking support for binary packages. (trunk r7913)Zac Medico2007-10-051-1/+1
| | | | svn path=/main/branches/2.1.2/; revision=7935
* When the metadata cache contains a negative EAPI, it meansZac Medico2007-10-051-1/+6
| | | | | | | | | | | | that the cache entry was generated by a version of portage that did not support the eapi. When the user upgrades to a version that now supports the previously unsupported EAPI, those cache entries need to be regenerated. Therefore, when a cache entry has a negative EAPI, check if the EAPI would be supported and trigger a regen if appropriate. (trunk r7910 and r7919) svn path=/main/branches/2.1.2/; revision=7933
* Bump EAPI from 0 to 1 and fix eapi_is_supported() so thatZac Medico2007-10-051-1/+7
| | | | | | it works properly with both 0 and 1. (trunk r7909) svn path=/main/branches/2.1.2/; revision=7932
* Reimplement portdbapi.visible() so that is works withoutZac Medico2007-10-051-44/+50
| | | | | | | | | | | | | | using self.xmatch(). This should be 100% compatible with the previous implementation and have comparable performance. By eliminating the xmatch() dependency, the code becomes more generically usable, like for visibility filtering of binary packages. It seems that it will be necessary to move this code outside of the dbapi since visiblity filtering is really a resolver level function and to solve things like bug #88613 will require a more flexible approach. (trunk r7892) svn path=/main/branches/2.1.2/; revision=7925
* Document interaction between config.setinst() andZac Medico2007-10-051-0/+7
| | | | | | old-style virtuals preferences. (trunk r7891) svn path=/main/branches/2.1.2/; revision=7924
* Bug #194081 - Add EBUSY to the list of ignored errnos for unlinkZac Medico2007-09-281-4/+8
| | | | | | and rmdir calls during unmerge. (trunk r7869) svn path=/main/branches/2.1.2/; revision=7870
* Avoid useless and ugly atexit tracebacks that are triggered whenZac Medico2007-09-271-0/+3
| | | | | | portage exits during the portdbapi constructor. (trunk r6620) svn path=/main/branches/2.1.2/; revision=7863
* Ignore ENOTDIR from unmerge unlink calls. (trunk r7856)Zac Medico2007-09-271-1/+1
| | | | svn path=/main/branches/2.1.2/; revision=7857
* Set non-blocking mode on the pty master file descriptor whileZac Medico2007-09-261-16/+14
| | | | | | | | | | | | the slave file descriptor is still held open since otherwise the fcntl call can fail on FreeBSD (the child process might have already exited and closed the slave file descriptor so we have to keep it open in order to avoid FreeBSD potentially generating an EAGAIN exception). This approach is cleaner than triggering the exception and being forced to handle it somehow. (trunk r7835) svn path=/main/branches/2.1.2/; revision=7837
* Bug #192341 - When the chflags command does not exit successfully,Zac Medico2007-09-261-4/+13
| | | | | | | | | | | try to generate an informative error. First, use stat or lstat to try and generate an ENOENT error. It the path exists, verify that the chflags binary exists and raise CommandNotFound if necessary. Finally, simply generate an EPERM OSError with the output of the command since we're not sure exactly why it failed or what the real errno was. (trunk r7834) svn path=/main/branches/2.1.2/; revision=7836
* Bug #192341 - Eliminate the dependency on py-freebsd by implementingZac Medico2007-09-261-3/+16
| | | | | | | | | | it's chflags() and lchflags() functions as wrappers around the chflags command (which should always be available in any case). The functions are only called when merging/unmerging files that actually have flags set so the performance difference should be negligible. (trunk r7808) svn path=/main/branches/2.1.2/; revision=7833
* Bugs #168772 and #193695 - During unmerge, only ignore specificZac Medico2007-09-261-19/+64
| | | | | | | | | | | | | | | | | exceptions raised from unlink() and rmdir() calls. Bug #193695 - Add support for FreeBSD chflags during unmerge. This code is adapted from the code that already exists in movefile() for the merge phase. In movefile() FreeBSD chflags handling, use chflags instead of lchflags when temporarily adjusting the flags on the parent directory since we want to follow any symlinks to the real parent directory. (trunk r7803:7807) svn path=/main/branches/2.1.2/; revision=7832
* Flush stderr and stdout if their file descriptors are in fd_pipesZac Medico2007-09-261-4/+13
| | | | | | at the beginning of spawn(). (trunk r7793:7796) svn path=/main/branches/2.1.2/; revision=7824
* Mask binary packages if their CHOST does not match the oneZac Medico2007-09-261-1/+1
| | | | | | defined in make.conf. (trunk r7792) svn path=/main/branches/2.1.2/; revision=7822
* Bug #190268 - Avoid unwanted sandbox violations in src_test().Zac Medico2007-09-081-2/+1
| | | | | | | | - Allow SANDBOX_* variables to pass through. - Don't try to create an sandbox instance inside a test case in order to interaction with SANDBOX_* variables in src_test(). (trunk r7759) svn path=/main/branches/2.1.2/; revision=7760
* For bug #190268, filter SANDBOX_* from the calling environment so that theyZac Medico2007-09-071-1/+2
| | | | | | can't interfere with ebuild.sh. (trunk r7746) svn path=/main/branches/2.1.2/; revision=7747
* Reformat collision-protect output so that the list of file collisions isZac Medico2007-09-061-2/+7
| | | | | | | | shown below the banner. This puts more distance between the collision list and the list of files that prepstrip often displays just above, hopefully preventing user confusion about which files had collisions. (trunk r7720) svn path=/main/branches/2.1.2/; revision=7744
* Bug #190214 - Make the rpm phase use /usr/src/rpm instead of /usr/src/redhat.Zac Medico2007-09-061-0/+3
| | | | | | | Bug #190144 - Use the realpath of DISTDIR so that things like subversion.eclass are compatible with sandbox. (trunk r7700) svn path=/main/branches/2.1.2/; revision=7732
* Add * and ~* to the list of valid values for ACCEPT_KEYWORDS. (trunk r7688)Zac Medico2007-08-231-1/+1
| | | | svn path=/main/branches/2.1.2/; revision=7689
* Bug #189791 - Define EBUILD_PHASE=unpack during the nofetch phase since ↵Zac Medico2007-08-231-0/+1
| | | | | | otherwise we get EBUILD_PHASE=merge which isn't in our list of valid EBUILD_PHASES recognized by elog. (trunk r7684) svn path=/main/branches/2.1.2/; revision=7685
* In config.regenerate(), skip loading /etc/profile.env if it's mtime hasn't ↵Zac Medico2007-08-231-6/+13
| | | | | | changed. (trunk r7682) svn path=/main/branches/2.1.2/; revision=7683
* Bug #188703 - Don't adjust permissions in ${T} unless userpriv is enabled. ↵Zac Medico2007-08-221-1/+2
| | | | | | (trunk r7661) svn path=/main/branches/2.1.2/; revision=7662
* Fix ACCEPT_KEYWORDS validation so that ** is valid. (trunk r7647)Zac Medico2007-08-191-1/+3
| | | | svn path=/main/branches/2.1.2/; revision=7648
* For bug #188559, invalidate dblink._contents_inodes as necessary to prevent ↵Zac Medico2007-08-121-0/+6
| | | | | | FEATURES=unmerge-orphans from unmerging anything that belongs to the package that has just been merged. (trunk r7591) svn path=/main/branches/2.1.2/; revision=7592
* Optimize config.setcpv() so that it doesn't call regenerate() unnecessarily ↵Zac Medico2007-08-111-1/+12
| | | | | | when there are no USE wildcards to expand. (trunk r7589) svn path=/main/branches/2.1.2/; revision=7590
* Remove the depend phase from the doebuild actionmap since it's never used. ↵Zac Medico2007-08-041-2/+0
| | | | | | (trunk r7555) svn path=/main/branches/2.1.2/; revision=7556
* Make droppriv for the depend phase conditional on userpriv in FEATURES. ↵Zac Medico2007-08-031-2/+4
| | | | | | (trunk r7553) svn path=/main/branches/2.1.2/; revision=7554
* In portage.spawn() logging, put the read end of the pipe in O_NONBLOCK mode ↵Zac Medico2007-08-031-15/+11
| | | | | | just once at the beginning. This avoids unnecessary fcntl calls and removes one more opportunity to trigger EAGAIN errors on FreeBSD. (trunk r7548) svn path=/main/branches/2.1.2/; revision=7549
* For bug #187480, fix writemsg args in portdbapi.gvisible(). (trunk r7541)Zac Medico2007-08-021-1/+1
| | | | svn path=/main/branches/2.1.2/; revision=7542
* For bug #186960, try to create a directory for $ROOT if it doesn't exist. ↵Zac Medico2007-07-301-0/+1
| | | | | | (trunk r7516) svn path=/main/branches/2.1.2/; revision=7517
* For bug #187016, and env.d to the default USE_ORDER. (trunk r7426:7428)Zac Medico2007-07-291-1/+1
| | | | svn path=/main/branches/2.1.2/; revision=7429
* For pty logging, handle the EAGAIN error that is thrown from fcntl when the ↵Zac Medico2007-07-291-2/+10
| | | | | | slave end of the pty is closed on FreeBSD. (trunk r7424) svn path=/main/branches/2.1.2/; revision=7425
* For bug #186876, fall back it os.pipe() if pty.openpty() fails. (trunk r7422)Zac Medico2007-07-281-3/+10
| | | | svn path=/main/branches/2.1.2/; revision=7423
* When the fetch phase fails inside doebuild(), create an eerror log since the ↵v2.1.3Zac Medico2007-07-281-0/+13
| | | | | | mod_echo module might push the original message off of the top of the terminal and prevent the user from being able to see it. (trunk r7419) svn path=/main/branches/2.1.2/; revision=7420
* Handle 2 more cases where elog_process() needs to be called:Zac Medico2007-07-281-0/+14
| | | | | | | | - binary install via pkgmerge() fails before reaching the merge phase (pkg_setup dies) - doebuild() is called for the merge phase but it dies before reaching the merge phase (trunk r7417) svn path=/main/branches/2.1.2/; revision=7418
* When setting the size of the pty for logging, check if stdout isatty rather ↵Zac Medico2007-07-261-2/+1
| | | | | | than stdin. (trunk r7400) svn path=/main/branches/2.1.2/; revision=7401
* Merge the portage.spawn() implementation with pty logging from trunk:Zac Medico2007-07-251-31/+73
| | | | | | | | | - Sending output through the pty device makes logging compatible with sesandbox and the default selinux security policy (see bug #162404). - Having a pty device for stdout makes $PAGER behave nicely for things like check_license() from eutils.eclass. svn path=/main/branches/2.1.2/; revision=7395