portage.git
18 years agoUse an elog file /inside/ the prefix. It would have been better to use a variable...
Fabian Groffen [Sat, 3 Nov 2007 19:03:05 +0000 (19:03 -0000)]
Use an elog file /inside/ the prefix.  It would have been better to use a variable for this, such that admins/users can change this location.  Thanks DirkT for pointing out the prefix issue.

svn path=/main/branches/prefix/; revision=8396

18 years agoDon't backtrace if EPREFIX is not in the metadata set.
Fabian Groffen [Sat, 3 Nov 2007 15:50:43 +0000 (15:50 -0000)]
Don't backtrace if EPREFIX is not in the metadata set.

svn path=/main/branches/prefix/; revision=8389

18 years ago Merged from trunk 8356:8387
Fabian Groffen [Sat, 3 Nov 2007 13:12:49 +0000 (13:12 -0000)]
   Merged from trunk 8356:8387

   | 8357    | In the 'there are no ebuilds to satisfy "foo"' message,      |
   | zmedico | discard null/ from failed cpv_expand category expansion.     |

   | 8358    | Optimize merge order to try and select nodes that only have  |
   | zmedico | unsatisfied PDEPEND slightly earlier. This solves a problem  |
   |         | with xorg-server being merged too early during an all binary |
   |         | install (since DEPEND is ignored for binaries), triggering   |
   |         | built_with_use() calls to fail as reported in bug #189966.   |
   |         | Since DEPEND is discarded in cases like this, it is          |
   |         | important to exploit the difference between PDEPEND and      |
   |         | RDEPEND in order to optimize merge order. Without this       |
   |         | optimization, the merge order is technically correct, but    |
   |         | not as optimal as it should be and has lots of potential to  |
   |         | trigger issues with built_with_use() or similar things that  |
   |         | require better optimization of merge order.                  |

   | 8359    | Collapse 2 identical code hunks into 1.                      |
   | zmedico |                                                              |

   | 8360    | Fix ignore_priority logic in depgraph.altlist() in order to  |
   | zmedico | handle some cases where it was possible for nodes to be      |
   |         | selected without their PDEPENDs being propperly added to the |
   |         | asap_nodes list.                                             |

   | 8366    | Make sure vardbapi.cp_list() always sorts the results.       |
   | zmedico |                                                              |

   | 8373    | Bug #197594 - Document FEATURES="lmirror".                   |
   | zmedico |                                                              |

   | 8379    | Return early from config.getMaskAtom() as soon as a matching |
   | zmedico | unmask atom is found.                                        |

   | 8381    | Make portdbapi.gvisible() use portdbapi._aux_cache_keys for  |
   | zmedico | metadata pulls.                                              |

   | 8383    | Sort scanlist and ebuildlist to ensure that repoman always   |
   | zmedico | processes packages in a predictable order.                   |

   | 8385    | In portage.fetch(), condense digest check output to a single |
   | zmedico | line for all digests.                                        |

   | 8387    | TODO: Make update_config_files() handle slotmove commands    |
   | zmedico | for SLOT atoms.                                              |

svn path=/main/branches/prefix/; revision=8388

18 years ago Merged from trunk 8340:8355
Fabian Groffen [Thu, 1 Nov 2007 19:23:20 +0000 (19:23 -0000)]
   Merged from trunk 8340:8355

   | 8341    | Implement a "consistent" depgraph parameter (enabled by      |
   | zmedico | --consistent) that can be used ensure that installation of   |
   |         | new packages does not break any deep dependencies of         |
   |         | required sets (args, system, or world). Unfortunately, the   |
   |         | performance penalty for small dep calculations is too great  |
   |         | to enable this parameter by default. At least it will be     |
   |         | useful for testing backtracking behavior when that is        |
   |         | implemented.                                                 |

   | 8342    | Optimize xmatch "bestmatch-visible" to do fewer metadata     |
   | zmedico | accesses by using the same code as "minimum-visible" but     |
   |         | with a reverse iterator.                                     |

   | 8343    | Implement license filtering for xmatch minimum-visible and   |
   | zmedico | bestmatch-visible. Also, make the gvisible license filtering |
   |         | conditional on config.local_config since repoman doesn't do  |
   |         | license filtering.                                           |

   | 8344    | Fix "args" set handling wrt $ROOT in                         |
   | zmedico | depgraph._complete_graph().                                  |

   | 8345    | Remove a few unused depgraph attributes.                     |
   | zmedico |                                                              |

   | 8346    | Gather some ignored dependencies so that they can be         |
   | zmedico | properly processed by the depgraph when "conistent" mode is  |
   |         | enabled.                                                     |

   | 8347    | Defer selection of package dependency atoms until they are   |
   | zmedico | actually needed since the appropriate atom selection         |
   |         | behavior can change between the time that the package is     |
   |         | initially added to the graph and when it's dependencies are  |
   |         | traversed (like when --consistent is enabled).               |

   | 8348    | Update the FEATURES=mirror docs to more accurately reflect   |
   | zmedico | behavior.                                                    |

   | 8349    | Fix diefunc() so that it doesn't report that the ebuild is   |
   | zmedico | from an overlay when EMERGE_FROM == binary.                  |

   | 8350    | Make depgraph.select_files() recursively expand sets given   |
   | zmedico | as arguments so that containment tests in _get_parent_sets() |
   |         | properly match atoms in nested sets (like if world contains  |
   |         | system). Otherwise, atoms from nested sets would get         |
   |         | recorded in the world file.                                  |

   | 8351    | Add a check for redundant cd "${S}" statements on the first  |
   | zmedico | line of src_(compile|install|test) ebuild methods. Thanks to |
   |         | Petteri Räty <betelgeuse@gentoo.org> for this patch.        |

   | 8352    | Avoid making unnecessary copies of PackageSet._atoms by      |
   | zmedico | replacing calls to self.getAtoms() with self._load().        |

   | 8353    | Make the EbuildUselessCdS check for both quoted and unquoted |
   | zmedico | ${S} so the user doesn't have to fix quoting before this     |
   |         | check will recognize the violation.                          |

   | 8354    | Remove an extra \$ from the EbuildQuote.var_reference regex  |
   | zmedico | so that it will properly match things like variable          |
   |         | references without braces, like $S.                          |

   | 8355    | Properly escape { and } characters in regular expressions    |
   | zmedico | even though it seems to work either way.                     |

svn path=/main/branches/prefix/; revision=8356

18 years ago Merged from trunk 8328:8338
Fabian Groffen [Mon, 29 Oct 2007 21:03:37 +0000 (21:03 -0000)]
   Merged from trunk 8328:8338

   | 8329    | Sort all dbapi.cp_list() results in ascending order and      |
   | zmedico | cache the results when possible. The order is preserved in   |
   |         | dbapi.match() so those results are also sorted.              |

   | 8331    | Fix cp_list() to prevent it from returning a reference to    |
   | zmedico | one of it's internal lists.                                  |

   | 8332    | Optimize stdout_spinner.update() methods so that they don't  |
   | zmedico | waste cpu time by flushing ouput to the tty too frequently.  |

   | 8333    | Fix SetConfig.getSetAtoms() to stop initializing ignorelist  |
   | zmedico | in the parameter list since otherwise the ignorelist         |
   |         | persists between calls and causes unpredictable results for  |
   |         | callers.                                                     |

   | 8334    | Fix --depclean to use SetConfig.getSetAtoms() and also fix a |
   | zmedico | broken reference to packagesets which is now settings.sets.  |

   | 8335    | Fix PackageSet.getAtoms() and getNonAtoms() so that they     |
   | zmedico | don't return references to private data structures.          |

   | 8336    | Make portdbapi.cp_list() use os.listdir() instead of         |
   | zmedico | portage.listdir() since portage.listdir() has unnecessary    |
   |         | overhead and it's cache isn't needed since cp_list() has     |
   |         | it's own cache.                                              |

   | 8337    | Rewrite the dblink.getcontents() code to use str.split(" ")  |
   | zmedico | for splitting CONTENTS lines so that even file paths that    |
   |         | end with spaces can be handled. This patch makes the fix for |
   |         | bug #196836#c6 more complete. Some code for parsing old      |
   |         | malformed symlink entries has been removed sinces it's       |
   |         | probably not useful or worth maintaining anymore.            |

   | 8338    | Use rstrip("\n") to remove trailing newlines from CONTENTS   |
   | zmedico | lines.                                                       |

svn path=/main/branches/prefix/; revision=8340

18 years agoDarwin7 doesn't have lchown implementation. We only need it for links,
Fabian Groffen [Mon, 29 Oct 2007 19:54:08 +0000 (19:54 -0000)]
Darwin7 doesn't have lchown implementation.  We only need it for links,
which on Darwin don't have an owner, so only try that when lchown is
available.

svn path=/main/branches/prefix/; revision=8339

18 years agoApply 'disable chflags when apparently absent on BSD'-patch from zmedico on gentoo...
Fabian Groffen [Sun, 28 Oct 2007 08:27:25 +0000 (08:27 -0000)]
Apply 'disable chflags when apparently absent on BSD'-patch from zmedico on gentoo-alt ML.  Cause not yet found.

svn path=/main/branches/prefix/; revision=8330

