summaryrefslogtreecommitdiffstats
path: root/pym/portage.py
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Add droppriv keyword for the depend phase (last one). (trunk r7387)Zac Medico2007-07-241-1/+1
| | | | svn path=/main/branches/2.1.2/; revision=7388
* Add droppriv keyword for the depend phase. (trunk r7385)Zac Medico2007-07-241-1/+1
| | | | svn path=/main/branches/2.1.2/; revision=7386
* Add FEATURES=fakeroot support which causes install and package phases to run ↵Zac Medico2007-07-241-21/+23
| | | | | | inside fakeroot when a non-root user runs the ebuild command. Thanks to swegener for the initial patch. (trunk r7379) svn path=/main/branches/2.1.2/; revision=7380
* Drop privileges in the "depend" phase regardless of FEATURES and RESTRICT ↵Zac Medico2007-07-231-10/+12
| | | | | | since that phase should never need special privileges. Thanks to swegener for the initial patch. (trunk r7373) svn path=/main/branches/2.1.2/; revision=7374
* For bug #185930, direct all FETCHCOMMAND output to stdout. (trunk r7330)Zac Medico2007-07-211-0/+8
| | | | svn path=/main/branches/2.1.2/; revision=7331
* When digest verification of a distfile fails, rename instead of unlinking it ↵Zac Medico2007-07-211-5/+18
| | | | | | in case it's a large download and the user wants to salvage it due to a bad digest. (trunk r7325) svn path=/main/branches/2.1.2/; revision=7326
* If the fetcher reported success and the file is too small, don't attempt to ↵Zac Medico2007-07-201-2/+10
| | | | | | resume. Upstream probably changed the distfile and we need to show a digest verification failure so the user gets a clue. (trunk r7321) svn path=/main/branches/2.1.2/; revision=7322
* Merge --depclean and --prune enhancements from trunk r7304:7310.Zac Medico2007-07-201-4/+1
| | | | svn path=/main/branches/2.1.2/; revision=7311
* For bug #185389, create a symlink when quickpkg injects a new package.Zac Medico2007-07-151-1/+2
| | | | svn path=/main/branches/2.1.2/; revision=7269
* Merge the new repo display code from trunk r7257:7260.Zac Medico2007-07-141-1/+1
| | | | svn path=/main/branches/2.1.2/; revision=7261
* Save the repo name along with the other metadata inside dyn_compile() so ↵Zac Medico2007-07-131-13/+10
| | | | | | that it's saved inside binary packages for when they are finally merged. (trunk r7247) svn path=/main/branches/2.1.2/; revision=7248
* Fix typo. (trunk r7228)Zac Medico2007-07-111-1/+1
| | | | svn path=/main/branches/2.1.2/; revision=7229
* For bug #184679, handle ENOTDIR by finding the non-directory parent and ↵Zac Medico2007-07-111-4/+29
| | | | | | testing that for collision instead. (trunk r7220) svn path=/main/branches/2.1.2/; revision=7221
* For bug #184843, allow USE_EXPAND variables to pass through if none of their ↵Zac Medico2007-07-101-22/+37
| | | | | | flags are in IUSE. This allows packages that support LINGUAS but don't declare it in IUSE to use the variable outside of the USE_EXPAND context. (trunk r7218) svn path=/main/branches/2.1.2/; revision=7219