Zac Medico [Fri, 15 Jun 2007 21:38:51 +0000 (21:38 -0000)]
Make repoman exit with nonzero status whenever there are qa issues (already does the same in commit mode). Thanks to Daniel Gryniewicz <dang@gentoo.org> in bug #182166.
svn path=/main/trunk/; revision=6856
Zac Medico [Fri, 15 Jun 2007 21:31:50 +0000 (21:31 -0000)]
For bug #182021, use active voice when notifying the user that superuser access is required.
svn path=/main/trunk/; revision=6854
Zac Medico [Fri, 15 Jun 2007 20:42:32 +0000 (20:42 -0000)]
Handle another case where removing a symlink to a directory can be harmful.
svn path=/main/trunk/; revision=6852
Zac Medico [Fri, 15 Jun 2007 20:25:18 +0000 (20:25 -0000)]
For bug #182157, don't let unmerge-orphans unlink symlinks to directories since that can remove /lib and /usr/lib symlinks.
svn path=/main/trunk/; revision=6850
Zac Medico [Fri, 15 Jun 2007 20:06:54 +0000 (20:06 -0000)]
For bug #182157, never chmod 0 symlinks before unlinking them.
svn path=/main/trunk/; revision=6848
Zac Medico [Fri, 15 Jun 2007 10:22:04 +0000 (10:22 -0000)]
For bug #182105, fix the spelling of the fd_pipes paremeter.
svn path=/main/trunk/; revision=6846
Zac Medico [Thu, 14 Jun 2007 10:46:31 +0000 (10:46 -0000)]
Fix broken \!found logic so that any missing files are properly skipped.
svn path=/main/trunk/; revision=6843
Zac Medico [Wed, 13 Jun 2007 23:35:14 +0000 (23:35 -0000)]
Pass existing portdbapi and vardbapi instances into the NewsManager constructor.
svn path=/main/trunk/; revision=6841
Zac Medico [Wed, 13 Jun 2007 23:01:26 +0000 (23:01 -0000)]
Make display_news_notification() reuse the existing portdbapi instance.
svn path=/main/trunk/; revision=6840
Zac Medico [Wed, 13 Jun 2007 22:56:07 +0000 (22:56 -0000)]
Pass all the of the existing package databases into post_emerge() so that we can use them for news and preserve-libs.
svn path=/main/trunk/; revision=6839
Zac Medico [Wed, 13 Jun 2007 21:46:59 +0000 (21:46 -0000)]
For bug #181953, prevent the circular_blocks code from selecting a node that's already been selected by the normal node selection process.
svn path=/main/trunk/; revision=6837
Marius Mauch [Wed, 13 Jun 2007 17:40:35 +0000 (17:40 -0000)]
Get registry object from vardbapi directly instead of creating another one
svn path=/main/trunk/; revision=6836
Marius Mauch [Wed, 13 Jun 2007 17:29:03 +0000 (17:29 -0000)]
Add portageq command to list preserved libs
svn path=/main/trunk/; revision=6835
Zac Medico [Wed, 13 Jun 2007 10:09:06 +0000 (10:09 -0000)]
In dblink.treewalk(), handle the case where the current cpv is already installed but it has a different slot (multislot or unapplied slotmove).
svn path=/main/trunk/; revision=6833
Zac Medico [Wed, 13 Jun 2007 08:08:55 +0000 (08:08 -0000)]
Add a note about the new unmerge-orphans behavior.
svn path=/main/trunk/; revision=6831
Zac Medico [Wed, 13 Jun 2007 07:21:59 +0000 (07:21 -0000)]
For bug #134620, add a FEATURES=unmerge-orphans option that causes unmerge to remove files more aggressively. If a file is not claimed by another package in the same slot and it is not protected by CONFIG_PROTECT, unmerge it even if the modification time or checksum differs from the file that was originally installed. This is enabled in make.globals since the vast majority of users probably want this.
svn path=/main/trunk/; revision=6829
Zac Medico [Wed, 13 Jun 2007 05:53:07 +0000 (05:53 -0000)]
Fix dblink.isowner() so it works properly when ROOT!=/.
svn path=/main/trunk/; revision=6827
Zac Medico [Wed, 13 Jun 2007 05:40:40 +0000 (05:40 -0000)]
Use cached dblink instances for collision-protect.
svn path=/main/trunk/; revision=6825
Zac Medico [Wed, 13 Jun 2007 05:16:00 +0000 (05:16 -0000)]
Cache dblink instances for security checks and reference counts during merge/unmerge so that each CONTENTS only has to be parsed once. These can also be reused for collision-protect.
svn path=/main/trunk/; revision=6823
Zac Medico [Tue, 12 Jun 2007 22:07:51 +0000 (22:07 -0000)]
Reuse previously acquired lstat results.
svn path=/main/trunk/; revision=6821
Zac Medico [Tue, 12 Jun 2007 21:29:04 +0000 (21:29 -0000)]
Remove some useless dircache code.
svn path=/main/trunk/; revision=6818
Zac Medico [Tue, 12 Jun 2007 21:08:30 +0000 (21:08 -0000)]
Always return a dict from dblink.getcontents() since callers never expect to get None.
svn path=/main/trunk/; revision=6816
Zac Medico [Tue, 12 Jun 2007 02:44:26 +0000 (02:44 -0000)]
For bug #181021, during unmerge use all slot matches for reference counts (in case the user has set AUTOCLEAN=no).
svn path=/main/trunk/; revision=6814
Zac Medico [Tue, 12 Jun 2007 01:41:04 +0000 (01:41 -0000)]
Add a note about preservation of timestamps on merged files.
svn path=/main/trunk/; revision=6812
Zac Medico [Mon, 11 Jun 2007 21:23:32 +0000 (21:23 -0000)]
Remove stray newline.
svn path=/main/trunk/; revision=6810
Zac Medico [Mon, 11 Jun 2007 21:20:42 +0000 (21:20 -0000)]
Update the PORT_LOGDIR docs for bug #82378. Thanks to Arfrever FTA for reporting.
svn path=/main/trunk/; revision=6809
Zac Medico [Mon, 11 Jun 2007 21:14:25 +0000 (21:14 -0000)]
Update the PORT_LOGDIR docs for bug #82378. Thanks to Arfrever FTA for reporting.
svn path=/main/trunk/; revision=6808
Zac Medico [Mon, 11 Jun 2007 19:55:50 +0000 (19:55 -0000)]
Move news about ** token in package.keywords to the 2.1.3 section.
svn path=/main/trunk/; revision=6807
Zac Medico [Mon, 11 Jun 2007 10:57:29 +0000 (10:57 -0000)]
Bump 2.1.3 to 2.2 for some features and add news about USE_EXPAND wildcards.
svn path=/main/trunk/; revision=6802
Zac Medico [Mon, 11 Jun 2007 08:41:34 +0000 (08:41 -0000)]
For consistency with other xterm titles code, redirect $PROMPT_COMMAND output to stderr.
svn path=/main/trunk/; revision=6799
Zac Medico [Mon, 11 Jun 2007 02:12:59 +0000 (02:12 -0000)]
Remove the "missing left parenthesis" test for now since it gives false positives.
svn path=/main/trunk/; revision=6797
Zac Medico [Mon, 11 Jun 2007 02:05:43 +0000 (02:05 -0000)]
For bug #181355, detect parenthesis mismatch in paren_reduce(), raise an InvalidDependString exception, and make sure that all callers handle the exception properly.
svn path=/main/trunk/; revision=6796
Zac Medico [Sun, 10 Jun 2007 22:41:42 +0000 (22:41 -0000)]
Fix the suid/sgid check so it only looks at regular files since it can generate false positives otherwise.
svn path=/main/trunk/; revision=6794
Zac Medico [Sun, 10 Jun 2007 22:15:33 +0000 (22:15 -0000)]
Don't bother to warn about hardlinks to suid/sgid files before unlink since it can give false positives and the existing suid/sgid security check should spot problems before this anyway.
svn path=/main/trunk/; revision=6793
Zac Medico [Sun, 10 Jun 2007 21:44:15 +0000 (21:44 -0000)]
For bug #81097, detect and report suspicious hardlinks to suid/sgid files. False positives are prevented by doing reference counts for each inode having suid/sgid bits and multiple hardlinks. The security check is done prior to each merge or unmerge phase and it will cause the phase to abort if a problem is found (so that the user can investigate before any files are removed).
svn path=/main/trunk/; revision=6792
Zac Medico [Sun, 10 Jun 2007 19:28:31 +0000 (19:28 -0000)]
For bug #181551, support slot deps in package.keywords.
svn path=/main/trunk/; revision=6790
Zac Medico [Sun, 10 Jun 2007 10:22:47 +0000 (10:22 -0000)]
Make repoman work with both + and - flags in IUSE.
svn path=/main/trunk/; revision=6788
Zac Medico [Sun, 10 Jun 2007 10:12:10 +0000 (10:12 -0000)]
Preserve order of flags from IUSE in wildcard expansion.
svn path=/main/trunk/; revision=6786
Zac Medico [Sat, 9 Jun 2007 23:06:19 +0000 (23:06 -0000)]
For bug #148702, use the * token to trigger wildcard expansion of IUSE. This adds flexibility and prevents flags from being enabled unexpectedly.
svn path=/main/trunk/; revision=6784
Zac Medico [Sat, 9 Jun 2007 13:17:27 +0000 (13:17 -0000)]
When an update is discarded due to confmem, record it's mtime in the contents (it's md5 is already recorded there too).
svn path=/main/trunk/; revision=6782
Zac Medico [Sat, 9 Jun 2007 11:42:24 +0000 (11:42 -0000)]
For bug #148702, automatically enable flags from IUSE if they correspond to unset USE_EXPAND variables such as LINGUAS. The variable only has to be set to some value or an empty string in order to disable these flags.
svn path=/main/trunk/; revision=6780
Zac Medico [Sat, 9 Jun 2007 10:55:34 +0000 (10:55 -0000)]
For bug #181387, fix an UnboundLocalError for the mymtime variable that is triggered by confmem.
svn path=/main/trunk/; revision=6778
Zac Medico [Sat, 9 Jun 2007 04:45:57 +0000 (04:45 -0000)]
Skip bogus '$ECLASS inherited illegally' messages when installing from a binary package.
svn path=/main/trunk/; revision=6775
Zac Medico [Sat, 9 Jun 2007 03:48:51 +0000 (03:48 -0000)]
Only execute $PROMPT_COMMAND when appropriate.
svn path=/main/trunk/; revision=6772
Zac Medico [Sat, 9 Jun 2007 00:17:22 +0000 (00:17 -0000)]
For bug #152828, run ${CHOST}-ldconfig when ${CBUILD} != ${CHOST}.
svn path=/main/trunk/; revision=6770
Zac Medico [Fri, 8 Jun 2007 23:10:46 +0000 (23:10 -0000)]
For bug #139383, in xtermTitleReset() use os.system() instead of commands.getoutput() since the latter puts too much restriction on what $PROMPT_COMMAND may contain.
svn path=/main/trunk/; revision=6768
Zac Medico [Fri, 8 Jun 2007 21:40:53 +0000 (21:40 -0000)]
For bug #181104, make econf give an appropriate error message when configure is not executable.
svn path=/main/trunk/; revision=6766
Zac Medico [Thu, 7 Jun 2007 23:38:07 +0000 (23:38 -0000)]
Ignore InvalidDependString exceptions from the RESTRICT of "nomerge" nodes.
svn path=/main/trunk/; revision=6751
Zac Medico [Thu, 7 Jun 2007 18:57:04 +0000 (18:57 -0000)]
Make all the python code respect USE conditionals in RESTRICT. It's already handled on the bash side since RESTRICT is assigned the value of PORTAGE_RESTRICT.
svn path=/main/trunk/; revision=6750
Zac Medico [Thu, 7 Jun 2007 14:47:39 +0000 (14:47 -0000)]
Make pkgsplit and catpkgsplit return imutable tuples instead of mutable lists so that cached values can be safely returned without cloning them first. Thanks to Brian Harring for the suggestion.
svn path=/main/trunk/; revision=6749
Zac Medico [Thu, 7 Jun 2007 12:17:10 +0000 (12:17 -0000)]
Fix strange _DevNull instance has no attribute 'isatty' warnings that occur when epydoc generates docs.
svn path=/main/trunk/; revision=6748
Zac Medico [Thu, 7 Jun 2007 12:02:59 +0000 (12:02 -0000)]
When using a pty for logging, use setsid() to create a new session and make the pty into the controlling terminal of the new session. This makes interactive ebuild behave properly in interactive cases like check_license() where ${PAGER:-less} is invoked.
svn path=/main/trunk/; revision=6747
Zac Medico [Wed, 6 Jun 2007 07:54:25 +0000 (07:54 -0000)]
Return copies of the cached values from pkgsplit and catpkgsplit.
svn path=/main/trunk/; revision=6746
Zac Medico [Wed, 6 Jun 2007 07:45:19 +0000 (07:45 -0000)]
For bug #181021, don't compare attributes of contents entries when deciding which files not to unmerge. Simply keep any file that's listed in the new contents in order to avoid problematic scenarios such as those described in comments #32 and #40 of bug #8423.
svn path=/main/trunk/; revision=6745
Zac Medico [Wed, 6 Jun 2007 05:58:17 +0000 (05:58 -0000)]
For bug #82378, only set permissions on PORT_LOGDIR if it is created automatically.
svn path=/main/trunk/; revision=6743
Zac Medico [Wed, 6 Jun 2007 05:25:06 +0000 (05:25 -0000)]
For bug #156536, update --resume docs to show that the resume history is capable of storing two merge lists.
svn path=/main/trunk/; revision=6742
Zac Medico [Wed, 6 Jun 2007 04:09:08 +0000 (04:09 -0000)]
For bug #153967, use -O ${DISTDIR}/${FILE} in the default FETCHCOMMAND.
svn path=/main/trunk/; revision=6741
Zac Medico [Wed, 6 Jun 2007 03:37:11 +0000 (03:37 -0000)]
Comment in portage.movefile() that it's impossible to preserve timestamps of a symlink since utime() only works on the target.
svn path=/main/trunk/; revision=6740
Zac Medico [Wed, 6 Jun 2007 02:59:37 +0000 (02:59 -0000)]
For bug #181021, preserve timestamps from ${D} during merge. For replacement operations, the unmerge phase checks the contents of the newer instance in order to prevent identical files in the newer instance from being unmerged.
svn path=/main/trunk/; revision=6739
Zac Medico [Wed, 6 Jun 2007 00:59:49 +0000 (00:59 -0000)]
Fix typo, split SPACE_SEPARATED variables on whitespace.
svn path=/main/trunk/; revision=6738
Zac Medico [Tue, 5 Jun 2007 23:34:04 +0000 (23:34 -0000)]
When dblink.treewalk() looks for an installed instance in the same slot, make sure that it selects the one with the highest COUNTER in case there are multiple matches.
svn path=/main/trunk/; revision=6737
Marius Mauch [Tue, 5 Jun 2007 17:55:03 +0000 (17:55 -0000)]
Remove duplicate entries from special variables processed by env_update() (bug #172194)
svn path=/main/trunk/; revision=6736
Marius Mauch [Tue, 5 Jun 2007 16:58:08 +0000 (16:58 -0000)]
Use user-provided $mv_opts for -5 (bug #47442)
svn path=/main/trunk/; revision=6735
Zac Medico [Tue, 5 Jun 2007 02:28:26 +0000 (02:28 -0000)]
Add ECONF_SOURCE to the econf docs.
svn path=/main/trunk/; revision=6733
Zac Medico [Tue, 5 Jun 2007 02:23:26 +0000 (02:23 -0000)]
Document EXTRA_ECONF, thanks to Arfrever FTA in bug #167057.
svn path=/main/trunk/; revision=6732
Zac Medico [Mon, 4 Jun 2007 09:29:13 +0000 (09:29 -0000)]
Improve support for slot deps atoms given on the command line. Thanks to Flameeyes for reporting.
svn path=/main/trunk/; revision=6730
Zac Medico [Mon, 4 Jun 2007 03:13:43 +0000 (03:13 -0000)]
Fix typo.
svn path=/main/trunk/; revision=6729
Zac Medico [Mon, 4 Jun 2007 01:44:34 +0000 (01:44 -0000)]
For bug #164655, port quickpkg to python and use the tarfile module for proper handling of symlinks to directories. Thanks to Martin Parm <parmus@diku.dk> for the initial port.
svn path=/main/trunk/; revision=6728
Zac Medico [Sun, 3 Jun 2007 21:48:56 +0000 (21:48 -0000)]
Fix broken usage of lstrip in creating the PROFILE header field.
svn path=/main/trunk/; revision=6727
Zac Medico [Sun, 3 Jun 2007 07:15:54 +0000 (07:15 -0000)]
Remove pym/{cache,elog_modules} directory symlinks since they lead to upgrade/downgrade issues. These modules probably aren't referenced from outside of portage anyway. There's a hack in config.load_best_module() so that cache.* in /etc/portage/modules will first try cache.* and then try portage.cache.* if there's an ImportError.
svn path=/main/trunk/; revision=6726
Zac Medico [Sat, 2 Jun 2007 04:45:39 +0000 (04:45 -0000)]
Use the PORTAGE_BINHOST_HEADER_URI environment variable to define the URI header field for the Packages index. If the URI header field is defined then the client will use it as a base URI for fetching packages.
svn path=/main/trunk/; revision=6725
Alec Warner [Sat, 2 Jun 2007 01:35:45 +0000 (01:35 -0000)]
copyrights.. id? what?
svn path=/main/trunk/; revision=6724
Zac Medico [Fri, 1 Jun 2007 22:08:30 +0000 (22:08 -0000)]
If PORTAGE_BINHOST is defined then use it as a URI attribute in the Packages index header.
svn path=/main/trunk/; revision=6723
Zac Medico [Fri, 1 Jun 2007 22:00:10 +0000 (22:00 -0000)]
Include SHA1 digests in the Packages index.
svn path=/main/trunk/; revision=6722
Zac Medico [Fri, 1 Jun 2007 21:41:23 +0000 (21:41 -0000)]
Add a VERSION attribute to the Packages index header and reject any index with an unsupported version (current supported version is 0).
svn path=/main/trunk/; revision=6721
Zac Medico [Fri, 1 Jun 2007 20:59:56 +0000 (20:59 -0000)]
Make binarytree.prevent_collision() update the Packages index since it changes the PATH attribute.
svn path=/main/trunk/; revision=6720
Zac Medico [Fri, 1 Jun 2007 20:35:55 +0000 (20:35 -0000)]
Add an optional PATH attribute to the Packages index in order to indicate the relative path of the package within the repository. In the future this will allow storage of more than one package per cpv but for now it's just use to indicate if a package is stored in the old-style All/ directory (instead of the category directory).
svn path=/main/trunk/; revision=6718
Zac Medico [Fri, 1 Jun 2007 19:33:37 +0000 (19:33 -0000)]
Fix it so repoman still does QA when $FILESDIR doesn't exist.
svn path=/main/trunk/; revision=6716
Zac Medico [Fri, 1 Jun 2007 18:30:22 +0000 (18:30 -0000)]
Don't complain when $FILESDIR is missing unless manifest1 compatibility is enabled.
svn path=/main/trunk/; revision=6711
Zac Medico [Fri, 1 Jun 2007 17:33:23 +0000 (17:33 -0000)]
Add --getbinpkg digest verification.
svn path=/main/trunk/; revision=6709
Zac Medico [Fri, 1 Jun 2007 15:51:36 +0000 (15:51 -0000)]
Instead of calling sys.exit() when aux_get() fails inside getfetchlist(), convert the KeyError to an InvalidDependString exception since callers already handle it.
svn path=/main/trunk/; revision=6708
Zac Medico [Fri, 1 Jun 2007 15:44:53 +0000 (15:44 -0000)]
Don't repeatedly invoke the depend phase for ebuilds that are already known to be broken.
svn path=/main/trunk/; revision=6707
Zac Medico [Fri, 1 Jun 2007 15:03:48 +0000 (15:03 -0000)]
For bug #149397, raise an InvalidDependString exception if a USE has no basename.
svn path=/main/trunk/; revision=6706
Zac Medico [Fri, 1 Jun 2007 01:50:06 +0000 (01:50 -0000)]
Add some additional variables to the Packages header.
svn path=/main/trunk/; revision=6705
Zac Medico [Thu, 31 May 2007 21:56:18 +0000 (21:56 -0000)]
Fix typo.
svn path=/main/trunk/; revision=6704
Zac Medico [Thu, 31 May 2007 21:28:06 +0000 (21:28 -0000)]
Raise a KeyError from bindbapi.aux_get() when appropriate.
svn path=/main/trunk/; revision=6699
Zac Medico [Thu, 31 May 2007 21:26:49 +0000 (21:26 -0000)]
Make dep_zapdeps() pull SLOT from the correct dbapi instance when it falls back to the vdb.
svn path=/main/trunk/; revision=6698
Zac Medico [Thu, 31 May 2007 21:07:11 +0000 (21:07 -0000)]
Replace deprecated binarytree.remotepkgs usage with binarytree._remotepkgs since the former is vulnerable to collisions in the tbz2 filename.
svn path=/main/trunk/; revision=6697
Zac Medico [Thu, 31 May 2007 13:18:34 +0000 (13:18 -0000)]
Fix typos.
svn path=/main/trunk/; revision=6695
Zac Medico [Thu, 31 May 2007 12:47:05 +0000 (12:47 -0000)]
Add PORTAGE_BINHOST support for fetching a remote Packages index. If the index is not found then it falls back to the old directory listing method.
svn path=/main/trunk/; revision=6694
Zac Medico [Thu, 31 May 2007 08:53:56 +0000 (08:53 -0000)]
Implement bindbapi.cpv_all() since the one from fakedbapi won't populate the tree.
svn path=/main/trunk/; revision=6693
Zac Medico [Thu, 31 May 2007 08:46:26 +0000 (08:46 -0000)]
Don't define bindbapi.move_slot_ent() since the inherited one works fine. Override cp_all() instead of cpv_all() since the latter calls the former.
svn path=/main/trunk/; revision=6692
Zac Medico [Thu, 31 May 2007 08:09:55 +0000 (08:09 -0000)]
Don't try to perform global updates on binary packages unless $PKGDIR is writable.
svn path=/main/trunk/; revision=6691
Zac Medico [Thu, 31 May 2007 07:41:05 +0000 (07:41 -0000)]
Trigger an update of the Packages index when a package is moved or aux_update() is called.
svn path=/main/trunk/; revision=6690
Zac Medico [Thu, 31 May 2007 07:15:18 +0000 (07:15 -0000)]
Allow dbapi.aux_update() to prune empty metadata values from storage.
svn path=/main/trunk/; revision=6689
Zac Medico [Thu, 31 May 2007 07:00:45 +0000 (07:00 -0000)]
Create one unified dbapi.move_slot_ent() method to replace the corresponding binarytree and vardbapi methods.
svn path=/main/trunk/; revision=6688
Zac Medico [Thu, 31 May 2007 05:43:41 +0000 (05:43 -0000)]
Make automatic "global updates" always use the config instance that's associated with /, since the rest of the code is targeted at /.
svn path=/main/trunk/; revision=6687
Zac Medico [Thu, 31 May 2007 04:49:16 +0000 (04:49 -0000)]
Create one unified dbapi.update_ents() method and use it for both fixpackages and the emaint move{inst,bin} targets.
svn path=/main/trunk/; revision=6686
Marius Mauch [Thu, 31 May 2007 01:36:22 +0000 (01:36 -0000)]
Only check ChangeLog if we're dealing with an ebuild (bug #170604)
svn path=/main/trunk/; revision=6685
Marius Mauch [Thu, 31 May 2007 01:26:33 +0000 (01:26 -0000)]
catch GetoptError
svn path=/main/trunk/; revision=6684