18 years ago Merged from trunk 8323:8324
Fabian Groffen [Sat, 27 Oct 2007 21:00:43 +0000 (21:00 -0000)]
   Merged from trunk 8323:8324

   | 8324    | Replace depgraph._slot_node_map with _slot_pkg_map so that   |
   | zmedico | it's easier to get existing Package instances.               |

svn path=/main/branches/prefix/; revision=8328

18 years agoAt least my grep doesn't like :digit:, neither do I
Fabian Groffen [Sat, 27 Oct 2007 20:58:43 +0000 (20:58 -0000)]
At least my grep doesn't like :digit:, neither do I

svn path=/main/branches/prefix/; revision=8327

18 years agoOnly run prefix QA-checks if there is a prefix, to avoid false
Fabian Groffen [Sat, 27 Oct 2007 20:49:39 +0000 (20:49 -0000)]
Only run prefix QA-checks if there is a prefix, to avoid false
positives.

svn path=/main/branches/prefix/; revision=8326

18 years agoSince path.normpath("") = ".", avoid doing this, such that EPREFIX
Fabian Groffen [Sat, 27 Oct 2007 20:43:57 +0000 (20:43 -0000)]
Since path.normpath("") = ".", avoid doing this, such that EPREFIX
remains empty when it should be, instead of "." which means something
entirely different.

svn path=/main/branches/prefix/; revision=8325

