Zac Medico [Fri, 2 Dec 2011 01:43:57 +0000 (17:43 -0800)]
AsynchronousLock: use os.read/write
Similar to commit
b432a1b3051d91546649e8f3190675767461d8e8, don't use
unecessary file objects. It also happens that these changes fix
compatibility issues with PyPy.
Zac Medico [Thu, 1 Dec 2011 23:25:31 +0000 (15:25 -0800)]
checksum.py: detect PyPy crashes in hashlib
Use a fork to try and PyPy by digesting random data with hashlib
functions. It doesn't look like a bug has been reported upstream for
this yet, so it may or may not be reproducible by others. Anyway, this
allows me to avoid crashing the main PyPy process until I find a real
fix.
Zac Medico [Thu, 1 Dec 2011 21:22:00 +0000 (13:22 -0800)]
_emerge/EbuildMetadataPhase.py: use os.read()
There's no need for a file object, and file objects introduce
complexity that can lead to bugs as mentioned in bug 337465 comment 31,
so use os.read() directly on the file descriptor.
Zac Medico [Thu, 1 Dec 2011 21:05:24 +0000 (13:05 -0800)]
_emerge/SubProcess.py: support int fd in _files
Zac Medico [Thu, 1 Dec 2011 20:34:52 +0000 (12:34 -0800)]
MergeProcess: check if _elog_reader_fd is None
It seems saner to check for None, given that _elog_reader_fd is an int,
even though it will probably never be zero.
Zac Medico [Thu, 1 Dec 2011 17:52:23 +0000 (09:52 -0800)]
locks.py: use flock with PyPy for issue 747
Mike Frysinger [Wed, 30 Nov 2011 20:23:36 +0000 (15:23 -0500)]
make.conf(5): clarify "repo" and "defaults" sources for USE_ORDER
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Zac Medico [Tue, 29 Nov 2011 16:24:06 +0000 (08:24 -0800)]
doebuild: disable noauto for binary packages
Zac Medico [Tue, 29 Nov 2011 04:52:41 +0000 (20:52 -0800)]
movefile: tweak unicode handling
Zac Medico [Tue, 29 Nov 2011 04:25:54 +0000 (20:25 -0800)]
movefile: chown/mod before rename
Zac Medico [Tue, 29 Nov 2011 03:09:10 +0000 (19:09 -0800)]
movefile: avoid redundant string concatenations
Zac Medico [Tue, 29 Nov 2011 03:00:15 +0000 (19:00 -0800)]
movefile: remove unused lchown
Arfrever Frehtes Taifersar Arahesis [Tue, 29 Nov 2011 01:26:04 +0000 (02:26 +0100)]
Preserve extended attributes on regular files when using Python >=3.3.
Zac Medico [Sun, 27 Nov 2011 20:53:55 +0000 (12:53 -0800)]
Revert "dblink.mergeme(): Merge files in alphabetic order."
This reverts commit
1d4ac47c28706094230cb2c4e6ee1c1c71629aa0.
As discussed on the gentoo-portage-dev mailing list, if we don't have
a compelling reason to sort here then it's just a waste:
http://archives.gentoo.org/gentoo-portage-dev/msg_67b08fcd7a1b832b347caf1b19362cbb.xml
Zac Medico [Sun, 27 Nov 2011 20:52:04 +0000 (12:52 -0800)]
_get_dep_chain: fix KeyError, bug #392059
This fixes a regression since commit
57cc4e3e8991e7c4394d1dff7698aa62ed2a286b, which make a faulty
assumption that the digraph contained all of the edges contained in
parent_atoms.
Zac Medico [Sat, 26 Nov 2011 02:56:54 +0000 (18:56 -0800)]
config: fix make.defaults inherit of make.globals
Since commit
e544ee13527a0568de2b556510280ed96fc1b3ff, make.defaults
inheritance of variables from make.globals has been broke, since that
commit excluded make.globals from expand_map. This broke settings like
PORTAGE_ELOG_CLASSES="${PORTAGE_ELOG_CLASSES} qa" from the developer
profile, as reported in bug #391323, comment #4.
Arfrever Frehtes Taifersar Arahesis [Sat, 26 Nov 2011 01:52:49 +0000 (02:52 +0100)]
dblink.mergeme(): Merge files in alphabetic order.
Zac Medico [Fri, 25 Nov 2011 19:35:32 +0000 (11:35 -0800)]
elog/mod_syslog: fix 1 char msgs, bug #390965
Zac Medico [Fri, 25 Nov 2011 05:28:58 +0000 (21:28 -0800)]
emerge-webrsync: new gpg key, bug #331537
Zac Medico [Mon, 21 Nov 2011 17:12:32 +0000 (09:12 -0800)]
repoman: fix svn "abiguous workdir", bug #391199
Zac Medico [Mon, 21 Nov 2011 14:59:57 +0000 (06:59 -0800)]
man/emerge.1: note that --jobs redirects output
Zac Medico [Sun, 20 Nov 2011 18:54:19 +0000 (10:54 -0800)]
emerge --help: show --quiet-build
Zac Medico [Fri, 18 Nov 2011 21:11:05 +0000 (13:11 -0800)]
_prepare_self_update: detect if already called
This is should never be triggered by portage, but it's possible that
an API consumer might trigger it somehow.
Zac Medico [Fri, 18 Nov 2011 19:40:48 +0000 (11:40 -0800)]
Schduler: _check_temp_dir in _handle_self_update
Zac Medico [Fri, 18 Nov 2011 18:20:21 +0000 (10:20 -0800)]
collect_ebuild_messages: handle \r, bug #390833
Zac Medico [Fri, 18 Nov 2011 05:57:58 +0000 (21:57 -0800)]
resolver/output: unused imports
Zac Medico [Fri, 18 Nov 2011 05:33:37 +0000 (21:33 -0800)]
_make_msgfunction: convert to class
Zac Medico [Fri, 18 Nov 2011 05:15:53 +0000 (21:15 -0800)]
config: tweak mapping implementation more
Zac Medico [Fri, 18 Nov 2011 03:26:18 +0000 (19:26 -0800)]
config: centralize mapping impl in _getitem/pop
Zac Medico [Fri, 18 Nov 2011 02:55:28 +0000 (18:55 -0800)]
collect_ebuild_messages: validate msg type
This will handle invalid message types like the one that triggers the
KeyError in dblink._elog_process for bug #390833. It will also output
the content of the line in order to help diagnose the source of
corruption.
Zac Medico [Fri, 18 Nov 2011 01:43:20 +0000 (17:43 -0800)]
emerge --changelog: omit entry for current ver
This is a regression from commit
69d7f169ba2e27cf56746791331c63a019357100, reported in bug #390893.
Zac Medico [Fri, 18 Nov 2011 01:26:01 +0000 (17:26 -0800)]
depgraph: don't merge portage asap
There's no need to do this anymore, because we don't restart since
commit
d3f704a425a50b5cfa997a25866929b30f1b7d0f.
Zac Medico [Thu, 17 Nov 2011 23:25:03 +0000 (15:25 -0800)]
Tweak the last commit.
Zac Medico [Thu, 17 Nov 2011 23:10:13 +0000 (15:10 -0800)]
Skip the "resume after portage update" routine.
Instead, finish the whole job using a copy of the currently running
instance. This allows us to avoid the complexities of emerge --resume,
such as the differences in option handling between different portage
versions, as reported in bug #390819.
Zac Medico [Thu, 17 Nov 2011 13:44:41 +0000 (05:44 -0800)]
Show action as --action in emerge.log arg list.
Zac Medico [Thu, 17 Nov 2011 13:39:02 +0000 (05:39 -0800)]
Show option arguments in emerge.log arg list.
Zac Medico [Thu, 17 Nov 2011 05:15:00 +0000 (21:15 -0800)]
pkg_pretend: handle interruption more
Zac Medico [Thu, 17 Nov 2011 03:43:00 +0000 (19:43 -0800)]
pkg_pretend: tweak final cleanup logic
This ensures that the clean phase will not run if the user interrupts
emerge before the build dir is locked.
Zac Medico [Thu, 17 Nov 2011 02:09:10 +0000 (18:09 -0800)]
Scheduler.py: remove unused vars (pyflakes)
Zac Medico [Thu, 17 Nov 2011 01:38:48 +0000 (17:38 -0800)]
Tweak emerge --quiet-build default handling.
Since --quiet-build is enabled be default, there's no need to have it
in the options dict except when it is enabled.
Zac Medico [Thu, 17 Nov 2011 01:25:21 +0000 (17:25 -0800)]
pkg_pretend: lock before unpacking binpkg xpak
This fixes a regression from the previous commit.
Zac Medico [Wed, 16 Nov 2011 21:14:42 +0000 (13:14 -0800)]
pkg_pretend: clean first for bug #390711
Zac Medico [Wed, 16 Nov 2011 18:43:51 +0000 (10:43 -0800)]
emerge --quiet-build: don't set PORTAGE_QUIET
The PORTAGE_QUIET controls lots of stuff that really should only be
controlled by --quiet, especially now that --quiet-build is enabled by
default. For example, PORTAGE_QUIET supresses the successful checksum
display that is produced by emerge --fetchonly.
Zac Medico [Wed, 16 Nov 2011 18:24:34 +0000 (10:24 -0800)]
xterm title HOSTNAME support, bug #390699
Zac Medico [Sun, 13 Nov 2011 20:33:43 +0000 (12:33 -0800)]
checksum.py: handle pycrypto breakage
Zac Medico [Fri, 11 Nov 2011 21:23:46 +0000 (13:23 -0800)]
make.conf: sync PORTAGE_ELOG_SYSTEM example
Synchronize the PORTAGE_ELOG_SYSTEM example with the default
make.globals setting.
Zac Medico [Fri, 11 Nov 2011 15:42:11 +0000 (07:42 -0800)]
Enable emerge --quiet-build by default.
See discussion on the gentoo-dev mailing list:
http://archives.gentoo.org/gentoo-dev/msg_4f0401066abe2dc04458a952ac2a17bd.xml
Zac Medico [Thu, 10 Nov 2011 03:11:35 +0000 (19:11 -0800)]
Move ccache/distcc PATH code to doebuild_env.
Zac Medico [Wed, 9 Nov 2011 18:48:36 +0000 (10:48 -0800)]
Use local EPREFIX for uniformity.
The EPREFIX variable is not readonly in EAPI 0, 1, and 2, so we can
declare EPREFIX as a local variable. We must be careful not to let this
variable leak into the environment of ebuild/eclass functions that we
call, since bash propagates local variables to nested function calls.
Zac Medico [Wed, 9 Nov 2011 18:42:00 +0000 (10:42 -0800)]
Use local ED for uniformity.
The ED variable is not readonly in EAPI 0, 1, and 2, so we can declare
ED as a local variable. We must be careful not to let this variable
leak into the environment of ebuild/eclass functions that we call,
since bash propagates local variables to nested function calls.
Zac Medico [Wed, 9 Nov 2011 18:13:17 +0000 (10:13 -0800)]
Use get(REQUIRED_USE) for emphasis.
None of these cases should raise KeyError, but use get(REQUIRED_USE)
anyway to emphasize that care must be taken.
Zac Medico [Wed, 9 Nov 2011 03:23:22 +0000 (19:23 -0800)]
depgraph: fix possible REQUIRED_USE KeyError
This goes with commit
a0961708ced50c90497811058eda6f4513d2986d.
Zac Medico [Wed, 9 Nov 2011 02:41:16 +0000 (18:41 -0800)]
_doebuild_path: fix EAPI 3 helpers PATH
Zac Medico [Wed, 9 Nov 2011 02:36:24 +0000 (18:36 -0800)]
phase-functions.sh: remove stray echo
Zac Medico [Wed, 9 Nov 2011 00:21:07 +0000 (16:21 -0800)]
Include EPREFIX directories in PATH.
This relocates the PATH generation code from ebuild.sh to
doebuild_environment, which helps to eliminate duplicate code.
Zac Medico [Tue, 8 Nov 2011 19:28:02 +0000 (11:28 -0800)]
has/best_version: fix grammar in docs
Zac Medico [Tue, 8 Nov 2011 19:24:35 +0000 (11:24 -0800)]
ecompressdir: remove 'continue' from loop logic
Hopefully this helps us avoid errors in loop logic like bug #389047.
Zac Medico [Tue, 8 Nov 2011 16:13:32 +0000 (08:13 -0800)]
tests/emerge: best/has_version with prefix EAPI
Zac Medico [Mon, 7 Nov 2011 21:38:33 +0000 (13:38 -0800)]
test_multislot: fix EAPI
Arfrever Frehtes Taifersar Arahesis [Mon, 7 Nov 2011 21:14:39 +0000 (22:14 +0100)]
depgraph._queue_disjunctive_deps(): Pass EAPI to portage.dep.Atom().
Zac Medico [Mon, 7 Nov 2011 20:42:28 +0000 (12:42 -0800)]
best/has_version: fix eroot assignment
Zac Medico [Mon, 7 Nov 2011 20:19:53 +0000 (12:19 -0800)]
Only support ROOT override for best/has_version.
In the context of ebuilds, ROOT=/ override is the only common case, so
it makes sense to only support ROOT overrides.
Arfrever Frehtes Taifersar Arahesis [Mon, 7 Nov 2011 20:11:31 +0000 (21:11 +0100)]
Allow repository dependencies in command line arguments for --config and --info actions.
Zac Medico [Mon, 7 Nov 2011 19:16:09 +0000 (11:16 -0800)]
Fix best/has_version ROOT override for EAPI 3-4.
This has been broken since commit
ab484dc9a2612aa6709fad3ff926c8589a706637. In order to support prefix,
callers will have to override EROOT instead.
Zac Medico [Mon, 7 Nov 2011 18:33:47 +0000 (10:33 -0800)]
Fix breakage from last commit.
Arfrever Frehtes Taifersar Arahesis [Mon, 7 Nov 2011 18:28:05 +0000 (19:28 +0100)]
Avoid initial spaces in some variables.
Zac Medico [Mon, 7 Nov 2011 15:27:23 +0000 (07:27 -0800)]
REQUIRED_USE: don't save in built packages
It should be safe to assume that REQUIRED_USE is satisfied if the
package is built, so it's a waste to save it. Also, fix code which
assumes that built Package instances have a REQUIRED_USE key in their
metadata.
Zac Medico [Mon, 7 Nov 2011 08:45:01 +0000 (00:45 -0800)]
environment.bz2: filter more variables
Zac Medico [Mon, 7 Nov 2011 08:32:18 +0000 (00:32 -0800)]
save_ebuild_env: filter more functions
dyn_pretend
helpers_die
nonfatal
register_success_hook
Zac Medico [Mon, 7 Nov 2011 08:14:29 +0000 (00:14 -0800)]
Handle empty PORTAGE_COMPRESS for bug #389047.
This fixes a case where empty PORTAGE_COMPRESS made ecompressdir forget
to call restore_skip_dirs, such that docompress -x resulted in files
not being installed due to hide_skip_dirs hiding them permanently.
Zac Medico [Mon, 7 Nov 2011 07:37:33 +0000 (23:37 -0800)]
emerge --changelog: ChangeLog-YYYY, bug #389611
Zac Medico [Mon, 7 Nov 2011 06:32:30 +0000 (22:32 -0800)]
Respect --usepkgonly in suggestions, bug #389617
Zac Medico [Mon, 7 Nov 2011 06:01:51 +0000 (22:01 -0800)]
Add emerge --moo action for bug #389609.
Zac Medico [Sun, 6 Nov 2011 05:43:34 +0000 (22:43 -0700)]
runtests.sh: use 0 to control arg parse loop
Zac Medico [Sat, 5 Nov 2011 18:53:20 +0000 (11:53 -0700)]
Enable colors during the depend phase.
Zac Medico [Wed, 2 Nov 2011 04:57:10 +0000 (21:57 -0700)]
phase-helpers.sh: fix best/has_version for prefix
Zac Medico [Wed, 2 Nov 2011 02:26:56 +0000 (19:26 -0700)]
test_dodir: fix breakage from last commit
We have to set the EAPI for prefix code to work.
Zac Medico [Wed, 2 Nov 2011 02:17:19 +0000 (19:17 -0700)]
Add EPREFIX and ED support in all ebuild helpers.
This allows our prefix tests to use helpers like insinto, doins, and dosym.
Zac Medico [Wed, 2 Nov 2011 01:47:56 +0000 (18:47 -0700)]
Merge install_qa_check_prefix from prefix branch.
Zac Medico [Sun, 30 Oct 2011 07:15:57 +0000 (00:15 -0700)]
_profile_node: use collections.namedtuple
Zac Medico [Sun, 30 Oct 2011 07:08:22 +0000 (00:08 -0700)]
news.py: remove unused 'updates' variable
Zac Medico [Sun, 30 Oct 2011 06:52:42 +0000 (23:52 -0700)]
_legacy_globals: fix grammar in comment
Arfrever Frehtes Taifersar Arahesis [Sun, 30 Oct 2011 06:40:52 +0000 (07:40 +0100)]
Fix typos in comments.
Zac Medico [Sun, 30 Oct 2011 06:20:53 +0000 (23:20 -0700)]
git_sync_timestamps: validation_chf == mtime
Zac Medico [Sun, 30 Oct 2011 05:24:58 +0000 (22:24 -0700)]
egencache: tweak redundant write check condition
We can use the raise_stat_collision attribute to determine when it is
necessary to check for redundant writes.
Zac Medico [Sun, 30 Oct 2011 00:25:42 +0000 (17:25 -0700)]
env_update: lstrip os.sep in join with eprefix
Zac Medico [Sat, 29 Oct 2011 23:52:06 +0000 (16:52 -0700)]
portagetree: remove broken depcheck method
It called dep_check without the required third argument.
Zac Medico [Sat, 29 Oct 2011 23:43:21 +0000 (16:43 -0700)]
Use dbapi._known_keys more.
Zac Medico [Sat, 29 Oct 2011 23:10:13 +0000 (16:10 -0700)]
cache/template.__getitem__: filter INHERITED
Never return INHERITED, since portdbapi.aux_get() will generate it
automatically from _eclasses_, and we want to omit it in comparisons
between cache entries like those that egencache uses to avoid redundant
writes (see commit
0e120da008c9d0d41c9372c81145c6e153028a6d).
Zac Medico [Sat, 29 Oct 2011 22:43:35 +0000 (15:43 -0700)]
action_metadata: clean up src entry validation
This eliminates a bunch of redundant eclasses code that we handle with
template.validate_entry() instead.
Zac Medico [Sat, 29 Oct 2011 21:41:38 +0000 (14:41 -0700)]
EbuildMetadataPhase: use /dev/null for stdin
Zac Medico [Sat, 29 Oct 2011 21:31:00 +0000 (14:31 -0700)]
actions.py: remove unused variables
Zac Medico [Sat, 29 Oct 2011 20:55:07 +0000 (13:55 -0700)]
action_metadata: use auxdbkeys to compare entries
This borrows the approach that egencache uses since commit
0e120da008c9d0d41c9372c81145c6e153028a6d.
Zac Medico [Sat, 29 Oct 2011 20:36:23 +0000 (13:36 -0700)]
egencache: avoid redundant md5-dict writes
The pms cache already does this automatically, since __setitem__ calls
are used to detect stat collisions in order to solve bug #139134.
Zac Medico [Sat, 29 Oct 2011 19:38:51 +0000 (12:38 -0700)]
egencache: ensure correct porttrees
The GenCache class assumes that portdb.porttrees[0] is the desired
tree, so assert that it is true. The behavior should have already been
correct, since PORTDIR_OVERLAY was already set to an empty string when
necessary.
Zac Medico [Sat, 29 Oct 2011 18:56:14 +0000 (11:56 -0700)]
egencache: fix StatCollision handling breakage
This has been broken since the _eclasses_ structure changed in commit
2ed1cb53cc4158af08c22d466b15b9a9a7767212.
Zac Medico [Sat, 29 Oct 2011 18:33:27 +0000 (11:33 -0700)]
egencache: update ebuild_hash.mtime after utime
Zac Medico [Sat, 29 Oct 2011 17:48:30 +0000 (10:48 -0700)]
emerge --metadata: support md5-dict
This adds support to action_metadata() for use of arbitrary validation
methods, which were introduced in commit
2ed1cb53cc4158af08c22d466b15b9a9a7767212.
Zac Medico [Sat, 29 Oct 2011 08:16:11 +0000 (01:16 -0700)]
man/portage.5: profile-formats example
Zac Medico [Sat, 29 Oct 2011 08:11:09 +0000 (01:11 -0700)]
man/portage.5: cache-formats example