Zac Medico [Fri, 7 Mar 2008 23:52:35 +0000 (23:52 -0000)]
Convert PackageIndex.packages from a dict to a list so that in the future
it will be possible to support multiple packages with the same cpv.
svn path=/main/trunk/; revision=9452
Zac Medico [Fri, 7 Mar 2008 21:26:49 +0000 (21:26 -0000)]
Make --prune and --depclean operate with missing dependencies when only
asked to remove specific packages since it's relatively safe in this case.
svn path=/main/trunk/; revision=9451
Zac Medico [Thu, 6 Mar 2008 02:33:04 +0000 (02:33 -0000)]
Use os.environ["SANDBOX_ON"] = "0" to make portageq exempt from sandbox for
things like writing metadata cache. Thanks to ferringb for the suggestion.
svn path=/main/trunk/; revision=9448
Zac Medico [Thu, 6 Mar 2008 01:16:30 +0000 (01:16 -0000)]
Remove egrep syntax emulation since it's not really needed.
svn path=/main/trunk/; revision=9447
Zac Medico [Thu, 6 Mar 2008 01:03:42 +0000 (01:03 -0000)]
Implement the sed-based declare -r filter in python.
svn path=/main/trunk/; revision=9446
Zac Medico [Thu, 6 Mar 2008 00:23:32 +0000 (00:23 -0000)]
Move the variable name validation regexes (for bug 211949) into
filter-bash-environment.py instead of passing them in from bash.
svn path=/main/trunk/; revision=9445
Zac Medico [Wed, 5 Mar 2008 23:54:33 +0000 (23:54 -0000)]
Update the description to reflect the new meaning of PATTERN.
svn path=/main/trunk/; revision=9444
Zac Medico [Wed, 5 Mar 2008 23:48:50 +0000 (23:48 -0000)]
Pass a space-separated list of variables into filter-bash-environment.py and
generate the final regex on the python side instead of in bash. Also, properly
anchor the regex so that it actually works.
svn path=/main/trunk/; revision=9443
Zac Medico [Wed, 5 Mar 2008 22:03:31 +0000 (22:03 -0000)]
Fix have_end_quote() to compare the quote against the correct group.
svn path=/main/trunk/; revision=9442
Zac Medico [Wed, 5 Mar 2008 19:59:27 +0000 (19:59 -0000)]
Bug #211949 - Tighten the variable name filter to exclude any variables
with names containing any non-alphanumeric characters.
svn path=/main/trunk/; revision=9441
Zac Medico [Wed, 5 Mar 2008 19:51:12 +0000 (19:51 -0000)]
Handle multi-line quoted variable assignments.
svn path=/main/trunk/; revision=9440
Zac Medico [Wed, 5 Mar 2008 19:01:29 +0000 (19:01 -0000)]
As requested by wolf31o2, use the ROOT setting from make.conf as long as
it's not overridden by the calling environment.
svn path=/main/trunk/; revision=9439
Zac Medico [Wed, 5 Mar 2008 09:34:37 +0000 (09:34 -0000)]
TODO: Move variable name validation and declare -r filtering
into filter-bash-environment.py.
svn path=/main/trunk/; revision=9438
Zac Medico [Wed, 5 Mar 2008 09:23:51 +0000 (09:23 -0000)]
Update description to reflect the new meaning of the PATTERN argument.
svn path=/main/trunk/; revision=9437
Zac Medico [Wed, 5 Mar 2008 09:20:27 +0000 (09:20 -0000)]
Implement variable assignment handling in python so that we can eventually
make it more flexible and robust.
svn path=/main/trunk/; revision=9436
Zac Medico [Wed, 5 Mar 2008 00:19:16 +0000 (00:19 -0000)]
Remove redundant CUSTOM_PROFILE_PATH from the PROFILE_PATHS variable so
that /etc/portage/profile/profile.bashrc will only be sourced once if
it exists.
svn path=/main/trunk/; revision=9435
Zac Medico [Tue, 4 Mar 2008 18:43:58 +0000 (18:43 -0000)]
Fix func_start_re so that it requires at least one alphanumeric character.
svn path=/main/trunk/; revision=9434
Zac Medico [Tue, 4 Mar 2008 18:42:39 +0000 (18:42 -0000)]
Tighten the funct_start_re so that it doesn't match leading whitespace
since that's not needed.
svn path=/main/trunk/; revision=9433
Zac Medico [Tue, 4 Mar 2008 08:11:20 +0000 (08:11 -0000)]
Bug #211949 - Temporarily revert back to a less strict regex in order to
avoid false positives with multi-line variable definitions that can be
produced by the 'export' builtin.
svn path=/main/trunk/; revision=9432
Zac Medico [Tue, 4 Mar 2008 07:44:11 +0000 (07:44 -0000)]
Add support for idendification of function definitions since it's needed
in some cases in order to prevent some odd function contents from being
mistakenly identified as invalid variable assignments. For example, this
line from _gcc-specs-directive_raw() is commonly found in environment.bz2
files:
$1=="*"directive":" { pspec=spec; spec=""; outside=0; next }
svn path=/main/trunk/; revision=9431
Zac Medico [Tue, 4 Mar 2008 04:48:11 +0000 (04:48 -0000)]
Bug #211949 - Fix the regex so that it won't match the = character (equals
sign).
svn path=/main/trunk/; revision=9429
Marius Mauch [Mon, 3 Mar 2008 22:17:43 +0000 (22:17 -0000)]
tell rpmbuild to clean it's working files after completion, bug #97776
svn path=/main/trunk/; revision=9428
Marius Mauch [Mon, 3 Mar 2008 20:53:33 +0000 (20:53 -0000)]
fix message on ValueError to not sound like crap
svn path=/main/trunk/; revision=9427
Marius Mauch [Mon, 3 Mar 2008 20:28:22 +0000 (20:28 -0000)]
don't list files as being merged when they are ignored due to confmem, bug #212080
svn path=/main/trunk/; revision=9426
Marius Mauch [Mon, 3 Mar 2008 19:43:18 +0000 (19:43 -0000)]
check available space in DISTDIR before trying to fetch/copy a file, bug #212152
svn path=/main/trunk/; revision=9425
Zac Medico [Mon, 3 Mar 2008 19:21:11 +0000 (19:21 -0000)]
Buf #210372 - Fix FEATURES=suidctl so that it really works again.
svn path=/main/trunk/; revision=9423
Zac Medico [Mon, 3 Mar 2008 10:24:46 +0000 (10:24 -0000)]
Bug #211949 - Tweak the regex so that a leading whitespace character
cannot match the required non-alphanumeric group.
svn path=/main/trunk/; revision=9421
Zac Medico [Mon, 3 Mar 2008 10:16:26 +0000 (10:16 -0000)]
Fix the regex for bug #211949 so that it correctly matches variable
names that contain more than one non-alphanumeric character.
svn path=/main/trunk/; revision=9419
Zac Medico [Mon, 3 Mar 2008 04:28:19 +0000 (04:28 -0000)]
Quote the file path and uri inside FETCHCOMMAND and RESUMECOMMAND. Thanks
to igli for suggesting.
svn path=/main/trunk/; revision=9418
Zac Medico [Sun, 2 Mar 2008 23:26:42 +0000 (23:26 -0000)]
Bug #211949 - As suggested by vapier, tighten the variable filter to also
exclude variable names that begin with a digit or that contain any
non-alphanumeric characters that are not be supported by bash.
svn path=/main/trunk/; revision=9416
Zac Medico [Sun, 2 Mar 2008 21:42:32 +0000 (21:42 -0000)]
Make profile stacking of default USE and package.* slightly more efficient
by skipping list.insert() calls when possible.
svn path=/main/trunk/; revision=9415
Marius Mauch [Sun, 2 Mar 2008 20:02:12 +0000 (20:02 -0000)]
one more fix to restore correct order for usemask/useforce
svn path=/main/trunk/; revision=9414
Marius Mauch [Sun, 2 Mar 2008 19:44:01 +0000 (19:44 -0000)]
fix indentation screwup from r9412
svn path=/main/trunk/; revision=9413
Marius Mauch [Sun, 2 Mar 2008 19:36:53 +0000 (19:36 -0000)]
change stacking order of r9408 so more specific atoms override generic ones
svn path=/main/trunk/; revision=9412
Zac Medico [Sun, 2 Mar 2008 19:20:45 +0000 (19:20 -0000)]
Fix typo.
svn path=/main/trunk/; revision=9411
Marius Mauch [Sun, 2 Mar 2008 19:08:52 +0000 (19:08 -0000)]
apply r9408 also for profile-base package.*use* files
svn path=/main/trunk/; revision=9410
Marius Mauch [Sun, 2 Mar 2008 18:56:10 +0000 (18:56 -0000)]
remove FEATURES=livecvsportage
svn path=/main/trunk/; revision=9409
Marius Mauch [Sun, 2 Mar 2008 14:45:52 +0000 (14:45 -0000)]
stack use flags from package.use for multiple matching atoms (bug #200385)
svn path=/main/trunk/; revision=9408
Marius Mauch [Sun, 2 Mar 2008 13:44:03 +0000 (13:44 -0000)]
ensure that global variables are used to prevent confusing issues like bug #212055
svn path=/main/trunk/; revision=9407
Marius Mauch [Sun, 2 Mar 2008 11:40:50 +0000 (11:40 -0000)]
undo registrations of preserved libraries if the merge fails, bug #210501
svn path=/main/trunk/; revision=9406
Zac Medico [Sat, 1 Mar 2008 08:30:13 +0000 (08:30 -0000)]
Bug #211949 - Make filter_readonly_variables() remove any variables
with names containing a hyphen since bash does not allow them.
svn path=/main/trunk/; revision=9402
Zac Medico [Sat, 1 Mar 2008 00:04:09 +0000 (00:04 -0000)]
Make 'import portage' statements more tolerant to broken source statements
in make.conf since exceptions thrown during 'import portage' statements
can practically render the api unusable for api consumers. Thanks to lxnay
for the suggestion.
svn path=/main/trunk/; revision=9400
Zac Medico [Fri, 29 Feb 2008 22:58:15 +0000 (22:58 -0000)]
In the suidctl code, move the addwrite call out of the loop. Thanks to ferringb.
svn path=/main/trunk/; revision=9399
Marius Mauch [Thu, 28 Feb 2008 15:08:40 +0000 (15:08 -0000)]
remove code for manifest1 support
svn path=/main/trunk/; revision=9398
Marius Mauch [Thu, 28 Feb 2008 14:55:51 +0000 (14:55 -0000)]
supress stupid line echo in deprecation notices
svn path=/main/trunk/; revision=9397
Marius Mauch [Thu, 28 Feb 2008 13:09:10 +0000 (13:09 -0000)]
remove obsolete information from preserve-libs post-emerge message
svn path=/main/trunk/; revision=9395
Marius Mauch [Thu, 28 Feb 2008 13:08:07 +0000 (13:08 -0000)]
separate different messages with newlines in post-emerge output
svn path=/main/trunk/; revision=9394
Zac Medico [Thu, 28 Feb 2008 10:12:32 +0000 (10:12 -0000)]
Fix some references to config["PORTAGE_USE"] to prevent potential
KeyErrors.
svn path=/main/trunk/; revision=9393
Zac Medico [Wed, 27 Feb 2008 19:43:45 +0000 (19:43 -0000)]
Bug #211554 - Replace references to config["USE"] with references to
config["PORTAGE_USE"] (which is filtered for intersection with IUSE)
so that dependency calculations at installation time are consistent
with those at depclean time.
svn path=/main/trunk/; revision=9392
Zac Medico [Wed, 27 Feb 2008 16:16:30 +0000 (16:16 -0000)]
Revert r9387 (the fix for bug #211554) until I figure out why it's messing
up USE calculations for world updates.
svn path=/main/trunk/; revision=9391
Zac Medico [Wed, 27 Feb 2008 16:00:54 +0000 (16:00 -0000)]
Bug #211294 - Make repoman ignore profiles labeled with anything other
than "stable" or "dev" in profiles.desc so that we can extend it with
new labels such as "exp".
svn path=/main/trunk/; revision=9389
Zac Medico [Wed, 27 Feb 2008 08:57:06 +0000 (08:57 -0000)]
Don't filter USE flags in emerge --info output.
svn path=/main/trunk/; revision=9388
Zac Medico [Wed, 27 Feb 2008 04:06:50 +0000 (04:06 -0000)]
Bug #211554 - Replace references to config["USE"] with references to
config["PORTAGE_USE"] (which is filtered for intersection with IUSE)
so that dependency calculations at installation time are consistent
with those at depclean time.
svn path=/main/trunk/; revision=9387
Zac Medico [Tue, 26 Feb 2008 06:22:39 +0000 (06:22 -0000)]
For depclean/prune unmerge order, if there are no dependencies between
package then just unmerge them alphabetically.
svn path=/main/trunk/; revision=9385
Zac Medico [Tue, 26 Feb 2008 00:02:53 +0000 (00:02 -0000)]
Bug #211365 - Use catpkgsplit() instead of pkgsplit() on the cpv in the
dblink constructor since otherwise weird categories containing numbers
can make pkgsplit() return None (likely related to version regex handling).
(branches/2.1.2 r9383)
svn path=/main/trunk/; revision=9384
Alec Warner [Sun, 24 Feb 2008 23:14:33 +0000 (23:14 -0000)]
Double import, thanks grobian :)
svn path=/main/trunk/; revision=9381
Alec Warner [Sun, 24 Feb 2008 07:52:33 +0000 (07:52 -0000)]
Various repoman fixes, plus a weird lockfile tracekback in news.
svn path=/main/trunk/; revision=9377
Mike Frysinger [Sat, 23 Feb 2008 01:20:48 +0000 (01:20 -0000)]
only try to fetch compression schemes which the host supports
svn path=/main/trunk/; revision=9372
Mike Frysinger [Sat, 23 Feb 2008 01:17:15 +0000 (01:17 -0000)]
add support for lzma/gz snapshots
svn path=/main/trunk/; revision=9371
Mike Frysinger [Sat, 23 Feb 2008 01:08:54 +0000 (01:08 -0000)]
tighten up output from script
svn path=/main/trunk/; revision=9370
Mike Frysinger [Sat, 23 Feb 2008 00:57:06 +0000 (00:57 -0000)]
cleanup main option parsing
svn path=/main/trunk/; revision=9369
Zac Medico [Fri, 22 Feb 2008 23:53:08 +0000 (23:53 -0000)]
Revert portdbapi category auto-detection code since it's not really needed
and can cause problems if we need to add new non-category directories in
the future. We only really need the category auto-detection for bindbapi and
vardbapi anyway.
svn path=/main/trunk/; revision=9368
Zac Medico [Fri, 22 Feb 2008 22:20:50 +0000 (22:20 -0000)]
Add support for file paths as arguments to emerge. If an argument starts
with / and it's not recognized as a tbz2 or ebuild then we try to find
and owner in the vdb and generate a slot atom from it. Thanks to solar
for the suggestion.
svn path=/main/trunk/; revision=9367
Zac Medico [Fri, 22 Feb 2008 06:46:49 +0000 (06:46 -0000)]
Bug #211067 - Make the "portdir_overlay" and "mydir" variables contain
paths that are consistent wrt eachother regardless of any path
irregularities that can be induced by symlinks. Consistency is achieved
by regenerating one of the paths to ensure that both paths have the exact
same mapping between inodes and paths. This consistency ensures that the
path manipulations used to calculate "repolevel" will work as intended.
svn path=/main/trunk/; revision=9365
Zac Medico [Thu, 21 Feb 2008 09:29:10 +0000 (09:29 -0000)]
Make LibraryPackageMap.update() sort the contents of the library_consumers
cache so that it's nice and orderly.
svn path=/main/trunk/; revision=9364
Zac Medico [Thu, 21 Feb 2008 08:04:33 +0000 (08:04 -0000)]
Optimize dblink.isowner() to use fewer stat calls by doing a basename
comparison to try and eliminate the file before resorting to inode
comparison. This speeds up the `portageq owners` command as well as
the search that is done when collision-protect finds a collision.
svn path=/main/trunk/; revision=9363
Zac Medico [Wed, 20 Feb 2008 20:52:22 +0000 (20:52 -0000)]
In the circular dependency display, drop PDEPEND (aka MEDIUM_SOFT) from
the graph so there's less noise.
svn path=/main/trunk/; revision=9362
Zac Medico [Wed, 20 Feb 2008 03:59:45 +0000 (03:59 -0000)]
Make stack_dicts() treat an empty variable assignment just like a non-empty
assignment. This allows the profile to set and empty variable in make.defaults
and have it override a non-empty value as one would expect.
svn path=/main/trunk/; revision=9361
Zac Medico [Tue, 19 Feb 2008 08:47:11 +0000 (08:47 -0000)]
When showing an unsatisfied dep, never include installed packages.
svn path=/main/trunk/; revision=9360
Zac Medico [Tue, 19 Feb 2008 08:27:22 +0000 (08:27 -0000)]
For greedy slot behavior, in addition to any installed slots also
try to pull in the latest new slot that may be available.
svn path=/main/trunk/; revision=9359
Marius Mauch [Tue, 19 Feb 2008 07:36:49 +0000 (07:36 -0000)]
- outsource logic for boolean options into a central function
- enable support for greedy behavior in StaticFileSet
svn path=/main/trunk/; revision=9358
Zac Medico [Tue, 19 Feb 2008 05:59:44 +0000 (05:59 -0000)]
Bug #210449 - Reset exeinto(), docinto(), insinto(), and into() state
variables in case the user is running the install phase multiple times
consecutively via the ebuild command.
svn path=/main/trunk/; revision=9357
Zac Medico [Tue, 19 Feb 2008 05:38:41 +0000 (05:38 -0000)]
Bug #210372 - Fix suidctl.conf parser to look for paths with a leading slash.
svn path=/main/trunk/; revision=9355
Zac Medico [Tue, 19 Feb 2008 04:09:20 +0000 (04:09 -0000)]
Make PreservedLibsRegistry.store() use atomic_ofstream so that we don't
lose the whole registry if an error such as 'out of space' occurs.
svn path=/main/trunk/; revision=9354
Zac Medico [Tue, 19 Feb 2008 03:27:46 +0000 (03:27 -0000)]
Use parse_use_local_desc() from the repoman.utilities module.
svn path=/main/trunk/; revision=9353
Zac Medico [Tue, 19 Feb 2008 02:32:37 +0000 (02:32 -0000)]
Revert back to some known working code from the 2.1.2 branch.
svn path=/main/trunk/; revision=9352
Zac Medico [Tue, 19 Feb 2008 01:53:45 +0000 (01:53 -0000)]
Make LibraryConsumerSet.mapPathsToAtoms() produce slot atoms so that atoms
aren't restricted to the currently installed version, making upgrades
possible.
svn path=/main/trunk/; revision=9351
Zac Medico [Sun, 17 Feb 2008 23:51:42 +0000 (23:51 -0000)]
Fix the --depclean/--prune code to use visible() for visibility checks
instead of the old portdbapi hack.
svn path=/main/trunk/; revision=9350
Zac Medico [Sun, 17 Feb 2008 08:38:55 +0000 (08:38 -0000)]
Fix unmerge() breakage from due to pkgmap being changed from
a dict to a list.
svn path=/main/trunk/; revision=9349
Zac Medico [Sun, 17 Feb 2008 01:59:25 +0000 (01:59 -0000)]
Now that unmerge() preserves the order that it's given, if two different
slots of the same package are being unmerged then they are not necessarily
unmerged consecutively. To make the display less confusing, never display
packages as "protected" or "omitted" when they actually belong to the
overall set of "selected" packages to be unmerged.
svn path=/main/trunk/; revision=9348
Zac Medico [Sun, 17 Feb 2008 01:28:12 +0000 (01:28 -0000)]
Make sure all packages to be pruned or depcleaned are added to the graph,
even when they don't have any dependencies.
svn path=/main/trunk/; revision=9347
Zac Medico [Sun, 17 Feb 2008 00:29:23 +0000 (00:29 -0000)]
Bug #201045 - Make unmerge() preserve the unmerge order of packages
given to it by the user or depclean.
svn path=/main/trunk/; revision=9346
Zac Medico [Sat, 16 Feb 2008 23:46:29 +0000 (23:46 -0000)]
In the action_depclean() topological sort, only add packages to the
graph if they are being removed.
svn path=/main/trunk/; revision=9345
Zac Medico [Sat, 16 Feb 2008 23:43:06 +0000 (23:43 -0000)]
Remove IUSE.invalid from qawarnings since there's no reason for
it not to be fatal. Thanks to Betelgeuse.
svn path=/main/trunk/; revision=9344
Zac Medico [Sat, 16 Feb 2008 23:12:25 +0000 (23:12 -0000)]
Fix reversed order of parent/child parameders to digraph.add().
svn path=/main/trunk/; revision=9343
Zac Medico [Sat, 16 Feb 2008 09:02:39 +0000 (09:02 -0000)]
Add missing % x (bug #208946, comment #2).
svn path=/main/trunk/; revision=9342
Zac Medico [Sat, 16 Feb 2008 07:59:44 +0000 (07:59 -0000)]
Fix depclean breakage so that it doesn't clean some packages that
shouldn't be cleaned.
svn path=/main/trunk/; revision=9341
Zac Medico [Sat, 16 Feb 2008 07:53:40 +0000 (07:53 -0000)]
Make depclean code filter out blocker atoms where appropriate.
svn path=/main/trunk/; revision=9340
Zac Medico [Sat, 16 Feb 2008 07:42:14 +0000 (07:42 -0000)]
Bug #201045 - Use a topological sort to create an unmerge order such that
each package is unmerged before it's dependencies. This is necessary to
avoid breaking things that may need to run during pkg_prerm or pkg_postrm
phases.
svn path=/main/trunk/; revision=9339
Zac Medico [Sat, 16 Feb 2008 00:43:21 +0000 (00:43 -0000)]
Update the DepPriority documentation so that the table shows all the
currently supported priorities and categories.
svn path=/main/trunk/; revision=9338
Zac Medico [Fri, 15 Feb 2008 07:47:28 +0000 (07:47 -0000)]
Fix --newuse reinstall logic broken by the previous commit.
svn path=/main/trunk/; revision=9337
Zac Medico [Thu, 14 Feb 2008 07:30:57 +0000 (07:30 -0000)]
Fix package selection logic in order to prevent downgrade in cases
when selective is True and the currently installed version does
not have a matching ebuild in the tree. For example, this type of
situation is likely to occur if the user somehow obtains a binary
package that has a newer version than any of the ebuilds in the
portage tree. If package maintainers want to encourage a downgrade
in a case like this then they should use package.mask so that the
user receives a warning about the installed package being masked.
svn path=/main/trunk/; revision=9336
Zac Medico [Tue, 12 Feb 2008 04:08:33 +0000 (04:08 -0000)]
Bug #209768 - Fix --search "Size of files:" handling so that it properly
shows the "Unknown (missing digest)" message instead of a traceback.
svn path=/main/trunk/; revision=9333
Alec Warner [Mon, 11 Feb 2008 02:29:59 +0000 (02:29 -0000)]
Add bits about namespace pollution, add whitespacing comments after looking at some new code I wrote and realizing I was not following the current style. Fix typos
svn path=/main/trunk/; revision=9332
Zac Medico [Sun, 10 Feb 2008 23:32:04 +0000 (23:32 -0000)]
Bug #209538 - Disable annoying "masked by keyword" warnings for installed
packages. We can assume that if the user accepted the keywords at merge
time then they never want to be bothered again.
svn path=/main/trunk/; revision=9330
Marius Mauch [Sun, 10 Feb 2008 13:01:43 +0000 (13:01 -0000)]
fix more trivial issues breaking repoman
svn path=/main/trunk/; revision=9328
Zac Medico [Sun, 10 Feb 2008 07:18:58 +0000 (07:18 -0000)]
Remove the killparent() function and associated SIGINT trap since this
should already be handled on the python side and it won't work with
dropped privileges anyway.
svn path=/main/trunk/; revision=9327
Zac Medico [Sun, 10 Feb 2008 05:33:52 +0000 (05:33 -0000)]
Fix rejects.
svn path=/main/trunk/; revision=9326
Zac Medico [Sun, 10 Feb 2008 03:14:44 +0000 (03:14 -0000)]
Fix CHOST masking logic wrt installed packages so that it's consistent
between visible() and get_masking_status().
svn path=/main/trunk/; revision=9324
Zac Medico [Sun, 10 Feb 2008 01:50:52 +0000 (01:50 -0000)]
Bug #209144 - For emerge --sync, show an informative error and don't
return 1 when PORTAGE_RSYNC_RETRIES is exceeded.
svn path=/main/trunk/; revision=9321