18 years agoNot sure what idiot put bash [[ in configure.in, but it probably was me.
Fabian Groffen [Sat, 27 Oct 2007 20:40:09 +0000 (20:40 -0000)]
Not sure what idiot put bash [[ in configure.in, but it probably was me.

svn path=/main/branches/prefix/; revision=8323

18 years agoAdd --with-eapi to be used by prefix for setting it to "prefix",
Fabian Groffen [Sat, 27 Oct 2007 20:35:38 +0000 (20:35 -0000)]
Add --with-eapi to be used by prefix for setting it to "prefix",
defaulting to 1, the current value the trunk uses.

svn path=/main/branches/prefix/; revision=8322

18 years ago Merged from trunk 8315:8319
Fabian Groffen [Sat, 27 Oct 2007 18:40:05 +0000 (18:40 -0000)]
   Merged from trunk 8315:8319

   | 8316    | In portage.fetch(), condense digest check ouput to a single  |
   | zmedico | line for all digests.                                        |

   | 8317    | Fix broken $ROOT handling for setconfig in the MergeTask     |
   | zmedico | constructor.                                                 |

   | 8318    | Reuse an existing EmergeConfig instance instead of           |
   | zmedico | constructing a new one.                                      |

   | 8319    | Make depgraph._select_atoms() more flexible by allowing the  |
   | zmedico | repositories to be passed in as a parameter.                 |

svn path=/main/branches/prefix/; revision=8321

18 years agoDrop ARCH pseudo-check, its result is never used (so it seems). Default offset-prefi...
Fabian Groffen [Sat, 27 Oct 2007 18:26:02 +0000 (18:26 -0000)]
Drop ARCH pseudo-check, its result is never used (so it seems).  Default offset-prefix (EPREFIX) to an empty string, as that should be it for non-prefix

svn path=/main/branches/prefix/; revision=8320

18 years ago Merged from trunk 8312:8313
Fabian Groffen [Fri, 26 Oct 2007 18:11:53 +0000 (18:11 -0000)]
   Merged from trunk 8312:8313

   | 8313    | Optimize repoman to share portdbapi.cp_list() results        |
   | zmedico | between all profiles since those results never change. The   |
   |         | cached results also propagate to the xmatch match-all when   |
   |         | appropriate (old-style virtuals are excluded since they are  |
   |         | profile dependent).                                          |

svn path=/main/branches/prefix/; revision=8314

18 years ago Merged from trunk 8299:8310
Fabian Groffen [Fri, 26 Oct 2007 17:33:22 +0000 (17:33 -0000)]
   Merged from trunk 8299:8310

   | 8300    | Allow sets to contain non-atoms                              |
   | genone  |                                                              |

   | 8301    | use a @ prefix for sets, and replace world/system with their |
   | genone  | real prefixed names if found on the commandline              |

   | 8302    | use SetConfig.getSetAtoms instead of PackageSet.getAtoms for |
   | genone  | expanding sets to allow recursion, and drop the default      |
   |         | 'sets/' prefix for setnames                                  |

   | 8303    | break potential cycles in set expansion                      |
   | genone  |                                                              |

   | 8304    | update notes about package sets                              |
   | genone  |                                                              |

   | 8305    | Optimize the algorithm used for expansion of set arguments   |
   | zmedico | into atoms.                                                  |

   | 8306    | Prevent premature expansion of old-style virtuals inside     |
   | zmedico | depgraph.select_files().                                     |

   | 8307    | Allow sets to get through world file validation and expand   |
   | zmedico | properly. It's now possible to put @system in the world file |
   |         | and get the old behavior where world includes system.        |

   | 8308    | Make emerge add sets to the world file as one would expect.  |
   | zmedico |                                                              |

   | 8309    | Optimize repoman visibility checks to access as little       |
   | zmedico | metadata as possible. (improves performance especially in    |
   |         | cases where metadata needs to be generated). This works by   |
   |         | starting at the lowest version since that's most likely to   |
   |         | have keywords and it returns as soon as the first visible    |
   |         | package is found.                                            |

   | 8310    | Add missing break statement for xmatch minimum-visible.      |
   | zmedico |                                                              |

svn path=/main/branches/prefix/; revision=8312

18 years agoShow the double prefix, as it is sort of confusing to see just one and
Fabian Groffen [Fri, 26 Oct 2007 17:30:18 +0000 (17:30 -0000)]
Show the double prefix, as it is sort of confusing to see just one and
an error that it is double.

svn path=/main/branches/prefix/; revision=8311

18 years ago Merged from trunk 8290:8294
Fabian Groffen [Thu, 25 Oct 2007 20:06:55 +0000 (20:06 -0000)]
   Merged from trunk 8290:8294

   | 8291    | Handle multiple consecutive spaces in filenames as per bug   |
   | zmedico | #196836#c6.                                                  |

   | 8292    | Remove obsolete whitespace handling code for "obj" filenames |
   | zmedico | in CONTENTS.                                                 |

   | 8293    | Handle a potential IndexError.                               |
   | zmedico |                                                              |

   | 8294    | Correct expected split counts for CONTENTS lines.            |
   | zmedico |                                                              |

svn path=/main/branches/prefix/; revision=8299

18 years ago Merged from trunk 8281:8290
Fabian Groffen [Thu, 25 Oct 2007 20:04:12 +0000 (20:04 -0000)]
   Merged from trunk 8281:8290

   | 8282    | Add back support for greedy SLOTs when --update is enabled   |
   | zmedico | as per bug #150361. This is currently disabled for sets      |
   |         | since greedy SLOT atoms could be a property of the set       |
   |         | itself.                                                      |

   | 8283    | Convert depgraph creation from using recursive calls to      |
   | zmedico | using a stack of dependencies which will be more suitable    |
   |         | for implementation of backtracking.                          |

   | 8284    | Fix inverted logic error.                                    |
   | zmedico |                                                              |

   | 8285    | Make the Package class generate the digraph nodes.           |
   | zmedico |                                                              |

   | 8286    | Spit out a depgraph._get_existing_pkg() method for getting   |
   | zmedico | an existing Package instance added to the graph for a given  |
   |         | SLOT.                                                        |

   | 8287    | For the global AUTOCLEAN, pass an empty list into unmerge()  |
   | zmedico | so it behaves like it used to.                               |

   | 8288    | Filter atoms that come from sets when generating the list of |
   | zmedico | atoms to record in the world file.                           |

   | 8289    | If the title string is too big then xtermTitle() can         |
   | zmedico | misbehave by causing the terminal to echo some of the        |
   |         | characters and generate a "beep" sound. This is easily       |
   |         | triggered by doing things like `emerge world` now since all  |
   |         | the the atoms are expanded.                                  |

   | 8290    | For the emergelog message, send in the original list of      |
   | zmedico | arguments that exists before expansion of sets.              |

svn path=/main/branches/prefix/; revision=8298

18 years agoFix bug detected by mattmatteh in #gentoo-alt, the prefix version of
Fabian Groffen [Thu, 25 Oct 2007 20:00:02 +0000 (20:00 -0000)]
Fix bug detected by mattmatteh in #gentoo-alt, the prefix version of
doins is missing the isolated-functions.sh include.  This prevents
dieing on a missing vecho, instead of the real error message.

svn path=/main/branches/prefix/; revision=8297

18 years agoFIX: indentation problem, also end the Portage identification line with a ) if repoma...
Fabian Groffen [Wed, 24 Oct 2007 14:53:11 +0000 (14:53 -0000)]
FIX: indentation problem, also end the Portage identification line with a ) if repoman wasn't forced to do its job.  Should probably be back-propagated to the trunk.

svn path=/main/branches/prefix/; revision=8281

18 years agoFix: Make repoman actually USE -m commit message again (and -M commit message file...
Fabian Groffen [Wed, 24 Oct 2007 14:45:58 +0000 (14:45 -0000)]
Fix: Make repoman actually USE -m commit message again (and -M commit message file).  This should probably be back propagated to the trunk as well.

svn path=/main/branches/prefix/; revision=8280

18 years agoreduce diff with trunk
Fabian Groffen [Wed, 24 Oct 2007 14:37:10 +0000 (14:37 -0000)]
reduce diff with trunk

svn path=/main/branches/prefix/; revision=8279

18 years agopython says: bin_blobs is not defined, it is right as this wasn't dealt with in the...
Fabian Groffen [Wed, 24 Oct 2007 14:28:11 +0000 (14:28 -0000)]
python says: bin_blobs is not defined, it is right as this wasn't dealt with in the SVN case

svn path=/main/branches/prefix/; revision=8278

18 years agopython says: myoptions is not defined
Fabian Groffen [Wed, 24 Oct 2007 14:21:13 +0000 (14:21 -0000)]
python says: myoptions is not defined

svn path=/main/branches/prefix/; revision=8277

18 years agoIt may be nice to have prefix around if the default datadir is defined on top of it.
Fabian Groffen [Wed, 24 Oct 2007 14:07:58 +0000 (14:07 -0000)]
It may be nice to have prefix around if the default datadir is defined on top of it.

svn path=/main/branches/prefix/; revision=8276

18 years ago Merged from trunk 8265:8270
Fabian Groffen [Wed, 24 Oct 2007 14:03:00 +0000 (14:03 -0000)]
   Merged from trunk 8265:8270

   | 8266    | Replace sys.exit() calls with return statements in           |
   | zmedico | emerge_main().                                               |

   | 8267    | Add back support for handling missing system/world atoms     |
   | zmedico | that was removed with depgraph.xcreate(). This doesn't have  |
   |         | support for mapping atoms back to the original sets yet, but |
   |         | at least a masked or unavailable system/world atom won't     |
   |         | compeletely break the depgraph now.                          |

   | 8268    | Add back support for detecting if the world file contains    |
   | zmedico | atoms that match packages in package.provided.               |

   | 8269    | Add back support for helpful `emaint --check world`          |
   | zmedico | suggestions and also show package masking reasons when       |
   |         | appropriate.                                                 |

   | 8270    | Fix broken import.                                           |
   | zmedico |                                                              |

svn path=/main/branches/prefix/; revision=8275

18 years ago Merged from trunk 8259:8265
Fabian Groffen [Wed, 24 Oct 2007 14:01:48 +0000 (14:01 -0000)]
   Merged from trunk 8259:8265

   | 8260    | Fix logic for the "selective" depgraph parameter so that it  |
   | zmedico | behaves correctly in cases where installed packages provide  |
   |         | old-style virtuals but none of the available packages do.    |

   | 8261    | Match packages against arguments earlier in                  |
   | zmedico | depgraph._select_package() so that corrupt PROVIDE is        |
   |         | detected sooner.                                             |

   | 8262    | Fix selective logic to work properly with masked packages.   |
   | zmedico |                                                              |

   | 8263    | remove 'system' and 'world' as actions, and remove most of   |
   | genone  | the special case code as well                                |

   | 8264    | Make world atoms non-greedy for SLOTs in action_depclean()   |
   | zmedico | since users can simply add SLOT atoms to world for any       |
   |         | specific SLOTs that they want to keep.                       |

   | 8265    | Remove --update greedy SLOTs code from                       |
   | zmedico | depgraph.select_files() so that any desired SLOTs have to be |
   |         | pulled in explicitly. Any SLOTs that are not explicitly      |
   |         | pulled in will be removed by --depclean.                     |

svn path=/main/branches/prefix/; revision=8274

18 years ago Merged from trunk 8251:8259
Fabian Groffen [Wed, 24 Oct 2007 14:00:06 +0000 (14:00 -0000)]
   Merged from trunk 8251:8259

   | 8252    | protect variables specified in PROFILE_ONLY_VARIABLES from   |
   | genone  | being set by the user                                        |

   | 8253    | make PROFILE_ONLY_VARIABLES incremental                      |
   | genone  |                                                              |

   | 8254    | make 'world' and 'system' behave like their sets/            |
   | genone  | counterparts                                                 |

   | 8255    | Optimize PROFILE_ONLY_VARIABLES handling.                    |
   | zmedico |                                                              |

   | 8256    | just pass the SetConfig instance instead of only the         |
   | genone  | settings and trees attributes                                |

   | 8257    | move base classes for package sets into a separate module    |
   | genone  |                                                              |

   | 8258    | revert r8256 (plans changed)                                 |
   | genone  |                                                              |

   | 8259    | document PROFILE_ONLY_VARIABLES                              |
   | genone  |                                                              |

svn path=/main/branches/prefix/; revision=8273

18 years ago Merged from trunk 8244:8251
Fabian Groffen [Wed, 24 Oct 2007 13:58:18 +0000 (13:58 -0000)]
   Merged from trunk 8244:8251

   | 8245      | Sigh, this integration did not go well, please check the   |
   | WarnerBro | diff (it seemed to add some weird ass code, but it looked  |
   |           | fine on sources.gentoo.org). Next time I'll try and either |
   |           | work in a branch or commit faster ;)                       |
   Prefix: resolved conflicts for SVN support.  Hope it still works...

   | 8246      | fix tabbing                                                |
   | WarnerBro |                                                            |

   | 8247      | aha, i knew that diff was screwy, the mail to              |
   | WarnerBro | portage-commits and grep made it obvious as to why; lets   |
   |           | try removing those dupe checks.                            |

   | 8248      | Don't show the "checking files for package collisions"     |
   | zmedico   | message when --quiet is enabled.                           |

   | 8250      | Begin to use python logging framework. Remove if quiet <   |
   | WarnerBro | bla logic and instead use loglevels (critical, error,      |
   |           | warn, info, debug). Default to WARN for repoman, which     |
   |           | will print CRITICAL, ERROR, and WARN messages. one -v will |
   |           | print INFO messages and two -v's will print DEBUG          |
   |           | messages, each -q will reduce the loglevel by one. -q and  |
   |           | -v can be given in any order.                              |

   | 8251      | add quickie logger function                                |
   | WarnerBro |                                                            |

svn path=/main/branches/prefix/; revision=8272

18 years ago Merged from trunk 8226:8243
Fabian Groffen [Wed, 24 Oct 2007 13:49:24 +0000 (13:49 -0000)]
   Merged from trunk 8226:8243

   | 8233    | In depgraph.create(), if a direct circular dependency is not |
   | zmedico | an unsatisfied buildtime dependency then drop it here since  |
   |         | otherwise it can skew the merge order calculation in an      |
   |         | unwanted way.                                                |

   | 8235    | Fix broken imports.                                          |
   | zmedico |                                                              |

   | 8236    | Bug #196652 - Check for useless ABOUT-NLS|COPYING|LICENSE    |
   | zmedico | files in dodoc arguments.                                    |

   | 8238    | Remove a redundant self.treeVirtuals deepcopy from the       |
   | zmedico | config constructor.                                          |

   | 8240    | Fix config.setinst() to return early when the given package  |
   | zmedico | already provides the virtual.                                |

   | 8242    | Fix the version Id tag.                                      |
   | zmedico |                                                              |

   | 8243    | Print the Id tag an it's own line to avoid going over 80     |
   | zmedico | columns.                                                     |

svn path=/main/branches/prefix/; revision=8271

18 years ago... and make it also compiling again on Solaris
Fabian Groffen [Mon, 22 Oct 2007 09:33:02 +0000 (09:33 -0000)]
... and make it also compiling again on Solaris

svn path=/main/branches/prefix/; revision=8228

18 years agoPatch from haubi to also compile on HPUX/ia64
Fabian Groffen [Mon, 22 Oct 2007 09:10:10 +0000 (09:10 -0000)]
Patch from haubi to also compile on HPUX/ia64

svn path=/main/branches/prefix/; revision=8227

18 years ago Merged from trunk 8217:8225
Fabian Groffen [Mon, 22 Oct 2007 07:48:26 +0000 (07:48 -0000)]
   Merged from trunk 8217:8225

   | 8218    | Don't catch a ValueError if it isn't the type that's         |
   | zmedico | expected from portage.cpv_expand().                          |

   | 8219    | Do a loop over each dependency type to simplify select_dep() |
   | zmedico | calls.                                                       |

   | 8220    | Always pass package metadata into depgraph.create() so it    |
   | zmedico | doesn't have to get it itself.                               |

   | 8221    | Combine depgraph._select_dep() into create() so that         |
   | zmedico | create() simply calls itself recursively. In order to        |
   |         | implement backtracking, create() will eventually operate on  |
   |         | a stack instead of calling itself.                           |

   | 8222    | Bug #196680 - Handle a CacheError inside mirror_cache() when |
   | zmedico | reading from the source cache.                               |

   | 8224    | Bug #184118 - Add an emaint "cleanresume" action that        |
   | zmedico | deletes any existing resume lists from the mtimedb. Thanks   |
   |         | to Arfrever Frehtes Taifersar Arahesis for the initial       |
   |         | patch.                                                       |

   | 8225    | In depgraph.create(), don't ignore direct circular           |
   | zmedico | dependencies anymore since altlist() is able to handle it    |
   |         | properly in cases where the dependency is satisfied. If the  |
   |         | dep is unsatisfied then it can not be ignored.               |

svn path=/main/branches/prefix/; revision=8226

18 years ago Merged from trunk 8213:8215
Fabian Groffen [Sun, 21 Oct 2007 19:00:01 +0000 (19:00 -0000)]
   Merged from trunk 8213:8215

   | 8214    | Bug #196427 - Prevent various news related tracebacks from   |
   | zmedico | occuring when running emerge as an unprivileged user in      |
   |         | --pretend mode.                                              |

   | 8215    | Fix NewsManager.getUnreadItems() so that it works properly   |
   | zmedico | for an unprivileged user in readonly mode.                   |

svn path=/main/branches/prefix/; revision=8217

18 years agoAllow to override EPREFIX, basically for the purpose of "cloning" a
Fabian Groffen [Sun, 21 Oct 2007 18:58:03 +0000 (18:58 -0000)]
Allow to override EPREFIX, basically for the purpose of "cloning" a
prefix install, or to facilitate a cross-compilation environment.

svn path=/main/branches/prefix/; revision=8216

18 years ago Merged from trunk 8199:8207
Fabian Groffen [Sun, 21 Oct 2007 12:42:51 +0000 (12:42 -0000)]
   Merged from trunk 8199:8207

   | 8200   | Remove slashes that cause problems when unpacking files with  |
   | genone | relative paths (bug #196565)                                  |

   | 8201   | restore proper call logic                                     |
   | genone |                                                               |

   | 8202   | ignore "permission denied" errors when changing perms of news |
   | genone | skipfile that happen when running with user priviledges in    |
   |        | pretend mode                                                  |

   | 8204   | fix comment                                                   |
   | genone |                                                               |

   | 8206   | add some notes about restrictions wrt package sets            |
   | genone |                                                               |

   | 8207   | note that sets can't contain other sets                       |
   | genone |                                                               |

svn path=/main/branches/prefix/; revision=8213

18 years ago Merged from trunk 8186:8199
Fabian Groffen [Sun, 21 Oct 2007 12:41:05 +0000 (12:41 -0000)]
   Merged from trunk 8186:8199

   | 8187    | Allow the depgraph to add old-style virtual providers but    |
   | zmedico | prefer any pre-existing providers over new ones that are     |
   |         | added.                                                       |

   | 8188    | Use a simple Package class to bundle package data for        |
   | zmedico | depgraph.create() calls.                                     |

   | 8189    | Split the masked packages display out of                     |
   | zmedico | depgraph.select_dep().                                       |

   | 8190    | Split the package selection logic out of                     |
   | zmedico | depgraph.select_dep().                                       |

   | 8191    | Split the atom selection logic out of depgraph.select_dep(). |
   | zmedico |                                                              |

   | 8192    | Rename variable for consistency.                             |
   | zmedico |                                                              |

   | 8193    | Raise an InvalidDependString exception if necessary when the |
   | zmedico | depgraph is populating the filtered repo so that we don't    |
   |         | have to check the return value.                              |

   | 8194    | Make depgraph.xcreate() use the filtered repo to determine   |
   | zmedico | availablility of system/world atoms so that the              |
   |         | raise_on_missing parameter can be removed from               |
   |         | depgraph.select_dep().                                       |

   | 8195    | Bug #196537 - Make portageq check that the parameter is an   |
   | zmedico | existing directory and exit gracefully if not.               |

   | 8197    | Split the "arg" parameter out of depgraph.select_dep() so    |
   | zmedico | that it's used purely for processing atoms that are pulled   |
   |         | in by parent packages.                                       |

   | 8198    | Use a "depth" parameter to track depth of recursion relative |
   | zmedico | to the nearest argument atom.                                |

   | 8199    | Remove uneeded "arg" and "addme" parameters where possible.  |
   | zmedico |                                                              |

svn path=/main/branches/prefix/; revision=8212

18 years ago Merged from trunk 8175:8186
Fabian Groffen [Sun, 21 Oct 2007 12:31:53 +0000 (12:31 -0000)]
   Merged from trunk 8175:8186

   | 8176    | Use the python version of eerror                             |
   | genone  |                                                              |

   | 8177    | The ERROR color code is currently undefined, so make eerror  |
   | zmedico | use BAD like the bash version does.                          |

   | 8178    | Pass the whole cpv to elog instead of just ${PF}.            |
   | zmedico |                                                              |

   | 8179    | Bug #196427 - Don't display news notifications when in       |
   | zmedico | --pretend mode.                                              |

   | 8180    | Don't show each character of the log message on a new line   |
   | zmedico | when displaying messages that came from one of the           |
   |         | python-based elog functions. This might not be the correct   |
   |         | solution but it seems to work for now.                       |

   | 8181    | Fix broken call to renamed _combine_logentries().            |
   | zmedico |                                                              |

   | 8182    | Prevent _combine_logentries() from generating redundant      |
   | zmedico | consecutive 'TYPE: phase' lines that show in summary.log     |
   |         | when the python-based elog functions are used.               |

   | 8183    | Use a list to buffer strings in _combine_logentries() and do |
   | zmedico | a single concatenation at the end for better efficiency.     |

   | 8184    | Refactor _merge_logentries() to make it a little more        |
   | zmedico | efficient.                                                   |

   | 8185    | Bug #196435 - Add some more references to quickpkg(1) since  |
   | zmedico | sometimes people don't realize that it exists.               |

   | 8186    | Remove the config.setinst() call from depgraph.select_dep()  |
   | zmedico | since it's never really guaranteed to work as intended. It's |
   |         | supposed to help ensure that the correct old-style virtual   |
   |         | is preferred but it will often fail to do so, making it      |
   |         | necessary for the user to manually force the preference.     |
   |         | Proper backtracking (bug #1343) will solve the problem more  |
   |         | reliably.                                                    |

svn path=/main/branches/prefix/; revision=8211

18 years ago Merged from trunk 8150:8174
Fabian Groffen [Sun, 21 Oct 2007 12:30:10 +0000 (12:30 -0000)]
   Merged from trunk 8150:8174

   | 8151    | In dblink.getcontents(), use a regular expression to detect  |
   | zmedico | when path normalization is required. Also, only join with    |
   |         | ${ROOT} when necessary. This allows unnecessary normpath and |
   |         | join calls to be optimized away in the general case,         |
   |         | reducing the cpu time for `equery belongs ` by about 50%. M  |
   |         | pym/portage/dbapi/vartree.py                                 |

   | 8152    | Only re.compile() the normalize_needed pattern once rather   |
   | zmedico | than for each dblink constructor call.                       |

   | 8153    | Optimize dblink.isowner() to use fewer stat calls by only    |
   | zmedico | collecting stat results for parent directories. This         |
   |         | provides equivalent accuracy to the previous approach but    |
   |         | will perform much better when used to scan all installed     |
   |         | packages for owners in the event of a file collision.        |

   | 8154    | Bug #196043 - Implement a `portageq owners []+` command that |
   | zmedico | is suitable for identifying all packages that own one or     |
   |         | more files when a file collision has occurred. This uses     |
   |         | dblink.isowner() so that the query works properly even when  |
   |         | paths are ambiguous due to symlinked directories.            |

   | 8155    | Bug #196043 - Update the file collision ewarn notice to try  |
   | zmedico | and clarify the cases when a bug should NOT be filed. Also,  |
   |         | recommend the new `portageq owners / ` command since it      |
   |         | works properly even when paths are ambiguous due to          |
   |         | symlinked directories.                                       |

   | 8161    | Add missing "to" to fix grammer.                             |
   | zmedico |                                                              |

   | 8163    | Bug #196043 - Unify the ouput handling for file collisions   |
   | zmedico | so that similar eerror messages are generated whether or not |
   |         | collision-protect is enabled.                                |

   | 8166    | Fix the normalize_needed regex to properly match // anywhere |
   | zmedico | in the path. Also add support for detection of . or .. where |
   |         | appropriate.                                                 |

   | 8168    | Fix collision-protect so that it properly cancels the        |
   | zmedico | preinst phase like it used to.                               |

   | 8170    | Adjust quote usage in collision-protect eerror output.       |
   | zmedico |                                                              |

   | 8172    | Bug #195375 - Make dblink.treewalk() read inforoot/SLOT      |
   | zmedico | since it differs from the expected SLOT value when when      |
   |         | USE=multislot is enabled. A warning message will be shown if |
   |         | the slot differs and --quiet mode is not enabled.            |

   | 8174    | Handle EnvironmentError instead of OSError since open()      |
   | zmedico | actually raises IOError. Also, treat a missing SLOT file as  |
   |         | SLOT="" since it is currently possible to install an ebuild  |
   |         | with an undefined SLOT even though repoman generates a       |
   |         | SLOT.missing error with such an ebuild.                      |

svn path=/main/branches/prefix/; revision=8210

18 years ago Merged from trunk 8141:8142 (Manually applied)
Fabian Groffen [Sun, 21 Oct 2007 12:24:56 +0000 (12:24 -0000)]
   Merged from trunk 8141:8142  (Manually applied)

   | 8142    | Move the emerge module to _emerge to make it private since   |
   | zmedico | it's mostly unsuitable for api consumers at this time.       |

svn path=/main/branches/prefix/; revision=8209

18 years ago Merged from trunk 8141:8142 (Manually applied)
Fabian Groffen [Sun, 21 Oct 2007 12:22:39 +0000 (12:22 -0000)]
   Merged from trunk 8141:8142  (Manually applied)

   | 8142    | Move the emerge module to _emerge to make it private since   |
   | zmedico | it's mostly unsuitable for api consumers at this time.       |

svn path=/main/branches/prefix/; revision=8208

18 years agoReplay the move from revision 8142, because svn does not properly do it.
Fabian Groffen [Sun, 21 Oct 2007 10:44:21 +0000 (10:44 -0000)]
Replay the move from revision 8142, because svn does not properly do it.

svn path=/main/branches/prefix/; revision=8205

18 years ago Merged from trunk 8123:8140
Fabian Groffen [Sun, 21 Oct 2007 10:34:42 +0000 (10:34 -0000)]
   Merged from trunk 8123:8140

   | 8124    | Add a note to clarify os.walk() behavior with respect to     |
   | zmedico | symlinks to directories.                                     |

   | 8125    | Sort the modes in the repoman --help output.                 |
   | zmedico |                                                              |

   | 8126    | Document the "manifest" mode.                                |
   | zmedico |                                                              |

   | 8128    | remove unused tmpfs variable                                 |
   | genone  |                                                              |

   | 8129    | Bug #195949 - Use a different diff_command sanity check when |
   | zmedico | using_editor is true.                                        |

   | 8130    | Bug #195949 - Add one more using_editor conditional for      |
   | zmedico | diff_command.                                                |

   | 8136    | Update NOTE_2 to document proper use of the using_editor     |
   | zmedico | config option.                                               |

   | 8138    | Update emacs and vim docs to reference NOTE_2.               |
   | zmedico |                                                              |

   | 8140    | Fix --help summary so that "commit" mode shows.              |
   | zmedico |                                                              |

svn path=/main/branches/prefix/; revision=8203

18 years agoShow that we are checking things, and add check for S_ISWHT to allow for compilation...
Fabian Groffen [Mon, 15 Oct 2007 08:23:25 +0000 (08:23 -0000)]
Show that we are checking things, and add check for S_ISWHT to allow for compilation on Linux

svn path=/main/branches/prefix/; revision=8127

18 years agoI missed a D.
Fabian Groffen [Sun, 14 Oct 2007 09:27:51 +0000 (09:27 -0000)]
I missed a D.

svn path=/main/branches/prefix/; revision=8123

18 years ago Merged from trunk 8113:8121
Fabian Groffen [Sun, 14 Oct 2007 09:26:44 +0000 (09:26 -0000)]
   Merged from trunk 8113:8121

   | 8114    | In the file collision eerror output, don't colorize the file |
   | zmedico | paths since the escape codes look ugly in the log.           |

   | 8115    | Remove unused import.                                        |
   | zmedico |                                                              |

   | 8117    | Avoid an error message from find when "${D}"/usr/share does  |
   | zmedico | not exist.                                                   |

   | 8119    | In some cases, openpty can be slow when it fails. Therefore, |
   | zmedico | stop trying to use it after the first failure.               |

   | 8121    | Remove the checks for files in symlinked directories from    |
   | zmedico | the collision protect code since it hasn't been needed ever  |
   |         | since the followSymlinks parameter was disabled for          |
   |         | portage.listdir() calls in order to prevent infinite         |
   |         | recursion loops.                                             |

svn path=/main/branches/prefix/; revision=8122

18 years agoGreatly speed-up creating a tarball by omitting .svn directories during
Fabian Groffen [Sat, 13 Oct 2007 15:57:33 +0000 (15:57 -0000)]
Greatly speed-up creating a tarball by omitting .svn directories during
copying.

svn path=/main/branches/prefix/; revision=8113

18 years agoSolaris is slightly different, use configure to find out what we need.
Fabian Groffen [Sat, 13 Oct 2007 14:29:13 +0000 (14:29 -0000)]
Solaris is slightly different, use configure to find out what we need.
We compile on Darwin, Solaris and FreeBSD now.  Probably Linux breaks.

svn path=/main/branches/prefix/; revision=8112

18 years agoMake FreeBSD happy, and fix inverted guard.
Fabian Groffen [Sat, 13 Oct 2007 13:58:51 +0000 (13:58 -0000)]
Make FreeBSD happy, and fix inverted guard.

svn path=/main/branches/prefix/; revision=8111

18 years agoIt helps a lot when you merge the actual "fixed" files by chpathtool
Fabian Groffen [Sat, 13 Oct 2007 13:26:01 +0000 (13:26 -0000)]
It helps a lot when you merge the actual "fixed" files by chpathtool
instead of those in the temporary unpack location.

svn path=/main/branches/prefix/; revision=8110

18 years agoSuppress chpathtool's warnings with -q
Fabian Groffen [Sat, 13 Oct 2007 12:58:04 +0000 (12:58 -0000)]
Suppress chpathtool's warnings with -q

svn path=/main/branches/prefix/; revision=8109

18 years agosmall but essential : forgotten
Fabian Groffen [Sat, 13 Oct 2007 12:43:11 +0000 (12:43 -0000)]
small but essential : forgotten

svn path=/main/branches/prefix/; revision=8108

18 years agomy autojungle knowledge sucks, fix complaints by autoconf
Fabian Groffen [Sat, 13 Oct 2007 12:36:51 +0000 (12:36 -0000)]
my autojungle knowledge sucks, fix complaints by autoconf

svn path=/main/branches/prefix/; revision=8107

18 years ago Merged from trunk 8085:8102
Fabian Groffen [Sat, 13 Oct 2007 12:29:59 +0000 (12:29 -0000)]
   Merged from trunk 8085:8102

   | 8086    | Bug #195527 - Unconditionally detect file collisions and log |
   | zmedico | them as eerror messages via elog. This will allow us to      |
   |         | collect more file collision data but it won't be quite as    |
   |         | annoying as enabling collision-protect by default would be.  |

   | 8087    | Bug #195527 - Add some more information to the file          |
   | zmedico | collision eerror message to try and prevent user confusion:  |
   |         | - Hint that `equery belongs ` can be used to find the        |
   |         | installed package that owns a file. - Advise then NOT to     |
   |         | file a bug without reporting exactly which two packages      |
   |         | install the same file(s).                                    |

   | 8089    | s:this package wants:this package will:                      |
   | zmedico |                                                              |

   | 8091    | Remove a redundant call to elog_process().                   |
   | zmedico |                                                              |

   | 8093    | Bug #195370 - Filter some more bogus matches due to          |
   | zmedico | old-style virtuals.                                          |

   | 8096    | In dblink.treewalk(), use os.walk() instead of               |
   | zmedico | portage.listdir() in order to avoid cacheddir() bloat when   |
   |         | listing the files to be merged from ${D}.                    |

   | 8097    | Use os.listdir() instead of portage.listdir() in             |
   | zmedico | dblink.mergeme().                                            |

   | 8098    | Remove a chdir() call that's no longer needed for the        |
   | zmedico | collision-protect symlink code.                              |

   | 8100    | Make the file collision eerror message less verbose when in  |
   | zmedico | --quiet mode.                                                |

   | 8102    | Handle the PortageException that can be raised from          |
   | zmedico | portage.mail.send_mail().                                    |

svn path=/main/branches/prefix/; revision=8106

18 years agoUse the new chpathtool.
Fabian Groffen [Sat, 13 Oct 2007 12:26:58 +0000 (12:26 -0000)]
Use the new chpathtool.

If we install on a system with a different prefix, unpack in the
workdir, instead of the image dir.  We "copy" from the workdir to the
image using chpathtool, which behaves as a cp -a.

chpathtool was changed to copy file by file, changing paths it finds in
files to overcome the following problem.  chpathtool was used in a piped
fashion, like this:

bzip2 -d file | chpathtool | tar -x

in this way, chpathtool operated on the raw tar-stream, changing paths
it saw over the stream.  This has the following advantages:
- not only rpaths, library locations, or hardcoded paths to conf files
  were changed, but also the location of the files in the filesystem
  themselves, as chpathtool also changed the tar envelope
- just one run over the stream, simple, easy and cheap from an fork/exec
  perspective
- no need to deal with file attributes, creation modes, etc, tar dealt
  with that, chpathtool only changed paths where appropriate

However, when doing the path changements, chpathtool inserts padding
bytes at the end of each string it sees, in order not to break offsets
stored in e.g. programs to point in the TEXT or DATA spaces.  Because
text files are in the tar stream, chpathtool sees the end of string at
the end of such text file, and inserts the padding null-bytes there.
However, tar still has an administration for each file of its size, so
as result, tar writes the padding null-bytes to the text files.  In most
cases this doesn't hurt, however, some applications, such as GHC get
confused by it, because EOF isn't found, but null-bytes don't make sense
for them.

The only way to fix this, without interpreting the tar envelope, is to
use chpathtool per file.  chpathtool doesn't write padding bytes if it
doesn't find an end of string, which in textfiles doesn't exist (instead
you get the EOF).  Running find -exec, or with xargs results in a
serious performance problem due to numerous fork/exec calls.  Instead,
chpathtool was changed to recursively walk directories, and process all
what is in there.

Because chpathtool operates on files in this case, it needs to properly
behave, such that it doesn't change the properties of each file it
replicates.  For this reason, chpathtool's implementation grew twice its
original size in order to retain the original file's permissions,
owners, and times.

svn path=/main/branches/prefix/; revision=8105

18 years agoRetain access and modification times for files and directories.
Fabian Groffen [Sat, 13 Oct 2007 11:55:50 +0000 (11:55 -0000)]
Retain access and modification times for files and directories.

svn path=/main/branches/prefix/; revision=8104

18 years agoIntermediate commit.
Fabian Groffen [Fri, 12 Oct 2007 22:44:38 +0000 (22:44 -0000)]
Intermediate commit.

Finished stage1 of chpathtool pimp-up.

The idea is that chpathtool copies a directory into another, doing its
job, retaining the files' properties, like cp -a (ok, cp -pPR) would do.
The implementation is now up to copying, setting the permission bits and
owner stuff.  TODO: the *times, and then it should be done.

svn path=/main/branches/prefix/; revision=8095

18 years agosend warnings to stdout instead of stderr
Fabian Groffen [Fri, 12 Oct 2007 14:13:41 +0000 (14:13 -0000)]
send warnings to stdout instead of stderr

svn path=/main/branches/prefix/; revision=8085

18 years agoPortage and quickpkg generate slightly different tarballs (the former
Fabian Groffen [Fri, 12 Oct 2007 13:39:30 +0000 (13:39 -0000)]
Portage and quickpkg generate slightly different tarballs (the former
makes paths like ./usr/bin/bla whereas the latter makes paths like
usr/bin/bla), hack Portage such that it can deal with its own format as
well.  (quickpkg format used to work before)

svn path=/main/branches/prefix/; revision=8084

18 years agoUse PORTAGE_BINHOST as repo_path(_real) such that instead of a ? for
Fabian Groffen [Fri, 12 Oct 2007 11:36:32 +0000 (11:36 -0000)]
Use PORTAGE_BINHOST as repo_path(_real) such that instead of a ? for
repository, we show it's url to the binhost in use.

svn path=/main/branches/prefix/; revision=8083

18 years agoI have some rotten binpkgs floating around, they don't have a EPREFIX
Fabian Groffen [Fri, 12 Oct 2007 11:04:52 +0000 (11:04 -0000)]
I have some rotten binpkgs floating around, they don't have a EPREFIX
key, avoid Python KeyErroring out on them.

svn path=/main/branches/prefix/; revision=8082

18 years agoSolve bug where portage would not "see" my binhost because
Fabian Groffen [Fri, 12 Oct 2007 10:54:02 +0000 (10:54 -0000)]
Solve bug where portage would not "see" my binhost because
PORTAGE_BINHOST didn't end with a /.  This is actually caused by urljoin
not operating like os.path.join would do.

svn path=/main/branches/prefix/; revision=8081

18 years agoOptimise some more: take the EAPI from portage.const, as most packages
Fabian Groffen [Fri, 12 Oct 2007 10:11:01 +0000 (10:11 -0000)]
Optimise some more: take the EAPI from portage.const, as most packages
will probably be that EAPI (at least that is what we would like).  At
least in Prefix there are no packages with EAPI != portage.const.EAPI

svn path=/main/branches/prefix/; revision=8080

18 years agoWith the help of zmedico Prefix binary support should be working fully optimal and...
Fabian Groffen [Fri, 12 Oct 2007 09:32:39 +0000 (09:32 -0000)]
With the help of zmedico Prefix binary support should be working fully optimal and correct now

svn path=/main/branches/prefix/; revision=8079

18 years agoFix syntax error
Fabian Groffen [Fri, 12 Oct 2007 09:20:04 +0000 (09:20 -0000)]
Fix syntax error

svn path=/main/branches/prefix/; revision=8078

18 years ago Merged from trunk 8051:8058
Fabian Groffen [Fri, 12 Oct 2007 09:07:41 +0000 (09:07 -0000)]
   Merged from trunk 8051:8058

   | 8052    | Split USE evaluation code out of binarytree.inject() so that |
   | zmedico | it can be reused in populate().                              |

   | 8053    | Sync code between binarytree.inject() and populate().        |
   | zmedico |                                                              |

   | 8054    | Pass default package metadata values into the PackageIndex   |
   | zmedico | constructor for optional things like EAPI and SLOT.          |

   | 8055    | Pass into the PackageIndex constructor a list of package     |
   | zmedico | metadata keys that inherit a default value from the header.  |

   | 8058    | Use writemsg() to send exception string to stderr.           |
   | zmedico |                                                              |

svn path=/main/branches/prefix/; revision=8077

18 years ago Merged from trunk 8043:8051
Fabian Groffen [Fri, 12 Oct 2007 09:02:45 +0000 (09:02 -0000)]
   Merged from trunk 8043:8051

   | 8044    | implement new set to group all consumers of preserved        |
   | genone  | libraries                                                    |

   | 8045    | Make depgraph.select_dep() reject installed packages in the  |
   | zmedico | same cases that it used to so that a warning message is      |
   |         | properly generated in depgraph.xcreate() when a package is   |
   |         | unavailable but installed.                                   |

   | 8046    | Add a set to group all consumers of missing libraries as a   |
   | genone  | simple revdep-rebuild replacement                            |

   | 8047    | Update todo list                                             |
   | genone  |                                                              |

   | 8048    | Do not use aux_get to parse the NEEDED file as we need to    |
   | genone  | distinguish spaces and newlines                              |

   | 8049    | typo fix                                                     |
   | genone  |                                                              |

   | 8050    | In depgraph.select_dep(), check for existing nodes in        |
   | zmedico | installed packages when necessary.                           |

   | 8051    | Strip the leading path separator from USER_CONFIG_PATH so    |
   | zmedico | that os.path.join works correctly.                           |

svn path=/main/branches/prefix/; revision=8076

18 years ago Merged from trunk 8036:8043
Fabian Groffen [Fri, 12 Oct 2007 09:00:46 +0000 (09:00 -0000)]
   Merged from trunk 8036:8043

   | 8037    | Refactor depgraph.select_dep() to eliminate redundant code   |
   | zmedico | that was duplicated for each package type.                   |

   | 8038    | Comment about avoiding expensive metadata pulls in           |
   | zmedico | depgraph.select_dep().                                       |

   | 8039    | Prevent bogus upgrade display when a new-style virtual is    |
   | zmedico | first installed and it replaces an old-style virtual.        |

   | 8040    | Remove ambiguous "you should edit this file" warning. Thanks |
   | zmedico | to Cardoe.                                                   |

   | 8041    | Make portdbapi and bindbapi cache PROVIDE in order to        |
   | zmedico | optimize matching of old-style virtuals.                     |

   | 8042    | Move some package selection code from depgraph.create() to   |
   | zmedico | select_dep() so that all package selection is done in the    |
   |         | same place.                                                  |

   | 8043    | Raise a PackageNotFound exception instead of a ValueError in |
   | zmedico | order to avoid ambiguity if an unexpected ValueError occurs. |

svn path=/main/branches/prefix/; revision=8075

18 years ago Merged from trunk 8032:8036
Fabian Groffen [Fri, 12 Oct 2007 08:48:20 +0000 (08:48 -0000)]
   Merged from trunk 8032:8036

   | 8033    | Unify the masking reasons output so that the same code path  |
   | zmedico | is used for both ebuilds and binary packages.                |

   | 8034    | Initialize the list of package repos inside the depgraph     |
   | zmedico | constructor so it's always available.                        |

   | 8035    | Migrate depgraph.select_files() to use the filtered repo for |
   | zmedico | expansion of greedy atoms. Also, use the list of repos to    |
   |         | clean up the category expansion code.                        |

   | 8036    | Cache IUSE in bindbapi to optimize --newuse calculations.    |
   | zmedico | Also, fix filtering code for reading/writing USE and IUSE    |
   |         | from/to the metadata index.                                  |

svn path=/main/branches/prefix/; revision=8074

18 years ago Merged from trunk 8024:8032
Fabian Groffen [Fri, 12 Oct 2007 07:59:56 +0000 (07:59 -0000)]
   Merged from trunk 8024:8032

   | 8025   | Start documentation of set handler classes                    |
   | genone |                                                               |

   | 8028   | document all options                                          |
   | genone |                                                               |

   | 8029   | security sets actually have one option                        |
   | genone |                                                               |

   | 8030   | add description to security set handlers                      |
   | genone |                                                               |

   | 8031   | add descriptions for dbapi set classes                        |
   | genone |                                                               |

   | 8032   | document default sets                                         |
   | genone |                                                               |

svn path=/main/branches/prefix/; revision=8073

18 years agoResolve merge error.
Fabian Groffen [Tue, 9 Oct 2007 20:03:46 +0000 (20:03 -0000)]
Resolve merge error.

svn path=/main/branches/prefix/; revision=8027

18 years agoFix up installing of sets.conf
Fabian Groffen [Tue, 9 Oct 2007 19:59:11 +0000 (19:59 -0000)]
Fix up installing of sets.conf

svn path=/main/branches/prefix/; revision=8026

18 years agoAlso create the target directory
Fabian Groffen [Tue, 9 Oct 2007 19:19:56 +0000 (19:19 -0000)]
Also create the target directory

svn path=/main/branches/prefix/; revision=8024

18 years ago Merged from trunk 8020:8021
Fabian Groffen [Tue, 9 Oct 2007 19:09:00 +0000 (19:09 -0000)]
   Merged from trunk 8020:8021

   | 8021   | Exclude .metadata files in multi set configurations for       |
   | genone | StaticFileSet                                                 |

svn path=/main/branches/prefix/; revision=8023

18 years agoIt helps a lot if you define a variable you use lateron
Fabian Groffen [Tue, 9 Oct 2007 19:05:24 +0000 (19:05 -0000)]
It helps a lot if you define a variable you use lateron

svn path=/main/branches/prefix/; revision=8022

18 years agoInstall sets.conf in datarootdir/portage.
Fabian Groffen [Tue, 9 Oct 2007 18:17:36 +0000 (18:17 -0000)]
Install sets.conf in datarootdir/portage.

svn path=/main/branches/prefix/; revision=8020

18 years ago Merged from trunk 8016:8017
Fabian Groffen [Tue, 9 Oct 2007 18:04:01 +0000 (18:04 -0000)]
   Merged from trunk 8016:8017

   | 8017    | Fix USE logic for built packages when populating the         |
   | zmedico | filtered repo.                                               |

svn path=/main/branches/prefix/; revision=8019

18 years ago Merged from trunk 8007:8016
Fabian Groffen [Tue, 9 Oct 2007 18:01:51 +0000 (18:01 -0000)]
   Merged from trunk 8007:8016

   | 8008    | Optimize away a match_from_list() call inside                |
   | zmedico | portdbapi.xmatch("match-all") when given atom has no         |
   |         | operator or version. Also, make cp_list() use the            |
   |         | xmatch("match-all") cache when possible.                     |

   | 8009    | Remove a redundant os.access() call in portdbapi.aux_get()   |
   | zmedico | and handle the potential OSError instead.                    |

   | 8010    | Properly exclude old-style virtuals from the                 |
   | zmedico | portdbapi.cp_list() cache.                                   |

   | 8011    | Make portdbapi.aux_get() cache more often.                   |
   | zmedico |                                                              |

   | 8012    | Bug #149816 - Implement visibility filtering support for     |
   | zmedico | binary packages. This works by creating a virtual filtered   |
   |         | repository that can be composed of multiple package types,   |
   |         | including ebuilds, binary packages, and installed packages.  |

   | 8013    | In depgraph.xcreate(), installed packages are excluded from  |
   | zmedico | the filtered tree. Clear out the history of atoms so that    |
   |         | they can be processed again to satisfy dependencies with     |
   |         | installed packages if necessary.                             |

   | 8014    | When an ebuild has conditionals in it's LICENSE, calculate   |
   | zmedico | USE before the visibility check.                             |

   | 8015    | Fix InvalidDependString namespace and initialize USE before  |
   | zmedico | visibility check.                                            |

   | 8016    | Replace hardcoded path with new constant                     |
   | genone  |                                                              |

svn path=/main/branches/prefix/; revision=8018

18 years ago Merged from trunk 7994:8001
Fabian Groffen [Mon, 8 Oct 2007 17:33:36 +0000 (17:33 -0000)]
   Merged from trunk 7994:8001

   | 7995    | Move the "commit" mode manifest generation earlier in order  |
   | zmedico | to avoid digest verification issues when FEATURES="strict"   |
   |         | is enabled.                                                  |

   | 7996    | Remove duplicate call to digestgen().                        |
   | zmedico |                                                              |

   | 7997    | Factor the KEYWORDS masking logic out of portdbapi.visible() |
   | zmedico | and move it to config.getMissingEeywords(). This will allow  |
   |         | the code to be reused for binary packages.                   |

   | 7998    | Allow config.setcpv() to take a dictionary of package        |
   | zmedico | metadata in place of a dbapi instance so that extra cache    |
   |         | pulls can be avoided.                                        |

   | 7999    | Restore profile masking support to getmaskingstatus().       |
   | zmedico |                                                              |

   | 8000    | Cache IUSE for portdbapi.gvisible() calls.                   |
   | zmedico |                                                              |

   | 8001    | Factor package.mask and profile masking logic out of         |
   | zmedico | portdbapi.visible() and move it to config.getMaskAtom() and  |
   |         | getProfileMaskAtom(). This will allow the code to be reused  |
   |         | for binary packages.                                         |

svn path=/main/branches/prefix/; revision=8007

18 years agoLook /in/ the prefix
Fabian Groffen [Mon, 8 Oct 2007 17:25:15 +0000 (17:25 -0000)]
Look /in/ the prefix

svn path=/main/branches/prefix/; revision=8006

18 years agoDon't spit out ${D}
Fabian Groffen [Mon, 8 Oct 2007 17:24:06 +0000 (17:24 -0000)]
Don't spit out ${D}

svn path=/main/branches/prefix/; revision=8005

18 years ago Merged from trunk 7984:7994
Fabian Groffen [Mon, 8 Oct 2007 17:23:10 +0000 (17:23 -0000)]
   Merged from trunk 7984:7994

   | 7985     | Fix package.license support so that SLOT atoms will work.   |
   | zmedico  |                                                             |

   | 7986     | Bug #194552 - Include EAPI in the binary package metadata   |
   | zmedico  | index.                                                      |

   | 7987     | In PackageIndex.readBody(), make each package entry inherit |
   | zmedico  | CHOST from the header.                                      |

   | 7988     | In PackageIndex.write(), skip writing the CHOST for a       |
   | zmedico  | package entry if it's CHOST matches the header.             |

   | 7989     | Fix binarytree.populate() so that it properly caches all    |
   | zmedico  | the metadata necessary for visibility filtering.            |

   | 7990     | add QA check for .pyc/.pyo files in /usr/share              |
   | SpankMan |                                                             |

   | 7991     | add support for .lzma / .tar.lzma to unpack                 |
   | SpankMan |                                                             |

   | 7992     | unify diff_command handling                                 |
   | SpankMan |                                                             |

   | 7993     | add standard --help/--version options                       |
   | SpankMan |                                                             |

   | 7994     | add --debug option and display a message about skipping     |
   | SpankMan | non-files so we dont get confusing loops where portage      |
   |          | claims there are things to update but etc-update claims     |
   |          | there are not                                               |

svn path=/main/branches/prefix/; revision=8004

18 years ago Merged from trunk 7976:7984
Fabian Groffen [Mon, 8 Oct 2007 17:17:39 +0000 (17:17 -0000)]
   Merged from trunk 7976:7984

   | 7977   | default set configuration, should probably go into            |
   | genone | /usr/share/portage                                            |

   | 7978   | Add some documentation about set configuration                |
   | genone |                                                               |

   | 7979   | Also look for sets.conf in overlays                           |
   | genone |                                                               |

   | 7980   | Also clean portage.txt                                        |
   | genone |                                                               |

   | 7981   | clean up module namespace                                     |
   | genone |                                                               |

   | 7982   | Add @localhost to default PORTAGE_ELOG_MAILFROM to account    |
   | genone | for mail servers that don't accept mails without a domainname |

   | 7983   | let dohtml handle weird filenames, patch by TGL (bug #171272) |
   | genone |                                                               |

   | 7984   | Handle Exceptions in mod_mail_summary.finalize() and check if |
   | genone | the server actually supports TLS, bug #183808                 |

svn path=/main/branches/prefix/; revision=8003

18 years ago Merged from trunk 7965:7975
Fabian Groffen [Mon, 8 Oct 2007 17:06:07 +0000 (17:06 -0000)]
   Merged from trunk 7965:7975

   | 7966    | Document IUSE defaults.                                      |
   | zmedico |                                                              |

   | 7967    | Shorten the reference to IUSE defaults since it's now        |
   | zmedico | documented in ebuild(5).                                     |

   | 7974    | handle empty sets properly                                   |
   | genone  |                                                              |

   | 7975    | Strip the - prefix from EAPI in getmaskingstatus() if        |
   | zmedico | necessary.                                                   |

svn path=/main/branches/prefix/; revision=8002

19 years ago Merged from trunk 7961:7963
Fabian Groffen [Fri, 5 Oct 2007 21:07:29 +0000 (21:07 -0000)]
   Merged from trunk 7961:7963

   | 7962    | Document SLOT dependencies.                                  |
   | zmedico |                                                              |

   | 7963    | include sets in emerge --search                              |
   | genone  |                                                              |

svn path=/main/branches/prefix/; revision=7965

19 years agoVimdiff with trunk to make python happy
Fabian Groffen [Fri, 5 Oct 2007 21:05:42 +0000 (21:05 -0000)]
Vimdiff with trunk to make python happy

svn path=/main/branches/prefix/; revision=7964

19 years ago Merged from trunk 7951:7959
Fabian Groffen [Fri, 5 Oct 2007 20:35:51 +0000 (20:35 -0000)]
   Merged from trunk 7951:7959

   | 7952    | Add set configuration framework in preparation for emerge    |
   | genone  | integration                                                  |

   | 7956    | first version of set integration in emerge                   |
   | genone  |                                                              |

   | 7957    | only add short names for sets if they begin with 'sets/'     |
   | genone  |                                                              |

   | 7958    | Generalize the first paragraph of the MASKED PACKAGES        |
   | zmedico | section and document binary package CHOST masking.           |

   | 7959    | replace category sets in test configuration with user sets   |
   | genone  |                                                              |

svn path=/main/branches/prefix/; revision=7961

19 years ago Merged from trunk 7918:7951
Fabian Groffen [Fri, 5 Oct 2007 20:23:50 +0000 (20:23 -0000)]
   Merged from trunk 7918:7951

   | 7919    | In portdbapi.aux_get(), simplify code by using string        |
   | zmedico | manipulation instead of int conversion to manipulate         |
   |         | negative EAPI when deciding whether or not regen is          |
   |         | necessary.                                                   |

   | 7942    | Make the EbuildQuote check ignore lines beginning with local |
   | zmedico | or export builtins since unquoted assignments are okay       |
   |         | there.                                                       |

   | 7944    | Bug #194764 - All the match* functions can raise a           |
   | zmedico | ValueError if cpv_expand() receives an ambiguous atom.       |
   |         | Therefore, move the ValueError handling code out of match()  |
   |         | and use it to handle all such errors when appropriate.       |

   | 7946    | copy of gentoolkit r451                                      |
   | genone  |                                                              |

   | 7947    | add TODO list for portage-2.2                                |
   | genone  |                                                              |

   | 7948    | ignore missing files                                         |
   | genone  |                                                              |

   | 7949    | Document the EAPI variable.                                  |
   | zmedico |                                                              |

   | 7950    | Fix spelling of backward.                                    |
   | zmedico |                                                              |

   | 7951    | Documnet EAPI in the MASKED PACKAGES section.                |
   | zmedico |                                                              |

svn path=/main/branches/prefix/; revision=7960

19 years ago Merged from trunk 7913:7918
Fabian Groffen [Fri, 5 Oct 2007 18:58:31 +0000 (18:58 -0000)]
   Merged from trunk 7913:7918

   | 7914    | Make repoman bail out if it is unable to properly access     |
   | zmedico | ebuild metadata for some reason. In this case it's           |
   |         | impossible to generate a Manifest and therefore the --force  |
   |         | option has to be disabled.                                   |

   | 7915    | Fix logic for the message that's show when --force is        |
   | zmedico | disabled.                                                    |

   | 7916    | Make portdbapi.getfetchlist() bail out if the EAPI is        |
   | zmedico | unsupported. This makes it impossible for an unsupported     |
   |         | EAPI to result in invalid Manifest generation.               |

   | 7917    | Include the package name in all exceptions raised from       |
   | zmedico | portdbapi.getfetchlist() so that a redundant and sometimes   |
   |         | inaccurate message doesn't have to be shown when the error   |
   |         | is caught in digestgen().                                    |

   | 7918    | Handle UnsupportedAPIException when running the ebuild(1)    |
   | zmedico | command.                                                     |

svn path=/main/branches/prefix/; revision=7955

19 years ago Merged from trunk 7908:7913
Fabian Groffen [Fri, 5 Oct 2007 18:43:13 +0000 (18:43 -0000)]
   Merged from trunk 7908:7913

   | 7909    | Bump EAPI from 0 to 1 and fix eapi_is_supported() so that it |
   | zmedico | works properly with both 0 and 1.                            |

   | 7910    | When the metadata cache contains a negative EAPI, it means   |
   | zmedico | that the cache entry was generated by a version of portage   |
   |         | that did not support the eapi. When the user upgrades to a   |
   |         | version that now supports the previously unsupported EAPI,   |
   |         | those cache entries need to be regenerated. Therefore, when  |
   |         | a cache entry has a negative EAPI, check if the EAPI would   |
   |         | be supported and trigger a regen if appropriate.             |

   | 7911    | Non-integer EAPI isn't supported. In case it's supported in  |
   | zmedico | the future, assume that it's valid (rather than trigger a    |
   |         | regen).                                                      |

   | 7912    | Fix UnsupportedAPIException.__str__() to strip the leading   |
   | zmedico | negative sign (-) from the EAPI, to prevent confusion.       |

   | 7913    | Add EAPI masking support for binary packages.                |
   | zmedico |                                                              |

svn path=/main/branches/prefix/; revision=7954

19 years ago Merged from trunk 7903:7908
Fabian Groffen [Fri, 5 Oct 2007 18:22:18 +0000 (18:22 -0000)]
   Merged from trunk 7903:7908

   | 7904     | In the EbuildQuote check, combine the var_assignment regex  |
   | zmedico  | together with the ignore_line regex. This also fixes an     |
   |          | issue with the var_assignment regex allowing violations     |
   |          | like `make DESTDIR=${D}` to slip through.                   |

   | 7905     | Eliminate confusing false positive error messages for       |
   | zmedico  | SRC_URI.syntax and digestentry.unused that are reported     |
   |          | when the SRC_URI for one or more ebuilds can't be parsed    |
   |          | for some reason. There's no point in producing a false      |
   |          | error here since the root cause will produce a valid error  |
   |          | elsewhere, such as "SRC_URI.syntax" or "ebuild.sytax".      |
   |          | Also, update the docs for the "ebuild.syntax" error to      |
   |          | indicate that a digest verification failure can trigger it. |

   | 7907     | this isnt part of gentoolkit anymore                        |
   | SpankMan |                                                             |

   | 7908     | no need to use "function" when defining a function          |
   | SpankMan |                                                             |

svn path=/main/branches/prefix/; revision=7953

19 years ago1 tab -> 4 spaces.
Fabian Groffen [Tue, 2 Oct 2007 16:04:40 +0000 (16:04 -0000)]
1 tab -> 4 spaces.

Mixing those upsets python.  It appears this file is using spaces
instead of tabs, i.e. it is not consistent with the other python files
which use tabs.

svn path=/main/branches/prefix/; revision=7903

19 years ago Merged from trunk 7890:7901
Fabian Groffen [Tue, 2 Oct 2007 15:56:54 +0000 (15:56 -0000)]
   Merged from trunk 7890:7901

|7891     |Document interaction between config.setinst() and old-style virtuals         |
|zmedico  |preferences.                                                                 |

|7892     |Reimplement portdbapi.visible() so that is works without using self.xmatch().|
|zmedico  |This should be 100% compatible with the previous implementation and have     |
|         |comparable performance. By eliminating the xmatch() dependency, the code     |
|         |becomes more generically usable, like for visibility filtering of binary     |
|         |packages. It seems that it will be necessary to move this code outside of the|
|         |dbapi since visiblity filtering is really a resolver level function and to   |
|         |solve things like bug #88613 will require a more flexible approach. since the|
|         |current internal                                                             |

|7893     |Bug #142508 - Clear the screen each time before calling the "diff" command so|
|zmedico  |that any remnants of the previous config are now shown with the current one. |
|         |command so that                                                              |

|7894     |Add new repoman check classes using StringIO; possibly need some testing,    |
|WarnerBro|obviously the old code was faster (1 iteration over the file), here we do one|
|         |iteration per check, StringIO was to try and negate this by doing the checks |
|         |in memory...how much of a price do we pay here?                              |

|7895     |Add Donnie's quote check, refactor other ebuild-content checks into classes  |
|WarnerBro|and get them out of repoman in an attempt to start moving other checks out as|
|         |well. Again wonder at the price of StringIO and N passes, is the readability |
|         |worth it?                                                                    |

|7896     |keep old repoman names so we don't confuse people                            |
|WarnerBro|                                                                             |

|7897     |Delete some extra leaky vars, also after some testing I discovered read() is |
|WarnerBro|much faster than readlines(), see                                            |
|         |http://dev.gentoo.org/~antarus/projects/portage/stats/StringIOVsFiles.txt    |

|7898     |Rename checks as the naming was overkill (they are all obviously checks being|
|WarnerBro|in the check module), add nesteddie check                                    |

|7899     |Apply new checks, minor cleanup                                              |
|WarnerBro|                                                                             |

|7900     |Bug #194398 - Do not log "exiting successfully" in emerge.log unless the     |
|zmedico  |status really is successful. Otherwise, log "exiting unsuccessfully". Thanks |
|         |to David Watzke.                                                             |

|7901     |Filter some false positives out of the EbuildQuote check. It might work well |
|zmedico  |enough now so that we don't have to degrade it to a warning.                 |

svn path=/main/branches/prefix/; revision=7902

19 years agoAlign with zmedico
Fabian Groffen [Sat, 29 Sep 2007 21:12:51 +0000 (21:12 -0000)]
Align with zmedico

svn path=/main/branches/prefix/; revision=7889

19 years ago- only use PORTAGE_TMPDIR /after/ it is set
Fabian Groffen [Sat, 29 Sep 2007 21:11:52 +0000 (21:11 -0000)]
- only use PORTAGE_TMPDIR /after/ it is set
- don't chown ${TMP} to what in theory should be our own, especially
  since GID isn't set.

svn path=/main/branches/prefix/; revision=7888

19 years agoPortage generates ED (and D) with a trailing /, this means that at least
Fabian Groffen [Sat, 29 Sep 2007 20:55:38 +0000 (20:55 -0000)]
Portage generates ED (and D) with a trailing /, this means that at least
internally we can do things right and avoid double slashes.  This solves
at least gtk+-2.12.0 compilation which uses einstall.  libtool isn't
charmed by the double slashes.

svn path=/main/branches/prefix/; revision=7886

19 years agoMoved EPREFIX check from late-die when installing a binary package to
Fabian Groffen [Sat, 29 Sep 2007 20:47:55 +0000 (20:47 -0000)]
Moved EPREFIX check from late-die when installing a binary package to
resolving phase, like the CHOST check.

svn path=/main/branches/prefix/; revision=7885

19 years ago Merged from trunk 7877:7879
Fabian Groffen [Sat, 29 Sep 2007 20:31:29 +0000 (20:31 -0000)]
   Merged from trunk 7877:7879

   | 7878      | Fix quoting as reported by Drac in bug 194169              |
   | WarnerBro |                                                            |

   | 7879      | revert useless quoting                                     |
   | SpankMan  |                                                            |

svn path=/main/branches/prefix/; revision=7884