Fabian Groffen [Sat, 10 Dec 2011 12:40:16 +0000 (13:40 +0100)]
remove unused import
Fabian Groffen [Sat, 10 Dec 2011 12:12:17 +0000 (13:12 +0100)]
_get_global: fix up late night screwup
Fabian Groffen [Sat, 10 Dec 2011 12:06:09 +0000 (13:06 +0100)]
remove conflict marker
Fabian Groffen [Sat, 10 Dec 2011 10:56:53 +0000 (11:56 +0100)]
Merge remote-tracking branch 'overlays-gentoo-org/master' into prefix
Conflicts:
bin/dispatch-conf
bin/egencache
bin/phase-functions.sh
bin/portageq
bin/repoman
cnf/make.globals
pym/_emerge/Binpkg.py
pym/portage/__init__.py
pym/portage/data.py
pym/portage/dispatch_conf.py
pym/portage/package/ebuild/_config/special_env_vars.py
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.
Fabian Groffen [Fri, 9 Dec 2011 20:42:13 +0000 (21:42 +0100)]
make.globals: enable FEATURES=force-prefix
Fabian Groffen [Fri, 9 Dec 2011 20:39:21 +0000 (21:39 +0100)]
const.py: rely on EPREFIX from const_autotool.py
Fabian Groffen [Fri, 9 Dec 2011 20:36:14 +0000 (21:36 +0100)]
phase-functions: remove conflict markers
Fabian Groffen [Fri, 9 Dec 2011 20:32:39 +0000 (21:32 +0100)]
Merge remote-tracking branch 'overlays-gentoo-org/master' into prefix
Conflicts:
bin/dispatch-conf
bin/ebuild-helpers/dobin
bin/ebuild-helpers/dodir
bin/ebuild-helpers/dodoc
bin/ebuild-helpers/doexe
bin/ebuild-helpers/dohard
bin/ebuild-helpers/doinfo
bin/ebuild-helpers/doins
bin/ebuild-helpers/dolib
bin/ebuild-helpers/domo
bin/ebuild-helpers/dosbin
bin/ebuild-helpers/dosed
bin/ebuild-helpers/dosym
bin/ebuild-helpers/ecompressdir
bin/ebuild-helpers/fowners
bin/ebuild-helpers/fperms
bin/ebuild-helpers/prepalldocs
bin/ebuild-helpers/prepallinfo
bin/ebuild-helpers/prepallman
bin/ebuild-helpers/prepallstrip
bin/ebuild-helpers/prepinfo
bin/ebuild-helpers/preplib
bin/ebuild-helpers/prepstrip
bin/emerge-webrsync
bin/etc-update
bin/misc-functions.sh
bin/phase-functions.sh
bin/phase-helpers.sh
cnf/dispatch-conf.conf
cnf/make.conf
cnf/make.globals
pym/portage/data.py
pym/portage/dispatch_conf.py
pym/portage/package/ebuild/_config/special_env_vars.py
pym/portage/package/ebuild/config.py
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).
Fabian Groffen [Thu, 8 Dec 2011 21:05:04 +0000 (22:05 +0100)]
make.globals: add CONFIGURE_EPREFIX var
CONFIGURE_EPREFIX holds the value of the --eprefix argument of the
configure call. While this variable is not used by Prefix Portage
itself, it allows others (tools, package managers) to determine the
EPREFIX value without having to call the Python code.
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.
Fabian Groffen [Sun, 4 Dec 2011 09:22:50 +0000 (10:22 +0100)]
doins: don't set ED (rely on Prefix)
Fabian Groffen [Sun, 4 Dec 2011 09:19:03 +0000 (10:19 +0100)]
doenvd: use @PORTAGE_BASE@ iso /usr/lib/portage
Fabian Groffen [Sat, 3 Dec 2011 19:04:20 +0000 (20:04 +0100)]
MaskManager: fix profiles location
Previous fix lacked the "profiles" directory added to each repo, causing
masks from the base of the repo not being seen.
Fabian Groffen [Sat, 3 Dec 2011 16:47:25 +0000 (17:47 +0100)]
portageq: fix root/eroot handling for Prefix
__PORTAGE_TEST_EPREFIX will almost always be empty, hence the code
believes that no offset prefix is in use. In Prefix, this is always on
the contrary, so when not set, use the hardwired EPREFIX from
portage.const. This avoids double prefixes seen for the portageq
functions, and hence funcs like has_version always return false.
Fabian Groffen [Sat, 3 Dec 2011 15:19:56 +0000 (16:19 +0100)]
misc-functions.sh: don't set local ED/EPREFIX some more
In Prefix EPREFIX, ED are always set, so don't try to redefine them with
wrong values (or local). In fact, it fails because ED and EPREFIX are
defined as read-only.
Fabian Groffen [Fri, 2 Dec 2011 20:31:21 +0000 (21:31 +0100)]
Merge remote-tracking branch 'overlays-gentoo-org/master' into prefix
Fabian Groffen [Fri, 2 Dec 2011 20:26:28 +0000 (21:26 +0100)]
_doebuild_path: initialise path before use
NameError: global name 'path' is not defined
Fabian Groffen [Fri, 2 Dec 2011 20:23:04 +0000 (21:23 +0100)]
MaskManager: fix Prefix' all profiles addition
Construct _profile_nodes since the loop below expects those, copy from
LocationManager.
Fabian Groffen [Fri, 2 Dec 2011 19:20:05 +0000 (20:20 +0100)]
Merge remote-tracking branch 'overlays-gentoo-org/master' into prefix
Fabian Groffen [Fri, 2 Dec 2011 19:18:59 +0000 (20:18 +0100)]
Merge commit 'v2.2.0_alpha76' into prefix
Fabian Groffen [Fri, 2 Dec 2011 19:15:49 +0000 (20:15 +0100)]
_doebuild_path: rely on DEFAULT_PATH and EXTRA_PATH
Prefix uses DEFAULT_PATH (contains offset paths) and EXTRA_PATH
(contains host paths), which are in particular during bootstrap quite
important because then they contain extra paths foreign to the prefix
(pointing to the temporary tools location).
Hence, don't "compute" the path for Prefix, configure knows best.
Fabian Groffen [Fri, 2 Dec 2011 19:14:03 +0000 (20:14 +0100)]
Merge commit 'v2.2.0_alpha74' into prefix
Most important, fix the _doebuild_path function for Prefix
Conflicts:
bin/dohtml.py
bin/ebuild-helpers/dobin
bin/ebuild-helpers/dodir
bin/ebuild-helpers/dodoc
bin/ebuild-helpers/doexe
bin/ebuild-helpers/dohard
bin/ebuild-helpers/doinfo
bin/ebuild-helpers/doins
bin/ebuild-helpers/dolib
bin/ebuild-helpers/domo
bin/ebuild-helpers/dosbin
bin/ebuild-helpers/dosed
bin/ebuild-helpers/dosym
bin/ebuild-helpers/ecompressdir
bin/ebuild-helpers/fowners
bin/ebuild-helpers/fperms
bin/ebuild-helpers/prepalldocs
bin/ebuild-helpers/prepallinfo
bin/ebuild-helpers/prepallman
bin/ebuild-helpers/prepallstrip
bin/ebuild-helpers/prepinfo
bin/ebuild-helpers/preplib
bin/ebuild-helpers/prepstrip
bin/ebuild.sh
bin/misc-functions.sh
bin/phase-helpers.sh
pym/portage/dbapi/bintree.py
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.
Fabian Groffen [Fri, 2 Dec 2011 18:02:26 +0000 (19:02 +0100)]
Merge commit 'v2.2.0_alpha72' into prefix
Conflicts:
bin/lock-helper.py
bin/xpak-helper.py
pym/_emerge/actions.py
pym/portage/__init__.py
Fabian Groffen [Fri, 2 Dec 2011 17:57:15 +0000 (18:57 +0100)]
save_elf_debug: take offset into account
For bug #392609, use ED in more places not to get out of prefix links.
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