portage.git
13 years agoRemove extended package set configuration docs. v2.1.10.11
Zac Medico [Fri, 3 Jun 2011 12:28:16 +0000 (05:28 -0700)]
Remove extended package set configuration docs.

Extended package sets configuration is disabled in the stable branch.

13 years agoRemove FEATURES=preserve-libs config/docs.
Zac Medico [Fri, 3 Jun 2011 12:15:50 +0000 (05:15 -0700)]
Remove FEATURES=preserve-libs config/docs.

Support for FEATURES=preserve-libs is disabled in the stable branch.

13 years agoportage.const: toggle constants for stable branch
Zac Medico [Fri, 3 Jun 2011 12:05:53 +0000 (05:05 -0700)]
portage.const: toggle constants for stable branch

_ENABLE_DYN_LINK_MAP    = False
_ENABLE_PRESERVE_LIBS   = False
_ENABLE_REPO_NAME_WARN  = False
_ENABLE_SET_CONFIG      = False
_SANDBOX_COMPAT_LEVEL   = "16"

13 years agorepoman: tweak --if-modified help output v2.2.0_alpha51
Zac Medico [Fri, 12 Aug 2011 11:43:40 +0000 (04:43 -0700)]
repoman: tweak --if-modified help output

13 years agorepoman: warn when --if-modified finds nothing
Zac Medico [Fri, 12 Aug 2011 11:21:53 +0000 (04:21 -0700)]
repoman: warn when --if-modified finds nothing

13 years agoFix log uid for logrotate-3.8 compat (bug 378451)
Zac Medico [Fri, 12 Aug 2011 09:47:04 +0000 (02:47 -0700)]
Fix log uid for logrotate-3.8 compat (bug 378451)

If PORT_LOGDIR is writable by the portage group but its uid is not
portage_uid, then set the uid to portage_uid if we have privileges to
do so, and also copy the uid to the logfile. This fixes logrotate
chown failures during the compression phase, when it attempts to copy
the uid from the logfile to a temp file. With the "su portage portage"
directive and logrotate-3.8.0, logrotate's chown call during the
compression phase will only succeed if the log file's uid is
portage_uid.

13 years agoresume_depgraph: prune all indirect unsatisfied
Zac Medico [Thu, 11 Aug 2011 03:27:45 +0000 (20:27 -0700)]
resume_depgraph: prune all indirect unsatisfied

This should fix some cases of bug 378187.

13 years agorepoman: add --if-modified option to check less
Zac Medico [Thu, 11 Aug 2011 03:00:11 +0000 (20:00 -0700)]
repoman: add --if-modified option to check less

This is useful if you want to do a repo-level or category-level commit
but you only want to run checks for the packages that have uncommitted
modifications.

13 years agorepoman: check more helper calls for $D, $ED...
Zac Medico [Tue, 9 Aug 2011 06:44:17 +0000 (23:44 -0700)]
repoman: check more helper calls for $D, $ED...

This adds docinto, docompress, fowners and fperms to the
variable.usedwithhelpers check. Notably absent is dosed since that
supports mixed input. This will fix bug #377303.

13 years agoPackage: remove unused profile.system mask type
Zac Medico [Tue, 9 Aug 2011 05:58:54 +0000 (22:58 -0700)]
Package: remove unused profile.system mask type

13 years agoRemove "profile" mask support as per PMS 5.2.7.
Zac Medico [Tue, 9 Aug 2011 05:35:38 +0000 (22:35 -0700)]
Remove "profile" mask support as per PMS 5.2.7.

Since this is considered a "legacy" feature by PMS 5.2.7, there
shouldn't be any need to support it anymore. Profiles can use
package.mask to get similar results, and package.mask additionally
allows for comments which are conveniently displayed by emerge. This
will fix bug #377907.

13 years ago_check_temp_dir: check for 'portage' symlink
Zac Medico [Tue, 9 Aug 2011 00:14:15 +0000 (17:14 -0700)]
_check_temp_dir: check for 'portage' symlink

This will fix bug #378403.

13 years agofetch: handle non-essential statvfs failure
Zac Medico [Sun, 7 Aug 2011 05:59:26 +0000 (22:59 -0700)]
fetch: handle non-essential statvfs failure

13 years agounmerge: remove more info dir files for #323213
Zac Medico [Sat, 6 Aug 2011 11:09:51 +0000 (04:09 -0700)]
unmerge: remove more info dir files for #323213

