Zac Medico [Mon, 19 Dec 2011 20:44:47 +0000 (12:44 -0800)]
Display EROOT when ROOT != "/".
Since commit
a715b65f7bd36409c1283e6911265d1f4405ab7a, the Package.root
and RootConfig.root attributes refer to EROOT instead of ROOT.
Therefore, adjust display code so that EROOT is only displayed when
ROOT != "/".
Arfrever Frehtes Taifersar Arahesis [Mon, 19 Dec 2011 01:33:27 +0000 (02:33 +0100)]
Disallow some functions in global scope in EAPI="4-python".
Zac Medico [Mon, 19 Dec 2011 00:12:57 +0000 (16:12 -0800)]
_run_pkg_pretend: doebuild_environment for clean
Zac Medico [Sun, 18 Dec 2011 22:13:30 +0000 (14:13 -0800)]
set_colors(): suppress "/dev/tty: No such device"
Arfrever Frehtes Taifersar Arahesis [Sun, 18 Dec 2011 21:55:58 +0000 (22:55 +0100)]
Define portage.repository.config.RepoConfig.__repr__().
Zac Medico [Sun, 18 Dec 2011 21:47:07 +0000 (13:47 -0800)]
test_poll: separate classes for pipe vs. pty
Also, generate appropriate SKIP message if pty is not acquired.
Zac Medico [Sun, 18 Dec 2011 21:28:17 +0000 (13:28 -0800)]
PipeReaderArrayTestCase: sleep for fast computers
Allows reliable triggering of the failure mode on fast computers.
Arfrever Frehtes Taifersar Arahesis [Sun, 18 Dec 2011 21:25:07 +0000 (22:25 +0100)]
RepoConfigLoader._add_overlays(): Rename a variable and add a comment.
Arfrever Frehtes Taifersar Arahesis [Sun, 18 Dec 2011 21:14:00 +0000 (22:14 +0100)]
Optimize RepoConfigLoader._add_overlays().
Arfrever Frehtes Taifersar Arahesis [Sun, 18 Dec 2011 20:43:51 +0000 (21:43 +0100)]
set_colors(): Redirect input to `stty size` to make it work after
commit
a3797a63a30579be3ba5418aad7e76fd520f9aee.
Zac Medico [Sun, 18 Dec 2011 20:18:38 +0000 (12:18 -0800)]
environment: don't save COLUMNS
Zac Medico [Sun, 18 Dec 2011 20:15:13 +0000 (12:15 -0800)]
whitelist COLUMNS
Zac Medico [Sun, 18 Dec 2011 18:19:09 +0000 (10:19 -0800)]
RELEASE-NOTES: revert --quiet-build default
See commit
028f0b0e223861826747b531824319520ef26ddd.
Arfrever Frehtes Taifersar Arahesis [Sun, 18 Dec 2011 03:01:31 +0000 (04:01 +0100)]
Parse layout.conf files in portage.repository.config.RepoConfig.__init__()
instead of portage.repository.config.RepoConfigLoader.__init__().
Arfrever Frehtes Taifersar Arahesis [Sun, 18 Dec 2011 02:06:38 +0000 (03:06 +0100)]
Fix some warnings found by pylint.
Zac Medico [Sat, 17 Dec 2011 19:32:59 +0000 (11:32 -0800)]
_show_unsatisfied_dep: avoid invalid, bug #394995
Zac Medico [Fri, 16 Dec 2011 23:29:24 +0000 (15:29 -0800)]
tests/emerge: PORTAGE_GRPNAME/USERNAME make.conf
Zac Medico [Fri, 16 Dec 2011 22:37:37 +0000 (14:37 -0800)]
_test_pty_eof: use os.read, not array.fromfile
We have abandoned array.fromfile() due to bugs that exist in all known
versions of Python (including Python 2.7 and Python 3.2). See
PipeReaderArrayTestCase, for example.
Zac Medico [Fri, 16 Dec 2011 22:26:01 +0000 (14:26 -0800)]
test_poll: add note about unbuffered fdopen
Zac Medico [Fri, 16 Dec 2011 21:56:03 +0000 (13:56 -0800)]
test_poll: fix array test
Since SpawnProcess no longer uses array, add conditional array support
to PipeReader and use that for tests.
Zac Medico [Fri, 16 Dec 2011 20:55:08 +0000 (12:55 -0800)]
emerge.1: --changed-use/--selective interaction
Also, swap all instances of --reinstall=changed-use with --changed-use.
Zac Medico [Fri, 16 Dec 2011 19:56:01 +0000 (11:56 -0800)]
PipeReader: use AbstractPollTask._read_buf()
Zac Medico [Fri, 16 Dec 2011 19:32:39 +0000 (11:32 -0800)]
SpawnProcess/AbstractPollTask: eliminate array
Since commit
30d2d0a9db486c5a70848ad5d27b37a3ec48f271, we use os.read()
due to bugs in array.fromfile(). So, eliminate array usage entirely.
Zac Medico [Fri, 16 Dec 2011 19:18:20 +0000 (11:18 -0800)]
SpawnProcess: remove obsolete fdopen
Since commit
30d2d0a9db486c5a70848ad5d27b37a3ec48f271, we use os.read()
due to bugs in array.fromfile(), so there's no need to use fdopen.
Zac Medico [Fri, 16 Dec 2011 18:58:35 +0000 (10:58 -0800)]
Fix EIO handling for PollSelectAdapter.
In PipeReader and AbstractPollTask, we have to treat EIO as EOF, in
order to terminate the select loop at the correct time when using
PollSelectAdapter. This fixes a regression in EIO handling since
commits
915348ce34fc499ac295b8f0ffee9f0829803542 adn
30d2d0a9db486c5a70848ad5d27b37a3ec48f271.
Zac Medico [Fri, 16 Dec 2011 03:23:38 +0000 (19:23 -0800)]
PtyEofFdopenUnBufferedTestCase: PyPy TODO
https://bugs.pypy.org/issue956
Zac Medico [Fri, 16 Dec 2011 03:11:53 +0000 (19:11 -0800)]
data.py: tweak getgrnam call for PyPy
This makes it unnecessary to explicitly call portage.data._init() in
runTests, and fixes some other cases that trigger the same issue.
Zac Medico [Fri, 16 Dec 2011 02:41:45 +0000 (18:41 -0800)]
runTests: initialize portage.data for PyPy
Zac Medico [Fri, 16 Dec 2011 02:02:32 +0000 (18:02 -0800)]
SpawnProcess: work around array.fromfile() bugs
When I extended test_poll to test SpawnProcess array.fromfile() usage,
it exposed bugs in array.fromfile() that I couldn't find a way to
handle. So, use os.read() instead.
Zac Medico [Thu, 15 Dec 2011 23:55:42 +0000 (15:55 -0800)]
test_poll: test different sizes, and pty too
Zac Medico [Thu, 15 Dec 2011 18:49:00 +0000 (10:49 -0800)]
emerge.1: enumerate more --selective=n overrides
Zac Medico [Thu, 15 Dec 2011 18:04:47 +0000 (10:04 -0800)]
make.conf.5: it's -> its
Arfrever Frehtes Taifersar Arahesis [Wed, 14 Dec 2011 20:13:54 +0000 (21:13 +0100)]
Fix a typo in a comment.
Zac Medico [Wed, 14 Dec 2011 17:54:22 +0000 (09:54 -0800)]
create_trees: pass __PORTAGE_TEST_HARDLINK_LOCKS
This allows testing of stage builds with __PORTAGE_TEST_HARDLINK_LOCKS
set in the environment, since __PORTAGE_TEST_HARDLINK_LOCKS needs to
propagate to childs processes for all ROOTs.
Zac Medico [Wed, 14 Dec 2011 09:42:56 +0000 (01:42 -0800)]
Filter __PORTAGE_TEST_HARDLINK_LOCKS from env.
Zac Medico [Wed, 14 Dec 2011 09:17:16 +0000 (01:17 -0800)]
tests/locks: save/restore global env state
This ensures that global __PORTAGE_TEST_HARDLINK_LOCKS overrides work
correctly for all tests.
Zac Medico [Wed, 14 Dec 2011 09:11:07 +0000 (01:11 -0800)]
hardlink_lockfile: preserve existing permissions
Zac Medico [Wed, 14 Dec 2011 07:33:28 +0000 (23:33 -0800)]
lockfile: deprecate file object or fd parameters
Support for file object or integer file descriptor parameters is
deprecated due to ambiguity in whether or not it's safe to close
the file descriptor, making it prone to "Bad file descriptor" errors
or file descriptor leaks.
Zac Medico [Wed, 14 Dec 2011 07:31:43 +0000 (23:31 -0800)]
emergelog: pass path to lockfile, not file object
Zac Medico [Wed, 14 Dec 2011 06:30:19 +0000 (22:30 -0800)]
SpawnProcess: use /dev/null fd from subclass
Zac Medico [Wed, 14 Dec 2011 05:59:59 +0000 (21:59 -0800)]
hardlink_lockfile: optimize away most link calls
If fstat shows more than one hardlink, then it's extremely unlikely
that the following link call will result in a lock, so optimize away
the wasteful link call and sleep or raise TryAgain.
Zac Medico [Wed, 14 Dec 2011 05:32:32 +0000 (21:32 -0800)]
ebuild-ipc.py: return 2 when forked child crashes
Zac Medico [Wed, 14 Dec 2011 05:26:17 +0000 (21:26 -0800)]
hardlink_is_mine: return False, never None
Zac Medico [Wed, 14 Dec 2011 04:47:22 +0000 (20:47 -0800)]
emerge: disable --quiet-build by default
This reverts the behavior change from commit
0cc174b6fc28feb26ea151d76f794e0ff2c2fa39, since Gentoo's council has
voted to revert it in their
20111213 meeting, as requested on the
gentoo-project mailing list:
http://archives.gentoo.org/gentoo-project/msg_4e282bb4e6ac2611de2a39171a803c48.xml
Zac Medico [Wed, 14 Dec 2011 04:24:35 +0000 (20:24 -0800)]
locks.py: fix hardlink locks for bug #394195
This updates the hardlink locking code to support the non-blocking,
lockfile(wantnewlockfile=False), and lockfile(file_object) behaviors
which are used by portage code.
Zac Medico [Wed, 14 Dec 2011 04:06:10 +0000 (20:06 -0800)]
ebuils-ipc.py: _exit in finally block after fork
Zac Medico [Wed, 14 Dec 2011 02:02:23 +0000 (18:02 -0800)]
locks.py: make hardlink lock files hidden
This is for consistency with the behavior for normal lock files, since
commit
ce44ea3e914098a52bc0d1d995e71661659e77ca (bug #142369).
Zac Medico [Tue, 13 Dec 2011 22:19:05 +0000 (14:19 -0800)]
RepoConfigLoader: masters eclass override order
Only append the current repo to eclass_locations if it's not there
already. This allows masters to have more control over eclass override
order, which may be useful for scenarios in which there is a plan to
migrate eclasses to a master repo. Thanks to Brian Harring
<ferringb@gentoo.org) for suggesting this behavior.
Zac Medico [Tue, 13 Dec 2011 20:01:23 +0000 (12:01 -0800)]
FifoIpcDaemon: use plain fd instead of fdopen
Zac Medico [Tue, 13 Dec 2011 18:35:19 +0000 (10:35 -0800)]
AbstractEbuildProcess: interactive pkg_config
Zac Medico [Tue, 13 Dec 2011 17:27:38 +0000 (09:27 -0800)]
AbstractEbuildProcess: null in if not interactive
Zac Medico [Tue, 13 Dec 2011 17:00:21 +0000 (09:00 -0800)]
config: use frozenset for _constant_keys lookup
Zac Medico [Sun, 11 Dec 2011 21:00:28 +0000 (13:00 -0800)]
Don't nest sandbox in emerge/repoman tests.
Zac Medico [Sun, 11 Dec 2011 08:15:16 +0000 (00:15 -0800)]
data._init(): use 'portage' default in first call
Zac Medico [Sun, 11 Dec 2011 07:49:40 +0000 (23:49 -0800)]
load_emerge_config: change order of code back
A couple of recent commits touched this function, and code got moved
around unnecessarily.
Zac Medico [Sun, 11 Dec 2011 07:24:12 +0000 (23:24 -0800)]
PORTAGE_OVERRIDE_EPREFIX: alphabetize vars
Zac Medico [Sun, 11 Dec 2011 06:51:56 +0000 (22:51 -0800)]
Remove _SANDBOX_COMPAT_LEVEL.
Zac Medico [Sun, 11 Dec 2011 06:41:01 +0000 (22:41 -0800)]
Add _ENABLE_XATTR constant for the stable branch.
Zac Medico [Sun, 11 Dec 2011 00:19:34 +0000 (16:19 -0800)]
ResolverPlayground: don't nest sandbox
Zac Medico [Sat, 10 Dec 2011 23:49:21 +0000 (15:49 -0800)]
data.py: avoid portage.settings when possible
Zac Medico [Sat, 10 Dec 2011 23:39:16 +0000 (15:39 -0800)]
lock-helper.py: disable_legacy_globals
This prevents the portage.data module from accessing portage.settings.
Zac Medico [Sat, 10 Dec 2011 22:40:21 +0000 (14:40 -0800)]
data.py: rename var to _portage_username
Zac Medico [Sat, 10 Dec 2011 22:33:42 +0000 (14:33 -0800)]
config: init data/output modules in constructor
The first constructed config object initializes these modules, and
subsequent calls to the _init() functions have no effect.
Zac Medico [Sat, 10 Dec 2011 22:19:31 +0000 (14:19 -0800)]
config: skip unneeded constructor code for clones
Zac Medico [Sat, 10 Dec 2011 22:01:55 +0000 (14:01 -0800)]
const.py: fix spelling of a comment
Zac Medico [Sat, 10 Dec 2011 21:46:58 +0000 (13:46 -0800)]
Make eprefix=None params map to const.EPREFIX
Zac Medico [Sat, 10 Dec 2011 21:37:15 +0000 (13:37 -0800)]
actions.py: fix grammar in comment
Zac Medico [Sat, 10 Dec 2011 21:13:08 +0000 (13:13 -0800)]
Binpkg: move imports to top
Zac Medico [Sat, 10 Dec 2011 20:52:07 +0000 (12:52 -0800)]
repoman: eliminate eclass_db variable
Zac Medico [Sat, 10 Dec 2011 20:05:38 +0000 (12:05 -0800)]
Use portage.shutil for safer unicode handling.
Zac Medico [Sat, 10 Dec 2011 19:41:18 +0000 (11:41 -0800)]
vartree.py: lazy movefile import
Zac Medico [Sat, 10 Dec 2011 19:41:07 +0000 (11:41 -0800)]
movefile.py: open /dev/null in binary mode
Zac Medico [Sat, 10 Dec 2011 19:13:28 +0000 (11:13 -0800)]
get_term_size: all values >= 0 for bug #394091
Zac Medico [Sat, 10 Dec 2011 18:45:20 +0000 (10:45 -0800)]
Remove redundant eprefix in config constructors.
Since commit
11a7448f1d5a0bfb38f8de9d66a8fa8d7118c877, the config
constructor uses portage.const.EPREFIX by default.
Zac Medico [Sat, 10 Dec 2011 17:49:33 +0000 (09:49 -0800)]
config.environ: allow prefix vars if no EAPI
This allows access to EPREFIX inside things like post_sync hooks, where
EAPI is undefined.
Zac Medico [Sat, 10 Dec 2011 17:40:19 +0000 (09:40 -0800)]
doebuild: disable noauto for binpkgs later
This is safer since doebuild_environment() can modify FEATURES if
setcpv isn't called before.
Zac Medico [Sat, 10 Dec 2011 07:08:00 +0000 (23:08 -0800)]
emerge: allow search when profile is missing
Zac Medico [Sat, 10 Dec 2011 07:04:24 +0000 (23:04 -0800)]
Make portdbapi.eclassdb a property.
Zac Medico [Sat, 10 Dec 2011 06:40:14 +0000 (22:40 -0800)]
config: set PORTAGE_OVERRIDE_EPREFIX for subprocs
Zac Medico [Sat, 10 Dec 2011 06:32:44 +0000 (22:32 -0800)]
Rename override var to PORTAGE_OVERRIDE_EPREFIX.
Zac Medico [Sat, 10 Dec 2011 06:23:04 +0000 (22:23 -0800)]
create_trees: add public eprefix parameter
Zac Medico [Sat, 10 Dec 2011 06:13:29 +0000 (22:13 -0800)]
config: make eprefix constructor parameter public
Zac Medico [Sat, 10 Dec 2011 06:07:07 +0000 (22:07 -0800)]
config: constructor default portage.const.EPREFIX
Zac Medico [Sat, 10 Dec 2011 06:02:01 +0000 (22:02 -0800)]
Use portage.const.EPREFIX more.
Arfrever Frehtes Taifersar Arahesis [Sat, 10 Dec 2011 05:27:18 +0000 (06:27 +0100)]
portage.util.movefile._copyxattr(): Print more informative exception
when target filesystem does not support extended attributes.
Arfrever Frehtes Taifersar Arahesis [Sat, 10 Dec 2011 05:26:32 +0000 (06:26 +0100)]
Add portage.exception.OperationNotSupported exception.
Zac Medico [Sat, 10 Dec 2011 03:58:47 +0000 (19:58 -0800)]
Binpkg: ensure $ED exists after extraction
Zac Medico [Sat, 10 Dec 2011 03:55:36 +0000 (19:55 -0800)]
Binpkg: handle missing dir after chpathtool
Zac Medico [Sat, 10 Dec 2011 03:31:20 +0000 (19:31 -0800)]
Binpkg: fix os.path.dirname() usage
It doesn't behave as intended for $ED which has a trailing slash.
Zac Medico [Sat, 10 Dec 2011 03:21:44 +0000 (19:21 -0800)]
Binpkg: add chpathtool support for prefix
This uses a python-based chpathtool implementation which is intended to
be compatible with the C-based implemenation that the prefix branch
uses.
Zac Medico [Sat, 10 Dec 2011 03:03:15 +0000 (19:03 -0800)]
BinpkgEnvExtractor: fix PORTAGE_LOG_FILE spelling
Zac Medico [Sat, 10 Dec 2011 00:47:52 +0000 (16:47 -0800)]
Support FEATURES=xattr.
Arfrever Frehtes Taifersar Arahesis [Sat, 10 Dec 2011 00:01:46 +0000 (01:01 +0100)]
portage.util.movefile._copyxattr(): Support usage of xattr module from
dev-python/pyxattr.
Arfrever Frehtes Taifersar Arahesis [Fri, 9 Dec 2011 23:51:31 +0000 (00:51 +0100)]
portage.util.movefile._copyxattr(): Support usage of getfattr and
setfattr executables.
Zac Medico [Fri, 9 Dec 2011 23:23:16 +0000 (15:23 -0800)]
data.py: grp/pwd struct attrs, not indexes
Zac Medico [Fri, 9 Dec 2011 23:16:08 +0000 (15:16 -0800)]
Auto-generate PORTAGE_GRP/USERNAME for prefix.
For prefix environments, default to the UID and GID of the top-level
EROOT directory. This allows us to avoid using hardcoded defaults. It's
still possible to override these variables via make.conf.
Zac Medico [Fri, 9 Dec 2011 22:36:12 +0000 (14:36 -0800)]
Auto-generate PORTAGE_INST_GID/UID for prefix.
For prefix environments, default to the UID and GID of the top-level
EROOT directory. This allows us to avoid using hardcoded defaults. It's
still possible to override these variables via make.conf.
Zac Medico [Fri, 9 Dec 2011 18:54:04 +0000 (10:54 -0800)]
portageq: get_repo* uses_root
Arfrever Frehtes Taifersar Arahesis [Fri, 9 Dec 2011 05:51:26 +0000 (06:51 +0100)]
Delete portage.dbapi.porttree._repo_info class and _repo_info attribute of
portage.dbapi.porttree.portdbapi objects. Migrate consumers to repositories
attribute of portage.dbapi.porttree.portdbapi objects.
Zac Medico [Fri, 9 Dec 2011 04:58:33 +0000 (20:58 -0800)]
tests/bin: sanitize env
This fixes interference from FEATURES=force-prefix in the env.