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.
Arfrever Frehtes Taifersar Arahesis [Fri, 9 Dec 2011 04:43:20 +0000 (05:43 +0100)]
Add eclass_db attribute in portage.repository.config.RepoConfig objects.
Zac Medico [Fri, 9 Dec 2011 03:21:13 +0000 (19:21 -0800)]
load_emerge_config: init portage.data earlier
The portage_uid initialization here must to happend before the
_init_dirs() calls.
Zac Medico [Fri, 9 Dec 2011 02:54:41 +0000 (18:54 -0800)]
Enable PORTAGE_GRPNAME/USERNAME in make.conf.
This is handy for prefix installs, since it allows these variables to
be set in make.conf rather than having them hardcoded. Eventually,
the corresponding portage.data constants may be deprecated in favor of
config attributes, since it's conceivable that multiple configurations
with different constants could be used simultaneously.
Zac Medico [Thu, 8 Dec 2011 21:15:55 +0000 (13:15 -0800)]
Add portage.const.EPREFIX, for prefix installs.
The EPREFIX for the current install is hardcoded here, but access to
this constant should be minimal, in favor of access via the EPREFIX
setting of a config instance (since it's possible to contruct a config
instance with a different EPREFIX).
Zac Medico [Thu, 8 Dec 2011 20:20:54 +0000 (12:20 -0800)]
dispatch-conf: substitute ${EPREFIX} archive-dir
This allows prefix installs to avoid hardcoding archive-dir.
Zac Medico [Thu, 8 Dec 2011 19:51:06 +0000 (11:51 -0800)]
etc-update: use PORTAGE_INST_UID/GID
Zac Medico [Thu, 8 Dec 2011 19:39:16 +0000 (11:39 -0800)]
make.globals: use ${EPREFIX} for PORTDIR, etc...
Zac Medico [Thu, 8 Dec 2011 18:21:04 +0000 (10:21 -0800)]
Use 'wget' instead of /usr/bin/wget everywhere.
This reduces the amount of patching needed for prefix installs.
Zac Medico [Thu, 8 Dec 2011 18:03:00 +0000 (10:03 -0800)]
etc-update: experimental prefix support
Zac Medico [Thu, 8 Dec 2011 17:57:00 +0000 (09:57 -0800)]
Whitelist/filter __PORTAGE_TEST_EPREFIX.
Zac Medico [Thu, 8 Dec 2011 17:46:55 +0000 (09:46 -0800)]
Support FEATURES=force-prefix.
This adjusts the logic from commit
ff52f9dc31004becb8022e6437088d01917f413c to use FEATURES=force-prefix
instead of USE=prefix. This has the advantage that we don't have to
make any assumptions about the USE=prefix.
Zac Medico [Thu, 8 Dec 2011 07:26:02 +0000 (23:26 -0800)]
dispatch-conf: experimental prefix support
Zac Medico [Thu, 8 Dec 2011 06:43:06 +0000 (22:43 -0800)]
Save EPREFIX in vdb when appropriate.
The prefix branch already does this since it makes it easy to use
chpathtool to adjust the content of a binary package so that it will
work in a different EPREFIX from the one is was built for.
Zac Medico [Thu, 8 Dec 2011 06:22:31 +0000 (22:22 -0800)]
Make USE=prefix enable EPREFIX in all EAPIs.
This is safe because the prefix flag should be masked in all non-prefix
profiles, and older EAPIs would otherwise be useless with prefix
configurations. This brings compatibility with the prefix branch of
portage, which also supports EPREFIX for all EAPIs (for obvious
reasons).
Zac Medico [Wed, 7 Dec 2011 19:20:39 +0000 (11:20 -0800)]
man: document fixpackages for bug #393517
Zac Medico [Tue, 6 Dec 2011 22:21:03 +0000 (14:21 -0800)]
sets.docbook: fix 'strictly' spelling
Zac Medico [Tue, 6 Dec 2011 21:57:34 +0000 (13:57 -0800)]
ebuild.sh: don't export inherit E_* vars
Zac Medico [Tue, 6 Dec 2011 19:06:24 +0000 (11:06 -0800)]
emerge-webrsync: use --quiet with --check-news
This suppresses output if there are no relevant items.
Zac Medico [Tue, 6 Dec 2011 19:01:10 +0000 (11:01 -0800)]
emerge-webrsync: call emerge --check-news
Zac Medico [Tue, 6 Dec 2011 18:52:50 +0000 (10:52 -0800)]
action_sync: fix git_sync_timestamps KeyError
This fixes the case where $PORTDIR doesn't exist prior to sync.
Zac Medico [Mon, 5 Dec 2011 02:28:03 +0000 (18:28 -0800)]
ebuild.sh: add note about quoting export ${FOO}=
Zac Medico [Mon, 5 Dec 2011 01:52:37 +0000 (17:52 -0800)]
ebuild.sh: quote sandbox export args
Zac Medico [Sun, 4 Dec 2011 23:55:49 +0000 (15:55 -0800)]
fix logic from last commit
Zac Medico [Sun, 4 Dec 2011 23:43:36 +0000 (15:43 -0800)]
depgraph: fix case insensitive search for unsat
This fixes an interaction between the code from commits
9ce6da43ab90c4dab97ebf3b8339e5dbc113a0a8 and
cbe44d92ff13b8a22f5b4215b73078ce600c6bf4, so that we don't discard
matches that are identical except for differnces in upper/lower case.
Zac Medico [Fri, 2 Dec 2011 18:30:25 +0000 (10:30 -0800)]
action_depclean: fix return code
The fixes some cases where emerge.log would show that depclean was
unsuccessful when it was really successful but there was nothing to
remove.
Zac Medico [Fri, 2 Dec 2011 06:14:13 +0000 (22:14 -0800)]
Handle OSError from os.read and loop if needed.
Looping fixes EbuildMetadataPhase failures for ebuilds that produce
more than 4096 bytes of metadata, broken since commit
b432a1b3051d91546649e8f3190675767461d8e8.
Zac Medico [Fri, 2 Dec 2011 03:24:10 +0000 (19:24 -0800)]
process._exec: tweak opt_name for PyPy
PyPy 1.7 will die due to "libary path not found" if argv[0] does not
contain the full path of the binary.
Zac Medico [Fri, 2 Dec 2011 02:34:08 +0000 (18:34 -0800)]
PipeReader: use os.read/write
Zac Medico [Fri, 2 Dec 2011 02:07:21 +0000 (18:07 -0800)]
test_uniqueArray.py: fix 'is' usage PyPy incompat
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)