Treat any directory named "info" as a candidate here, since it might
have been in INFOPATH previously even though it may not be there now.

13 years agoportageq: fix short help display for leading \n
Zac Medico [Sat, 6 Aug 2011 05:16:31 +0000 (22:16 -0700)]
portageq: fix short help display for leading \n

13 years agounmerge: remove generated info "dir" files
Zac Medico [Thu, 4 Aug 2011 23:09:36 +0000 (16:09 -0700)]
unmerge: remove generated info "dir" files

These files are generated by emerge, so we need to remove them
when they are the only thing left in the directory. This will fix
bug #323213.

13 years agoaction_info: don't mix print with writemsg_stdout
Zac Medico [Thu, 4 Aug 2011 22:17:34 +0000 (15:17 -0700)]
action_info: don't mix print with writemsg_stdout

This should prevent strange output buffering/order issues reported when
piping output to head.

13 years agoportageq best_visible: support optional pkgtype
Zac Medico [Thu, 4 Aug 2011 21:26:12 +0000 (14:26 -0700)]
portageq best_visible: support optional pkgtype

13 years agoScheduler: fix parallel-fetch order with --jobs=1
Zac Medico [Wed, 3 Aug 2011 05:10:47 +0000 (22:10 -0700)]
Scheduler: fix parallel-fetch order with --jobs=1

This avoids a case where the first prefetcher is discarded, causing
the second prefetcher to occupy the fetch queue before the first
fetcher has an opportunity to execute.

13 years agounpack: remove backward compat for bug #376741 v2.2.0_alpha50
Zac Medico [Tue, 2 Aug 2011 18:25:58 +0000 (11:25 -0700)]
unpack: remove backward compat for bug #376741

This case is extremely rare, since the most common practice is to
unpack source files that are already in the cwd. The only Gentoo
packages that needed to be fixed were games-arcade/tuxpuck and
www-plugins/google-talkplugin.

13 years agounmerge: display preserved syms in ascending ord
Zac Medico [Tue, 2 Aug 2011 08:56:11 +0000 (01:56 -0700)]
unmerge: display preserved syms in ascending ord

