Zac Medico [Tue, 12 Jul 2011 23:20:45 +0000 (16:20 -0700)]
Use portage.subprocess_getstatusoutput() more.
Zac Medico [Tue, 12 Jul 2011 22:46:54 +0000 (15:46 -0700)]
Avoid baseline subprocess import under python2.
Zac Medico [Tue, 12 Jul 2011 22:04:16 +0000 (15:04 -0700)]
emergelog: use string format op for time.time()
Zac Medico [Tue, 12 Jul 2011 21:50:21 +0000 (14:50 -0700)]
emergelog: remove unneeded seek for append mode
Zac Medico [Tue, 12 Jul 2011 21:04:00 +0000 (14:04 -0700)]
Update timestamps in headers of modified files.
Zac Medico [Tue, 12 Jul 2011 20:16:56 +0000 (13:16 -0700)]
filter-bash-environment.py: move imports to top
Zac Medico [Tue, 12 Jul 2011 20:04:15 +0000 (13:04 -0700)]
Use explicit 'mode' keyword arg with io.open().
Zac Medico [Tue, 12 Jul 2011 19:48:45 +0000 (12:48 -0700)]
Use explicit 'mode' keyword arg with io.open().
Zac Medico [Tue, 12 Jul 2011 19:26:47 +0000 (12:26 -0700)]
resume_depgraph: be careful with parent_node type
Zac Medico [Tue, 12 Jul 2011 19:15:44 +0000 (12:15 -0700)]
unmerge: reject USE conditionals in arguments
Zac Medico [Tue, 12 Jul 2011 18:45:41 +0000 (11:45 -0700)]
misc-functions.sh: fix incorrect has -o usage
Zac Medico [Tue, 12 Jul 2011 17:32:09 +0000 (10:32 -0700)]
Remove unneeded _unicode_decode for io.StringIO.
Since StringIO.StringIO fallback was removed in commit
5df96179611ce0e98727945b1800b43daccedfc2, we can rely on
io.StringIO.getoutput() to return unicode, so there's no
need to call _unicode_decode on the result.
Zac Medico [Tue, 12 Jul 2011 08:41:09 +0000 (01:41 -0700)]
Remove python-2.6 StringIO.StringIO fallback.
Since the io module in python-2.6 was broken when threading was
disabled, we needed to fall back from io.StringIO to StringIO.StringIO
in this case (typically just for Gentoo's stage1 and stage2 tarballs).
Now that python-2.7 is stable in stages and we rely on io.open() being
available, we can also rely on io.StringIO being available.
Zac Medico [Mon, 11 Jul 2011 21:58:09 +0000 (14:58 -0700)]
autounmask-write: create /etc/portage if needed
Zac Medico [Mon, 11 Jul 2011 21:02:40 +0000 (14:02 -0700)]
elog/mod_save: fix permissions for logrotate
These permissions should be compatible with our default logrotate
config as discussed in bug 374287.
Zac Medico [Mon, 11 Jul 2011 18:00:33 +0000 (11:00 -0700)]
elog/mod_save: ensure parent logdir exists
Zac Medico [Mon, 11 Jul 2011 17:17:08 +0000 (10:17 -0700)]
resume_depgraph: fix breakage from reposyntax
This is a major regression that has been triggering lots of complaints
about emerge --keep-going.
Zac Medico [Mon, 11 Jul 2011 16:55:16 +0000 (09:55 -0700)]
elog/mod_save: use _ensure_log_subdirs
This fixes permission issues with category subdirectories created for
FEATURES=split-elog.
Zac Medico [Mon, 11 Jul 2011 16:22:37 +0000 (09:22 -0700)]
prepare_build_dirs: copy logdir group permissions
The gid of PORT_LOGDIR is copied to all subdirectories, along with
0x2070 mode bits if present.
Zac Medico [Mon, 11 Jul 2011 15:35:38 +0000 (08:35 -0700)]
Log maintainer info for pretend and nofetch.
Also, suppress this maintainer info from going to stdout since it's
intended for the log and it doesn't necessarily need to be visible
elsewhere. This will fix bug #374809.
Zac Medico [Mon, 11 Jul 2011 15:22:11 +0000 (08:22 -0700)]
prepare_build_dirs: warn for logdir permission
If there is insufficient permission to use PORT_LOGDIR or the required
subdirectory, warn instead of raising an exception. Also, fall back to
using $T/build.log as a last resort.
Brian Harring [Mon, 11 Jul 2011 08:33:21 +0000 (01:33 -0700)]
ebuild.sh: restore old has() implementation
The needle/haystack implementation handles whitespace as originally
intended (prior to commit
659eafddd5964820ce8bdc0d90f5fcf7df04b5b7),
as discussed in bug #374791.
Signed-off-by: Brian Harring <ferringb@gmail.com>
Zac Medico [Mon, 11 Jul 2011 14:08:30 +0000 (07:08 -0700)]
is_valid_package_atom: fix circular import
Due to a quirk in python import behavior, this only failed
nondeterministically. However, the new preinst sanity test in the
portage-9999 ebuild tends to trigger it more often for some people.
Zac Medico [Mon, 11 Jul 2011 00:12:49 +0000 (17:12 -0700)]
Remove unused codecs import.
Zac Medico [Sun, 10 Jul 2011 23:26:24 +0000 (16:26 -0700)]
Migrate from codecs.open() to io.open().
The io.open() function is the same as the built-in open() function in
python3, and its implementation is optimized in python-2.7 and later.
In addition to the possible performance improvement, this also allows
us to avoid any future compatibility issues with codecs.open() that
may arise if it is delegated to the built-in open() function as
discussed in PEP 400.
The main caveat involved with io.open() is that TextIOWrapper.write()
raises TypeError if given raw bytes, unlike the streams returned from
codecs.open(). This is mainly an issue for python2 since literal
strings are raw bytes. We handle this by wrapping TextIOWrapper.write()
arguments with our _unicode_decode() function. Also, the
atomic_ofstream class overrides the write() method in python2 so that
it performs automatic coercion to unicode when necessary.
Zac Medico [Sun, 10 Jul 2011 23:40:56 +0000 (16:40 -0700)]
Manifest: fix NameError in updateAllHashes
Zac Medico [Sun, 10 Jul 2011 13:33:23 +0000 (06:33 -0700)]
circular_dependency: fix total_flags calc
Zac Medico [Sun, 10 Jul 2011 12:23:24 +0000 (05:23 -0700)]
depgraph: more debug output for _add_pkg
This should make it easier to debug cases like bug 374423,
among others.
Zac Medico [Sun, 10 Jul 2011 12:05:58 +0000 (05:05 -0700)]
slot_collision: fix more for bug 374423
Zac Medico [Sun, 10 Jul 2011 10:40:59 +0000 (03:40 -0700)]
slot_collision: fix AttributeError for bug 374423
Zac Medico [Sun, 10 Jul 2011 03:24:49 +0000 (20:24 -0700)]
depgraph: reject USE conditionals in arguments
Zac Medico [Sun, 10 Jul 2011 01:57:50 +0000 (18:57 -0700)]
circular_dependency: fix REQUIRED_USE test
Zac Medico [Sun, 10 Jul 2011 01:26:26 +0000 (18:26 -0700)]
circular_dependency: fix ridiculously long loop
The flags from REQUIRED_USE were added to affecting_use, which was not
really necessary and was a bad idea because a number of flags in
affecting_use affects our number of loops exponentially. This will fix
bug #374397 in which the large number of flags in the REQUIRED_USE of
dev-lang/php-5.3.6-r1 triggered execution of 2 ^ 45 loops.
Zac Medico [Sun, 10 Jul 2011 00:51:06 +0000 (17:51 -0700)]
slot_collision: be consistent with missing IUSE
Special handling for missing IUSE that was introduced in commit
9a193d42032005396800eb30e550691513529c79 is also useful in one
more spot.
Zac Medico [Sat, 9 Jul 2011 22:54:47 +0000 (15:54 -0700)]
circular_dependency: show debug graph earlier
This might help in some cases like bug 374397 where we're
troubleshooting the circular_dependency code.
Zac Medico [Sat, 9 Jul 2011 22:23:52 +0000 (15:23 -0700)]
circular_dependency: use itertools.product()
Python's cartesian product function does exactly what we want, so use
it to simplify our code.
Zac Medico [Sat, 9 Jul 2011 20:12:57 +0000 (13:12 -0700)]
depgraph: include pkg.repo in debug output
Zac Medico [Fri, 8 Jul 2011 17:22:46 +0000 (10:22 -0700)]
Add QA Notice for hasq/useq calls (bug #199722).
Zac Medico [Fri, 8 Jul 2011 17:14:51 +0000 (10:14 -0700)]
Remove all hasq/useq calls for bug #199722.
Zac Medico [Fri, 8 Jul 2011 16:56:53 +0000 (09:56 -0700)]
ebuild.5: remove hasq docs for bug #199722
Zac Medico [Fri, 8 Jul 2011 16:54:09 +0000 (09:54 -0700)]
Invert has/hasq and use/useq implementations.
We need to migrate away from hasq and useq since they are deprecated
(bug #199722).
Zac Medico [Fri, 8 Jul 2011 16:36:17 +0000 (09:36 -0700)]
RepoConfig: ignore missing name if no location
This happens if there is an orphan entry in repos.conf.
Zac Medico [Fri, 8 Jul 2011 16:16:39 +0000 (09:16 -0700)]
getportageversion: omit implicit -r0 for libc
Zac Medico [Fri, 8 Jul 2011 10:06:39 +0000 (03:06 -0700)]
Qualify "missed update" message as WARNING.
Zac Medico [Fri, 8 Jul 2011 08:07:51 +0000 (01:07 -0700)]
repoman: tighten regex for useq and hasq
Zac Medico [Fri, 8 Jul 2011 07:47:31 +0000 (00:47 -0700)]
repoman: centralize code for ignoring comments
Dane Smith [Fri, 8 Jul 2011 07:12:33 +0000 (00:12 -0700)]
repoman: check for deprecated useq and hasq calls
Zac Medico [Fri, 8 Jul 2011 06:46:28 +0000 (23:46 -0700)]
cpv_expand: fix KeyError when settings is None
Zac Medico [Thu, 7 Jul 2011 19:10:08 +0000 (12:10 -0700)]
Remove the _ensure_encodings module.
This was only needed for ancient versions of python built with
USE=build since the ebuilds used to remove the encodings module in
that case. Since the StreamWriter and StreamReader classes may be
deprecated in the near future, now would be a good time to stop
using them.
Zac Medico [Thu, 7 Jul 2011 17:43:13 +0000 (10:43 -0700)]
logrotate.d: su portage portage
This is required for logrotate-3.8.0 as reported in bug 374287.
Zac Medico [Thu, 7 Jul 2011 17:20:58 +0000 (10:20 -0700)]
ebuild(1): allow-missing-manifests for fetch
Zac Medico [Thu, 7 Jul 2011 08:10:15 +0000 (01:10 -0700)]
make.conf.5: fix grammar
Zac Medico [Thu, 7 Jul 2011 07:00:04 +0000 (00:00 -0700)]
digestcheck: more allow-missing-manifests
Zac Medico [Thu, 7 Jul 2011 04:35:45 +0000 (21:35 -0700)]
digestcheck: support allow-missing-manifests
Also, update the man page.
Brian Harring [Thu, 7 Jul 2011 00:35:10 +0000 (17:35 -0700)]
add FEATURES=allow-missing-manifests
The feature is as it sounds- primarily useful for temporary
trees or instances where manifests aren't used.
Signed-off-by: Brian Harring <ferringb@gmail.com>
Zac Medico [Sun, 3 Jul 2011 15:52:37 +0000 (08:52 -0700)]
repoman: ElementTree.ParseError -> SyntaxError
The ElementTree.ParseError class is undocumented and isn't available
in python-2.6, so use its SyntaxError base class instead.
Arfrever Frehtes Taifersar Arahesis [Sun, 3 Jul 2011 11:09:08 +0000 (13:09 +0200)]
Show repository in error message about missing USE flags.
Zac Medico [Fri, 1 Jul 2011 13:27:27 +0000 (06:27 -0700)]
portageq get_repo_path: output empty if unknown
It used to output "None" for unknown repos, which was not intended.
Zac Medico [Fri, 1 Jul 2011 08:50:07 +0000 (01:50 -0700)]
Fix a typo in a comment.
Zac Medico [Fri, 1 Jul 2011 08:47:14 +0000 (01:47 -0700)]
varexpand: remove escaped newline characters
This fixes a regression reported in bug 365033, comment #14.
Zac Medico [Fri, 1 Jul 2011 04:00:52 +0000 (21:00 -0700)]
preserve-libs: only preserve soname symlinks
This avoids calling the LinkageMapELF.isMasterLink() method, since the
only symlinks that are strictly required are the soname symlinks.
Zac Medico [Fri, 1 Jul 2011 02:23:23 +0000 (19:23 -0700)]
LinkageMapElf.findConsumers(): fix $ROOT handling
The code which checks the soname symlink was missing a join with
$ROOT.
Zac Medico [Fri, 1 Jul 2011 02:19:14 +0000 (19:19 -0700)]
LinkageMapElf: clarify findConsumers soname code
Here it referred to an soname symlink as a "master" link, which was
inconsistent with the meaning of "master" link used in the
isMasterLink() method.
Zac Medico [Fri, 1 Jul 2011 01:33:22 +0000 (18:33 -0700)]
LinkageMapElf.isMasterLink(): handle libproc
The version component of the libproc-3.2.8.so soname is formed
slightly differently than most other libraries.
Zac Medico [Thu, 30 Jun 2011 13:10:57 +0000 (06:10 -0700)]
UseFlagDisplay: fix USE_EXPAND_HIDDEN breakage
Zac Medico [Thu, 30 Jun 2011 12:49:18 +0000 (05:49 -0700)]
Fix a typo in a comment.
Zac Medico [Thu, 30 Jun 2011 10:17:31 +0000 (03:17 -0700)]
Fix a typo in a docstring.
Zac Medico [Thu, 30 Jun 2011 10:01:06 +0000 (03:01 -0700)]
LinkageMapELF.isMasterLink(): literally compare
Comparing the lengths of the names alone seems like too much of an
assumption, so literally compare the beginning of the soname to the
basename of the given file.
Zac Medico [Thu, 30 Jun 2011 08:53:16 +0000 (01:53 -0700)]
misc-functions.sh: remove stale NEEDED* files
Zac Medico [Thu, 30 Jun 2011 08:17:38 +0000 (01:17 -0700)]
Fix last commit to work regardless of nullglob.
Zac Medico [Thu, 30 Jun 2011 08:03:44 +0000 (01:03 -0700)]
ecompress: beware of -k in PORTAGE_COMPRESS_FLAGS
This will fix bug #372183.
Zac Medico [Thu, 30 Jun 2011 07:34:35 +0000 (00:34 -0700)]
config: filter repo-level make.defaults earlier
Zac Medico [Thu, 30 Jun 2011 06:56:36 +0000 (23:56 -0700)]
ebuild(1): use bintree.inject for "package" phase
Zac Medico [Thu, 30 Jun 2011 04:39:47 +0000 (21:39 -0700)]
ebuild(1): pass missing myrepo arg to aux_get
Zac Medico [Thu, 30 Jun 2011 04:26:20 +0000 (21:26 -0700)]
ebuild(1): pass "installed" arg to Package
Zac Medico [Thu, 30 Jun 2011 04:13:20 +0000 (21:13 -0700)]
ebuild(1): pass Package instance to setcpv
This should improve repo-level support, for bug #370693.
Zac Medico [Thu, 30 Jun 2011 03:36:07 +0000 (20:36 -0700)]
Only create soname symlinks in global libdirs.
This prevents false positives for private libraries installed by
pre-built packages under /opt.
Zac Medico [Thu, 30 Jun 2011 02:09:46 +0000 (19:09 -0700)]
config.setcpv(): simplify repo_env code
Zac Medico [Thu, 30 Jun 2011 01:50:54 +0000 (18:50 -0700)]
env_update: document ldconfig -X for bug #373341
Zac Medico [Thu, 30 Jun 2011 01:10:40 +0000 (18:10 -0700)]
RELEASE-NOTES: fix spelling of "respecting"
Zac Medico [Wed, 29 Jun 2011 11:37:08 +0000 (04:37 -0700)]
preserve-libs: don't preserve "master" symlink
There's no point in preserving the "master" symlink, since the soname
symlink is all that's strictly required.
Michał Górny [Tue, 28 Jun 2011 08:10:36 +0000 (10:10 +0200)]
Don't ever recreate root .so links on env-update.
We install .so symlinks with packages, so let's use that instead of
letting ldconfig update them for no reason. This should fix problems
with preserved-libs.
Zac Medico [Wed, 29 Jun 2011 09:18:21 +0000 (02:18 -0700)]
Detect/create missing soname symlinks for libs.
This will allow us to safely use the ldconfig -X option for all
ldconfig calls, an thereby avoid having ldconfig override our own
soname symlink policy which allows preserve-libs to work correctly
when libraries are downgraded as discussed in bug 373341.
Arfrever Frehtes Taifersar Arahesis [Tue, 28 Jun 2011 14:15:28 +0000 (16:15 +0200)]
read_corresponding_eapi_file(): Strip final \n from EAPI value.
Zac Medico [Tue, 28 Jun 2011 09:12:27 +0000 (02:12 -0700)]
Remove unimplemented "severe" FEATURES value.
This will fix bug #373301.
Zac Medico [Tue, 28 Jun 2011 09:06:36 +0000 (02:06 -0700)]
varexpand: handle backslashes like more like bash
For backslash expansion, this function used to behave like echo
-e, but that's not needed for our purposes. We want to behave like
bash does when expanding a variable assignment in a sourced file,
in which case it performs backslash removal for \\ and \$ but nothing
more. This will fix bash compatibility for the case reported in
bug #365033.
Arfrever Frehtes Taifersar Arahesis [Mon, 27 Jun 2011 19:33:17 +0000 (21:33 +0200)]
pkg_use_display(): Use use.expand and use.expand_hidden attributes.
Zac Medico [Mon, 27 Jun 2011 06:53:58 +0000 (23:53 -0700)]
Package.use: share identical frozenset instances
Zac Medico [Mon, 27 Jun 2011 02:32:06 +0000 (19:32 -0700)]
Fix CONFIG_PROTECT breakage from previous commit.
Zac Medico [Mon, 27 Jun 2011 00:34:13 +0000 (17:34 -0700)]
config: disallow per-package/repo CONFIG_PROTECT
In order for reliable etc-update behavior, CONFIG_PROTECT needs to be
a global constant (see bug 370693, comment #8).
Zac Medico [Mon, 27 Jun 2011 00:16:07 +0000 (17:16 -0700)]
Package: add use.expand/expand_hidden attributes
This allows the merge list display to account for repository-level
USE_EXPAND and USE_EXPAND_HIDDEN settings (see bug #370693).
Zac Medico [Sat, 25 Jun 2011 05:42:13 +0000 (22:42 -0700)]
prepare_features_dirs: fix ccache/distcc libdir
This will fix bug #355283.
Michał Górny [Fri, 24 Jun 2011 15:51:17 +0000 (17:51 +0200)]
Add a QA check for systemd unit file install.
Zac Medico [Fri, 24 Jun 2011 10:28:31 +0000 (03:28 -0700)]
repoman: fix broken set constructor usage
Zac Medico [Fri, 24 Jun 2011 10:21:20 +0000 (03:21 -0700)]
repoman: add new "dependency.unknown" warning
This checks for a dependency that refers to an unknown package (which
may be provided by an overlay), as requested in bug #372789.
Arfrever Frehtes Taifersar Arahesis [Thu, 23 Jun 2011 10:55:51 +0000 (12:55 +0200)]
Improve indentation for readability.
Zac Medico [Tue, 21 Jun 2011 08:14:47 +0000 (01:14 -0700)]
use_reduce: less strict for installed
Zac Medico [Tue, 21 Jun 2011 07:57:59 +0000 (00:57 -0700)]
extract_affecting_use: less strict for installed
Zac Medico [Tue, 21 Jun 2011 03:27:38 +0000 (20:27 -0700)]
config: fix repo KeyErrors
Zac Medico [Tue, 21 Jun 2011 01:31:17 +0000 (18:31 -0700)]
UseManager: avoid possible repo KeyErrors