13 years agounpack: always unpack to cwd (bug #376741)
Zac Medico [Mon, 1 Aug 2011 23:48:07 +0000 (16:48 -0700)]
unpack: always unpack to cwd (bug #376741)

This brings portage into agreement with PMS. Also, for existing EAPIs,
if the source file is in a writable directory then this will create a
symlink for backward-compatible emulation of tools like gunzip and
bunzip2.

13 years agodepgraph: fix duplicate zero pkg count display
Zac Medico [Mon, 1 Aug 2011 22:57:04 +0000 (15:57 -0700)]
depgraph: fix duplicate zero pkg count display

13 years agounmerge: unmerge symlinks broken by rmdir
Zac Medico [Mon, 1 Aug 2011 12:32:00 +0000 (05:32 -0700)]
unmerge: unmerge symlinks broken by rmdir

This prevents some more false alarms from commit
4bb08136f073024c5d31dceb1618b6f4e7246369.

13 years agopost_emerge: just return instead of sys.exit()
Zac Medico [Mon, 1 Aug 2011 11:18:54 +0000 (04:18 -0700)]
post_emerge: just return instead of sys.exit()

13 years agounmerge: fix false alarm about protected symlinks v2.2.0_alpha49
Zac Medico [Fri, 29 Jul 2011 20:16:34 +0000 (13:16 -0700)]
unmerge: fix false alarm about protected symlinks

The error message about preserved symlinks, from commit
4bb08136f073024c5d31dceb1618b6f4e7246369, should only be triggered in
cases when the package being unmerged has the given path listed as a
symlink in its CONTENTS.

13 years agoFix a typo in a comment. v2.2.0_alpha48
Zac Medico [Fri, 29 Jul 2011 07:22:19 +0000 (00:22 -0700)]
Fix a typo in a comment.

13 years agoemerge: protect symlinks to directories sometimes
Zac Medico [Thu, 28 Jul 2011 11:29:25 +0000 (04:29 -0700)]
emerge: protect symlinks to directories sometimes

Before, it was possible to unmerge a symlink to a directory, such that
files installed via the path of the symlink could become inaccessible
via that path (and also making it impossible to unmerge them via that
path).

Now, the symlink will only be unmerged if the directory that it points
to only contains regular files which are all being unmerged. In any
other case, the symlink will be preserved and an eerror log message
will record the event. This will give the user an opportunity to take
further action if they deem it necessary, and such symlink preservation
will not be silent as it was reported in bug #326685, comment #3.

13 years agodepgraph: handle invalid SRC_URI
Zac Medico [Wed, 27 Jul 2011 10:34:09 +0000 (03:34 -0700)]
depgraph: handle invalid SRC_URI

This is a minimal fix for bug #376577.

13 years agoconfig: fix AttributeError: 'NoneType' errors
Zac Medico [Wed, 27 Jul 2011 09:53:40 +0000 (02:53 -0700)]
config: fix AttributeError: 'NoneType' errors

This is a regression from commit
1fdeb78d08bac14f3f999f112499d179a87cf342 and it can only be triggered
when repo-level package.use is present.

13 years agomerge: abort if symlink replacing dir
Zac Medico [Wed, 27 Jul 2011 01:51:25 +0000 (18:51 -0700)]
merge: abort if symlink replacing dir

This is required for compliance with PMS section 13.4 as discussed in
bug #326685.

13 years agoNEWS: Add note about EAPI 3 in portage-2.1.7.17.
Zac Medico [Tue, 26 Jul 2011 00:44:31 +0000 (17:44 -0700)]
NEWS: Add note about EAPI 3 in portage-2.1.7.17.

13 years agodepgraph: make --exclude handle contradictions
Zac Medico [Mon, 25 Jul 2011 20:54:46 +0000 (13:54 -0700)]
depgraph: make --exclude handle contradictions

This makes contradictory things like `emerge -e @system --exclude gcc`
work as expected.

13 years agoFix a typo in the previous commit. v2.2.0_alpha47
Zac Medico [Sun, 24 Jul 2011 02:58:43 +0000 (19:58 -0700)]
Fix a typo in the previous commit.

13 years agoLinkageMapELF.getOwners(): add note about plibs
Zac Medico [Sun, 24 Jul 2011 02:57:52 +0000 (19:57 -0700)]
LinkageMapELF.getOwners(): add note about plibs

For preserved libraries, the owner(s) may have been been previously
uninstalled, but these uninstalled owners can be returned by this
method since they are registered in the PreservedLibsRegistry.

13 years agoLinkageMapELF: fix reversed x, cpv var refs
Zac Medico [Sun, 24 Jul 2011 02:14:52 +0000 (19:14 -0700)]
LinkageMapELF: fix reversed x, cpv var refs

This was an error in commit f393413c3f823ef4a60acfcc41c3920933510fc1.

13 years agoLibraryConsumerSet: handle KeyError from dbapi
Zac Medico [Sun, 24 Jul 2011 01:34:29 +0000 (18:34 -0700)]
LibraryConsumerSet: handle KeyError from dbapi

13 years agomerge: handle symlink replacing dir
Zac Medico [Sat, 23 Jul 2011 18:46:41 +0000 (11:46 -0700)]
merge: handle symlink replacing dir

Previously, these symlinks would trigger a file collision message and
would then be silently dropped in cases when the file collsion did not
cause emerge to bail out due to FEATURES=protect-owned or
collision-protect.

Now, if emerge doesn't bail out due to a file collision, it will
trigger an eerror message and merge the symlink with a .backup.XXXX
extension appended to the file name, similar to handling of regular
files in commit 740f71301ed3daf44c0e77df5d5de39fe1438fb1. This will
fix bug 326685.

13 years agoLinkageMapELF: remove 5-tuple unpack code
Zac Medico [Sat, 23 Jul 2011 06:22:52 +0000 (23:22 -0700)]
LinkageMapELF: remove 5-tuple unpack code

13 years agoLinkageMapELF: add getOwners() method and use it
Zac Medico [Fri, 22 Jul 2011 22:59:13 +0000 (15:59 -0700)]
LinkageMapELF: add getOwners() method and use it

This preserves the owner information inside LinkageMap.rebuild() and
uses it to implement a getOwners() method, which makes it possible to
efficiently lookup owners of library providers and consumers.

13 years agoLinkageMapELF: use a class for _obj_properies
Zac Medico [Fri, 22 Jul 2011 20:38:04 +0000 (13:38 -0700)]
LinkageMapELF: use a class for _obj_properies

This simplifies the interface, avoiding the need for hardcoded indexes
and making it easy to add new attributes.

13 years agoLinkageMapELF: optimize memory usage
Zac Medico [Fri, 22 Jul 2011 07:58:56 +0000 (00:58 -0700)]
LinkageMapELF: optimize memory usage

This reduces memory consumption by approximately 30%, by replacing
mutable set instances with arrays, tuples, and frozensets where
appropriate. Also, identical frozenset instances are shared when
available.

13 years agoBinpkgFetcher: support selinux PORTAGE_FETCH_T
Zac Medico [Thu, 21 Jul 2011 16:56:33 +0000 (09:56 -0700)]
BinpkgFetcher: support selinux PORTAGE_FETCH_T

Thanks to Sven Vermeulen <sven.vermeulen@siphos.be> for the initial
patch posted on bug #375835.

13 years agoEverythingSet: always create SLOT atoms
Zac Medico [Thu, 21 Jul 2011 16:14:50 +0000 (09:14 -0700)]
EverythingSet: always create SLOT atoms

Before it would only include the SLOT in the atom if there were
multiple slots installed. However, taht could lead to unwanted upgrades
as reported in bug #338959. Therefore, always create SLOT atoms.

13 years agoOptimize LinkageMapELF.findConsumers().
Zac Medico [Wed, 20 Jul 2011 08:04:00 +0000 (01:04 -0700)]
Optimize LinkageMapELF.findConsumers().

If there are no non-excluded providers then there's no need to search
for satisfied consumers.

13 years agoFix unused case in LinkageMapELF.findConsumers().
Zac Medico [Wed, 20 Jul 2011 04:44:14 +0000 (21:44 -0700)]
Fix unused case in LinkageMapELF.findConsumers().

Currently, we never pass in more that one package via the
exclude_providers argument, so we never trigger the flaw in the logic
that this fixes.

13 years agoScheduler: fix _running_tasks for uninstalls v2.2.0_alpha46
Zac Medico [Tue, 19 Jul 2011 20:23:35 +0000 (13:23 -0700)]
Scheduler: fix _running_tasks for uninstalls

13 years agoEbuildBuild: pass ebuild_path to EbuildFetcher
Zac Medico [Tue, 19 Jul 2011 19:52:29 +0000 (12:52 -0700)]
EbuildBuild: pass ebuild_path to EbuildFetcher

This avoids a redundant pordbapi.findname() call.

13 years agoMake emerge --noreplace identical to --selective.
Zac Medico [Tue, 19 Jul 2011 08:36:58 +0000 (01:36 -0700)]
Make emerge --noreplace identical to --selective.

This removes a very subtle difference in --noreplace package selection
logic which is not very useful and triggers strange package selection
choices in some cases, as reported in bug #375571.

13 years agoScheduler: simplify _terminate_tasks
Zac Medico [Mon, 18 Jul 2011 08:21:39 +0000 (01:21 -0700)]
Scheduler: simplify _terminate_tasks

This should also fix bugs related to CompositeTask instances waiting
for queued tasks to start and not being properly terminated in this
case.

13 years agopreserve-libs: search for alt providers of soname
Zac Medico [Mon, 18 Jul 2011 05:30:54 +0000 (22:30 -0700)]
preserve-libs: search for alt providers of soname

This will fix bug #289180 by making LinkageMapELF.findconsumers()
exclude consumers from the results in cases when they are satisfied by
an alternative provider of the required soname.

13 years agoScheduler: allow concurrent fetch with --jobs > 1
Zac Medico [Sun, 17 Jul 2011 18:16:20 +0000 (11:16 -0700)]
Scheduler: allow concurrent fetch with --jobs > 1

This reverts behavior from bug #375331 (commit
f07f8386e945b48358c11c121960e4833c539752) for cases in which --jobs is
greater than 1. We can add a separate --fetch-jobs option later, but
for now, this preserves previous behavior for --jobs > 1.

13 years agoFix a typo in a doc string.
Arfrever Frehtes Taifersar Arahesis [Sun, 17 Jul 2011 04:35:26 +0000 (06:35 +0200)]
Fix a typo in a doc string.

13 years agoEbuildFetcher: handle FileNotFound
Zac Medico [Sun, 17 Jul 2011 00:32:10 +0000 (17:32 -0700)]
EbuildFetcher: handle FileNotFound

13 years agoFix a typo in a comment.
Zac Medico [Sun, 17 Jul 2011 00:10:36 +0000 (17:10 -0700)]
Fix a typo in a comment.

13 years agoBinpkg: use fetch queue to cap fetch threads
Zac Medico [Sun, 17 Jul 2011 00:04:08 +0000 (17:04 -0700)]
Binpkg: use fetch queue to cap fetch threads

This is analogous to commit f07f8386e945b48358c11c121960e4833c539752
for bug #375331, but for fetching from binhosts.

13 years agoEbuildBuild: skip the fetch queue when possible
Zac Medico [Sat, 16 Jul 2011 23:30:14 +0000 (16:30 -0700)]
EbuildBuild: skip the fetch queue when possible

Since commit f07f8386e945b48358c11c121960e4833c539752, it was possible
for EbuildBuild to wait on the fetch queue even in cases in which all
required files had been previously fetched. Now this case is optimized
to skip the fetch queue, as discribed in bug #375331, comment #2.

13 years agoScheduler: enable prefetch for first package
Zac Medico [Sat, 16 Jul 2011 07:30:05 +0000 (00:30 -0700)]
Scheduler: enable prefetch for first package

Since commit f07f8386e945b48358c11c121960e4833c539752, the first will
have to wait for later ones to fetch unless we start its prefetcher
first.

13 years agoEbuildBuild: use fetch queue to cap fetch threads
Zac Medico [Sat, 16 Jul 2011 06:16:20 +0000 (23:16 -0700)]
EbuildBuild: use fetch queue to cap fetch threads

This will fix bug #375331.

13 years agoSkip QA Notice for hasq/useq during *rm phases.
Zac Medico [Fri, 15 Jul 2011 17:06:47 +0000 (10:06 -0700)]
Skip QA Notice for hasq/useq during *rm phases.

13 years agoportageq: reference GLEP 37 in expand_virtual doc
Zac Medico [Thu, 14 Jul 2011 22:32:54 +0000 (15:32 -0700)]
portageq: reference GLEP 37 in expand_virtual doc

13 years agoSet PORTAGE_REPO_NAME for depend phase.
Zac Medico [Thu, 14 Jul 2011 21:53:48 +0000 (14:53 -0700)]
Set PORTAGE_REPO_NAME for depend phase.

13 years agodebuild: pass manifest to digestcheck() v2.2.0_alpha45
Zac Medico [Thu, 14 Jul 2011 01:31:28 +0000 (18:31 -0700)]
debuild: pass manifest to digestcheck()

This allows us to avoid parsing the Manifest twice.

13 years agodoebuild: discard cached manifest when necessary
Zac Medico [Thu, 14 Jul 2011 01:24:49 +0000 (18:24 -0700)]
doebuild: discard cached manifest when necessary

When we call digestgen(), it can regenerate our distfiles digests and
we don't wan to cache stale values in this case.

13 years agodebuild: pass dist digests to fetch()
Zac Medico [Thu, 14 Jul 2011 00:56:57 +0000 (17:56 -0700)]
debuild: pass dist digests to fetch()

This allows us to avoid parsing the Manifest twice.

13 years agoRevert "ebuild(1): allow-missing-manifests for fetch"
Zac Medico [Thu, 14 Jul 2011 00:36:24 +0000 (17:36 -0700)]
Revert "ebuild(1): allow-missing-manifests for fetch"

This reverts commit 62712db56bb863b4eb0a9d9c52e7b2c3ad38df66.

This code already defaulted to the allow-missing-manifests behavior,
since the fetch() allow_missing_digests argument default is true. By
making the argument conditional on allow-missing-manifests, it changed
the behavior in the default case where allow-missing-manifests is
disabled.

13 years agoProtect EBUILD_{FORCE_TEST,SKIP_MANIFEST} vars.
Zac Medico [Wed, 13 Jul 2011 17:25:47 +0000 (10:25 -0700)]
Protect EBUILD_{FORCE_TEST,SKIP_MANIFEST} vars.

These belong in the blacklist, in order to avoid potential interference
from the calling environment.

13 years agofetch: fix ebuild --skip-manifest behavior
Zac Medico [Wed, 13 Jul 2011 17:05:55 +0000 (10:05 -0700)]
fetch: fix ebuild --skip-manifest behavior

This should fix "Insufficient data for checksum verification" errors
triggered by ebuild --skip-manifest.

13 years agoBUILD_TIME: use string format op for time.time() v2.2.0_alpha44
Zac Medico [Tue, 12 Jul 2011 23:38:54 +0000 (16:38 -0700)]
BUILD_TIME: use string format op for time.time()

13 years agoUse portage.subprocess_getstatusoutput() more.
Zac Medico [Tue, 12 Jul 2011 23:20:45 +0000 (16:20 -0700)]
Use portage.subprocess_getstatusoutput() more.

13 years agoAvoid baseline subprocess import under python2.
Zac Medico [Tue, 12 Jul 2011 22:46:54 +0000 (15:46 -0700)]
Avoid baseline subprocess import under python2.

13 years agoemergelog: use string format op for time.time()
Zac Medico [Tue, 12 Jul 2011 22:04:16 +0000 (15:04 -0700)]
emergelog: use string format op for time.time()

13 years agoemergelog: remove unneeded seek for append mode
Zac Medico [Tue, 12 Jul 2011 21:50:21 +0000 (14:50 -0700)]
emergelog: remove unneeded seek for append mode

13 years agoUpdate timestamps in headers of modified files.
Zac Medico [Tue, 12 Jul 2011 21:04:00 +0000 (14:04 -0700)]
Update timestamps in headers of modified files.

13 years agofilter-bash-environment.py: move imports to top
Zac Medico [Tue, 12 Jul 2011 20:16:56 +0000 (13:16 -0700)]
filter-bash-environment.py: move imports to top

13 years agoUse explicit 'mode' keyword arg with io.open().
Zac Medico [Tue, 12 Jul 2011 20:04:15 +0000 (13:04 -0700)]
Use explicit 'mode' keyword arg with io.open().

13 years agoUse 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().

13 years agoresume_depgraph: be careful with parent_node type
Zac Medico [Tue, 12 Jul 2011 19:26:47 +0000 (12:26 -0700)]
resume_depgraph: be careful with parent_node type

13 years agounmerge: reject USE conditionals in arguments
Zac Medico [Tue, 12 Jul 2011 19:15:44 +0000 (12:15 -0700)]
unmerge: reject USE conditionals in arguments

13 years agomisc-functions.sh: fix incorrect has -o usage
Zac Medico [Tue, 12 Jul 2011 18:45:41 +0000 (11:45 -0700)]
misc-functions.sh: fix incorrect has -o usage

13 years agoRemove unneeded _unicode_decode for io.StringIO.
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.

13 years agoRemove python-2.6 StringIO.StringIO fallback.
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.

13 years agoautounmask-write: create /etc/portage if needed
Zac Medico [Mon, 11 Jul 2011 21:58:09 +0000 (14:58 -0700)]
autounmask-write: create /etc/portage if needed

13 years agoelog/mod_save: fix permissions for logrotate
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.

13 years agoelog/mod_save: ensure parent logdir exists
Zac Medico [Mon, 11 Jul 2011 18:00:33 +0000 (11:00 -0700)]
elog/mod_save: ensure parent logdir exists

13 years agoresume_depgraph: fix breakage from reposyntax
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.

13 years agoelog/mod_save: use _ensure_log_subdirs
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.

13 years agoprepare_build_dirs: copy logdir group permissions
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.

13 years agoLog maintainer info for pretend and nofetch.
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.

13 years agoprepare_build_dirs: warn for logdir permission
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.

13 years agoebuild.sh: restore old has() implementation
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>
13 years agois_valid_package_atom: fix circular import
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.

13 years agoRemove unused codecs import.
Zac Medico [Mon, 11 Jul 2011 00:12:49 +0000 (17:12 -0700)]
Remove unused codecs import.

13 years agoMigrate from codecs.open() to io.open().
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.

13 years agoManifest: fix NameError in updateAllHashes
Zac Medico [Sun, 10 Jul 2011 23:40:56 +0000 (16:40 -0700)]
Manifest: fix NameError in updateAllHashes

13 years agocircular_dependency: fix total_flags calc
Zac Medico [Sun, 10 Jul 2011 13:33:23 +0000 (06:33 -0700)]
circular_dependency: fix total_flags calc

13 years agodepgraph: more debug output for _add_pkg
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.

13 years agoslot_collision: fix more for bug 374423
Zac Medico [Sun, 10 Jul 2011 12:05:58 +0000 (05:05 -0700)]
slot_collision: fix more for bug 374423

13 years agoslot_collision: fix AttributeError for bug 374423
Zac Medico [Sun, 10 Jul 2011 10:40:59 +0000 (03:40 -0700)]
slot_collision: fix AttributeError for bug 374423

13 years agodepgraph: reject USE conditionals in arguments
Zac Medico [Sun, 10 Jul 2011 03:24:49 +0000 (20:24 -0700)]
depgraph: reject USE conditionals in arguments