From: Fabian Groffen Date: Mon, 12 May 2008 15:17:24 +0000 (-0000) Subject: Merged from trunk -r10268:10297 X-Git-Url: http://git.tremily.us/gitweb.cgi?a=commitdiff_plain;h=db2e4b9dafab8279579c951419c6192d82ac7d81;p=portage.git Merged from trunk -r10268:10297 |1941 |Migration (without history) of the current stable line to subversion. | |jstubbs | | |1947 |re-adding the unpack function to stable someone yanked... :) | |ferringb | | |1951 |header changes, $Header: -> $Id: | |ferringb | | |1952 |this file should've been killed long ago. | |ferringb | | |1953 |bye bye mr. cvs_id_string | |ferringb | | |1954 |don't commit the remenants from applying a patch | |ferringb | | |1960 |68928-spawn-command-isabs-zmedico.patch (spawn included "." in PATH) | |jstubbs |98727_sleep_locale_cleanup.patch (sleep was defined twice for "." and "," | | |locales) 98827_lchown_normal_files.patch (lchown was being used on | | |known-to-be-regular files) 98827_darwin_noop_lchown.patch (lchwon was aliased| | |to chown on darwin) 99101_ccache_perms_adjust.patch (perms test and | | |adjustment didn't match) 99120_uid_gid_mixup.patch (portage gid used in place| | |of uid) 99418_merge_retcode_ignored.patch (dispatch-conf ignored result of | | |merge command) 100382_incomplete_world.patch (versioned atoms were not being | | |added to world) broken-stat-perms.patch (result of conditional execution | | |being unconditionally tested) | |1988 |if passing the -i18n option to doman, make sure we eat the option and | |SpankMan |continue processing | |1990 |backport local unpacking support from trunk and add support for jar | |SpankMan | | |1991 |Only warn on removal of system virtuals if there is only one satisfying | |jstubbs |package. | |1992 |fixing unpack so it works once again for tar :/ | |ferringb | | |1996 |document the -* KEYWORD #97165 | |SpankMan | | |1998 |add a sanity check for diff before using it #48184 | |SpankMan | | |2011 |bug 106363 , selinux failed import resulting in module hanging around causing| |ferringb |issues for the logic on the next re-import import selinux == fail; next | | |attempt, import selinux == non-fail Python 'feature' of sorts. | |2012 |added the bug number I missed on previous commit. | |ferringb | | |2014 |syntax error (wth?), fixed it. | |ferringb | | |2018 |use() is silent, update notes | |SpankMan | | |2019 |repoman will work in any portage tree, but the commit option will only work | |SpankMan |in a cvs tree | |2020 |bug 106544 , glep31 enforcement checks | |ferringb | | |2021 |cleanse_cache cleanups. | |ferringb | | |2022 |EAPI awareness, and flat_hash/flat_list autodetection for rysnc cache. | |ferringb | | |2023 |correction of eapi transfer for metadata -> local cache | |ferringb | | |2024 |update so that int 0 is stored (change to the logic test for storing null | |ferringb |vals) | |2025 |emerge --metadata ran as user, and silenced auxdb Corruption exceptions when | |ferringb |doing metadata transfer. | |2026 |typo fix. | |ferringb | | |2032 |eapi fix up for installation. | |ferringb | | |2033 |bye bye global portageq's. | |ferringb | | |2034 |file.name fixup for glep31 checks. | |ferringb | | |2035 |fixups to EAPI handling. | |ferringb | | |2044 |zmedico's prelink optimization | |jstubbs | | |2045 |overridable lchown/lchgrp | |jstubbs | | |2046 |remove CDEPEND ignore RDEPEND on --buildpkgonly | |jstubbs | | |2047 |add --newuse short option to emerge help | |jstubbs | | |2048 |Validation of user atoms. | |jstubbs | | |2049 |Security checks regarding installation of world-writable files. | |jstubbs | | |2050 |Adhere to USE flags passed into fetch() | |jstubbs | | |2051 |Fix incorrect Exception when checking LOGDIR permissions | |jstubbs | | |2052 |Prevent globbed atoms from having relative operators. | |jstubbs | | |2053 |Harmless typo in signal catcher. | |jstubbs | | |2054 |Update the casing of "linux" on the default distfile mirror. | |jstubbs | | |2055 |Add -i to FBSD's ldconfig as requested. | |jstubbs | | |2056 |Refactored world graphing code to reuse the standard dependency resolution | |jstubbs |paths. | |2057 |Remove specific reference to the Gentoo Handbook. | |jstubbs | | |2058 |Ignore blockers when fetching. | |jstubbs | | |2059 |Ignore files (such as metadata.xml) within portdir category dirs. | |jstubbs | | |2060 |Ignore packages in system/world that are satisfied by packages in | |jstubbs |package.provided. | |2061 |Make depclean a little friendler (so that perhaps people will read the | |jstubbs |messages? ;) | |2062 |Add some more info about where the problem is coming from when atoms cannot | |jstubbs |be resolved. | |2063 |Sort digests and manifests (to look nice and making them diff'able) | |jstubbs | | |2064 |fixed ebuild so ebuild some-ebuild clean setup unpack # works like ebuild | |ferringb |some-ebuild clean unpack | |2065 |touches up on file.name check, part of glep31 | |ferringb | | |2066 |Check if invalid atoms are only missing a category and let those pass. | |jstubbs | | |2068 |Restore full range of possible atoms that can be given to emerge by doing | |jstubbs |atom validity checks using a dummy category if necessary. | |2069 |Remove the specific dependency on python-2.2. | |jstubbs | | |2070 |saner handling of selinux_enabled | |ferringb | | |2073 |Fix typo wrt to lamba usage. | |jstubbs | | |2074 |Pass use list rather than config obj to portdbapi.fetch_check() | |jstubbs | | |2075 |Specify ebuildpath to merge() when using qmerge | |jstubbs | | |2076 |Make sure to include package.use flags with fetch-restricted packages | |jstubbs | | |2079 |fixing horkage when noauto is in use (nameerrors) | |ferringb | | |2080 |final fixup (ebuild nameerror) | |ferringb | | |2081 |Remove app-portage/portage-docs files from portage-2.0 branch | |jstubbs | | |2082 |Warn and ignore on invalid system/world atoms | |jstubbs | | |2083 |bug 107770 , fix A D and a few other vars being set implicitly by readonly | |ferringb |protection during setup phase. | |2084 |Big cleanup and added check regarding chosen ebuild. | |jstubbs | | |2085 |don't declare -r the contents, declare -r the var name. | |ferringb | | |2086 |Removed the translation of aux_get exceptions to unsupported eapi exceptions | |jstubbs |in doebuild (which led to a whole lotta changes regarding str vs int and | | |unlikely yet possible compatibility stuff) | |2087 |Extra bracket typo :( | |jstubbs | | |2088 |god this module sucked. Removed all of the duplicate code. | |ferringb | | |2089 |Add path to utf-8 checks so that repoman doesn't break outside of the package| |jstubbs |dir | |2096 |Always return a list of the same length as the query in vardbapi.aux_get() | |jstubbs | | |2097 |Suggest running emaint when problems with the world file are detected. | |jstubbs | | |2098 |Add new tool to check and fix problems with the world file (to begin with) | |jstubbs | | |2099 |Make dispatch-conf's log file have 0600 permissions. | |jstubbs | | |2101 |Exclude distcc and and ccache setup from the "setup" phase. Also make the | |jstubbs |redundant CCACHE_DIR default match what the python side sets. | |2102 |Account for empty EAPI | |jstubbs | | |2103 |save _mtime_ when EAPI nukes a cache entry, and a tweak to the supported eapi| |ferringb |check so it's lenient about spaces | |2104 |tweak, since the logic I just replaced was wrong (go me) | |ferringb | | |2105 |Restoring the metadata EAPI check code-style to match that of the ebuild EAPI| |jstubbs |check. | |2106 |added EBUILD_DEATH_HOOKS , a way for ebuilds/eclasses to register extra | |ferringb |messages to spew if die is triggered | |2107 |Be sure to reset settings changes before each package is merged. | |jstubbs | | |2110 |Reverting behaviour of ebuild when FEATURES="-noauto" | |jstubbs | | |2112 |Make --newuse switch on --update | |jstubbs | | |2114 |Restore the old behaviour that was dropped in the big refactoring by making | |jstubbs |--update implied by world or system targets. | |2115 |nuking this directory, since it's no longer used. | |ferringb | | |2116 |removing unused sandbox dirs. | |ferringb | | |2117 |Rework to API behaviour rather than API documentation | |jstubbs | | |2118 |cacheddir() would incorrectly return from the cache when the cached entry is | |jstubbs |less than old. Fixed by axxo. | |2119 |Global var profiledir was only being set correctly when portage was imported | |jstubbs |by emerge | |2122 |reset EBUILD_DEATH_HOOKS prior to sourcing, due to stable's re-sourcing of | |ferringb |ebuild every run. god stable env handling sucks. :/ | |2124 |Set PORTDIR_OVERLAY (rather than PORTDIR) when portage wants to use a | |jstubbs |different ebuild. (Yields the same behaviour when stuff isn't missing in the | | |same tree and better behaviour when there is) | |2129 |Use realpath instead of abspath to ensure that symlinks are correctly | |jstubbs |accounted for. | |2130 |Take the str() of the option passed to the callback so it can be compared | |jstubbs |usefully later on. | |2132 |Added missing quotes to stat_perms area of ebuild.sh (#93293) | |jstubbs | | |2133 |Adding svn revision property to portage.py's VERSION | |jstubbs | | |2134 |Adjusting the clipping... | |jstubbs | | |2135 |Check if ebuild path is in vdb and check that vdb finds it okay rather than | |jstubbs |always assuming "porttree". If PORTDIR_OVERLAY needs to be adjusted, recheck | | |to make sure the ebuild is found correctly. Pass which tree should be used to| | |doebuild so that aux_get() are performed on the correct tree. | |2136 |Return after detecting an invalid command line atom so as to avoid spurious | |jstubbs |dependency errors. | |2137 |Typo :( | |jstubbs | | |2138 |Clarifying the error message when path/to/ebuild is used on an ebuild that | |jstubbs |isn't in a normal PORTDIR structure. | |2139 |Removing --inject from emerge help summary | |jstubbs | | |2149 |s/no/not/ typo | |jstubbs | | |2150 |Remove an extra space in a hyphenated string. | |jstubbs | | |2199 |Don't add packages to the graph that are left as is due to --upgrade-only. | |jstubbs |This is necessary because later code assumes that packages are either from | | |porttree or bintree whereas the --upgrade-only is almost exclusively from | | |vartree. | |2203 |Add treetype instance member to dblink. Add treetype parameters to | |jstubbs |dblink.__init__() and merge(). Adjust all calls to dblink(), merge() and | | |doebuild() to specify what tree should be used for aux_get(). Patch created | | |with the help of Zac Medico (zmedico). | |2222 |output a finished message | |SpankMan | | |2223 |if STRIP begins with a -, make sure type doesnt error out | |SpankMan | | |2224 |merge tweaks from trunk | |SpankMan | | |2225 |add support for unpacking lha files | |SpankMan | | |2249 |deprecate IMAGE | |SpankMan | | |2250 |grab fixes from trunk | |SpankMan | | |2251 |fix patch for PKGDIR #111222 by Armand | |SpankMan | | |2252 |document sandbox and test RESTRICT | |SpankMan | | |2253 |Start from 1st element rather than 2nd when doing checks on *DEPEND | |jstubbs | | |2254 |A couple of bug fixes, large cleanups, commenting and a bit of dead code | |jstubbs |removal. | |2255 |Remove the now unused SANDBOX_PIDS_FILE | |jstubbs | | |2256 |Use os.path.splitext() rather than slicing strings to get at file extensions.| |jstubbs |Patch by Jason Pepas. | |2257 |replacement cache subsystem that's gestated in 2.1 and 3.0. it rocks your | |ferringb |world, baby. | |2258 |integration chunk of the cache subsystem patch. Will deal with UNUSED_0* | |ferringb |after this | |2259 |bye bye you decrepit POS cache implementation. | |ferringb | | |2260 |clean up the last few sections so that they are consistent | |SpankMan | | |2262 |Relocating current 2.0 branch to trunk. | |jstubbs | | |2263 |Updated make.conf.ppc as requested by lu_zero (#102656) | |jstubbs | | |2264 |Clean up reporting of the parent of an unsatisfied atom. | |jstubbs | | |2265 |Add USE_EXPAND to INCREMENTALS (#105304) | |jstubbs | | |2266 |Limit --emptytree to only affect ${ROOT} (#34887) | |jstubbs | | |2267 |pre/post hooks originally from 2.1, quick rewrite by axxo for 2.0 Not to be | |ferringb |used by ebuilds/eclasses (with the sole exception of java eclass var reset | | |till ebd is stabled), this is user hooks. | |2297 |Documented `emerge --config` (#109496) | |jstubbs | | |2298 |Added a description of emaint to `emaint --help` | |jstubbs | | |2299 |Documented `emerge --config` (#109496) | |jstubbs | | |2301 |don't do a sort if just doing percentage for emerge --metadata | |ferringb | | |2302 |tweak marking of D as readonly since we need to play around with it in | |SpankMan |pkg_preinst | |2304 |add NetBSD to the BSD list #112393 | |SpankMan | | |2306 |Add slightly modified elog_base patch containing the basic framework for | |genone |ebuild logging. | |2307 |First bunch of simple logging modules. | |genone | | |2308 |minor glitch: EBUILD_PHASES is a list, no need to split() it | |genone | | |2309 |Backport of version code rewrite (bug 37406), should be completely backwards | |genone |compatible (and the algorithm has been tested on the whole tree multiple | | |times already). Also adds some new features in version syntax like cvs | | |version prefixes (in the same package) and multiple suffixes. | |2310 |manpage for emaint #112510 | |SpankMan | | |2311 |fix for portageq usage call (missing argv), via Emanuele Giaquinta | |ferringb | | |2312 |config additions for elog | |genone | | |2314 |Also ignore compiled python files in all subdirs ;) | |genone | | |2315 |move --nocolor to OPTIONS instead of ACTIONS #113225 by P Nienaber | |SpankMan | | |2316 |kill stupid message about 'masked by -*' | |genone | | |2319 |Petteri says: exit with non-zero status if a file wasnt found | |SpankMan | | |2321 |Kill of generation of CDEPEND for binary and installed packages. Patch by | |jstubbs |solar. | |2322 |compnerd: document manifest action | |SpankMan | | |2323 |give a slightly better usage message | |SpankMan | | |2324 |add an option to grab* so that if they're given a directory they'll | |genone |recursively find all files in it and treat them like one big file. Also make | | |use of this option for most of the config files. | |2325 |Saleem Abdulrasool: document IUSE.invalid | |SpankMan | | |2339 |add a user-friendly list of changes | |genone | | |2340 |if PORT_LOGDIR doesnt exist, then try to create it automagically | |SpankMan | | |2341 |use emake -j1 in default src_test() instead of make | |SpankMan | | |2342 |add a status message to src_compile() like src_unpack() | |SpankMan | | |2343 |get rid of duplicated Test phase message in src_test() | |SpankMan | | |2344 |cleanse maketest once and for all | |SpankMan | | |2345 |kill dead whitespace and make function def style consistent | |SpankMan | | |2346 |run all elf QA checks before aborting, and all some packages (like | |SpankMan |binary-only) to prevent aborting since there isnt much we can do about those | | |craptastic developers | |2347 |s/series/serious/ mistake | |jstubbs | | |2348 |only digest/fetch files when the operation warrants it | |SpankMan | | |2349 |eat whitespace -> YUM | |SpankMan | | |2350 |dont run depscan.sh anymore | |SpankMan | | |2352 |Drop the virtuals related fatal errors down to warnings. | |jstubbs | | |2355 |fix whitespace in depend atom as point out by chkno #114956 | |SpankMan | | |2356 |touchup in general, add support for -h/--help, and delay importing portage so| |SpankMan |using -h/--help doesnt blow goats because portage was imported | |2357 |make the --quiet option useful, touchup whitespace in a few places, and add | |SpankMan |--cols as short for --columns for retards like myself who cant remember how | | |to spell | |2358 |fix the fetch/digest shortcuts so they dont break normal runs of | |SpankMan |emerge/ebuild | |2359 |add a -v (verbose) option to envvar for easily generating output for use in | |SpankMan |bash scripts | |2360 |Removed the specific check against PORTAGE_CALLER with regard to fetching. | |jstubbs | | |2363 |Separate and format USE_EXPAND based variables found in IUSE. | |jstubbs | | |2364 |Prevent USE_EXPAND variables from bypassing use.mask | |jstubbs | | |2365 |Use soft limit, not hard limit. | |ferringb | | |2368 |Add USE_EXPAND_HIDDEN so that users can extend it without killing off profile| |jstubbs |settings. | |2372 |Bug 115519 by Diego Petteno: Fix ldconfig command ordering, add dragonfly | |SpankMan |support | |2373 |ferringb says: i pity the fool who doesnt use better style | |SpankMan | | |2374 |- initial commit of split elf debug code | |solar | | |2375 |Change unmatched ' to " in use flag output. | |jstubbs | | |2376 |Prevent masked use flags from being shown in packages' flag list. Colorize | |jstubbs |negated flags if they have changed. Code style cleanups. | |2377 |cleanup textrel qa notice | |SpankMan | | |2378 |touchup TEXTREL warning some more #115727 | |SpankMan | | |2379 |Catch KeyError exception throw from aux_get. | |jstubbs | | |2380 |add an add-ebuild-death-hook func so people dont need to know about setting | |SpankMan |some variable | |2381 |sync with savior branch | |SpankMan | | |2382 |Fail if not running as root and --resume is attempted. Patch by Alec Warner | |jstubbs |(antarus). #114550 | |2383 |nothing uses it so no point in keeping it ... plus the ldconfig calls are | |SpankMan |glibc specific | |2384 |remove preplib/preplib.so docs | |SpankMan | | |2385 |Add --verbose to the list of options that need to be removed from those | |jstubbs |pulled from the mtimedb when using --resume. Patch by Alec Warner (antarus). | | |Code-style cleanups. #74990 | |2386 |deprecate preplib | |SpankMan | | |2387 |Fix missing ":" on except line. | |jstubbs | | |2388 |Remove duplicate if statement. | |jstubbs | | |2389 |Check if atoms with matching keys will result in higher versioned packages | |jstubbs |when dealing with || ( ) type dependencies. #100876 | |2390 |Remove old ChangeLog files as they will now be auto-generated from commit | |jstubbs |messages. | |2392 |Check if packages listed in the --resume list have been removed from the | |jstubbs |relevant trees and report the problem. #103564 | |2393 |Unpack the _eclasses_ value as it's packed by the database template's | |jstubbs |__setitem__ method. | |2395 |couple of tweaks. fixed up whitespacing for template, added a default | |ferringb |__contains__ func to the template, finally added serialize_eclasses class | | |attribute; controls whether __(get|set)item__ do _eclasses_ mangling on their| | |own, or leave it to the child class. updated anydbm to handle serializing | | |itself | |2396 |parallel-fetch, baby. | |ferringb | | |2397 |removed unnecessary reconstruct_eclasses import | |ferringb | | |2398 |Quick hack to work around the extra package lookups in porttree when checking| |jstubbs |for issues in the world file. This restores the number of lookups to be equal| | |with xcreate before it was refactored. Further refactoring will improve | | |style. | |2399 |Restore previous --verbose USE flag style and prepare for a minimal flag | |jstubbs |display for when not using --verbose. | |2400 |Add USE display when --verbose is not used. Only flags that are enabled, have| |jstubbs |changed or are new but disabled are shown. | |2401 |added parallel-fetch in... | |ferringb | | |2402 |use spaces for space aligned text (kind of a duh) | |ferringb | | |2403 |moved cpv funcs out of the block of dep funcs, removed some type usage (use | |ferringb |isinstance instead), and cleaned up some of the more c like code so it's | | |pythonic... | |2404 |further type -> isinstance cleanup in dep crap | |ferringb | | |2405 |Removed the now unnecessary dep_opconvert portage function. | |jstubbs | | |2406 |Check if atoms are masked when scanning for which || ( ) atom/list to use. | |jstubbs | | |2407 |Make the dep_zapdeps a little bit more readable. | |jstubbs | | |2408 |fix custom module (bug #116024) | |genone | | |2409 |quote vars inside PORTAGE_ELOG_COMMAND | |genone | | |2410 |adding multi-hash support | |genone | | |2412 |Make digest errors more verbose | |genone | | |2413 |update with multi-hash stuff and verbose digest errormessages, remove some | |genone |not-so-important information. | |2414 |update to work with the verbose error messages | |genone | | |2415 |Remove old debugging related error message. | |jstubbs | | |2416 |dont use string substitution as this operation can be quite slow on older | |SpankMan |bash versions (<=3.0) #116111 | |2417 |Document the full-path-to-executable requirement on FETCHCOMMAND and | |jstubbs |RESUMECOMMAND as well as the relevant substitution placeholders. | |2418 |Fix an incorrect positional check in *DEPEND parsing. | |jstubbs | | |2419 |Prevent traceback on fetcher failure and properly check for error conditions | |jstubbs |when fetching remote binary packages. #116276 | |2420 |Push portage to the top of the system and world lists when updating. | |jstubbs | | |2421 |Don't show enabled flags when not using --verbose if they haven't changed | |jstubbs |since the last emerge. Show enabled flags in red rather than green if the | | |previously merged package didn't support them. | |2422 |USE flags in the to-be-installed package's IUSE but not in currently | |jstubbs |installed package's IUSE and not enabled were not being shown. USE_EXPAND | | |variable names were being shown in lower case rather than upper case. | |2423 |- make quiet really mean it | |solar | | |2424 |Check that cache modules load correctly and fail if they don't. | |jstubbs | | |2425 |Make --skipfirst imply --resume. | |jstubbs | | |2426 |Missing return on load_mod. | |jstubbs | | |2427 |Separate masked and unavailable ebuilds and report that masked ebuilds can be| |jstubbs |handled with package.keywords or package.unmask when they are detected. | |2428 |Mention bugs.gentoo.org when asking the user to post config.log. | |jstubbs | | |2429 |Added /dev/{stdin,stdout,stderr} to the default sandbox permissions. | |jstubbs | | |2432 |quick sync manpages between trunk/savior | |SpankMan | | |2433 |finish syncing manpages between trunk/savior | |SpankMan | | |2434 |update date/version to stop people from pointless whining | |SpankMan | | |2437 |if you're going to print an exception, bind the exception when you catch it | |ferringb | | |2439 |Generalize portage_util.dump_traceback() and make use of it if importing a | |jstubbs |cache module fails. | |2440 |Check if the specified package follows correct syntax and error out if it | |jstubbs |doesn't. | |2441 |Fix an incorrect comparision self-comparison in USE change calculation. | |jstubbs | | |2444 |Fix an incorrect variable reference triggered when using --fix and --check | |jstubbs |together. Patch by Ashley Stovall. # 116576 | |2445 |Treat symlinks similar to regular files when unmerging and remove them if the| |jstubbs |mtime matches rather than only removing them if the target is no longer | | |valid. | |2446 |Limiting hashing to MD5 only until behaviour improves in the case of the | |jstubbs |needed python module not being installed. #116485 | |2447 |bug 114133, write a tmp file then rename it for write* funcs. This removes | |ferringb |the possibility of out of space errors to occur, and blocks unexpected flat | | |out bails (segfault fex) from hosing important files. | |2450 |Fix typo in writeints() | |jstubbs | | |2452 |Fix mishandling of masked atoms in || ( .. ) dependencies. | |jstubbs | | |2453 |- only record vdb entries when the value is non null | |solar | | |2454 |Use the env's PROMPT_COMMAND for resetting xterm titles when available. | |jstubbs |Otherwise use ${user}@${hostname}:${cwd}. | |2455 |Factor out mtimedb saving code from portageexit() into a new commit_mtimedb | |jstubbs |function and call that rather than portageexit() after package updates. | |2456 |- remove intermediate var entry | |solar | | |2457 |Only do one round of directory removal attempts. As symlinks are now removed | |jstubbs |before directory removal begins, more than one round is unnecessary. | |2458 |- use -n syntax like most of ebuild.sh | |solar | | |2459 |Skip to next directory after one has been removed in unmerge(). | |jstubbs | | |2460 |Include symlinks themselves when checking collision-protect. | |jstubbs | | |2461 |- initial commit of post --sync hook. postsync.d to come at a later time | |solar | | |2462 |renaming the death hook registration func to register_die_hook | |ferringb | | |2463 |news file, releasenotes data schlopped into it, plus couple of updates. | |ferringb | | |2464 |convert release notes over to upgrade information | |ferringb | | |2465 |register_death_hook -> register_die_hook thanks to axxo for the catch. | |ferringb | | |2466 |Check for adequate spacing around "||", "(" and ")" tokens. | |jstubbs | | |2467 |- trim extraneous spaces tabs form feeds and newlines | |solar | | |2468 |Allow overlays and the user profile to extend arch.list. | |jstubbs | | |2469 |Remove the now unnecessary USE="*" hack. | |jstubbs | | |2470 |Don't try to resolve deps of blockers when using --onlydeps. | |jstubbs | | |2471 |Don't show any use flags when using --quiet. | |jstubbs | | |2472 |Make dohtml return 1 when a passed file/dir doesn't exist. | |jstubbs | | |2473 |- consolidate noman noinfo nodoc into a simple loop and use INSTALL_MASK. Add| |solar |debug to default list of MULTILIB_STRICT_EXEMPT= | |2474 |'DISTFILES indirection; access $BUILDDIR/distdir instead of $DISTFILES , thus| |ferringb |blocking unstated access. | |2475 |rename BUILDDIR to PORTAGE_BUILDDIR | |SpankMan | | |2476 |quote a bit more | |SpankMan | | |2477 |don't generate the distfiles indirection for digest/manifest doebuild calls | |ferringb | | |2478 |final cleanups for indirect distfiles, exempt fetch phase also. | |ferringb | | |2479 |Export the ROOT environment variable when using functions that take a | |jstubbs | | |2480 |- update fatal qa error handling | |solar | | |2481 |- add back in 1 newline after trimming all the extraneous ones | |solar | | |2482 |Sanitize the root parameter specified to portageq. | |jstubbs | | |2483 |- export env variable PORTAGE_QUIET when --quiet option is passed | |solar | | |2484 |- add splitdebug FEATURE to make.conf.5 | |solar | | |2485 |Modify portage's settings object rather than the original env. | |jstubbs | | |2486 |bye bye crap grab_multiple function. list comp just as easily handles it. | |ferringb | | |2487 |ongoing portage_util cleanup. removed grabint, writeint; rewrote stack_list | |ferringb |to use a dict rather then doing a crapload of linear searches. | |2488 |linear unique_array lifted from saviour, lifted from a python cookbook. | |ferringb | | |2489 |whitespace corrections, single space between funcs, double between class | |ferringb |blocks... | |2490 |revert down to 2.3 python requirement via avoiding sorted | |ferringb | | |2491 |tweak multiline whitespace display cause i'm anal like that | |SpankMan | | |2492 |Remove tests for masked/unavailable packages. | |jstubbs | | |2493 |Don't print emaint warning for masked/non-existant packages. When using | |jstubbs |--verbose, print a warning for those packages. | |2494 |Don't download distfiles when manifesting. | |jstubbs | | |2495 |Don't attempt to chmod/chown unless running as root when calling simple | |jstubbs |ebuild functions. | |2496 |Convert digest failure information to strings for printing. | |jstubbs | | |2497 |Split email addresses on the final "@" so as to allow "@" within the username| |jstubbs |portion of the address. | |2498 |Check and raise an exception when a hash function is missing during | |jstubbs |digesting. | |2504 |Unify the -p and -pv USE display functions and IUSE additions in yellow | |jstubbs |followed by a "%" character. | |2505 |Updated --pretend example to document new USE flag displays. | |jstubbs | | |2507 |Update the `touch .unpacked` error message to output the actual path in order| |jstubbs |to match the other touch error messages. | |2508 |BUILDIR => BUILDDIR | |jstubbs | | |2509 |Redo virtuals code that relied on unique_array keeping the original order. | |jstubbs | | |2510 |Add CTARGET back into the list of vars to be written out for installed | |jstubbs |packages. | |2515 |Kill the double xterm title codes. | |jstubbs | | |2516 |- added writemsg_stdout function and make portage use it internally | |solar | | |2517 |- added writemsg_stdout function and make portage use it internally | |solar | | |2518 |if youre going to rip code from baselayout, you really need to do it from an | |SpankMan |up-to-date version ... so re-import the KV functions and the color code so it| | |doesnt suck | |2519 |fix broken quoting | |SpankMan | | |2520 |re-import the e* functions from baselayout since these ones are broken | |SpankMan |#117186 | |2521 |use an echo rather than ewarn | |SpankMan | | |2522 |el buggo pointed out via spyderous. || ( a ( x? ( b ) y? ( c ) ) ) -x -y , | |ferringb |was resulting in || ( a () ) the main consumer of this, portage.dep_check is | | |stupid, and was assuming () was valid. It's not, obviously. Long term bug, | | |around in at least .51 . Should correct dep_check handling of it also, but no| | |reason to be handing () in the result lists also. | |2525 |sync with savior branch | |SpankMan | | |2526 |update copyright years | |SpankMan | | |2527 |only complain about executable stacks on architectures that actually support | |SpankMan |them | |2528 |'k. reverted use_reduce filtering of empty lists (was resulting in ["||"] as | |ferringb |elements, which are invalid), added a recursive filter of empty sets/resolved| | ||| and && nodes; in the process, keeps portage from using an empty bool as a | | |satisfier in || () restriction sets. | |2529 |force a realpath call for complaints about digest files; better resolution is| |ferringb |resetting DISTDIR post doebuild (see, we really need to break the beast up or| | |decorate it), but this resolves 117264 in the meantime. | |2531 |adress -> address spelling typo. Sidenote, really should remove the 101 files| |ferringb |and centralize this damn thing.. | |2532 |bug 42299, detect and fail invalid atoms in *DEPEND | |ferringb | | |2533 |filter '(' and ')' tokens also when checking for invalid atoms. | |ferringb | | |2534 |bug 117849, when parallel-fetch is on don't write out the mtimedb in the | |ferringb |fetcher process | |2537 |- set noiselevel when quiet is enabled | |solar | | |2538 |touchup output slightly | |SpankMan | | |2539 |generate a log file for users to attach to bug reports | |SpankMan | | |2540 |touchup style | |SpankMan | | |2542 |- FEATURES=installsources from Olivier Crete an extention of splitdebug for | |solar |better debugging when debugedit is installed. bug 112907 | |2543 |bug 117440, added PORTAGE_ACTUAL_DISTDIR var to make cvs/svn eclasses play | |ferringb |nice since they're not part of our SRC_URI scheme (yet). | |2544 |reenable multi-hash and make error message a bit more useful | |genone | | |2545 |slightly improve news | |genone | | |2546 |s/checksums/manifests/ | |genone | | |2549 |add another common example for package.provided | |SpankMan | | |2550 |bug 118191 , puke properly when no args to envvar are supplied. | |ferringb | | |2551 |fixed the '/' stray char output | |ferringb | | |2552 |handle cross-compilers as well | |SpankMan | | |2553 |reorganization and a bit of clean up from Benno Schulenberg , bug 84285 | |ferringb | | |2554 |get rid of the word "downloaded" in the search output because some people | |SpankMan |cant seem to handle it #81501 | |2555 |fix display of ebuild(1) | |SpankMan | | |2556 |Always call prerm/postrm regardless if the previous install had contents or | |ferringb |not. | |2559 |- dont save debug info twice | |solar | | |2560 |don't inline code, do __name__=="__main__" so the module can be used instead | |ferringb |of strictly called. | |2561 |clean up coding style/quoting, figure out what objdump to run same as strip, | |SpankMan |and add support for STRIP_MASK | |2562 |add FEATURES=assume-digests so i dont have to keep hashing all the glibc | |SpankMan |tarballs whenever i want to commit | |2563 |fix inverted strip skip logic | |SpankMan | | |2564 |fix traceback when EDITOR is not set in the env #118976 by Paul Varner | |SpankMan | | |2565 |add -h/--help | |SpankMan | | |2566 |s/maketest/test/ | |SpankMan | | |2567 |also catch leading null runpaths | |SpankMan | | |2568 |store all auxdbkeys in vdb and add a new emaint target to create missing | |genone |entries | |2569 |fixup | |genone | | |2570 |verify_all occasionally returns longs rather then strings. Wouldn't be a | |ferringb |problem, but the writemsg code isn't written to do conversions on the fly... | | |so, made it so it was. | |2571 |accept --skip-first and --skipfirst | |SpankMan | | |2572 |bash tracebacks. :) | |ferringb | | |2573 |updated diefunc "post the relevant info" msg | |ferringb | | |2574 |Added usage info to dump_trace, and credit for the code (eselect authors) | |ferringb | | |2575 |fixed up dump_trace, courtesy of spyderous | |ferringb | | |2576 |fix prepstrip after previous commit as pointed out by Olivier Crete | |SpankMan | | |2577 |patch by Alec Warner to document CCACHE_DIR #65492 | |SpankMan | | |2578 |Move DEPEND empty sublist processing back into use_reduce | |jstubbs | | |2579 |Provide more information with DEPEND syntax exceptions | |jstubbs | | |2580 |Add further checks for correct DEPEND syntax | |jstubbs | | |2581 |fix possible path and vdb location issues | |genone | | |2582 |Disable auto-use prior to code removal | |genone | | |2583 |Add a warning for KEYWORDS=-* | |genone | | |2584 |Fix typo in error description | |genone | | |2586 |m68k generates proper gnu stack markings | |SpankMan | | |2587 |Added a check for obsolete virtual/x11 usage in dependencies. | |jstubbs | | |2588 |Add support for EMERGE_DEFAULT_OPTS configuration variable for setting | |jstubbs |options that emerge always considers to be specified. | |2589 |Add support for an --alphabetical option to emerge that restores the old | |jstubbs |ordering of flags in --pretend output. | |2591 |touchup if logic | |SpankMan | | |2592 |make env-update a bit more flexible by adding a --no-ldconfig option | |SpankMan | | |2593 |add the "/usr/lib/portage/pym" insert to deal with osx (bit of a hack, but | |ferringb |tiz the convention currently). | |2599 |Disable the vdb check until it can be migrated to filter-env. | |jstubbs | | |2600 |Add note about --alphabetical | |jstubbs | | |2604 |Allow || ( ) deps that have no default atoms (or turn out empty). Released in| |jstubbs |2.1_pre4-r1. #120803 | |2605 |make sure all .debug files have the executable bit cleared | |SpankMan | | |2606 |Chris PeBenito writes in #110857 for SELinux updates: 1) change ebuild.sh | |SpankMan |code to use selinux configuration to determine where the file contexts are, | | |rather than a setting in make.conf. 2) change portage support to a FEATURE | | |rather than USE. This enables the user to disable the portage support if | | |their setup is broken, while still enabling selinux support in any packages | | |they might merge. I was going to submit a patch for portage.py, but the place| | |it needs to be changed (line 7234 in rev 1.524.2.76/2.0.53_rc6), features | | |(the variable) isn't filled yet, so I was unsure of the proper fix. | |2608 |get --nospinner from myopts instead of sys.argv so that it works with | |zmedico |EMERGE_DEFAULT_OPTS | |2609 |remove red coloring from right ')' in 'dependency required by' message | |zmedico |reported by cardoe | |2610 |Change the usage of a "class" of packages into a "set" of packages. world and| |WarnerBro|system are now "sets" instead of "classes". | |2611 |Fix for bug #121106, resume + skipfirst + pretend would print the skipped | |WarnerBro|package. Thanks to Andrew D. Keyser (aka Legoguy) | | |for reporting. | |2612 |touchup the way options are declared to prevent bitrot, add a --quiet option | |SpankMan |and use it, and make the help output useful | |2620 |- portage allows installing files into ${D}/${D}. Simon Stelling bug #120941 | |solar | | |2621 |touchup syntax/output of new $D/$D check | |SpankMan | | |2622 |bug #116681 , better handling of MULTILIB_STRICT_EXEMPT | |ferringb | | |2623 |added PORTAGE_NICENESS support. | |ferringb | | |2624 |optional tarsync integration; thanks to Johannes Fahrenkrug for doing the | |ferringb |legwork. | |2625 |Revert change in -r2611, re-opening bug 121106. The fix is not that | |WarnerBro|simple...as usual :) | |2626 |s/cronological/chronological/ for you anal peeps | |SpankMan | | |2627 |exit with proper status rather than always 0 | |SpankMan | | |2628 |style touchups | |SpankMan | | |2629 |grab some fixes from prepstrip script | |SpankMan | | |2632 |confcache, baby. | |ferringb | | |2633 |FEATURES="confcache" addition | |ferringb | | |2634 |confcache make.conf example... | |ferringb | | |2635 |confcache updates... | |ferringb | | |2641 |Thanks to Benno Schulenberg for the spelling/grammar | |WarnerBro|fixes, bug #80754 | |2642 |This should have been excluded... | |WarnerBro| | |2643 |Minor fixups with spelling, Thanks to Benno Schulenberg | |WarnerBro|, bug # 110382 | |2644 |Shout out to RiverRat for reporting, fixup the output to use the correct | |WarnerBro|verbs, disable tree output for fetching since it does not work. | |2645 |Fix for bug #119049 | |WarnerBro| | |2646 |Fix bug #86067. Thanks to J\xc3\xbcrgen H\xc3\xb6tzel | |WarnerBro|for the emacs command | |2648 |Add back emerge list header hiding when --quiet is used. | |jstubbs | | |2649 |Remove all bug references | |jstubbs | | |2650 |Simon Stelling writes in Bug 121317: currently, the do* scripts don't exit | |SpankMan |with a non-zero status when a critical command fails, except if it is the | | |last one. install as much as possible, then exit appropriately. | |2651 |touchup code so we handle errors better | |SpankMan | | |2652 |touchup code so we handle errors better | |SpankMan | | |2653 |touchup code so we handle errors better | |SpankMan | | |2654 |cleanup code and handle errors better as Simon Stelling says in Bug 121317 | |SpankMan | | |2655 |use much simpler code as inspired by agriffis' fowners work | |SpankMan | | |2656 |send error to stderr | |SpankMan | | |2657 |touchup code like dosym | |SpankMan | | |2658 |remove stray quote introduced in revision 2645 | |zmedico | | |2659 |Adding a comment about normpath, and why we use our own copy. | |WarnerBro| | |2660 |aparently someone never heard of rstrip... | |ferringb | | |2665 |mention mirror, not nomirror | |SpankMan | | |2666 |document more stuff | |SpankMan | | |2667 |replace existing "restarting emerge via exec()" functionality with a new | |zmedico |approach that uses --resume and myopts | |2668 |remove outdated "You may avoid the remerging of packages" message | |zmedico | | |2669 |do commit_mtimedb() after each merge for bug 100300 | |zmedico | | |2670 |add CATEGORY to ebuild.5 and declare it readonly in ebuild.sh | |zmedico | | |2671 |Make sure confcache files are writable by the portage group, not just the | |marienz |portage user. | |2672 |when emerge restarts itself, make /usr/lib/portage/bin/emerge the first | |zmedico |argument in the list passed to os.execv (regression from revision 2667) | |2673 |use sys.argv[0] for the path to emerge rather then hard coding | |ferringb | | |2674 |wrap all relevant atexit usage due to incompatibility with os.execv (needed | |zmedico |for emerge to restart itself) | |2676 |Remove references to --verbose and --quiet in depgraph.display() and make it | |jstubbs |work of a verbosity parameter instead. | |2677 |fix whitespace breakage introduced by writemsg_stdout() changes | |SpankMan | | |2679 |cPickle import protection; fall back to pickle if cPickle is unavailable. | |ferringb | | |2680 |add new atomic_ofstream class for safer writes | |zmedico | | |2681 |use new write_atomic() function for all world file updates | |zmedico | | |2682 |use atomic_ofstream for mtimedb commits | |zmedico | | |2683 |touchup style | |SpankMan | | |2684 |eat the parent process with exec, YUM | |SpankMan | | |2685 |use getattr instead of hasattr for detection of base class destructor | |zmedico |(recommended by marienz) | |2686 |use write_atomic for the counter file | |zmedico | | |2687 |for each fetch ensure correct permissions on both $DISTDIR and | |zmedico |$DISTDIR/.locks (bug 117781) | |2688 |make repoman obey NOCOLOR for bug 77566 (patch by antarus) | |zmedico | | |2689 |fix KeyError: '.' in dblink.unmerge() from bug 100479 | |zmedico | | |2690 |avoid unnecessary stat by catching ENOENT error instead of using | |zmedico |os.path.exists() | |2691 |use cached stat and lstat results to minimize the number of stat calls in | |zmedico |dblink.unmerge() | |2692 |fix typo for bug 111098 (patch by andre@fluffyspider.com.au) | |zmedico | | |2693 |- add portage to MULTILIB_STRICT_EXEMPT | |solar | | |2694 |import errno at the top of portage.py | |zmedico | | |2695 |catch possible ENOENT error from portage_checksum.perform_md5 for bug 24374 | |zmedico | | |2696 |add a new emerge --ignore-default-opts option for bug 121695 | |zmedico | | |2697 |fix perform_checksum.perform_checksum() so that it wraps FileNotFound | |zmedico |exceptions | |2698 |use write_atomic for fixdbentries | |zmedico | | |2700 |fix dirsonly handling in listdir | |genone | | |2701 |use write_atomic for move_ent CATEGORY updates | |zmedico | | |2703 |misc atomic_ofstream and write_atomic updates in portage.py | |zmedico | | |2707 |Make repoman ebuild.invalidname message a bit more useful | |genone | | |2708 |add support for ROOT by Joel Martin #122728 | |SpankMan | | |2709 |cleanup output and syntax, make sure we exit with non-zero status when | |SpankMan |something goes wrong #121317 by Simon Stelling, and fix installing of | | |relative symlinks | |2710 |get rid of pointless whitespace | |SpankMan | | |2712 |fix race condition for bug 121819 by using os.fstat(myfd).st_nlink instead of| |zmedico |os.path.exists | |2713 |silence extdebug errors when on bash2; it's handled by the code already, just| |ferringb |is fugly. | |2714 |fix a race and prevent unlinking of a file locked by another process in | |zmedico |portage_locks.unlockfile() | |2715 |fix case where myfd == None (regression from revision 2714) | |zmedico | | |2716 |Robert Sebastian Gerus: add support for DragonFly #122976 | |SpankMan | | |2717 |generalize the BSD checks. | |ferringb | | |2718 |Add basic sanity check for global update entries | |genone | | |2721 |remove invalid package moves from myupd so that fixpackages doesn't process | |zmedico |them | |2722 |optimize fixdbentries by enabling it to process packages moves in batches | |zmedico | | |2723 |optimize fixpackages (update_ents) to feed batched package moves to | |zmedico |fixdbentries | |2724 |Make fixdbentries operate on an iterable instead of a dict because order can | |zmedico |matter. | |2725 |Optimize fixpackages to do all updates in one big batch so that each tbz2 is | |zmedico |only recomposed once. | |2726 |Store split lines in myupd so that they don't need to be split again later. | |zmedico | | |2727 |Bring back myline variable inside do_upgrade because it is needed (regression| |zmedico |from rev 2726). | |2728 |Filter out some more invalid updates before fixpackages gets them. | |zmedico | | |2729 |Add a return value to fixdbentries that indicates whether or not | |zmedico |modifications were performed. Use this to avoid unnecessary recomposition of | | |tbz2 files. | |2730 |Add a cleanup() method to xpak.tbz2 and do a sanity check there. | |zmedico | | |2731 |Split out a vardbapi.update_ents() method and leave it unused for the moment | |zmedico |since it's not currently being used properly anyway (see bug 122089). | |2732 |Consider global updates that proceed quickly as a single mtimedb transaction.| |zmedico | | |2733 |Create a global_updates() function in order to remove a chunk from the global| |zmedico |scope. | |2734 |Split the config file updates from do_upgrade into a new | |zmedico |update_config_files() function that does all updates in one big batch. | |2735 |Clean up do_upgrade() and add atom validation. | |zmedico | | |2736 |Fix 2 typos from revision 2735. | |zmedico | | |2737 |Split move_ent calls from do_upgrade() and do them in global_updates() | |zmedico |instead. | |2738 |Update the mtimedb only after the updates have been processed. | |zmedico | | |2739 |finally remove --upgradeonly | |genone | | |2740 |finally remove --rsync | |genone | | |2741 |remove documentation on --upgradeonly | |genone | | |2742 |deprecate 'emerge action' syntax in favor of 'emerge --action' | |genone | | |2743 |Fix problem with /var/tmp/tbz2/tbz2 directory for bug 113088. | |zmedico | | |2744 |this stuff was supposed to be dead for ages | |genone | | |2745 |more obsolete stuff, qa is in ebuild.sh now | |genone | | |2746 |update release notes regarding deprecated stuff | |genone | | |2747 |In order do avoid the need for temporary files, add a new xpak_mem() function| |zmedico |that creates an xpak_segment from a map object. | |2748 |In order do avoid the need for temporary files, add a new | |zmedico |tbz2.recompose_mem() method that uses an xpak segment from memory. | |2750 |Split out 2 reusable functions from fixdbentries and put them in a new | |zmedico |portage_update module. | |2751 |Add a tbz2.get_data() method that returns the xpak segment data as a dict. | |zmedico | | |2752 |Remove temporary file usage from fixpackages update_ents routine. | |zmedico | | |2753 |Remove temporary file usage from move_ent and move_slot_ent routines. | |zmedico | | |2754 |enable exec stack scanning on ppc64 | |SpankMan | | |2755 |Patch by marienz to generate default_xterm_title just in time with python | |zmedico |instead of the shell. Fixes "Bad substitution" shell messages reported by | | |flameeyes. | |2756 |Patch by Ed Catmur to add "gnome" to legal_terms in output.py. | |zmedico | | |2757 |Some news and release notes for 2.1_pre5. | |zmedico | | |2758 |Validate the names of update files in order to filter out unwanted files such| |zmedico |as CVS directories. | |2759 |Fix typo from revision 2758. | |zmedico | | |2762 |Suggestion from Brian Harring to remove extra processing, condense code. | |WarnerBro| | |2763 |Prevent output of '*' characters when there are no updates but fixpackages is| |zmedico |in features (reported by fuzzyray). | |2764 |Revert emergelog output change from revision 2641 to maintain compatibility | |zmedico |with genlop (reported by fuzzyray). | |2765 |update syntax and add error checking #121317 by Simon Stelling | |SpankMan | | |2766 |disable compression in doman, just let `prepman` handle it | |SpankMan | | |2767 |dont warn in manpage exists but is empty | |SpankMan | | |2768 |simply code to break down arguments to prepman | |SpankMan | | |2769 |warn if we were given a non-existent dir | |SpankMan | | |2770 |update syntax/style | |SpankMan | | |2771 |remove code that is duplicated in prepstrip | |SpankMan | | |2773 |Add NOCOLOR support to bin/ebuild for bug 78701. | |zmedico | | |2774 |Remove inject from the manpage. Bug # 120429. | |WarnerBro| | |2775 |Kill inject for good. | |WarnerBro| | |2776 |update release notes | |WarnerBro| | |2777 |Fix typo, profile instead of profiles | |WarnerBro| | |2779 |Fix a missing parenthesis. | |WarnerBro| | |2780 |move the err/warn funcs together | |SpankMan | | |2782 |Adding a new exception class. | |WarnerBro| | |2783 |Add a message to advise deleting corrupted binary packages. Bug #86088 | |WarnerBro| | |2784 |Killing some old code that is never executed. | |WarnerBro| | |2785 |Make complete_eclass_entries variable name consistent so that classes derived| |zmedico |from cache.template.database are compatible with the mirror_cache() function | | |in the cache.util module. | |2786 |Fix cache.metadata.database so that it correctly removes the newline | |zmedico |character from the end of the line when parsing flat_hash entries. | |2787 |Only write known keys in flat_hash cache entries (filter out UNUSED_* keys). | |zmedico | | |2788 |Make the post-sync metadata-transfer a FEATURE so that it can be optionally | |zmedico |disabled. | |2789 |Make `emerge --metadata` work even when metadata-transfer is not in FEATURES.| |zmedico | | |2790 |Fix 'Bad file descriptor' error with hardlink locking for bug 124140. | |zmedico | | |2791 |Add some docs for metadata-transfer in make.conf.example and make.conf.5. | |zmedico | | |2792 |Add a new cache.metadata_overlay module that layers a writable cache over a | |zmedico |readonly cache. | |2793 |Use rstrip("\n") instead of -1 index to safely remove newline characters. | |zmedico | | |2794 |Make sure myopts does not contain duplicate options for bug 124204. | |zmedico | | |2800 |Add a sanity check in dyn_clean() to make sure that PORTAGE_BUILDDIR is not | |zmedico |zero length for bug #124203. | |2801 |Split out a portage_update.grab_updates() function so that it can be reused. | |zmedico | | |2802 |Use ROOT when checking installed packages for --pretend output | |jstubbs | | |2803 |just use group 0 to workaround broken systems #124568 | |SpankMan | | |2804 |Assume 0 for both uid and gid in dobin and dosbin (bug #124568). | |zmedico | | |2805 |Fix typo in emerge-webrsync PORTAGE_NICENESS handling for bug #124621 | |zmedico |(regression from r2623). | |2806 |Make emerge-webrsync use renice for cleaner PORTAGE_NICENESS handling (bug | |zmedico |#124621). | |2807 |kill off pointless print | |SpankMan | | |2808 |add some URLs for people to learn more | |SpankMan | | |2809 |Move all output out of the global updates do_upgrade() function so that it | |zmedico |only performs parsing and validation. | |2810 |Rename the global updates do_upgrade() function to parse_updates(). | |zmedico | | |2811 |Remove the 'didupdate' variable from global_updates() because it is no longer| |zmedico |used. | |2812 |Strip the leading slash from WORLD_FILE so that os.path.join works correctly | |zmedico |for bug #124471. Thanks to Thomas de Grenier de Latour for finding the cause | | |of the problem and Jonathan Adamczewski for the initial report. | |2813 |- have scanelf nuke insecure rpaths | |solar | | |2814 |Remove a dead and broken hunk of code that attempts to remove files from an | |zmedico |empty directory. | |2815 |Remove the leading / from PRIVATE_PATH (var/lib/portage) for better | |zmedico |cooperation with os.path.join (see bug #124471). | |2816 |Remove the leading / from CONFIG_MEMORY_FILE for better cooperation with | |zmedico |os.path.join (see bug #124471). | |2817 |fix BASH_ARGV walking | |SpankMan | | |2818 |Remove the leading / from WORLD_FILE for better cooperation with os.path.join| |zmedico |(see bug #124471). | |2819 |only scan for exec stacks on linux/glibc hosts | |SpankMan | | |2820 |- make portage display the ROOT when unmerging a selected package | |solar | | |2821 |Catch ENOENT errors when $PORTDIR/profiles/updates does not exist. | |zmedico | | |2824 |Make the parallel-fetch process sleep for 3 seconds at the beginning in order| |zmedico |to allow the parent process to have the first fetch (rather than display a | | |'waiting for a lock' message). Suggestion by Brian Harring. | |2825 |- commit initial split install masking code. this commits adds new portage | |solar |variable PKG_INSTALL_MASK for fine tuning what gets added to the binary .tbz2| | |and xpak data. This function will probably be later split out into a | | |misc-functions.sh by zac | |2826 |Move PKG_INSTALL_MASK functionality (see bug #81025) from dyn_install to | |zmedico |dyn_package because we don't want PKG_INSTALL_MASK to affect the install | | |phase (INSTALL_MASK is in dyn_preinst). | |2827 |update copyrights | |SpankMan | | |2828 |document new --no-ldconfig option | |SpankMan | | |2829 |misc updates | |SpankMan | | |2830 |add support for ebuild authors to mark stuff as ignorable | |SpankMan | | |2831 |Split dyn_package from ebuild.sh to misc-functions.sh and add MISC_SH_BINARY | |zmedico |support to spawnebuild. | |2832 |Split install_mask and parts of dyn_preinst from ebuild.sh to | |zmedico |misc-functions.sh and add the necessary support to doebuild. | |2833 |Remove install_mask from ebuild.sh since it's in misc-functions.sh now. | |zmedico | | |2834 |Add a "sesandbox" flag to the spawn function so that it can handle selinux | |zmedico |context for the exec call (prevents code duplication). | |2835 |Add sesandbox to the spawnebuild actionmap. | |zmedico | | |2836 |Remove "myarg" from the ebuild.sh env before it is saved so that it doesn't | |zmedico |interfere when ebuild.sh is sourced by other scripts. | |2837 |Move the install phase qa checks from ebuild.sh to misc-functions.sh and add | |zmedico |the necessary support to spawnebuild. | |2838 |Move dyn_rpm and dyn_spec from ebuild.sh to misc-functions.sh. | |zmedico | | |2839 |Fix emerge's "Post-Build Cleaning" so that it works with --buildpkgonly in | |zmedico |FEATURES. See bug #105706. | |2840 |Fix dyn_clean in ebuild.sh so that it removes the builddir correctly (if it | |zmedico |is empty). See bug #105706. | |2841 |Do cleanup of cruft prior to the setup phase for binary packages. See bug | |zmedico |#85803. | |2842 |Consolidate duplicate "myebuild" logic in the dblink.treewalk() method. | |zmedico | | |2843 |Do the clean phase at the end of dblink.treewalk() to ensure that it is | |zmedico |triggered when both source and binary packages are merged. See bug #105706. | |2844 |Trigger the clean phase at the end of dblink.unmerge() in order to remove | |zmedico |cruft left by the pkg_*rm phases. | |2845 |Make dobin and dosbin use PORTAGE_INST_UID and PORTAGE_INST_GID. | |zmedico | | |2846 |Move PORTAGE_INST_UID and PORTAGE_INST_GID from ebuild.sh to make.globals so | |zmedico |they can be overridden. | |2847 |Do automatic backup the resume list when it's length is greater than 1 for | |zmedico |bug #122527. | |2849 |dont reset spinner for non-ttys if --quiet is in use | |SpankMan | | |2850 |backport portage-pkg path change from savior branch | |SpankMan | | |2851 |default CCACHE_DIR doesnt use PORTAGE_TMPDIR, it just happens to also reside | |SpankMan |there by default | |2854 |Make the clean phase obey keeptemp in FEATURES. | |zmedico | | |2857 |Add --tree to the blacklist when --resume is used. See bug #54040. | |zmedico | | |2858 |Add the command (ebuild.sh or misc-functions.sh) to the actionmap for | |zmedico |spawnebuild. | |2859 |Use the ** operator for better unpacking of actionmap args in spawnebuild. | |zmedico | | |2860 |ppc64 isnt ok just yet, so dont scan for exec stacks | |SpankMan | | |2861 |Fix misuse of dict.fromkeys class method so that cache cleansing works during| |zmedico |`emerge --metadata` runs. | |2862 |Make portage.unmerge return 0 on success in order to make `ebuild unmerge` | |zmedico |exit nicely. Thanks to kosmikus for reporting the "Could not run the required| | |binary?" message. | |2863 |Use find -path instead of -name for compatibility with both gnu and bsd | |zmedico |userlands. See bug #125919. | |2864 |Fix KeyError: 'mergelist' error (regression from r2847). See bug #125993. | |zmedico | | |2865 |Do not clean shared ${T} after the unmerge phase when the new and old package| |zmedico |are the same version (regression from r2844). See bug #125942. | |2866 |Document portage_data.secpass and give secpass=0 to users that are not in the| |zmedico |"portage" group. | |2867 |Simplify emerge's secpass logic. | |zmedico | | |2868 |Add a new portage_util.apply_secpass_permissions() function that | |zmedico |intelligently attempts to apply as much of the requested permissions as | | |possible without generating an exception. | |2869 |Make portage_util.apply_stat_permissions() wrap apply_secpass_permissions | |zmedico |instead of plain old apply_permissions. | |2870 |Use apply_secpass_permissions for DISTDIR permissions. | |zmedico | | |2871 |Add a new OperationNotPermitted exception and use it to wrap | |zmedico |apply_permissions exceptions. | |2872 |Wrap possible exceptions raised by stat call in apply_secpass_permissions. | |zmedico | | |2873 |Handle FileNotFound errors instead of ENOENT errors when doing permissions | |zmedico |for the distlocks subdir. | |2874 |Make the apply_permissions function default to exact matching of mode bits | |zmedico |and add a "mask" parameter that allows for XOR restriction of mode bits. | |2875 |Fix some typos in the DISTDIR permissions handling. | |zmedico | | |2876 |Make mode=-1 the default parameter for apply_permissions in order to | |zmedico |distinguish the behavior from mode=0. | |2877 |Use apply_secpass_permissions for all permissions in doebuild. | |zmedico | | |2878 |Use a separate PORTAGE_BUILDDIR for overlapping install and unmerge phases in| |zmedico |order to prevent interference between {pre,post}inst and {pre,post}rm phases.| | |See bug #125942. | |2879 |Move the "noclean" feature check into clean phase part of doebuild. | |zmedico | | |2880 |Use 'mode & 0777' to protect ourselves from unwanted mode bits in | |zmedico |apply_permissions. | |2881 |Make that 'mode & 07777' for the previous commit. | |zmedico | | |2882 |One more 'mode & 07777' in apply_permissions. | |zmedico | | |2883 |Remove some SystemExit exceptions, make portage behave during a ctrl+c | |WarnerBro| | |2884 |Remove SystemExit's from portage imports, raise on the correct exception, | |WarnerBro|don't die if imports fail. | |2885 |Catch keyboardinterrupt during imports, don't print nasty tracebacks there, | |WarnerBro|later on we have signal handlers for control C | |2886 |marienz pointed out that 'raise e' actually raises a new exception, which is | |WarnerBro|not intended here, so we raise instead of raising e | |2887 |Comma's are for pussies ( fixing regression from last reivision ) | |WarnerBro| | |2888 |Send a global updates messages to stdout for bug #126111. | |zmedico | | |2889 |Remove bin/dopython because it's not either used or useful. Thanks to Brian | |zmedico |Harring for noticing. | |2890 |Generate depgraph.applied_useflags in the display method as necessary for use| |zmedico |with --resume. See bug #126120. | |2891 |add --quiet support to --cols | |SpankMan | | |2892 |Use writemsg_stdout for update_ents and move_ent routines. See bug #126111. | |zmedico | | |2893 |Split the bulk of ebuild environment setup out of doebuild into a new | |zmedico |doebuild_environment function. | |2894 |Split the bulk of directory preparation out of doebuild into a new | |zmedico |prepare_build_dirs function. | |2895 |Check the return value of prepare_build_dirs and return early from doebuild | |zmedico |if necessary. | |2898 |- dont allow people to call `install` with -s via | |SpankMan |insopts/diropts/exeopts/libopts and simplify them in general - fix "nostrip" | | |usage and DEBUGBUILD | |2900 |declare more local variables to prevent env pollution | |SpankMan | | |2901 |Add a new PORTAGE_WORKDIR_MODE config variable so that the mode of WORKDIR is| |zmedico |no longer hard coded. See bug #8688. | |2902 |add support for unpacking .tbz, .a, and .deb files | |SpankMan | | |2903 |cleanup bash code in use*() and has*() functions with the help of agriffis | |SpankMan | | |2904 |Move environment variables WORKDIR, D, and T from prepare_build_dirs to | |zmedico |doebuild_environment. | |2905 |touchup some more misc bits of bash code | |SpankMan | | |2906 |Revert a hunk from r2834 because PORTAGE_SANDBOX_T is used incorrectly where | |zmedico |PORTAGE_FETCH_T should be used for selinux fetch. Thanks to spb for | | |reporting. | |2907 |Implement __contains__ for portage.config so that it calls has_key, enabling | |zmedico |membership test operators (in and not in) to work as expected. | |2908 |Add package atom validation to the `emerge --config` action. Thanks to | |zmedico |sekretarz for reporting and providing an initial patch. | |2909 |Use the built-in bool() function to convert 1 or 0 to True or False as | |zmedico |recommended by marienz. | |2910 |Fix permissions functions so that error messages tell exactly which call | |zmedico |failed. | |2911 |Use `mv -f` to make sure mv does not prompt for confirmation. | |zmedico | | |2912 |Improve error handling in the CONFCACHE_DIR section of prepare_build_dirs. | |zmedico |Thanks to solar for reporting this issue. | |2913 |Disable confcache when it's not possible to apply correct group permissions | |zmedico |to an existing file in CONFCACHE_DIR. | |2914 |Error handling in prepare_build_dirs for DISTCC_DIR. | |zmedico | | |2915 |Improve error handling in prepare_build_dirs for PORT_LOGDIR. Fix doebuild | |zmedico |'logfile' which has caused broken logging since r2894. | |2917 |Fix the apply_permissions XOR logic so that mask removes mode bits correctly.| |zmedico | | |2918 |Fix typo in variable name from last revision. | |zmedico | | |2919 |Fix error handling for $DISTDIR/cvs-src creation and permissions in doebuild.| |zmedico | | |2922 |For better handling of $DISTDIR/cvs-src permissions, use os.walk instead of | |zmedico |spawning chgrp and chmod. | |2923 |Merge emerge-webrsync uid and gid fixes from the prefix branch. | |zmedico | | |2924 |Fix deprecated emerge syntax in emerge-webrsync for bug #126558. | |zmedico | | |2925 |Add a generic apply_recursive_permissions function and use is for | |zmedico |$DISTDIR/cvs-src. | |2926 |Use apply_recursive_permissions for CONFCACHE_DIR. | |zmedico | | |2927 |Use apply_recursive_permissions for CCACHE_DIR. Also fix a typo in error | |zmedico |handling for CONFCACHE_DIR from r2912. | |2928 |Use apply_recursive_permissions for DISTCC_DIR. | |zmedico | | |2929 |Catch a possible SyntaxError from the eval function when parsing | |zmedico |PORTAGE_WORKDIR_MODE. Thanks to solar for reporting. | |2930 |Fix PORTAGE_WORKDIR_MODE parsing so that the validated value is stored in | |zmedico |mysettings. | |2931 |Prevent "eclass-debug.log: No such file or directory" messages that are | |zmedico |produced during the "depend" phase when ${T} doesn't exist. | |2932 |Use loops to consolidate directory cleaning and creation in | |zmedico |prepare_build_dirs. | |2933 |Fix PORTAGE_WORKDIR_MODE so that 0700 is correctly substituted when | |zmedico |PORTAGE_WORKDIR_MODE is unset or null. | |2934 |Use one makedirs function for all directory creations inside | |zmedico |prepare_build_dirs. | |2935 |Fix a typo from the last revision. | |zmedico | | |2936 |Change os.makedirs to makedirs (typo from r2934). | |zmedico | | |2938 |Replace hard coded number 2 in cache modules with errno.ENOENT. | |zmedico | | |2939 |add short options for --one-shot and --fetch-all-uri to --help output. Closes| |kito |Bug #126626 | |2940 |Make successful inherit calls return success so that \'source ${EBUILD}` | |zmedico |returns success when an ebuild calls inherit last. | |2941 |Minor speedup for findname2, suggested by Brian Harring | |WarnerBro| | |2942 |Make PORTAGE_INST_UID and PORTAGE_INST_GID default to 0 in case of | |zmedico |environment problems. | |2943 |Fix typo in spelling of been in emerge-webrsync. Thanks to bonsaikitten for | |zmedico |reporting. | |2944 |Prevent an IOError with errno != ENOENT from being swallowed in | |zmedico |flat_hash._setitem(). | |2945 |Stop swallowing IOError and TypeError exceptions in portdbapi.gvisible(). | |zmedico |Write instances of PortageException to stderr. Thanks to marienz for | | |reporting. | |2946 |Fix typo from the last revision. | |zmedico | | |2947 |Reset the selinux security context before returning from spawn (regression | |zmedico |from r2834). See bug #126711. | |2950 |Catch a possible OSError from the stat call in atomic_ofstream.close(). | |zmedico | | |2951 |Compare new digest data with old digest data and rewrite the new digest only | |zmedico |if they differ. Thanks to AllanonJL for reporting this issue. | |2952 |Add NOCOLOR support to ebuild.sh and make emerge automatically add NOCOLOR to| |zmedico |portage.settings when --nocolor is specified. See bug #126756. | |2953 |delete extraneous print | |SpankMan | | |2954 |update -I long option | |SpankMan | | |2955 |Add support for generic PORTAGE_RSYNC_{EXTRA_,}OPTS, deprecate existing | |genone |RSYNC_ variables, rename RSYNC_RETRIES to PORTAGE_RSYNC_RETRIES | |2956 |make the fallback make.conf more generic by removing x86 specific stuff and | |genone |removing CHOST completely | |2957 |adding notes about new rsync option handling | |genone | | |2958 |Fix deprecated RSYNC_TIMEOUT handling (move it where rsync_flags is defined) | |zmedico |and direct error messages to stderr via writemsg. | |2959 |Miscellaneous fixes and cleanup for the rsync options handling. | |zmedico | | |2960 |Move CacheError from the block of python imports to the block of portage | |marienz |imports, fix spelling in error message. | |2961 |Do not split PORTAGE_RSYNC_EXTRA_OPTS and add it directly to rsynccommand in | |zmedico |order to preserve (hypothetical) quoted whitespace. | |2963 |Fix sandbox feature (broken since r2947). | |zmedico | | |2964 |Move has, hasq, and hasv functions to isolated-functions.sh since they do not| |zmedico |depend on ebuild.sh. | |2965 |Make emerge-webrsync only do metadata-transfer when necessary. Thanks to | |zmedico |Patrick Lauer for reporting. | |2971 |Enable bash tracing during sourcing of bashrc for --debug mode. See bug | |zmedico |#126442. | |2972 |Include the die call itself (including line number) in the printed call stack| |zmedico |when an ebuild dies. | |2973 |Write a message to stderr indicating when install_qa_check fails. See bug | |zmedico |#126442. | |2974 |When the post preinst shell tasks fail, write a message to stderr and return | |zmedico |it's exit status so that die calls (inside preinst_selinux_labels for | | |example) can work correctly. | |2979 |Add a portage_debug module and python-trace feature for --debug mode. | |zmedico | | |2986 |Create tbz2 package directly in ${PKGDIR}/All to avoid need for temp file | |zmedico |(inefficient) and avoid selinux label issues for bug #127374. | |2987 |Replacing arch specific make.conf files with patches for the fallback | |genone |make.conf which should be applied in the ebuild. Add a helper script to | | |update patches if the main make.conf is changed. | |2989 |Fix crappy error handling for PORTAGE_WORKDIR_MODE | |genone | | |2990 |Add manifest2 support. | |genone | | |2992 |add missing manifest module | |genone | | |2994 |PORTAGE_WORKDIR_MODE is octal | |genone | | |2995 |FileNotFoundException should be used with the filename | |genone | | |2996 |Make ebuild digest a bit more verbose | |genone | | |2997 |Make ebuild digest reuse existing checksums | |genone | | |2998 |only reuse distfile checksums if the file doesn't exist | |genone | | |2999 |Load virtuals on demand in order to avoid needless vdb scanning during a | |zmedico |simple 'import portage'. Virtuals are loaded during import, for | | |initialization of portage.settings, only when autouse is enabled (though | | |autouse is disabled by default). | |3002 |Add files/ prefix for AUX files in manifest1 entries; fix digest.unused check| |genone |partially by checking all DIST entries against all SRC_URI entries of a | | |package (instead of per ebuild checks) | |3004 |Add lazy loading of virtuals in portage.do_vartree() for backward | |zmedico |compatibility. | |3006 |Fix traceback for bug #127573. Thanks to illuminata for reporting and antarus| |zmedico |for the patch. | |3011 |fix AuxfileFilter to ignore all files in svn or cvs dirs | |genone | | |3012 |for collision-protect also check that only versions with the same slot can | |genone |overwrite each others files | |3013 |Clean up code for creation of CCACHEDIR, CONFCACHEDIR, and DISTCC_DIR. | |zmedico |Prevent excessive recursive stat calls for bug #127563. | |3014 |move some elog defaults into make.globals, add new vars for mail from and | |genone |subject (bug #116637), change default location for mod_save logfiles to | | |PORT_LOGDIR/elog (bug #124165) | |3015 |Allow users in the portage group to fetch. Thanks to truedfx for reporting | |zmedico |this regression. | |3017 |Split out a reusable Manifest._parseDigests() method. | |zmedico | | |3018 |fix a typo from the last revision. | |zmedico | | |3019 |Split out a reusable Manifest._createDigestLines1() method. | |zmedico | | |3020 |fix some nasty repoman tricks causing problems (always use absolute paths | |genone |with manifest2 code) | |3021 |Use write_atomic for updates of old style digest files. | |zmedico | | |3022 |Compare new digest data with old digest data and rewrite the new digest only | |zmedico |if they differ (forward port r2951 from manifest1 to manifest2). | |3024 |sort digest/Manifest files by 1) filetype (v2 only) 2) filename (v1+v2) 3) | |genone |hashtype (v1 only) | |3026 |Sort the hashes for manifest2 lines to that output is reproducible. | |zmedico | | |3028 |- set sane perms on unpacking. If anybody hates this than they are welcome to| |solar |tie it into FEATURES= sfperms | |3029 |Recommend PORTAGE_RSYNC_EXTRA_OPTS instead of PORTAGE_RSYNC_OPTS | |genone | | |3030 |Create a single colorize() function in the output module and use it to | |zmedico |generate all of the existing color functions. | |3033 |add missing space in quiet col output | |SpankMan | | |3034 |Automatically follow symlinks in the atomic_ofstream constructor. See bug | |zmedico |#127897. | |3035 |Ignore more system libraries in python-trace mode. | |zmedico | | |3036 |Compare distfiles timestamps with the files in PORTAGE_ACTUAL_DISTDIR instead| |zmedico |of with the symlinks in DISTDIR. Thanks to Ed Catmur for this patch (bug | | |#127930). | |3037 |Only do recursive permissions on $DISTDIR and $DISTDIR/cvs-src when the top | |zmedico |level permissions do not match. Thanks to marienz for reporting. | |3038 |Handle distlocks subdir initialization together with $DISTDIR and | |zmedico |$DISTDIR/cvs-src. | |3039 |The return value from apply_permissions now indicates whether or not the | |zmedico |permissions needed to be modified. | |3040 |Add a reusable ensure_dirs() function and use it for DISTDIR initialization. | |zmedico | | |3041 |Use ensure_dirs for CCACHE_DIR, CONFCACHE_DIR, and DISTCC_DIR. | |zmedico | | |3042 |Fix manifest2AuxfileFilter so that it correctly filters files such as | |zmedico |2.1_pre7/CVS/Entries. | |3043 |dont run ldconfig if a package doesnt actually install any libraries | |SpankMan | | |3044 |Fix env_update so it runs ldconfig when a lib dir timestamp has changed | |zmedico |unless srcroot is not None and no files were installed into libdir. | |3045 |need to still check makelinks | |SpankMan | | |3046 |Fix ROOT handling for timestamps of lib directories. Only run ldconfig when | |zmedico |timestamps have changed (the makelinks flag does not force ldconfig unless | | |timestamps have changed). | |3047 |Rename local 'root' variable to parent_dir so that it's not confused with | |zmedico |portage.root | |3048 |fix makelinks logic again | |SpankMan | | |3051 |Fixing stupid exception handling | |WarnerBro| | |3053 |More exception fixes... | |WarnerBro| | |3054 |Add a portage_exec.get_open_fds() function for bug #128284. Thanks to Brian | |zmedico |Harring for this patch. | |3055 |Make the reading of /proc//fd/ impervious to the possible addition of | |jstubbs |non-numerically named entries. | |3056 |Make repoman check for USE expand descriptions in other files so USE_EXPAND | |WarnerBro|variables can have longer/better/faster/stronger descriptions. | |3057 |Take sound advice and move all the use expand files into desc/ | |WarnerBro| | |3058 |Move DISTDIR initialization from doebuild to fetch and handle read-only file | |zmedico |system errors for bug #128506. | |3059 |Add a deprecation notice for those who are still using tokenize ( hopefully | |WarnerBro|no one :/ ) | |3060 |tsk tsk, fix a missing parenthesis :) | |WarnerBro| | |3061 |Fix minor typo: reported by Brian Harring | |WarnerBro| | |3062 |Fixes for repoman thanks to exg@gentoo.org and bug #128451, Excludes Manifest| |WarnerBro|regeneration in certain cases, adds pretend gpg outut | |3063 |Fix a typo from r3058. | |zmedico | | |3064 |Remove out-dated TODO file | |WarnerBro| | |3065 |s/parenreduce/paren_reduce/ comment fix. | |jstubbs | | |3066 |Fix ordering in cvs calls to be correct, thanks to exg for the fix (again) | |WarnerBro| | |3067 |Fix yet another typo of mine, thanks to exg | |WarnerBro| | |3068 |It was pointed out that we have a Test-Manifest perl package, which would get| |WarnerBro|sadly excluded using the old string match, so we fix it to match less ;) | |3069 |fix make.conf indentation per bug 127868; thanks to Paul Varner for the patch| |blubb | | |3070 |fix typo in make.conf and remove RSYNC_EXCLUDEFROM since it's deprecated; bug| |blubb |127614 | |3071 |Automatically create FILESDIR if necessary when writing old style digests. | |zmedico |Thanks to blubb for reporting. | |3072 |Add support for user configuration of colors in the output module for bug | |zmedico |#125120. Thanks to solar for the patch that this was derived from. | |3073 |Don't generate digests on --pretend for repoman. Thanks go once again to | |WarnerBro|exg@gentoo.org :) | |3074 |Remove the srcroot parameter from env_update because is doesn't work when | |zmedico |portage.movefile merges files via os.rename. To do this properly we need to | | |pass in CONTENTS instead. | |3075 |Add color code mappings for 16 colors in rgb format. | |zmedico | | |3076 |Move some color mappings to ensure that they do not override the user defined| |zmedico |color map. | |3077 |Revert FEATURES=noclean behavior so that clean is only skipped after merge. | |zmedico |Thanks to azarah for reporting. | |3078 |Revert r3073 since it causes a regression (digestgen needs to be run for each| |zmedico |value of repoman_settings["O"]). See bug #128946. | |3079 |Remove really really old check during a cvs move. Fix except statement to be | |WarnerBro|saner | |3080 |emerge info -> emerge --info | |blubb | | |3082 |add /usr/local/{,s}bin to PATH; bug 117713 | |blubb | | |3083 |set PKG_CONFIG_PATH correct on multilib systems; bug 126801 | |blubb | | |3084 |only display syncing progress for each file when --verbose is set; thanks | |blubb |Olaf Hering, bug 128362 | |3085 |Change == None to is None | |WarnerBro| | |3086 |Speed up portage.config.keys() | |WarnerBro| | |3087 |Raise exceptions when appropriate in the atomic_ofstream constructor for bug | |zmedico |#129098. | |3088 |Optimize manifest2AuxfileFilter handling of ignored directories. Thanks to | |zmedico |Brian Harring for the patch. | |3089 |Thanks to jforman for finding this one, emerge was not helpful when | |WarnerBro|permissions on the world file are not so good, so in the case of permission | | |denied, we reraise, essentially telling the user we can't read the world | | |file. In the case of it not existing, we assume the user knows what they are | | |doing and we print a squelchable warning message. | |3090 |Fix a regression in security handling, emerge with no options should print | |WarnerBro|out helpful information, not tell you you need to be root ;) | |3091 |Fix this random y that was in the last commit...I blame nano :P | |WarnerBro| | |3092 |remove reference to a script that doesnt exist | |SpankMan | | |3093 |Fix myaction logic (myaction==None is actually valid, regression from r3090).| |zmedico | | |3094 |Protect string indexes during input stripping in dep_getkey and dep_getcpv. | |jstubbs |Bug #129193 | |3095 |Fix myaction logic so that --resume works (with --pretend) for non-root | |zmedico |users. | |3096 |Remove redundant "please tell me what to do" code, which is now handled | |zmedico |earlier. | |3097 |Fix some minor issues with the anydbm cache module. Thanks to Halcyon for | |zmedico |reporting. | |3098 |Add copyright headers for portage_update and portage_manifest. | |zmedico | | |3099 |Remove pym/dcdialog.py because it's not used. Thanks to antarus for noticing.| |zmedico | | |3100 |Remove pym/portage_contents.py because it's not used. Thanks to Brian Harring| |zmedico |for noticing. | |3101 |Remove bin/mirror.py because, according to Brian Harring, it's obsoleted by | |zmedico |mirror-dist. | |3103 |Supply missing parameters to a checkFileHashes call. | |zmedico | | |3104 |Move mf.create out of a loop because it should only need to be called once. | |zmedico | | |3105 |For compatibility, return a tuple of 3 when an OSError is raised in | |zmedico |portage_checksum.verify_all() | |3106 |Encapsulate type guessing logic in a new Manifest method. | |zmedico | | |3107 |Remove dead code from portage.digestParseFile(). | |zmedico | | |3108 |simpler dosym to make mr bones happy | |SpankMan | | |3109 |Remove dependency on the core portage module from portage_manifest. | |zmedico | | |3110 |Pass DISTDIR into the Manifest constructor instead of getting it from | |zmedico |mysettings because mysettings will be eliminated soon. | |3111 |Remove db and mysettings from Manifest and replace them with a mapping object| |zmedico |that provides access to fetch lists for each cpv. | |3112 |Remove unnecessary calls to dict.keys() from portage_manifest. | |zmedico | | |3113 |Simplify the porttrees logic for FetchlistDict. | |zmedico | | |3114 |Add docstrings for FetchlistDict. | |zmedico | | |3115 |Make repoman ignore deeply nested CVS directories and files they contain in | |zmedico |order to prevent false file.name errors (files with CVS directories may | | |contain commas). | |3116 |Use os.path.join for cleaner joins. | |zmedico | | |3117 |Ensure that binarytree.populate is called even when the first access is via | |jstubbs |binarytree.dbapi.{aux_get,match}. | |3118 |kill off custom bash hacks and replace with calls to find/xargs #121368 | |SpankMan | | |3119 |Fix FetchlistDict so usage of global portdb leaves portdb.porttrees intact. | |zmedico | | |3120 |Fix FetchlistDict.keys() so it does the same porttrees trick as __getitem__. | |zmedico | | |3121 |Remove the "db" parameter from digestgen() because it's not needed. | |zmedico | | |3122 |Remove the "db" parameter from digestParseFile() because it's not needed. | |zmedico | | |3123 |Remove the "db" parameter from digestcheck() because it's not needed. | |zmedico | | |3124 |Remove dead code from portage.digestcheck(). | |zmedico | | |3125 |Support EBUILD_PHASE during package and rpm phases for bug #129244. | |zmedico | | |3126 |Support EBUILD_PHASE during more phases for bug #129244. | |zmedico | | |3127 |Implement lazy construction of global databases db[root]["porttree"] and | |zmedico |db[root]["bintree"] and automatically populate db[root]["bintree"] on access.| |3128 |Make qmerge imply noclean for bug #129559. | |zmedico | | |3129 |Make dispatch-conf play nice with symlinks for bug #129515. Thanks to Patrick| |zmedico |McLean for the initial patch. | |3130 |Make etc-update play nice with symlinks for bug #129515. Thanks to Patrick | |zmedico |McLean for the initial patch. | |3131 |Fix LazyDatabasesDict so that databases only need to be created once. | |zmedico | | |3132 |Revert r3129 and r3130 because they don't solve bug #129515. | |zmedico | | |3133 |Create a generic portage_util.LazyItemsDict and use it for lazy | |zmedico |initialization portage.db[root] items. | |3134 |Use cannonical paths for portdb.portrees to ensure that, given pkgdir, | |zmedico |FetchlistDict can determine the correct path for the portage tree. | |3135 |Use LazyItemsDict to avoid a vdb scan during portage import when autouse is | |zmedico |enabled. | |3136 |Fix manifest/digest generation logic for bug #129737. | |zmedico | | |3137 |fixes by solar for ROOT output when unmerging #129649 and make --quiet output| |SpankMan |a bit more useful | |3138 |don't display the ._cfg???? files anymore but instead the number of updates | |blubb |for each file; bug 69845 | |3139 |ignore backup files when scanning for ._cfg????_*; bug 121401 | |blubb | | |3140 |don't declare input as integer, or etc-update will crash whenever the user | |blubb |enters some non-integer value; bug 55082 | |3141 |exit if user hits the cancel button in dialog mode; bug 108137 | |blubb | | |3142 |Fix digestcheck logic for bug #129839. | |zmedico | | |3143 |Add an initial_items parameter to the LazyItemsDict constructor in order to | |zmedico |facilitate integration with existing dict based code. | |3144 |Fix collision-protect logic so the correct cpv is used for slot comparison. | |zmedico | | |3145 |Fix a typo from the last revision. | |zmedico | | |3146 |Preserve the mysettings["SLOT"] for bug #129720. | |zmedico | | |3147 |Run chflags only when needed for bug #129852. Thanks to Diego Pettenò for | |zmedico |the patch. | |3148 |Catch fetch_check FileNotFound exceptions for bug #129962. | |zmedico | | |3149 |Add singleton support to LazyItemsDict to make it easier to use with | |zmedico |arbitrary function calls. | |3150 |Split out a reusable Manifest._readManifest() method. | |zmedico | | |3151 |only move $T/environment if it exists; bug 64926 | |blubb | | |3152 |fix typo from rev 3151 | |blubb | | |3153 |use has instead of bloated bash constructs | |blubb | | |3154 |some more hasq fixes | |blubb | | |3155 |`` must die | |blubb | | |3156 |remove all unneeded slashes, not only // or /// | |blubb | | |3157 |use strip_duplicate_slashes instead of "for 1 2 3 do var=${var/\/\///}" | |blubb | | |3158 |touchup syntax and dont execute the loop as many times | |SpankMan | | |3159 |Override LazyItemsDict.update() so that it works correctly with other | |zmedico |instances of LazyItemsDict. | |3160 |Make find arguments portable for bug #129935 and remove temp file usage for | |zmedico |bug #121368. | |3161 |use a temp file but this time cut out the duplicate calls to `find` | |SpankMan | | |3162 |eat whitespace | |SpankMan | | |3163 |fix misuse of 'cat' | |blubb | | |3164 |make misc-functions.sh executable as it's called directly from the python | |blubb |side | |3165 |add instructions how to update portage when --sync tells you to do so; bug | |blubb |118715 | |3166 |sync short options with the rest of emerge --help; bug 124489 | |blubb | | |3167 |touchup emerge --help: reorder and wrap lines. credit goes to Benno | |blubb |Schulenberg; bug 121528 | |3168 |Avoid rewritting the Manifest whenever possible by comparing the existing | |zmedico |manifest entries to the ones that will be written. | |3170 |dont dump debug update info in quiet mode | |SpankMan | | |3171 |Ignore ENOENT errors when $FILESDIR doesn't exist. Thanks to Christian Heim | |zmedico |for reporting. | |3172 |Implement portage.config.setdefault() in order to provide more of the | |zmedico |standard mapping interface. | |3173 |Fix gpgsign logic for bug #57445. | |zmedico | | |3174 |s/GENTOO_MIRRORs/GENTOO_MIRRORS/ | |zmedico | | |3175 |use just [[...]] instead of ((...)); especially when dealing with user input | |SpankMan | | |3176 |support *.bz #130406 | |SpankMan | | |3177 |Update Manifest automatically in repoman commit mode for bug #130541. | |zmedico | | |3178 |Add and "other" EBUILD_PHASE for bug #127585. Thanks to Patrick Avery | |zmedico | for this patch. | |3179 |Fix repoman --commitmsgfile logic. Thanks to Christian Heim | |zmedico | for reporting. | |3180 |if PORTAGE_GPG_DIR is not set then default to ~/.gnupg instead of just | |SpankMan |dumping an error | |3181 |Use os.path.join for PORTAGE_GPG_DIR and remove a duplicate access check. | |zmedico | | |3182 |Implement portage.config.get() in order to provide more of the standard | |zmedico |mapping interface. | |3184 |Fix `emerge -s` download size calculation for bug #130750. | |zmedico | | |3185 |Fix partial download size calculation for bug #116796. | |zmedico | | |3186 |Exit with error status when the user has attempted to unmerge a package that | |zmedico |is not installed (bug #118515). | |3187 |s/Do you want me/Would you like/g for bug #112439. | |zmedico | | |3188 |Print the actual DISTDIR location in the help ouput of clean_locks for bug | |zmedico |#116676. | |3189 |Disable sandbox during package phase interaction with $PKGDIR for | |zmedico |compatibility with symlinks (See bug #130824). | |3190 |A sed wrapper for OSX/BSD courtesy of Flameeyes and Spanky | |WarnerBro| | |3191 |Add copyright header, thanks to Zac Medico for pointing that out for me | |WarnerBro| | |3192 |Remove bogus "size" manifest entries reported by vapier. | |zmedico | | |3193 |Replace hard coded "size" with MANIFEST1_HASH_FUNCTIONS. | |zmedico | | |3194 |Fix FileNotFound error when ignoreMissing=True for bug #130928. | |zmedico | | |3195 |space arguments | |SpankMan | | |3196 |fixup clean output | |SpankMan | | |3197 |tighten up output in pretend mode | |SpankMan | | |3198 |set executable bit for sed-wrapper | |blubb | | |3199 |Fix sed breakage for people with weird PATH, fix tabs. Thanks to Flameeyes | |WarnerBro|once again. | |3200 |Make sed wrapper not executable. Currently the wrapper is installed via doexe| |WarnerBro|in the ebuild from and gets the +x bit set properly. I don't think we have | | |any SVN users on BSD or Darwin. In the future this wrapper will get installed| | |automagically by the ebuild ( it being in bin ) but will only be set | | |executable on non GNU platforms. | |3201 |Move portage.global_updates() invocation out of portage.py and into | |zmedico |emerge/fixpackages where it belongs. | |3202 |Move endversion and endversion_keys to portage_versions and import them for | |zmedico |backward compatibility. | |3203 |Minor emerge -V/--info fixes thanks to iggy, use portage_const PROFILE_PATH | |WarnerBro| | |3204 |Move deprecated profile check out of global scope. | |zmedico | | |3205 |Move thirdpartymirrors stacking out of global scope. | |zmedico | | |3206 |Do lazy initialization of portage.db[root][porttree] and db[root][vartree] | |zmedico |for quicker portage import. | |3207 |Fix accidental usage of global settings instead of self. | |zmedico | | |3208 |Replace usage of global portage.settings with self.mysettings instead. | |zmedico | | |3209 |Remove a possibly unecessary try statement that may swallow important | |zmedico |exceptions. | |3210 |Pass a dbapi instance into doebuild_environment so that it doesn't need to | |zmedico |access the global db directly. | |3211 |Replace finddigest usage with Manifest2 compatible code. | |zmedico | | |3212 |Use local myroot instead of portage.root global. | |zmedico | | |3213 |Use one aux_get call instead of 2. | |zmedico | | |3214 |Use tree="vartree" for prerm, postrm, and cleanrm phases (see bug #131116). | |zmedico | | |3215 |Make sure a usage of portage.settings is marked as global. | |zmedico | | |3216 |Make sure usage of portage.db and portage.mtimedb is appropriately marked as | |zmedico |global. | |3217 |For better organization, migrate the initialization of all major globals in | |zmedico |portage.py to the bottom of the file. | |3218 |Add a note concerning the separation of legacy global initializations. | |zmedico | | |3219 |Catch ValueError from cpv_expand for bug #131160. | |zmedico | | |3220 |Move the mtimedb initialization code from global scope to a function. | |zmedico | | |3221 |Move ACCEPT_KEYWORDS and PORTAGE_ARCHLIST validation from global scope to the| |zmedico |config class. | |3222 |Catch IOError when loading the mtimedb. | |zmedico | | |3223 |Move the make.profile symlink warning from global scope to the config class. | |zmedico | | |3224 |Split a config.validate() method and move PORTAGE_TMPDIR sanity check to | |zmedico |doebuild. | |3225 |Move USER_VIRTUALS_FILE deprecation warning to config.validate(). | |zmedico | | |3226 |enable +x bits on sed | |SpankMan | | |3227 |Move cache dir initialization from global scope to the portdbapi class. | |zmedico | | |3228 |Move initialization of tmp, var/tmp, var/lib/portage, and var/cache/edb from | |zmedico |global scope to portage.cofig._init_dirs(). | |3229 |Move portage.root logic from global scope into the portage.config class. | |zmedico | | |3230 |Remove all usage of portage.usedefaults and portage.profiledir globals. | |zmedico | | |3231 |Remove all usage of the portage.groups global variable. | |zmedico | | |3232 |Remove all usage of the portage.archlist global variable. | |zmedico | | |3233 |Remove all dependence on the portage.features global variable. | |zmedico | | |3234 |Make copies of the groups attribute before modifying (regression from r3231).| |zmedico | | |3235 |Validate the resume merge list in --ask and --pretend mode for bug #128455. | |zmedico | | |3236 |Fix false variable.readonly match on continued lines. Thanks to Flameeyes for| |zmedico |reporting. | |3237 |Fix portdbapi.aux_get(), findname2(), and getfetchlist() so that the tree can| |zmedico |be overridden by the caller if necessary (ensures that metadata is pulled | | |from the correct tree when generating a manifest). | |3238 |Remove portage.config.groups (formerly portage.groups) and instead use | |zmedico |ACCEPT_KEYWORDS directly (simplifies the code). | |3239 |Remove portage.config.root (from r3229) and just use config["ROOT"] to | |zmedico |eliminate redundancy. | |3240 |Use the correct ACCEPT_KEYWORDS for each profile (regression from r3231). | |zmedico | | |3241 |Move PORTAGE_MASTER_PID and BASH_ENV from global scope to the | |zmedico |doebuild_environment() function. | |3242 |Group together and clearly mark some deprecated globals. | |zmedico | | |3243 |Pass a portdbapi instance into the FetchlistDict constructor so that it | |zmedico |doesn't have to use any globals. | |3244 |Pass a portdbapi instance into portage.digestgen() so that it doesn't have to| |zmedico |use any globals. | |3245 |Make fetchlist_dict an optional parameter in the Manifest constructor since | |zmedico |it's required only for generation of a Manifest (not needed for parsing and | | |checking sums). | |3246 |Add optional mydbapi parameter to doebuild() so that it doesn't have to use | |zmedico |any globals. | |3247 |Add an option vartree parameter to doebuild(), merge(), and the dblink | |zmedico |constructor so that they don't have to use globals. | |3248 |escape $ in PORTAGE_ELOG_MAILSUBJECT; bug 131373 | |blubb | | |3249 |Pass in mydbapi and vartree where relevant for all doebuild calls in | |zmedico |portage.py and add necessary support to merge() and the dblink class. | |3250 |Only use one global statement to avoid bogus python syntax warning. | |zmedico | | |3251 |Make FEATURES=cvs cause all distfiles to be fetched if necessary (just like | |zmedico |`ebuild digest`) and update the code for Manifest2. | |3252 |Remove usage of the portage.thirdpartymirrors global variable. | |zmedico | | |3253 |Fix portage.global_updates() and portage.do_vartree() so they don't have to | |zmedico |use any globals. | |3254 |Make portage.vardbapi able to work without any global variables. | |zmedico | | |3255 |Disable the FEATURES=cvs part of r3251 because it prevents missing files from| |zmedico |bein fetched when they need to be. | |3256 |Fix a typo from r3245. | |zmedico | | |3257 |Remove global db usage from portage.config.regenerate(). | |zmedico | | |3258 |Only trigger the 'Using system located in ROOT' message when ROOT!=/. | |zmedico | | |3259 |Remove global db usage from portdbapi.gvisible(). | |zmedico | | |3261 |Fix spelling of "hierarchy" for bug #131582 and raise an exception for | |zmedico |cleaner error handling. | |3262 |Fix PORTAGE_GPG_DIR handling so that ~/.gnupg/ works correctly like the | |zmedico |Manifest Signing Guide says it should. Thanks to Tupone for reporting. | |3263 |Catch Permission Denied errors during manifest/digest generation for bug | |zmedico |#131073. | |3264 |In the clean phase, for maximum chflags portablility, make *unlnk flags | |zmedico |optional and drop the USERLAND test (bug #113536). | |3265 |Enable portage.env_update() to work without globals. | |zmedico | | |3266 |Enable portage.dep_zapdeps() to work without globals. | |zmedico | | |3267 |Enable portage.pkgmerge() to work without globals. | |zmedico | | |3268 |Enable portage.commit_mtimedb() to work without globals. | |zmedico | | |3269 |Return early from portage.commit_mtimedb() when mtimedb is None. | |zmedico | | |3270 |Pass mtimes through doebuild(), into dblink.merge(), and finally to | |zmedico |env_update(). | |3271 |Move the legacy global initializations into a function and allow them to be | |zmedico |disabled via an experimental PORTAGE_LEGACY_GLOBALS environment variable. | |3272 |Prevent a NameError in commit_mtimedb() when the portage.mtimedb attribute | |zmedico |does not exist. | |3273 |Add a portage.config.selinux_enabled() accessor and use it to remove all | |zmedico |global usage of portage.selinux_enabled. | |3274 |Remove all usage of the portage.root global from portage.py. | |zmedico | | |3275 |Remove 4 year old cvs sync code, fix login around spawn, fix random raise | |WarnerBro| | |3279 |Print [ OK ] messages (like eend) when checksums are good. Thanks to fox2mike| |zmedico |for suggesting this. | |3280 |Add PORTAGE_BIN_PATH and PORTAGE_PYM_PATH to the enviroment and use them to | |zmedico |replace hard coded paths in ebuild.sh and misc-functions.sh. | |3281 |retain important historical aspects of the checksum messages | |SpankMan | | |3282 |Print disfiles file names for bug #131774. I've removed the [ OK ] from | |zmedico |okaymsg because the wink makes it redundant. | |3283 |Update portage config update messages to mention dispatch-conf (in addition | |zmedico |to etc-update). Thanks to genstef for reporting this. | |3284 |Avoid global db usage in doebuild() except when absolutely necessary. | |zmedico | | |3285 |Handle the doebuild's unmerge phase before setting up logfile because unmerge| |zmedico |doesn't use the log. | |3286 |Pass a vartree instance into portage.unmerge() to avoid globals. | |zmedico | | |3288 |- be sure to remove o+w bits on debug files | |solar | | |3289 |- People have started RESTRICTing "stricter", which we would like to | |solar |discourage. bug 131779 (kevquinn) | |3290 |Add cfg-update to the list of happy config file managers. | |WarnerBro| | |3291 |Initial PORTAGE_CONFIGROOT support in the portage.config class for bug | |zmedico |#73350. | |3292 |Make sure that emerge really removes noauto from FEATURES for bug #131820. | |zmedico | | |3293 |Don't skip regenerate() because leads to 'Problem resolving dependencies' | |zmedico |from emerge. Thanks to swegener for reporting. | |3294 |allow escaping in elog_base() to fix bug 131913 | |blubb | | |3295 |revert my last commit except for the parts i really wanted to commit | |blubb | | |3296 |make portage shut up if --quiet is given; bug 62273 | |blubb | | |3297 |replace hardcoded /usr/lib/portage/bin with PORTAGE_BIN_PATH, defaulting to | |blubb |the hardcoded value | |3298 |Remove sqlite.py because it's performance is unacceptable and it is therefore| |zmedico |useless. | |3299 |Add a new sqlite cache module (one I wrote) that has acceptable performance. | |zmedico | | |3300 |don't let profile.env overwrite variables that are already set; bug 130229 | |blubb | | |3301 |Remove an extra aux_get call in doebuild and combine it with another aux_get | |zmedico |call in doebuild_environment. | |3302 |Properly join CUSTOM_MIRRORS_FILE with PORTAGE_CONFIG_ROOT in | |zmedico |portage.fetch(). | |3303 |fix a typo from the last revision | |zmedico | | |3304 |Migrate old digest-* code in portage.fetch() to be Manifest2 compatible. | |zmedico | | |3305 |revert rev 3300 as it has various issues and doesn't fully solve the problem | |blubb | | |3306 |use escaping code that works for mrxvt too; thanks to nelchael for the patch;| |blubb |bug 117509 | |3307 |let 'emerge -h world' print a nice help message powered by antarus; bug 67448| |blubb | | |3308 |use hasq where appropriate | |blubb | | |3309 |catch ENOENT and ENOTDIR in clean_locks to prevent ugly tracebacks; bug | |blubb |124164 | |3310 |best_version doesn't return different codes depending on whether it found a | |blubb |match or not, it's has_version; bug 130655 | |3311 |remove pointless if statement | |blubb | | |3312 |readd not-so pointless if statement | |blubb | | |3313 |Catch an uncaught CacheCorruption for the traceback from bug #126692. | |zmedico | | |3316 |Improve the error message when an eclass is not found and remove unnecesary | |zmedico |ERRORMSG variable. | |3317 |Bring back FEATURES="assume-digests" for bug #132182. | |zmedico | | |3318 |Make sure that cloned FEATURES are correctly preserved by getting them | |zmedico |directly from the backupenv instead of going through the lookuplist (Bug | | |#132196). | |3319 |Fix some small typos in ebuild.sh for bug #86151. Thanks to Yoshino for this | |zmedico |patch. | |3320 |Reimplement the fix for bug #79566 more cleanly (the -* hack seems quite | |zmedico |non-intuitive). | |3321 |Catch a KeyError and notify the user of a missing digest for bug #132373. | |zmedico | | |3322 |Obey self.incrementals in config.regenerate() instead of using | |zmedico |portage_const.INCREMENTALS directly. | |3323 |Remove the uppercase requirement on flat_hash metadata keys so that | |zmedico |_eclasses_ will work. This is equivalent to the patch by Brian Harring that | | |went into 2.0.54-r2 for forward compatibility with planned changes in the | | |rsync metadata cache. | |3324 |Catch a KeyError and report a missing digest for bug #132410. | |zmedico | | |3325 |make rsync variable messages a bit less inviting | |genone | | |3326 |Fix portage.config handling of ROOT and PORTAGE_CONFIGROOT for bug #132442. | |zmedico | | |3327 |Replace inappropriate use of writelines with normal write. | |zmedico | | |3328 |Properly encode metadata strings as utf-8 in order to avoid | |zmedico |"UnicodeEncodeError: 'ascii' codec can't encode character" exception when | | |given a unicode string. | |3329 |Fix a potential NameError due to 'cpv' being undefined in the namespace and | |zmedico |also fix a potential AttributeError due to an attempt to call | | |reconstruct_eclasses() on a dict object that has already been reconstructed | | |in flat_hash.database._parse_data(). | |3330 |Move the fake $HOME that's used for ebuilds from | |zmedico |$PORTAGE_TMPDIR/portage/homedir to $PORTAGE_BUILDDIR/homedir so that each | | |build has a unique $HOME for bug #130395. | |3331 |Catch FileNotFound exception and print a message when a file listed in the | |zmedico |Manifest could not be found. | |3332 |Prevent a TypeError exception when the /etc/make.profile symlink is broken on| |zmedico |nonexistent. | |3333 |Give a less confusing error message when unpack() arguments begin with | |zmedico |${DISTDIR}. Thanks to Flameeyes for reporting. | |3334 |Use os.path.realpath instead of portage.abssymlink to resolve | |zmedico |/etc/make.profile because abssymlink throws an OSError: [Errno 22] Invalid | | |argument exception when repoman passes in an absolute profile path that isn't| | |a symlink. | |3335 |slightly easier test to read for DISTDR/unpack check | |SpankMan | | |3336 |Only adjust priority for PORTAGE_NICENESS on the first run for bug #132739. | |zmedico | | |3337 |remove unused STICKIES variable | |SpankMan | | |3338 |Neglect EOFError during mtimedb loading since this error seems to be common | |zmedico |when the mtimedb has been corrupted. | |3339 |Fix bug 113055, Binpkg's need SLOT in mysettings | |WarnerBro| | |3340 |Minor 1 liner for bug 131657 | |WarnerBro| | |3341 |Revert r3339 because r3301 makes it unnecessary. See bug #133055. | |zmedico | | |3342 |Add some documentation for /etc/portage/modules and metadata_overlay. | |zmedico | | |3343 |Make /etc/portage/bashrc relative to PORTAGE_CONFIGROOT. | |zmedico | | |3345 |s/DEPEND atoms/package atoms/ for better wording | |zmedico | | |3346 |Allow `emerge --metadata` and `emerge --regen` for users in the portage | |zmedico |group(bug #133157). | |3347 |Make portdbapi obey self.depcachedir instead of using | |zmedico |portage_const.DEPCACHE_PATH directly. | |3348 |Make portdbapi._init_cache_dirs() obey self.depcachedir. | |zmedico | | |3349 |Write raw bytes instead of attempting to encode as utf-8 for bug #133287. | |zmedico | | |3350 |Use iteritems() instead of items() because an iterator uses less memory. | |zmedico | | |3351 |you have to quote $@ or things can break | |SpankMan | | |3352 |strip leading slash in output | |SpankMan | | |3353 |Wheel != secpass=1, so kill it. Wheel grants you nothing wrt portage perms. | |WarnerBro| | |3354 |Ensure a sane global umask for bug #133307 (regression from r3228). | |zmedico | | |3355 |Remove unnecessary and time consuming normpath call for bug #90444. | |zmedico | | |3356 |Ensure that ${ROOT} is normalized for bug #90444. | |zmedico | | |3357 |Revert the performance optimization from r3355 in favor of maximum | |zmedico |robustness. | |3358 |Add back the rstrip(os.path.sep) which is needed in the case where ROOT=/ | |zmedico |(regression from r3356). | |3359 |Fix a typo from r3357. | |zmedico | | |3360 |Fix for bug 133363, thanks to for reporting. | |WarnerBro| | |3361 |Add some PORTAGE_CONFIGROOT documentation for bug #131925. Thanks to | |zmedico |Christian Heim for this patch. | |3362 |Add + to the --changelog regex so that dvd+rw-tools works for bug #133288. | |zmedico | | |3364 |Add a warning message for AUTOCLEAN="no". Thanks to jakub for reporting. | |zmedico | | |3365 |Fix portage.getmaskingreason() so that it properly stacks all available | |zmedico |package.mask files for bug #104000. | |3366 |Print a warning message when AUTOCLEAN is disabled because it's quite | |zmedico |dangerous. | |3367 |s/mtarget/mtune/g for bug #133528. | |zmedico | | |3368 |Fix repoman to grab categores, arch.list, and package.mask from the proper | |zmedico |locations when scanning an overlay. Thanks to mcummings for reporting. | |3369 |When portage is upgraded, only restart emerge when destroot="/". Also, clean | |zmedico |up and fix the related logic in depgraph.display(). | |3370 |Correctly autoclean build time dependencies that have been upgraded in / when| |zmedico |ROOT!=/ for bug #133606. This patch duplicates code from emerge's unmerge() | | |function in order to touch as little existing code as possible. | |3371 |Catch PackageNotFound exceptions from unmerge() for bug #133606. | |zmedico | | |3372 |Revert r3371 because it doesn't fix the real problem and get ROOT directly | |zmedico |from portage.settings["ROOT"] since self.pkgsettings["ROOT"] does not have | | |the desired value. | |3373 |Fix prepstrip split-debug paths for bug #133628. Thanks to kevquinn for this | |zmedico |patch. | |3376 |Catch a ValueError thrown from cpv_expand and use it print an error message | |zmedico |(to stderr) which includes a list of packages for bug #133731. No changes to | | |quickpkg are necessary because it doesn't get anything from portageq on | | |stdout in this case and it simply assumes there is no match. | |3377 |Add --nocolor to emerge's short help for bug #133734. Thanks to | |zmedico |gabebw@gmail.com for this patch. | |3378 |In order to help protect users, make AUTOCLEAN case insensitive. | |zmedico | | |3382 |Validate the CATEGORY data in portage.config.load_infodir() and print a | |zmedico |warning message if corruption is detected. | |3383 |Don't include a redundant size field with the other hashes when creating | |zmedico |manifest2 entries. Thanks to solar for reporting. | |3384 |Document userfetch for bug #133975. | |zmedico | | |3385 |Fix bad spelling of "privileges" in userpriv docs. | |zmedico | | |3387 |Fix userfetch so that it works regardless of whether or not userpriv is | |zmedico |enabled for bug #133995. I've used portage_exec.spawn_bash() here because | | |portage.spawn() should really only be used for actual ebuild phases in | | |doebuild() and spawnebuild(). | |3389 |Don't warn about RESTRICT=test unless FEATURES=test is enabled for bug | |zmedico |#134004. | |3390 |Fix a bug that causes hashes of random types (mostly SHA1, from my | |zmedico |experience) to be erroneously discarded due to dictionary assignment instead | | |up update. | |3392 |Document userfetch for bug #133975. Thanks to RiverRat for this patch. | |zmedico | | |3399 |Prevent a KeyError from occurring when USE_EXPAND_HIDDEN is used for bug | |zmedico |#134086. | |3400 |Add some documentation for USE_EXPAND_HIDDEN. | |zmedico | | |3401 |Add ELIBC and USERLAND to USE_EXPAND_HIDDEN in make.globals since the user | |zmedico |can't change those flags easily. | |3403 |Fix prepstrip to work with restrict, thanks to flameeyes and bug 134135 | |WarnerBro| | |3404 |Add kernel to the default USE_EXPAND_HIDDEN. Thanks to Flameeyes for | |zmedico |reporting. | |3405 |Fix repoman so that it works when the portage tree structure contains | |zmedico |symlinks for bug #109961. | |3408 |When /usr/lib/distcc/bin does not exist, only add a maximum of one distcc to | |zmedico |CC and CXX for bug #84150. | |3409 |- final commit hopefully for QA_TEXTRELS etc. | |solar | | |3410 |- More updates from Kevin Q bug 131779 ; document the stricter feature along | |solar |with the QA_* handling | |3411 |Add some documentation for RESTRICT="binchecks" (bug #133804). | |zmedico | | |3412 |set a timeout on wget to 60 seconds to fix bug 101196; the old timeout was 15| |WarnerBro|minutes :/ | |3413 |update the wget examples in make.conf | |WarnerBro| | |3414 |Fix CATEGORY spelling for bug #134362. | |zmedico | | |3415 |Reset DISTDIR to it's original value before returning from doebuild() in | |zmedico |order to prevent unexpected values for DISTDIR later on. | |3416 |If necessary, apply appropriate permissions to previously fetched files for | |zmedico |bug #112612. | |3417 |Fix the last revision so it also works for files copied from local fsmirrors.| |zmedico | | |3418 |Add some additional error handling for OperationNotPermitted and | |zmedico |ReadOnlyFileSystem exceptions (bug #112612). | |3419 |For portability, use cpio instead of `cp --parents` for bug #124638. | |zmedico | | |3420 |For availability in all stages, use rsync instead of cpio for bug #124638. | |zmedico | | |3421 |Only print a warning if absolutely necessary when adjusting distfiles | |zmedico |permissions for bug #112612. | |3422 |Make sure that fetch errors are reported even when --quiet is being used. | |zmedico | | |3423 |Add noiselevel=-1 to writemsg calls for legitimate errors in doebuild so that| |zmedico |important errors are printed even when --quiet is used. | |3424 |Add noiselevel=-1 to writemsg calls for legitimate errors in | |zmedico |portage.digestcheck() so that important errors are printed even when --quiet | | |is used. | |3425 |Add noiselevel=-1 to writemsg calls for legitimate errors in merge and | |zmedico |unmerge phases so that important errors are printed even when --quiet is | | |used. | |3426 |Fix emerge's userquery() so that it rejects empty responses when the enter | |zmedico |key is pressed for bug #134466. | |3427 |Add noiselevel=-1 to writemsg calls for fatal emerge errors so that important| |zmedico |errors are printed even when --quiet is used. | |3428 |Add noiselevel=-1 to writemsg calls in portage.py for errors that shouldn't | |zmedico |happen so that messages are printed even when --quiet is used. | |3429 |Add noiselevel=-1 to writemsg calls in portage_util.py for errors that | |zmedico |shouldn't happen so that messages are printed even when --quiet is used. | |3430 |Remove dependence on a patched version of libselinux for bug #122517. | |zmedico | | |3433 |Ignore ENOENT errors that are expected to occur in portage.fetch(). | |zmedico | | |3434 |Update FEATURES docs for 'assume-digests' and 'digest'. Thanks to robbat2 for| |zmedico |reporting. | |3436 |Update the default USE_ORDER setting in the man page. Thanks to jakub for | |zmedico |reporting. | |3437 |Revert patch for r3426 for bug 134466 and add warnings to docs. | |zmedico | | |3438 |Use the well know selinux_aux functions for bug #134743. | |zmedico | | |3439 |everybody hates repoman failing on modular X, so make it a warning | |blubb | | |3440 |Fix prepstrip so that it properly distiguishes between stripped and | |zmedico |unstripped binaries for bug #133420. Thanks to robbat2 for this patch. | |3441 |Add some helpful troubleshooting tips to the depclean warning message. | |zmedico | | |3442 |Use python to lookup the user and group corresponding to PORTAGE_INST_UID and| |zmedico |PORTAGE_INST_GID since tarsync doesn't support numeric arguments for the user| | |and group. See bug #134885. | |3443 |Fix quoting for bug 109739 | |WarnerBro| | |3444 |Document RESTRICT="confcache" and add a reference econf in the | |zmedico |FEATURES="confcache" docs. | |3445 |Fix --buildpkgonly so that the "clean" phase is run afterwards. In other | |zmedico |cases, "clean" is triggered automatically after the package is merged. | |3446 |Wrap at 80 columns for bug #135132. | |zmedico | | |3447 |Fix unpack so that it works with 7z archives for bug #135134. Thanks to Paul | |zmedico |Bredbury for the initial patch. | |3448 |Update make.conf.example for x86-fbsd with patch from Flameeyes for bug | |zmedico |#135241. | |3449 |In portageq, catch a KeyError and print a message to stderr. If the KeyError | |zmedico |is raised, portageq prints a help message which leads to bug #135278. | |3450 |Fix emerge's overlay display so that it works properly with overlay paths | |zmedico |that contain symlinks. This is necessary due to pordbapi's internal use of | | |cannonical paths. Thanks to kevquinn for reporting. | |3451 |Restore the old behavior of performing global updates when portage is | |zmedico |reloaded after `emerge --sync` for bug #135446. | |3452 |Escape the shell parameter expansions in the PORTAGE_ELOG_COMMAND example for| |zmedico |bug #135429. | |3453 |Revert lazy loading of autouse because it is both broken and useless. | |zmedico | | |3454 |Raise a ParseError if the profile has a parent file containing anything other| |zmedico |than 1 parent. | |3455 |Raise a ParseError if the profile has a parent file containing a nonexistant | |zmedico |parent. | |3456 |When generating digests, print a digest.assumed QA warning if necessary in | |zmedico |order to prevent confusion. Thanks to jakub for suggesting this. | |3457 |Add live VCS check to repoman, fix misspelling | |WarnerBro| | |3458 |add LIVEVCS.stable to man repoman | |WarnerBro| | |3459 |Fix getgccversion() logic for bug #108393. Thanks to eradicator for | |zmedico |suggesting this logic. | |3460 |Add python 2.3 compatibility code for the set builtin. | |zmedico | | |3461 |Put LIVEVCS.stable in qawarnings for now since it's new and hasn't been | |zmedico |thoroughly discussed. | |3462 |Store the original suid bits when suidctl is enabled for bug #135639. Thanks | |zmedico |to splite-gentoo@sigint.cs.purdue.edu for this patch. | |3463 |Fix getgccversion() logic so that it works properly with eselect compiler for| |zmedico |bug #108393. Thanks to eradicator for help with this patch. | |3464 |Make sure that each new build attempt gets it's own unique log file for bug | |zmedico |#135856. | |3465 |Also bump the counter for the "merge" phase since it calls spawnebuild (bug | |zmedico |#135856). | |3466 |If lchown is unavailable for some unexpected reason, make all lchown calls | |zmedico |print a warning message (bug #135398). | |3467 |Call the bogus lchown() once so that the warning is seen asap. | |zmedico | | |3468 |support for FEATURES=debug-build | |SpankMan | | |3469 |Revert r3468 because this type of functionality belongs in profile.bashrc or | |zmedico |an eclass. | |3470 |Move hard coding of /etc/env.d in CONFIG_PROTECT_MASK from | |zmedico |portage.config.__getitem__() to make.globals. Thanks to pauldv for reporting.| |3471 |Delete incomplete resume data before exiting due to blockers. This prevents a| |zmedico |'mergelist' KeyError from occurring if the user attempts to run `emerge | | |--resume` immediately afterwards. Thanks to axxo for reporting. | |3472 |Add some documentation for /etc/make.profile/profile.bashrc. | |zmedico | | |3473 |When an ebuild from overlay fails, display a message indicating which overlay| |zmedico |it came from (bug #136031). Thanks to genstef for the initial patch. | |3474 |Break out of the loop asap. | |zmedico | | |3475 |Use ${BASH_SOURCE[0]} instead of $_ because the former is more dependable for| |zmedico |preventing endless exec loops (see bug #135470). Testing shows that this | | |corrects the problem for the libtool ebuild when sed is used to generate | | |ltmain.shT. | |3476 |I meant to ignore an IndexError here, in case mysettings["PORTDIR_OVERLAY"] | |zmedico |becomes corrupted and the split has an unexpected number of elements for some| | |reason. | |3481 |- Bug 136236 misc-functions.sh fails to always honor RESTRICT=stricter - | |solar |Donnie Berkholz spyderous@gentoo.org | |3482 |Do not unmerge fifo files because, since their mtime is not stored in | |zmedico |CONTENTS, we can't be sure if they belong to another package unless we search| | |through all CONTENTS for all installed packages. See bug #136199. | |3483 |make elog mail module always set the 'From' header for rfc2822 compliance | |genone | | |3484 |refactor elog mail stuff so it's reusable by other tools (like glsa-check) | |genone | | |3485 |add code to allow sendmail binaries to be used instead of a smtp connection | |genone |for sending mails | |3486 |override sender on sendmail invocation | |genone | | |3487 |Fix LIVEVCS.stable for -* keywords | |WarnerBro| | |3488 |Remove QA warning when files are installed with portage uid/gid for bug | |zmedico |#136313. | |3493 |Wrap more exceptions when applying permissions. Thanks to marienz for | |zmedico |reporting. | |3494 |Wrap more exceptions in ensure_dirs(). | |zmedico | | |3495 |Stack package.mask files in a more logical order as specified in bug #133740.| |zmedico | | |3496 |Replace --include-masked with an inverse --ignore-masked option for bug | |zmedico |#85576. | |3497 |add date header for rfc2822 compliance | |genone | | |3498 |removing windows-like senseless confirmation requests | |blubb | | |3499 |Remove pointless closing of stdin that is done prior to metadata transfer | |zmedico |(See bug #136404). | |3500 |For more simplicity, use os.rename instead of spawning MOVE_BINARY (see bug | |zmedico |#136404). | |3501 |Prevent extra newlines in elog for einfo invocations. See bug #136208. | |zmedico | | |3502 |Toggle the setgid bit on $PORT_LOGDIR\elog\ for bug #136278. | |zmedico | | |3503 |Fix a typo from the last revision (octal literals begin with 0). | |zmedico | | |3504 |s/i686-unknown/i686-gentoo/ for bug #136532. | |zmedico | | |3505 |Fix signal handling for bug #96331. Thanks to S. Caglar Onur | |zmedico | for this patch. | |3506 |Fix generation of ebuild log file names for bug #136285. | |zmedico | | |3507 |fix path to ebuild for dsd, bug # 135705 | |WarnerBro| | |3508 |Source /etc/portage/bashrc after the profile.bashrcs, since user env should | |zmedico |be over to override the profile env. | |3509 |Give a useful error message when a dependency has an ambiguous atom due to | |zmedico |the category being unspecified. See bug #123677. | |3510 |Add autouse removal to RELEASE-NOTES | |WarnerBro| | |3511 |idiot, use.defaults, not make.defaults | |WarnerBro| | |3512 |more fixes to make it sound like I didn't write it at 8:41am | |WarnerBro| | |3513 |When --debug is enabled, do not raise a ValueError for unresolved | |zmedico |dependencies. See bug #126793. | |3514 |Only attempt to unmerge the already-installed instance if it actually exists.| |zmedico |This patch prevents self.settings.configdict["pkg"] from getting nuked by a | | |call to load_infodir on a nonexistent directory. By preserving | | |configdict["pkg"] here, the CATEGORY is available for the next doebuild call | | |(needed to create log names correctly). | |3515 |Fix checksum error messages for bug #136947. Thanks to truedfx for this | |zmedico |patch. | |3516 |Import missing PermissionDenied class. Thanks to marienz for reporting (and | |zmedico |suggesting pyflakes). | |3517 |Force digest generation when assume-digests is enabled but the file size does| |zmedico |not match. See bug #137032. | |3518 |Benno Schulenberg writes in #136818: changes the wording of the "set" | |SpankMan |parameter to be similar to its neighbours. | |3519 |line wrap to 80 cols | |SpankMan | | |3520 |Benno Schulenberg writes in #136818: put the --config action in its | |SpankMan |alphabetical place while adjusting the words and spaces a little. | |3521 |Benno Schulenberg writes in #136818: make the style of the --pretend letter | |SpankMan |descriptions uniform | |3522 |Benno Schulenberg writes in #136818: tweak the description of --info | |SpankMan | | |3523 |Benno Schulenberg writes in #136818: tweak --nocolor description | |SpankMan | | |3524 |Make sure that doebuild gets the correct CATEGORY. See bug #137105. | |zmedico | | |3525 |Log parallel-fetch output to /var/log/emerge-fetch.log just in case it's | |zmedico |needed. See bug #137105. | |3526 |Overwrite the existing fetch log so that it only contains the most recent | |zmedico |fetch. | |3527 |Prevent repoman frm using /etc/portage/package.mask. This is a regression in | |zmedico |2.1.1_pre1 from svn r3495. See bug #133740. Thanks to sekretarz for reporting| | |this issue. | |3528 |get rid of quotes in output | |SpankMan | | |3530 |fix typo | |genone | | |3531 |Add missing sys import found by pyflakes. | |zmedico | | |3532 |Put bright colors before dark colors for bug #137206. Thanks to Benno | |zmedico |Schulenberg for this patch. | |3533 |goodbye tokenize | |WarnerBro| | |3534 |- do not complain about redundant use of pretend and verbose flags | |solar | | |3537 |Save timestamp.chk even when metadata-transfer is disabled for bug #137177. | |zmedico | | |3539 |make sure that elog entries are also processed in *rm phases and that they | |genone |are only processed once | |3540 |To prevent infinite recursion when a lock file has more than 1 hardlink, test| |zmedico |for exactly 0 hardlinks before recursing. | |3543 |Use wantnewlockfile=1 on /var/lib/portage/config for bug #137269. r3540 is | |zmedico |also related. | |3544 |Fix it so that values are properly saved in the writable layer. Previously | |zmedico |they've been discarded, leading to regen on each access (only in cases where | | |the user has altered an ebuild in the $PORTDIR). | |3545 |Implement get() as part of the standard mapping interface. | |zmedico | | |3546 |Use get() to simplify setitem logic as suggested by Brian Harring. | |zmedico | | |3547 |Make it easy to pass alternative cache implementations into the constructor | |zmedico |as suggested by Brian Harring. | |3548 |By popular demand (including releng), revert the unmerge behavior change from| |zmedico |bug #118515 (r3186). | |3586 |Make sure that PORT_LOGDIR is properly unset when it is unusable. Thanks to | |zmedico |solar for reporting issues with logs landing in $PWD. | |3587 |Don't bother to warn when PORT_LOGDIR="". | |zmedico | | |3588 |Remove redundant PORT_LOGDIR validation from the config constructor. | |zmedico | | |3589 |Prevent and exception when PORT_LOGDIR is an empty string. | |zmedico | | |3590 |Simplify PORT_LOGDIR intitialization. | |zmedico | | |3591 |Encapsulate emerge's spinner into an object. | |zmedico | | |3592 |Remove all global variables from emerge's search class. | |zmedico | | |3593 |Remove unused "olddbapi" variable. | |zmedico | | |3594 |Remove most direct references to global variables from emerge's depgraph | |zmedico |class. | |3595 |Move the --sync and --metadata code from global scope to a function. | |zmedico | | |3596 |Move the --regen code from global scope to a function. | |zmedico | | |3597 |Move the --config code from global scope to a function. | |zmedico | | |3598 |Fix a collision with a previous variable named "p". | |zmedico | | |3599 |Move the --info code from global scope to a function. | |zmedico | | |3600 |Move the --search code from global scope to a function. | |zmedico | | |3601 |Move the --depclean code from global scope to a function. | |zmedico | | |3602 |Fix missing global "syslist" from r3594. | |zmedico | | |3603 |Move emerge's default action code from global scope to a function. | |zmedico | | |3604 |Fix a broken reference to syslist and remove two extras. | |zmedico | | |3605 |mention the use of @ in -s; bug 137565 | |blubb | | |3606 |Don't register signal handlers during module import because it may override | |zmedico |signal hadlers that were registered by the calling code. | |3607 |As suggested by exg, include the einfon code inside einfo instead of using | |zmedico |the FUNCNAME hack (FUNCNAME only works with >=bash-3.0). | |3608 |Move the creation of depgraph params from global scope to a function. | |zmedico | | |3609 |Simplify permission logic for emerge.log. | |zmedico | | |3610 |Use portage_exec.find_binary since "which" always returns 0 status on darwin.| |zmedico |Thanks to exg for reporting. | |3611 |ignore .files in /etc/portage recursion | |WarnerBro| | |3612 |Fix a typo from r3611 (file != files). | |zmedico | | |3613 |Test the basename for starting with "." instead of the full path. | |zmedico | | |3614 |Prevent an inappropriate warning when a repoman user's profile does not | |zmedico |support sandbox. Thanks to exg for reporting. | |3615 |Remove unused "merged" variable. | |zmedico | | |3616 |Document "deep" and remove unused "params" variable. | |zmedico | | |3617 |Pass relevant global variables as parameters to action_* functions. | |zmedico | | |3618 |Remove unnecessary "myaction" parameter from the depgraph constructor. | |zmedico | | |3619 |Use secpass to determine whether emergelog exceptions should be ignored. | |zmedico | | |3620 |Do not import * for cooperation with pyflakes. | |zmedico | | |3621 |Sort filenames for predictable results. | |zmedico | | |3622 |Fix error handling for getlist(). | |zmedico | | |3623 |Fix extra imports and undefined variable found by pyflakes. | |zmedico | | |3624 |Shift all global scope code to the bottom. | |zmedico | | |3625 |Ensure that ^C interrupts are handled quietly. | |zmedico | | |3626 |Minor import cleanups. | |zmedico | | |3627 |Register emerge exit and signal handlers after parsing options, just before | |zmedico |the action phase. | |3628 |Split the --metadata action into a separate function from --sync. | |zmedico | | |3629 |Remove a few unused imports. | |zmedico | | |3630 |Remove a few unused imports. | |zmedico | | |3631 |Remove the deprectated digestCheckFiles function. | |zmedico | | |3632 |Fix getgccversion logic for bug #137786. | |zmedico | | |3633 |Remove all references to global variables from getportageversion(). | |zmedico | | |3634 |Remove all direct references to global variables from getlist(). | |zmedico | | |3635 |Remove all direct references to global variables from unmerge(). | |zmedico | | |3636 |Pass a config instance into key_expand calls so that it doesn't rely on | |zmedico |global settings. | |3637 |Remove references to portage.root from unmerge(). | |zmedico | | |3638 |Remove references to portage.settings from unmerge(). | |zmedico | | |3642 |s/Preform/Perform/ Thanks to exg for reporting. | |zmedico | | |3643 |The mtimedb should not be relative to the target $ROOT because the paths that| |zmedico |it contains are currently relative to "/". | |3644 |Make the COUNTER regeneration logic account for $ROOT as per bug #129054. | |zmedico | | |3645 |Move the counter_tick methods from the dbapi class to the vardbapi class. | |zmedico | | |3646 |Skip the install phase when ${PORTAGE_BUILDDIR}/.installed exists. See bug | |zmedico |#137864. | |3647 |Pass a config object into the vartree constructor so that is doesn't have to | |zmedico |use global settings for key_expand calls. | |3648 |Pass a config object into the binarytree constructor so that is doesn't have | |zmedico |to use global settings for key_expand calls. | |3649 |Remove unnecessary PORTAGE_CALLER exports. | |zmedico | | |3650 |Split the command line argument parsing into a function. | |zmedico | | |3651 |Fix portage.update_config_files() so that it can work with an arbitrary $ROOT| |zmedico |and without any global variables. | |3652 |Split the config protect functionality from the dblink class to a new class | |zmedico |and use it in portage.update_config_files() (dblink requires a vartree and | | |that's not needed here). | |3653 |Pass in just the CONFIG_PROTECT info instead of the whole config object. | |zmedico | | |3654 |Print a message to stderr if an error occurs when updating a config file. | |zmedico | | |3655 |Remove an unused import. | |zmedico | | |3656 |Remove the help() function. | |zmedico | | |3657 |Ensure that CLEAN_DELAY and EMERGE_WARNING_DELAY environment variables | |zmedico |contain valid integer values. | |3658 |Replace a references to global scope CLEAN_DELAY and EMERGE_WARNING_DELAY | |zmedico |with the previously validated environment variables. | |3659 |Use the PORTAGE_DEBUG environment variable to replace the global scope edebug| |zmedico |variable. | |3660 |Remove all direct references to global variables form post_emerge(). | |zmedico | | |3661 |Remove direct references to the global mtimedb from chk_updated_info_files().| |zmedico | | |3662 |Don't run post_emerge() when --pretend is enabled. | |zmedico | | |3663 |Fix a few global variable references and move all the global scope code into | |zmedico |an emerge_main() function. | |3664 |Ensure that the PORTAGE_DEBUG environment variable has a valid integer value.| |zmedico | | |3665 |Allow /etc/portage/color.map to control colors associated with einfo, ewarn, | |zmedico |etc... | |3666 |Use the cannonical path of $PORTDIR when transferring metadata so that the | |zmedico |_eclasses_ paths are consistent. See bug #137965. | |3667 |Turn off color automatically when stdout is a pipe, but allow the behavior to| |zmedico |be overridden via the NOCOLOR environment variable. | |3668 |Ignore SIGPIPE signals in order to prevent '[Errno 32] Broken pipe' | |zmedico |exceptions from being raised when emerge output is being piped. This reverts | | |a behavior change from r3606. | |3669 |For compatibility with revdep-rebuild, do not allow NOCOLOR=false to override| |zmedico |the isatty() check. | |3670 |Docstrings galore in the dep resolver. Hoping to get it better documented so | |WarnerBro|it can be tweaked for some of the open bugs against it. 99% of this should be| | |docstrings, make sure I didn't accidentally touch anything in there. | |3671 |When --buildpkg is enabled, merge directly from the uncompressed install | |zmedico |image instead of needlessly unpacking the binary package. See bug #138105. | |3672 |Pass an xterm_titles parameter into emergelog() so that it doesn't need any | |zmedico |global variables. | |3673 |Fix action_search() parameters for bug #138131. | |zmedico | | |3674 |Fix chk_updated_cfg_files() parameters for bug #138131. | |zmedico | | |3675 |Make sure that variables containing colors pollute the environment for bug | |zmedico |#138246. | |3676 |Fix output colors for bug #138259. | |zmedico | | |3677 |Make unmerge() colors more consistent. | |zmedico | | |3678 |Remove unnecessary --quiet check since writemsg handles that already. | |zmedico | | |3679 |readd Rev to portage.py for proper svn revisions in portage.version | |WarnerBro| | |3680 |Set WARN=red to so that warnings appear red, as they always have. | |zmedico | | |3681 |retain current color schema by adding a new color class for unmerging | |SpankMan | | |3682 |Add a missing space in the unmerge output that was reported by vapier. | |zmedico | | |3683 |Fix the writemsg noiselevel so that versions are correctly shown even when | |zmedico |--quiet is enabled. | |3684 |Allow a config instance to be passed into cpv_expand so that it doesn't have | |zmedico |to rely on global settings. | |3685 |Allow a config instance to be passed into dep_expand so that it doesn't have | |zmedico |to rely on global settings. | |3686 |To simplify code, use startswith() instead of slices. | |zmedico | | |3687 |Update symlinks in during package moves for bug #138394. | |zmedico | | |3688 |Pass a config instance into the vardbapi constructor so that it doesn't have | |zmedico |to rely on global settings. | |3689 |Pass a config instance into the vardbapi constructor so that it doesn't have | |zmedico |to rely on global settings. | |3690 |Pass a config instance into each dep_expand call. | |zmedico | | |3691 |Pass a vardbapi instance into getportageversion() so that it doesn't have to | |zmedico |construct one itself. | |3692 |Replace direct references to portage.settings with local references. | |zmedico | | |3693 |Remove reference to global portage.db from validate_merge_list(). | |zmedico | | |3694 |Replace direct references to portage.db with local references. | |zmedico | | |3695 |Replace references to portage.root with local settings[ROOT]. | |zmedico | | |3696 |Replace references to portage.portdb with local references. | |zmedico | | |3697 |After sync, reload portage before the metadata transfer so that | |zmedico |action_metadata() doesn't have to be concerned with invalid | | |settings.categories and such. | |3699 |Pass parameters into env_update() so that it doesn't depend on global | |zmedico |variables. | |3702 |Remove a pointless "if" statement. | |zmedico | | |3703 |Trigger env_update() after each unmerge operation. | |zmedico | | |3704 |Pass ldpath mtimes into the unmerge operations. | |zmedico | | |3705 |Replace global references to the mtimedb with local references. | |zmedico | | |3706 |Add an MtimeDB class to encapsulate the mtimedb. | |zmedico | | |3707 |Make use of the new mtimdb.commit() method. | |zmedico | | |3708 |Fix accidental replacement from r3705. | |zmedico | | |3709 |Allow the portagetree constructor to work without globals. | |zmedico | | |3710 |Pass config and portdbapi instances into the portagetree constructor. | |zmedico | | |3711 |Only use the global vartree when really necessary. | |zmedico | | |3712 |Pass portdbapi instances into doebuild in order to avoid dependance on | |zmedico |globals. | |3713 |Fix missing target_root keyword parameter. | |zmedico | | |3714 |Pass the ldpath_mtimes for unmerging the already-installed instance. | |zmedico | | |3715 |Pass missing parameters to doebuild in order to avoid dependance on globals. | |zmedico | | |3716 |Pass a config instance into the bindbapi and fakedbapi constructors in order | |zmedico |to avoid dependance on globals for dep_expand() calls. | |3717 |Fix pkgmerge() to work without dependance on global variables. | |zmedico | | |3719 |Pass trees into dep_check and dep_zapdeps calls in order to avoid dependance | |zmedico |on global variables. | |3720 |Remove redundant "portdb" parameters since pordbapi instances are accessible | |zmedico |via the "trees" paramters. There is currently only one global pordbapi | | |instance but eventually there will be separate instances for / and $ROOT. | |3721 |Integrate the load_mtimedb() function into the MtimeDB class. This function | |zmedico |is relatively new so nobody should miss it. | |3722 |Fix unmerge version spacing for bug #138611. | |zmedico | | |3723 |Use PORTAGE_DEBUG=1 since that's all that portage currently recognizes. | |zmedico | | |3724 |Go ahead and dump a full traceback without having to enable --debug. There's | |zmedico |no sense in hiding valuable traceback info like that. | |3725 |Recycle the portdbapi instance at the and of global_updates(). | |zmedico | | |3726 |Allow portage.getmaskingstatus() to operate without global variables. | |zmedico | | |3727 |Allow portage.getmaskingreason() to operate without global variables. | |zmedico | | |3728 |Pass a portdbapi instance into doebuild to avoid dependence on global | |zmedico |variables. | |3729 |Pass a more dbapi instances into doebuild to avoid dependence on global | |zmedico |variables. | |3731 |Pass the trees into two more dep_zapdeps calls to avoid dependence on global | |zmedico |variables. | |3732 |In order to ensure that emerge doesn't use any of portage's legacy global | |zmedico |variables, run emerge with portage.init_legacy_globals() disabled. | |3733 |Pass a config instance into movefile() to avoid dependence on global | |zmedico |variables. | |3734 |Trigger post_emerge() after the relevent actions and commit the mtimedb | |zmedico |there. | |3735 |Fix autouse so that it works with init_legacy_globals() disabled. | |zmedico | | |3742 |- multi-package emerge now prints the sequence highlighting count and cpv to | |solar |visually stand out in wondercolors... | |3743 |Add a new MERGE_LIST_PROGRESS color class and remove hard coded yellow/green.| |zmedico | | |3744 |Use the BAD and GOOD color classes to remove hard coded colors from the | |zmedico |depclean warning message. | |3745 |Use GOOD, BAD, and WARN color classes where appropriate. Thanks to Damien | |zmedico |THEBAULT for this patch from bug #138600. | |3746 |Fix references to global settings in the binarytree class that were reported | |zmedico |by solar. | |3747 |Fix NameError when collision-protect is enabled for bug #138793. | |zmedico | | |3748 |Add a new parse_use_local_desc() function. | |zmedico | | |3749 |Fix import issues reported by pyflakes. | |zmedico | | |3750 |Add overlay support for use.local.desc in repoman. | |zmedico | | |3751 |Add support for licenses in overlays (bug #137975). | |zmedico | | |3752 |Add support for arch.list in overlays (bug #137975). | |zmedico | | |3759 |Commit the mtimedb prior to restart via excve for bug #138837. | |zmedico | | |3760 |Ignore hidden directories (such as .svn) when building the scanlist. | |zmedico | | |3772 |When assume-digests is enabled, for digest generation if the number of parsed| |zmedico |digests does not match the number of digest types that are supported. See bug| | |#138911. | |3773 |Force fetch if the number of parsed digests does not match the number of | |zmedico |digest types that are supported. See bug #138911. | |3774 |Revert accidental hunk from the last commit. | |zmedico | | |3777 |Commit the mtimedb for --skipfirst so that if the user aborts the first | |zmedico |package, the next --skipfirst will go on to the next package instead of doing| | |the same one again. This patch simply reverts to the behavior that existed | | |before. | |3778 |When displaying the resume merge list, don't show the skipped package when | |zmedico |--skipfirst is enabled. See bug #121106. | |3779 |Do some basic validation of the mtimedb resume data so that assumptions can | |zmedico |be made later. | |3780 |Remove commented code cruft. | |zmedico | | |3781 |Remove color from "none" reported by vapier. | |zmedico | | |3782 |Use the correct bintree and porttree for bug #137446. | |zmedico | | |3783 |Fix $ROOT references in the depgraph class for bug #137446. | |zmedico | | |3784 |Fix more $ROOT references for bug #137446. | |zmedico | | |3785 |Allow the loading of a completely separate config for / and | |zmedico |PORTAGE_CONFIGROOT. This fixes bug #137446. | |3786 |Pass existing trees into load_emerge_config() so that the existing portdbapi | |zmedico |instances will be cleaned up by portage.create_trees(). | |3787 |Match blockers against the correct $ROOT for bug #108449. | |zmedico | | |3788 |Run global updates asap and then reload the whole config to make sure | |zmedico |everything is consistent. | |3789 |Freeze all pordbapi instances. | |zmedico | | |3790 |Fix repoman breakage due to the fact that portage.portagetree now creates | |zmedico |it's own portdbapi instance. Repoman will now use a single portdbapi instance| | |instead of one for each arch. The arch specific config instances are swapped | | |in on the fly. Hopefully this fixes bug #132601. | |3791 |Use a cloned config instance for the depend phase in portdbapi.aux_get(). See| |zmedico |bug #132601. | |3792 |Make a backup of ACCEPT_KEYWORDS when repoman changes it for each profile. | |zmedico |This prevents it from being discarded by config.reset() and was the root | | |cause of bug #132601. The cloning that was added in r3791 is a safeguard to | | |prevent problems like this. | |3793 |Cache a cloned config instance inside portdbapi so that a new one doesn't | |zmedico |have to be cloned each time metadata generation is triggered. | |3795 |Fix missing newline. | |zmedico | | |3796 |Move the ARCH sanity check from the depgraph constructor to a new | |zmedico |validate_ebuild_environment() function and call it before any action that | | |requires an ebuild environment (including search, which may result in | | |metadata generation). So, --sync, --metadata, and --info are currently the | | |only actions that are allowed without ARCH being defined. | |3797 |Remove global autouse cache since most people don't use it anyway and it's | |zmedico |broken in the case where $ROOT != /. | |3798 |Clean up getportageversion() profile logic and fix a ValueError that occurs | |zmedico |when profile is None. | |3800 |remove pointless line that just ruins the display | |SpankMan | | |3802 |Export the path of the build log into the ebuild env as suggested by | |zmedico |Flameeyes. | |3807 |Only commit the mtimedb if the internal state has changed. | |zmedico | | |3808 |Use copy.deepcopy() to ensure that state comparison works properly. | |zmedico | | |3811 |Fix the NameError that occurs when collision-protect triggers unmerge. See | |zmedico |bug #139580. | |3812 |Remove USE_EXPAND_HIDDEN from make.globals since it's now included in the | |zmedico |base profile. | |3813 |Do config.reset() prior to the depend phase to make sure that doebuild | |zmedico |chooses the correct category. This fixes a problem similar to bug #137105. | |3814 |Use set.intersection() to simplify --newuse comparison. | |zmedico | | |3815 |Fix indentation mistake from the last commit. | |zmedico | | |3816 |Remove the merging=2 case to simplify merge/nomerge logic. | |zmedico | | |3817 |Use a cmpsplit() function to simplify package comparisons in | |zmedico |depgraph.select_dep(). | |3818 |Use the abstract dbapi.aux_get() interface to unify retrieval of dependency | |zmedico |strings in depgraph.create(). | |3819 |Use the abstract dbapi.aux_get() interface to unify retrieval of IUSE in | |zmedico |depgraph.create(). | |3820 |Use dbapi to unify config.setinst() call in depgraph.select_dep(). | |zmedico | | |3821 |Add a vardbapi.aux_update() method for database maintenance. See bug #122089.| |zmedico | | |3822 |Wrap common write_atomic exceptions for easier error handling. | |zmedico | | |3823 |Update error handling for write_atomic calls to use PortageException. | |zmedico | | |3824 |Use write_atomic for dblink metadata updates. | |zmedico | | |3825 |Add a bindbapi.aux_update() method for database maintenance. See bug #122089.| |zmedico | | |3826 |Implement fakedbapi.cpv_all() so that bindbapi will inherit it. | |zmedico | | |3827 |Allow binary packages to be installed with --usepkg even when there is no | |zmedico |ebuild in tree (but not when there is a matching ebuild in the tree that is | | |masked). See bugs #135834 and #55871. | |3828 |Start at the end of the list so that the index works properly after items are| |zmedico |deleted. | |3829 |If category expansion fails against the portage tree, remove the null/ prefix| |zmedico |so that it may be given another chance to expand against the binary package | | |tree in select_dep(). See bug #135834. | |3830 |Move all the config adjustments that require the config instance to be | |zmedico |unlocked into a new adjust_config() function. This allows the function to be | | |applied to both of the major config instances that exist when $ROOT != /. | |3831 |Use a list comprehension to simplify the code for bug #55871. | |zmedico | | |3832 |Move code out of global scope. | |zmedico | | |3833 |Don't call emergelog() from the parallel-fetch process for bug #88837. | |zmedico | | |3834 |Allow emerge --info to show per-package settings for bug #95741. Thanks to | |zmedico |npmccallum for the initial patch. | |3835 |Just use the raise statement alone to re-raise exceptions. | |zmedico | | |3836 |Replace incorrect references to myrealdest (the file name that appears in | |zmedico |CONTENTS) with correct references to mydest (the absolute destination path, | | |prefixed with $ROOT). See bug #120653. | |3837 |Use a safer method to join the path when deciding if the current merge offset| |zmedico |is config protected. The main problem with corresponding change from r3836 is| | |that the destroot variable happens to be // when ROOT=/. See bug #140045. | |3838 |Use startswith instead of slices to simplify config protect code. | |zmedico | | |3839 |Don't swallow unknown exceptions from lstat() during the merge phase. | |zmedico | | |3840 |Clean up various path joins in dblink.mergeme(). | |zmedico | | |3841 |Use startswith instead of slice or find. | |zmedico | | |3842 |Remove orphan srctarget variable. | |zmedico | | |3843 |Fix incorrect path handling in parts of symlink merge logic. | |zmedico | | |3844 |Split depgraph.merge() to a separate MergeTask class. | |zmedico | | |3852 |Die at the beginning of install_qa_check if ${D} doesn't exist. See bug | |zmedico |#140159. | |3854 |Remove the unmerge_overlapping() function since unmerge() now works properly | |zmedico |in the case where ROOT!=/ thanks to the fix for bugs #137446 and #131319. | |3857 |Make the merge phase bail out if srcroot doesn't exist for bug #140159. | |zmedico | | |3868 |Move the world file trimming out of dblink.unmerge() since the world file is | |zmedico |package set territory and therefore doesn't belong inside dblink. | |3869 |Fix gid typo from the last commit. | |zmedico | | |3876 |disable regular expressions for search by default | |genone | | |3877 |update search docs | |genone | | |3878 |note change in search behavior in release notes | |genone | | |3879 |As suggested by vapier, only show the "System Settings" banner when myfiles | |zmedico |is not empty. | |3881 |Use calculations to center --info header titles. | |zmedico | | |3889 |Simplify portage.normalize_path() logic. | |zmedico | | |3890 |Use normalize_path instead of using normpath directly. | |zmedico | | |3891 |Move normalize_path into portage_util. | |zmedico | | |3892 |Remove the portage_file module for bug #133591. | |zmedico | | |3893 |Add a new portageq metadata function that wraps dbapi.aux_get() so that | |zmedico |things like built_with_use in eutils.eclass can retrieve metadata in manner | | |that is independent of the installed package database implementation. | |3894 |s/config_protect/ConfigProtect/ for the class name. | |zmedico | | |3895 |Move the ConfigProtect class to the portage_util module. | |zmedico | | |3907 |Fix broken --usepkg masking logic for bug #140694. | |zmedico | | |3908 |Add ipv6 --sync support for bug #37124. Thanks to Bernhard Schmidt | |zmedico | for the initial patch. | |3909 |Collapse two repoman PORTAGE_CALLER conditionals into one. | |zmedico | | |3910 |Fix categories and arch.list handling for repoman with overlays so that | |zmedico |/etc/portage is not used. | |3911 |Remove redundant variable definitions. | |zmedico | | |3912 |Enable repoman to work with portage.init_legacy_globals() disabled. | |zmedico | | |3913 |Add a docstring with epytext markup to portage_versions.pkgcmp(). Thanks to | |zmedico |chriswhite for this patch. | |3914 |Fix depclean so that it cleans unneeded slots (unless they are exempted by | |zmedico |the system or world sets). See bug #140591. | |3915 |Simplify generation of the cleanlist for depclean. | |zmedico | | |3916 |Use a set instead of a list for better efficiency. | |zmedico | | |3917 |make .keep files package-dependant to fix bug 102436 | |blubb | | |3918 |fix up doman and prepman so that they work with the new .keep files in rev | |blubb |3917 | |3919 |Ensure a sane umask for repoman. | |zmedico | | |3920 |Do file locking on PORTAGE_BUILDDIR and use a finally block to ensure that | |zmedico |the lock is properly released. This fixes bug #140971. | |3921 |Ensure that BUILD_PREFIX has been created before attempting to lock | |zmedico |PORTAGE_BUILDDIR. | |3922 |Use the portage gid for BUILD_PREFIX. | |zmedico | | |3923 |Don't try to create a log file unless PORTAGE_BUILDDIR exists. | |zmedico | | |3924 |Add an EOutput class that provides a python implementation of the familar e* | |zmedico |funtions from /sbin/functions.sh. Thanks to Alex Tarkovsky | | | for this patch. | |3925 |Use the python implemention of ebegin/eend to visually enhance the ouput for | |zmedico |checksums. | |3928 |ensure we have the necessary access | |genone | | |3929 |Show full path when auto-merging | |genone | | |3930 |add option to discard config updates | |genone | | |3931 |add notice about remaining updates on exit | |genone | | |3932 |update mtime after replacing config files | |genone | | |3933 |Remove redundant checksum output. | |zmedico | | |3934 |Only call portageq once | |genone | | |3935 |use eval to allow shell expansion in config file | |genone | | |3936 |add support to prevent auto-processing for user-special files that match a | |genone |pattern in /etc/etc-update.special | |3952 |Make PORTAGE_TMPDIR cannonical for sandbox before it's exported to the ebuild| |zmedico |environment for bug #140436. | |3953 |Make user_special() return 1 if none of the patterns in | |zmedico |/etc/etc-update.special are matched. | |3954 |Handle a potential ValueError when parsing the number of terminal columns. | |zmedico | | |3955 |When a config instance is cloned, don't set default USE_ORDER since it would | |zmedico |have been done already for the instance being cloned. | |3956 |When a config instance is cloned, don't initialize PORTAGE_GID since it would| |zmedico |have been done already for the instance being cloned. | |3957 |Remove redundant initialization of self.depcachedir for cloned config | |zmedico |instances. | |3958 |Remove redundant processing of PORTDIR_OVERLAY for cloned config instances. | |zmedico | | |3959 |Remove redundant (and possibly problem causing) copying of self.backupenv for| |zmedico |cloned config instances. | |3960 |Remove redundant processing of ROOT and PORTAGE_CONFIGROOT for cloned config | |zmedico |instances. | |3961 |When cloning a config instance, use the copied env instead of grabbing a new | |zmedico |copy of os.environ. | |3962 |Remove redundant copying of self.lookuplist and self.uvlist for cloned config| |zmedico |instances. | |3963 |Remove redundant definition of catsplit() which is already imported from | |zmedico |portage_versions. Thanks to ChrisWhite for reporting. | |3964 |Remove redundant initialization of CBUILD for cloned config instances. | |zmedico | | |3965 |Remove redundant initialization of PORTAGE_BIN_PATH and PORTAGE_PYM_PATH for | |zmedico |cloned config instances. | |3966 |note that there is the possibility to have a local rsync server; bug 141110 | |blubb | | |3967 |Remove redundant initialization of self.features (and self.regenerate() call)| |zmedico |for cloned config instances. | |3968 |Move initialization of self.lookuplist to a more logical location for cloned | |zmedico |config instances. | |3969 |Move initialization of config.uvlist into the regenerate() method since | |zmedico |that's the only place it's used. | |3970 |Remove redundant initialization of directories for cloned config instances. | |zmedico | | |3971 |Fix a broken reference to portage.portdb. | |zmedico | | |3972 |Fix broken if/elif statement. | |zmedico | | |3973 |Blacklist some variables in the config constructor so that they can't | |zmedico |interfere with portage internals. | |3974 |Move dep_getcpv, get_operator, and isvalidatom from the core portage module | |zmedico |to portage_dep. | |3975 |Remove grabdict_package and grabfile_package from the core portage module | |zmedico |since the copies in portage_util can now work by importing isvalidatom from | | |portage_dep. | |3976 |Move isjustname, isspecific, dep_getkey, and dep_transform from the core | |zmedico |portage module to portage_dep. | |3977 |Move parse_updates from the core portage module to portage_update. | |zmedico | | |3978 |Move new_protect_filename from the core portage module to portage_util. | |zmedico | | |3979 |Do the portage_checksum import in local scope because of circular dependency.| |zmedico | | |3980 |Move update_config_files from the core portage module to portage_update. | |zmedico | | |3981 |Move dep_transform from the portage_dep module to portage_update. | |zmedico | | |3982 |Add a link for "Setting up your own local rsync mirror" as suggested by jkt. | |zmedico | | |3983 |Ignore hidden directories and files when updating config files. | |zmedico | | |3984 |Collapse whitespace in aux_get calls for remote binpkg metadata. See bug | |zmedico |#141279. | |3985 |Make sure that PORTAGE_BUILDDIR exists before attempting to lock it. | |zmedico |Depending on the phase, either BUILD_PREFIX or PKG_TMPDIR could be the | | |parent, so we simply use PORTAGE_BUILDDIR to cover both cases. | |3986 |Make depclean account for old-style virtuals so that it doesn't remove the | |zmedico |providers. | |3987 |Just add the providers to the protected set without bothering to check if | |zmedico |they're in the vdb. | |3988 |Use portage.best() to simplify package comparison. | |zmedico | | |3989 |Remove unused portage.match_from_list_original() function. | |zmedico | | |3990 |Move portage.best() to portage_versions. | |zmedico | | |3991 |Move best_match_to_list, match_from_list, and match_to_list from the core | |zmedico |portage module to portage_dep. | |4006 |Make xsplit() return False on failure and True on success for bug #141445. | |zmedico | | |4008 |Return a tuple from searchindex instead of a list. | |zmedico | | |4009 |Return tuples instead of lists from getboth functions and methods. | |zmedico | | |4013 |Simplify depgraph.select_dep() logic by using a list of matched packages | |zmedico |(instead of separate variables for ebuild and binary packages). | |4014 |Trigger a rebuild with --newuse when IUSE has changed for bug #116955. | |zmedico | | |4015 |For binary packages, trigger a rebuild with --newuse when IUSE has changed | |zmedico |for bug #116955. | |4016 |s/difference/symmetric_difference/ for the last two commits. | |zmedico | | |4019 |Add more dependencies to the digraph in order to help prevent strange merge | |zmedico |orders for bug #126748. | |4021 |Move the self dependency check from digraph.addnode() to depgraph.create() | |zmedico |since that's the only place it's currently needed. This patch should not | | |affect emerge behavior. | |4022 |When necessary, always print a list of missing atoms even if --verbose is not| |zmedico |enabled. Thanks to Caster for this patch from bug #141643.| |4026 |Fix unsafe deletion of a dictionary item during iteration. | |zmedico | | |4027 |Move the initial check of previously fetched files out of the locations loop | |zmedico |so that that the same code path can be used (patch to follow) when fetch is | | |restricted and there are no custom local mirrors. See bug #37455. | |4028 |Allow fetch restricted files to be fetched from custom local mirrors as per | |zmedico |bug #37455. This patch additionally allows a mirror:// uri to override fetch | | |restriction, but only for the specified mirror (or a custom local mirror). | |4029 |Ensure that that fetch restriction message is only show once in --pretend | |zmedico |mode. | |4030 |Simplify fetch failure logic. | |zmedico | | |4031 |Hide a password if a uri contains one (a custom local mirror, for example). | |zmedico |Thanks to nelchael for the patch. | |4032 |Fix ENOENT exception handler so that it only wraps the relevant stat call. | |zmedico | | |4033 |Move permissions adjustment of previously fetched files into the main fetch | |zmedico |loop. | |4034 |Move the filesystem mirrors code into the main fetch loop. | |zmedico | | |4037 |Simplify permissions adjustment after a file is fetched. | |zmedico | | |4041 |Add a --force option for `ebuild digest` so that the user doesn't have to | |zmedico |manually remove the Manifest and files/digest-* files when upstream changes | | |the identity of distfiles. See bug #141843. | |4043 |Allow a digest to be created before any distfiles have been fetched for bug | |zmedico |#141843. | |4044 |Add PKG_CONFIG_PATH to env_update incrementals for bug #105384. | |zmedico | | |4045 |Pass in the path to the base of the current tree to ensure that the correct | |zmedico |fetchlist is used when there are overlays present. | |4046 |Use the FetchlistDict to simplify code. | |zmedico | | |4047 |Make sure we doebuild uses the correct tree for fetch lists when there are | |zmedico |overlays. | |4048 |Stack /etc/profile.env inside portage.config so that it doesn't stop | |zmedico |variables in inappropriate places. See bug #51370. | |4049 |Remove pointless cvs dependent REPOROOTS code. Thanks to Alec Warner | |zmedico | for this patch. | |4050 |Catch ParseError from getconfig during env_update for bug #142157. | |zmedico | | |4051 |Add matching quote (typo from last revision). | |zmedico | | |4052 |Only ignore ENOENT in getconfig() so that more important errors don't go | |zmedico |unnoticed. | |4053 |When emerge exits to blockers, show a link to the relevant section of the | |zmedico |Gentoo Handbook. See bug #142225. | |4068 |Don't write to emerge.log when --pretend is enabled for bug #139449. | |zmedico | | |4081 |Remove dojar for bug #108517. | |zmedico | | |4083 |Remove duplicate profile.env values from the environment so that they don't | |zmedico |override updated profile.env values later (profile.env is reloaded in each | | |call to self.regenerate). See bug #51370. | |4084 |Move profile.env to the bottom of the stack so that, for example, it's | |zmedico |possible for make.conf values to override or stack incrementally with values | | |from profile.env. See bug #51370. | |4085 |Grab /etc/profile.env from the target root instead of the configroot. | |zmedico | | |4086 |Move code that updates depgraph state from select_dep() to a more appropriate| |zmedico |location in create(). This fixes a bug in $ROOT handling, where the the $ROOT| | |of the child is used where the $ROOT of the parent should have been (similar | | |to bug #108449). | |4087 |Link the full handbook since it's guaranteed to continue to work as per | |zmedico |comment #12 of bug #142225. Also, add a note about the architecture being | | |irrelevant as per comment #10. | |4089 |Remove the unnecessary "Previously fetched" portion of the disfiles checksum | |zmedico |output for bug #142271. | |4090 |Remove dojar docs for bug #108517. | |zmedico | | |4091 |Use a recursive function to simplify the walking of the profile paths. The | |zmedico |number of parent profiles is constrained to 1 but could easily be extended to| | |allow multiple inheritence. | |4112 |Expand USE_EXPAND flags earlier so that their incremental stacking behaves | |zmedico |just like it does for normal USE flags. See bug #142125. | |4113 |Instead of self.puse, use self.mycpv to return early from setcpv. | |zmedico | | |4114 |Protect USE_EXPAND flags from -* in order to preserve previous behavior which| |zmedico |has changed due to the fix for bug #142125. | |4131 |Fix STRIP_MASK logic so that a match results in stripitbaby=0. | |zmedico | | |4136 |Fix the installsources feature so that it works even with splitdebug or | |zmedico |nostrip. Thanks to Olivier Crete for this patch from bug | | |#136197. | |4150 |ignore packages that were just fetched from being added to the worldfile | |genone | | |4151 |Add support for package.use.mask in the profile. It should behave exactly as | |zmedico |use.mask currently does except that it allows USE flags to be masked for | | |specific packages rather than for all packages. See bug #96368. | |4152 |For completeness, clone self.puse and self.mycpv. | |zmedico | | |4153 |Ignore hidden files or directories in the vardbapi.cpv_all() listing. | |zmedico | | |4154 |add space before prompt | |SpankMan | | |4155 |Add additional checks for --pretend and --fetch-all-uri to ensure correct | |zmedico |behavior. See bug #140552. | |4156 |Add some docs for the installsources feature. | |zmedico | | |4157 |Add notes about nostrip and installsources to the splitdebug docs. | |zmedico | | |4159 |- emerge -pqv should display USE flags; Bug 128598 - David-John Miller, | |solar |anoyomouse@petermiller.co.za | |4174 |Add the date and time of the last sync to emerge --info output. Thanks to | |zmedico |Pablo Antonio for the patch from bug #140163. | |4175 |Allow USE_EXPAND vars to be overridden in the environment for bug #142909. | |zmedico | | |4176 |Remove unused "cladded" variable reported by antarus. | |zmedico | | |4177 |Keep USE flags from / and $ROOT separate in the depgraph. See bug #142918. | |zmedico | | |4178 |Split the USE flags calculation out of the generic incrementals loop and | |zmedico |process it separately in order to account for interaction with USE_EXPAND. | | |All USE_EXPAND environment variables are regenerated so that they are | | |consistent with the flags in USE. See bug #142909. | |4179 |Fix rsync code to work with a username@ uri for bug #141185. Thanks to | |zmedico |David-John Miller for this patch. | |4180 |Add some package.use.mask docs. | |zmedico | | |4181 |Sort the USE flags. | |zmedico | | |4182 |Cleanse stale metadata cache for binpkgs that have been removed from the | |zmedico |remote host. Thanks to André Luiz A. G. Carvalho for | | |the initial patch from bug #107453. | |4186 |Remove the dopython docs for bug #141935. | |zmedico | | |4187 |When performing expansion of USE_EXPAND variables, display warnings about | |zmedico |invalid use of incremental operators. | |4189 |fixups from Benno Schulenberg #143079 | |SpankMan | | |4191 |Remove unnecessary check for USE flags that start with "-". | |zmedico | | |4208 |Remove a dead hunk of code spotted by antarus. | |zmedico | | |4209 |Return early from global directory initialization if the current user does | |zmedico |not have write access to $ROOT. | |4210 |Force a sane umask in quickpkg for bug #143340. | |zmedico | | |4211 |Use ( -flag ) to indicate flags that have been forced off via use.mask. | |zmedico | | |4212 |Display masked USE flags as (-flag) instead of ( -flag ) to save space. | |zmedico | | |4213 |Fix stack_dictlist() so that incremental stacking behaves more like it does | |zmedico |in config.regenerate(). | |4214 |Add support for use.force and package.use.force in profiles. | |zmedico | | |4215 |Add some docs for use.force and package.use.force. | |zmedico | | |4216 |Add news about use.force. | |zmedico | | |4239 |For consistent results, sort the contents when generating the info directory | |zmedico |index. See bug #142652. | |4240 |Make stack_dictlist return an empty dictionary when there is nothing to | |zmedico |stack. See bug #143730. | |4253 |Revert most of r4086 because it broke circular bootstrap dependencies for | |zmedico |things like gwydion-dylan and ghc. Thanks to araujo for reporting the | | |breakage. | |4254 |Update the virtuals even if the package already exists in the fakedbapi since| |zmedico |it may be necessary if the package is being remerged. | |4257 |Use eval $(portageq envvar -v FOO BAR) to collapse many portageq calls into | |zmedico |1. | |4258 |Add forgotten PORTAGE_TMPDIR to the portageq call. | |zmedico | | |4267 |This is a new and improved depclean implementation. Thanks to jstubbs for | |zmedico |this patch from bug #67179. | |4270 |Add a depclean warning message, once again, because it's never completely | |zmedico |safe. | |4271 |This is a new dep_zapdeps implementation. Thanks to jstubbs for this patch | |zmedico |from bug #143908. | |4272 |Remove an unused "objsadded" variable spotted by antarus. | |zmedico | | |4283 |- record the md5 checksum of the .tbz2 used at merge time. This will become | |solar |useful to know if we should refetch a .tbz2 from a remote repo | |4306 |Make sure that portageq exits quietly when killed, like emerge does. | |zmedico | | |4308 |some INSTALL_MASK docs by compnerd | |SpankMan | | |4309 |document ROOT #144331 | |SpankMan | | |4310 |eat some extraneous newlines | |SpankMan | | |4311 |document the ability to make package. files directories in /etc/portage | |SpankMan |#144381 by Caleb Cushing | |4312 |Make depclean more friendly about unresolved atoms. Thanks to jstubbs for | |zmedico |this patch from bug #144486. | |4313 |Don't bother to lock CONFIG_MEMORY_FILE since writedict is atomic anyway. | |zmedico | | |4320 |include filename in submenu so we know exactly what we are working on | |SpankMan | | |4321 |For bug #144928, add -L to the rsync options (transform symlink into | |zmedico |referent). Thanks to Olivier Crete for this patch. | |4322 |Display flags that have been removed from IUSE as !flag% for bug #144661. | |zmedico | | |4336 |Make symlink merge output respect --quiet. Thanks to blubb for reporting. | |zmedico | | |4339 |only print the "Removing /usr/share/info" if --quiet was not passed | |blubb | | |4342 |ignore binutils wrt multilib-strict; bug 121641 | |blubb | | |4343 |remove the MULTILIB_STRICT_EXEMPT default as all profiles set it anyway | |blubb | | |4344 |Recommend `emerge --update --deep world` prior to depclean in order to make | |zmedico |sure that all dependencies are satisfied. See bug #145078. | |4345 |Add news about the new depclean algorithm. | |zmedico | | |4346 |Show the * symbol in addition to the % symbol when the flags state | |zmedico |transitions from nonexistent -> enabled or vice versa. | |4347 |Remove a redundant conditional from the last commit. | |zmedico | | |4348 |For --newuse, ignore masked/forced flags when comparing IUSE. See bug | |zmedico |#144661. | |4349 |For --newuse, ignore masked/forced flags when comparing IUSE. See bug | |zmedico |#144661. | |4350 |Display flags that have been removed from IUSE as (-flag%) instead of !flag% | |zmedico |and display newly added masked flags without the % symbol in order to avoid | | |ambiguity. See bug #144661. | |4351 |don't display useless messages when using --quiet | |blubb | | |4353 |Add a missing newline from the previous commit. | |zmedico | | |4354 |make the multilib-strict check show all files that violate the rule, not just| |blubb |the first one | |4355 |let's not fork too much | |blubb | | |4364 |fix whitespace | |SpankMan | | |4374 |Before the preinst phase, only call load_infodir for binary packages. | |zmedico |Otherwise, load_infodir will wipe settings from doebuild_environment (such as| | |CATEGORY). | |4375 |Use a specialized read_int function to read integer input for bug #143881. | |zmedico |This uses a subshell to work around bash's tendency to break out of a loop | | |whenever an integer conversion fails. | |4378 |When creating the depgraph, use the correct USE flags for packages that are | |zmedico |already installed. | |4379 |Update the depgraph's USE flag cache so that's it's consistent with installed| |zmedico |packages. | |4380 |Make code from the last 2 commits conditional on merging == 0 and | |zmedico |vardbapi.cpv_exists(mykey). | |4381 |Describe each of the USE flag symbols that are displayed in verbose mode (see| |zmedico |bug #146060). | |4382 |moving the portage-specific sandbox-code out of the ebuild-specific src_test | |blubb | | |4393 |When aux_get can't find a matching ebuild, simply raise a KeyError(cpv) and | |zmedico |don't dump redundant messages to stderr unless --debug is enabled. | |4394 |Add news about --newuse being able to detect changes in IUSE. | |zmedico | | |4395 |Move notes about --depclean and --newuse from NEWS to RELEASE-NOTES. | |zmedico | | |4396 |Don't call dict.keys() unnecessarily for the containment test in | |zmedico |dblink.isowner(). | |4400 |Since none of the code is written to handle it, never return a tuple from | |zmedico |new_protect_filename(). See bug #146289. | |4401 |Add repoman support for package.use.mask. | |zmedico | | |4402 |Move setcpv call (from the last commit) to a more logical location. | |zmedico | | |4403 |For emerge dep_check calls, use a config instance that has the correct state | |zmedico |and the correct $ROOT. | |4404 |Use a set for masklist inside dep_check. | |zmedico | | |4405 |Only apply USE masks in dep_check when called by repoman with use="all". | |zmedico | | |4406 |Revert r4403 since dep_check needs a config instance for the $ROOT where the | |zmedico |dependencies will be installed. | |4407 |Add an additional note about $ROOT and USE flag handling in dep_check. | |zmedico | | |4408 |During env_update, raise a FileNotFound exception if a file is unexpectedly | |zmedico |removed by a concurrent process. See bug #146412. | |4411 |if user has FEATURES=noauto then dont check lame .installed file | |SpankMan | | |4412 |make .compiled warning the same helpful format as .installed | |SpankMan | | |4413 |unpack rar files with -o+ to force overwriting #146508 by Paul Bredbury | |SpankMan | | |4414 |Call dep_settings.setcpv() first so that ACCEPT_KEYWORDS when setcpv calls | |zmedico |reset. The backup_changes call isn't working for some reason (reported by | | |vapier). | |4415 |Remove ACCEPT_KEYWORDS from incrementals to that a hypothetical | |zmedico |config.regenerate() call won't affect it. | |4416 |Allow env_update to work if there are broken symlinks in /etc/env.d/. See bug| |zmedico |#146412. | |4417 |Properly lock the critical section of portage.unmerge() for bug #101240. | |zmedico | | |4418 |Document that dblink.unmerge() does not perform locking internally. | |zmedico | | |4419 |For bug #146564, include directories in packages created by quickpkg. Note | |zmedico |that tar's --no-recursion option causes the directories to be selectively | | |included without nessarily including their contents. | |4420 |Optimize quickpkg so that it creates the binary package directly in | |zmedico |$PKGDIR/All. This eliminates the need for tbz2tool and is the same approach | | |used by the package phase in misc-functions.sh. | |4421 |Make sure that the package phase has the PYTHONPATH set correctly so that the| |zmedico |xpak module is accessible. | |4422 |Condense a few portageq calls into one. | |zmedico | | |4423 |Substitute isolated-functions.sh in place of /sbin/functions.sh. | |zmedico | | |4424 |Make quickpkg respect PORTAGE_NICENESS. | |zmedico | | |4425 |Add PORTAGE_DEPCACHEDIR to SANDBOX_PREDICT since it's legitimate for portageq| |zmedico |calls to trigger cache writes. See bug #144011. | |4429 |Include a note about RESTRICT="fetch" in docs for local mirrors (see bug | |zmedico |#37455). Thanks to Carlo for reporting. | |4430 |In dblink.isowner(), correct the logic to test the path itself (via lstat) | |zmedico |rather than the referant in the case of symlinks. | |4431 |For bug #80846, prevent false collisions caused by symlinks. Thanks to Thomas| |zmedico |Bettler for the initial patch. | |4432 |diff for superh | |SpankMan | | |4433 |Fix a broken call to new_protect_filename for bug #147010. This is a | |zmedico |regression from r4400 (fix for bug #146289). | |4434 |Add KDEDIRS to colon_separated env-update vars as requested by Carlo. | |zmedico | | |4441 |For correct LINGUAS handling, don't export empty USE_EXPAND variables unless | |zmedico |the user config exports them as empty. Thanks to Harald van Dijk | | | for this patch from bug #147428. | |4442 |Use configdict["env"].clear() instead of manual deletion because the result | |zmedico |is the same and it's much more efficient. | |4443 |note that you need to use an absolute path for ROOT #147427 by Brad Plant | |SpankMan | | |4446 |In unhardlink_lockfile(), make sure not to touch lockfilename unless we | |zmedico |really have a lock. See bug #147453. | |4447 |Remove all traces of atexit hardlock cleanup code, since it doesn't work | |zmedico |correctly anyway. | |4448 |Simplify portage_locks.hardlink_is_mine() so that it only checks the number | |zmedico |of links. Nothing more is needed. | |4449 |Remove an unused hardlink_active() function. | |zmedico | | |4450 |Simplify the confmem logic so that it's easier to read. | |zmedico | | |4451 |Move all env.d file name filtering into a single loop. | |zmedico | | |4452 |Add support for SPACE_SEPARATED and COLON_SEPARATED in /etc/env.d/ so that | |zmedico |hard coded values are not required. | |4453 |When it's detected that a previously remembered update has been accepted, | |zmedico |remove it from confmem. | |4458 |For bug #14321, add support for individual files in CONFIG_PROTECT and | |zmedico |CONFIG_PROTECT_MASK. | |4459 |For bug #14321, make emerge scan for individual files listed in | |zmedico |CONFIG_PROTECT. | |4460 |For bug #14321, make etc-update scan for individual files listed in | |zmedico |CONFIG_PROTECT. | |4461 |For bug #14321, make dispatch-conf scan for individual files listed in | |zmedico |CONFIG_PROTECT. | |4462 |Add CATEGORY to the list of readonly variables. | |zmedico | | |4463 |document FEATURES=buildsyspkg #147729 | |SpankMan | | |4464 |In portage.commit_mtimedb(), use the commit() method when possible, so that | |zmedico |the mtimedb is only rewritten when it has been modified. | |4467 |Reimplement parallel-fetch so that it simply spawns `emerge --fetch --resume`| |zmedico |via portage_exec.spawn. This prevents potential issues with shared file | | |descriptors and unsafe forks as discussed in bug #147516. This patch makes | | |sure that the spawned emerge process does not write to emerge.log or the | | |mtimedb. | |4468 |Use mtimedb.filename == None to disable mtimedb writes (instead of | |zmedico |/dev/null). | |4469 |Close the parallel-fetch log file descriptor when it's no longer needed. | |zmedico | | |4470 |Replace relative imports with absolute imports for forward compatibility with| |zmedico |python 2.6. | |4471 |Ensure that the parent process gets the first fetch when parallel-fetch is | |zmedico |enabled. | |4472 |Thanks to Jason Stubbs for this patch from bug #147766 which enables creation| |zmedico |of a full and complete depgraph, leaving no dependencies unaccounted for. | | |This will allow more accurate merge order and proper detection of circular | | |dependencies! | |4473 |Thanks again to Jason Stubbs for this patch from bug #147766 which represents| |zmedico |PDEPEND relationships withing the depgraph as reverse soft dependencies. | |4474 |Idendify soft deps in emerge --debug output. | |zmedico | | |4475 |Allow packages matched by something in package.provided to be explicitly | |zmedico |merged by the user. | |4476 |Turn off file name globbing during expansion of ${find_opts} for bug #148115.| |zmedico | | |4477 |Fix digraph.debug_print inverted hard/soft logic. | |zmedico | | |4478 |Fix fetch resume logic for bug #145601 and document the meaning of the | |zmedico |"fetched" variable. | |4479 |This is a new --tree implementation by Jason Stubbs, from bug #147766. | |zmedico | | |4480 |Properly close the caches before reloading portage. | |zmedico | | |4481 |Fix digraph.hasallzeros() breakage. | |zmedico | | |4482 |For consistency, pass ignore_soft_deps into digraph.hasallzeros(). | |zmedico | | |4483 |Make portageq exit with nonzero status when called incorrectly. | |zmedico | | |4484 |Make portageq exit successfully for -h or --help. | |zmedico | | |4485 |As suggested by vapier, send emerge -fp output to stdout and make it work | |zmedico |together with --quiet. | |4486 |Thanks to Jason Stubbs for this patch from bug #16365 which invalidates any | |zmedico |blocker that is made irrelevant by a package upgrade. | |4487 |Fix depgraph.validate_blockers() logic so that match_from_list works | |zmedico |correctly. | |4488 |Add a docstring for depgraph.validate_blockers(). | |zmedico | | |4489 |Remove an inaccurate comment. | |zmedico | | |4490 |Add a comment about old-style virtuals inside depgraph.validate_blockers(). | |zmedico | | |4491 |Prevent an IndexError caused by blocker nodes splitting to 3 items instead of| |zmedico |4. | |4492 |Prevent --update and/or --deep style behavior when the user hasn't specified | |zmedico |them. In these cases a full depgraph isn't desired and we have to ignore the | | |installed deps that are now returned from dep_check. | |4493 |Fix another IndexError due to an assumption that digraph nodes split into at | |zmedico |least 4 parts. | |4494 |Allow packages specified on the command line to be retroactively upgraded | |zmedico |from "nomerge" to "merge" nodes. | |4495 |use EBUILD_SH_ARGS instead of $*; bug 148615 | |blubb | | |4496 |Revert r4495, since conversion from nomerge to merge may put the depgraph | |zmedico |into an inconsistent state du to USE flag mismatch. This can be solved by | | |checking all args prior to marking packages as nomerge. | |4498 |Allow cache.sqlite to use sqlite3 from python-2.5, if available. | |zmedico | | |4499 |Convert stat timestamps to long for compatibility with python-2.5, which | |zmedico |returns floats for timestamps. | |4500 |For compatibility with float timestamps in python-2.5, convert st_mtime | |zmedico |attributes to long wherever portage expects 1s resolution. | |4501 |Use fstat to when retrieve cache timestamps and avoid a race. | |zmedico | | |4502 |Improve and simplify __getitem__ error handling. | |zmedico | | |4503 |Don't use LazyLoad for cache pulls because it causes a race condition. | |zmedico | | |4504 |Use finally: to ensure that the file is closed properly. | |zmedico | | |4505 |Make it possible, once again, to use --noreplace to add a package to the | |zmedico |world file. | |4506 |Move the open call out of the inner try block. | |zmedico | | |4507 |Ensure that soft_dep is a plain boolean (not vardb match results). | |zmedico | | |4508 |Never allow packages explicitly requested on the command line to be tagged | |zmedico |"nomerge" unless --noreplace has been specified. This patch accomplishes the | | |same goal as r4494 but without the potential for causing inconsistency in the| | |depgraph. | |4509 |Pass in the correct arg= value to select_dep. | |zmedico | | |4510 |Move PORTAGE_LOG_FILE initialization from doebuild to prepare_build_dirs. | |zmedico | | |4511 |Remove outdated "Unable to run required binary" messages that are now | |zmedico |unreachable. | |4512 |Move PORTAGE_BUILDDIR locking out of doebuild and into emerge in order to | |zmedico |ensure that emerge maintains it's lock through all phases. | |4513 |Always check the return value of doebuild_environment(). | |zmedico | | |4514 |Lock PORTAGE_BUILDDIR all the way through prerm, unmerge, and postrm. | |zmedico | | |4515 |Only lock PORTAGE_BUILDDIR if the ebuild exists (otherwise we don't run prerm| |zmedico |and postrm). | |4516 |Make doebuild_environment raise an exception so that we never have to check | |zmedico |the return value. | |4518 |Remove doebuild_environment return value checks since it no raises and | |zmedico |exception if necessary. | |4519 |Remove pkgmerge since it's apparent that nobody uses it (it's been broken for| |zmedico |a long time, anyway). | |4520 |Fix portage.pkgmerge() so that it locks files and directories when in use. | |zmedico | | |4521 |Use the same directories for binary package merges as would be used for | |zmedico |source based merges (since the normal PORTAGE_BUILDDIR is already used by the| | |setup, preinst, and postinst phases anyway). | |4522 |In order to ensure correct merge order such that build time dependencies will| |zmedico |really be usable, don't treat RDEPEND as soft_deps. Thanks for Jason Stubbs | | |for recognizing this issue. | |4523 |Remove depgraph params for depclean since it no longer uses the depgraph. | |zmedico | | |4524 |Clean up and simplify depgraph params logic. This fixes bug #148893. | |zmedico | | |4525 |For bug #149028, don't lock the tbz2 file because the filesytem could be | |zmedico |readonly or shared by a cluster. | |4526 |print errors to stderr, not stdout | |SpankMan | | |4527 |Make `emerge world` (without --deep) work as expected for bug #149092. | |zmedico | | |4528 |Check the dep_check return value and fail with a message if an error has | |zmedico |occurred. | |4529 |Clean up the logic a little for bug #149092. | |zmedico | | |4530 |Add a warning about the portage group and the possiblility of exploits for | |zmedico |bug #149062. | |4539 |Add SLOT support to fakedbapi then use it for depgraph blocker handling and | |zmedico |dep_zapdeps preference selection. | |4540 |Make sure that all packages are in the dbapi when doing the blocker | |zmedico |validation. | |4541 |Fix --update so that it updates direct dependencies for bug #149208. | |zmedico | | |4542 |Revert dep_zapdeps fakedbapi usage as per comment #31 on bug #147766. | |zmedico | | |4543 |In dep_zapdeps preference selection, use package names instead of the real | |zmedico |atoms for an initial rough match against installed packages. More specific | | |preference selection is handled later via slot and version comparison. Thanks| | |to Jason Stubbs for this patch from bug #147766. | |4545 |Catch a ValueError caused by corrupt cache for bug #149134. | |zmedico | | |4546 |Convert emerge option parsing to use python's optparse module. This patch | |zmedico |makes the minimum changes necessary for the conversion and is supposed to be | | |100% compatible with previous parsing behavior. | |4547 |Convert myopts into a dictionary so that it can be used for more that boolean| |zmedico |flags. | |4548 |Add a --with-bdeps=[y,n] option for bug #148870. | |zmedico | | |4549 |Add missing calls to iteritems() from the last commit. | |zmedico | | |4550 |Store myopts in the mtimedb as a list for backward compatibility. | |zmedico | | |4551 |Use dict.pop(k, None) to delete items if they exist. | |zmedico | | |4552 |Remove some unreachable code. | |zmedico | | |4553 |Properly treat myopts as a dict. | |zmedico | | |4554 |Call sys.stdout.flush() after print statements so that output has the correct| |zmedico |order when multiple processes output to a shared pipe. | |4555 |Fix inverted --with-bdeps logic. | |zmedico | | |4556 |Fix broken [ -z "" ] test. Thanks to Volkov Peter for this | |zmedico |patch from bug #149494. | |4557 |Fix quoting of ${D} in make arguments for einstall(). Thanks to Volkov Peter | |zmedico | for this patch from bug #149494. | |4558 |Allow env.d file names with 3 characters. This is a regression from r4451. | |zmedico | | |4559 |Move installed sources into ${CATEGORY} subdirectories in order to prevent | |zmedico |collisions for bug #149491. | |4560 |Allow options contained in EMERGE_DEFAULT_OPTS to be overridden by the real | |zmedico |command line options. | |4561 |Document the new --with-bdeps option. | |zmedico | | |4562 |For bug #149412, add a COLLISION_IGNORE user config option that behaves | |zmedico |similar to CONFIG_PROTECT_MASK, but for collision-protect. | |4563 |Document the new COLLISION_IGNORE variable. | |zmedico | | |4564 |Update installsources docs for bug #149491. | |zmedico | | |4565 |Update CONFIG_PROTECT docs to reflect that files are now supported. | |zmedico | | |4566 |Don't try to match call best_match_to_list() on "blocks" nodes for bug | |zmedico |#149576. | |4567 |Emulate old --update world/system behavior for bug #149527. | |zmedico | | |4568 |Fix misspelling of dependencies for bug #149645. | |zmedico | | |4570 |For bug #149781, exclude symlinks to directories when creating binary package| |zmedico |with quickpkg. | |4571 |Add medium priority level into the digraph (in addition to the existing hard | |zmedico |and | |4572 |Fix depgraph.altlist() so that it can identify a group of nodes that | |zmedico |completely satisfy eachothers non-soft deps. This should complete the fix for| | |bug #149881. | |4573 |Remove unnecessary set creation. | |zmedico | | |4574 |Optimize varexpand for bug #149900. | |zmedico | | |4575 |Fix priority logic in digraph.add(). | |zmedico | | |4576 |In depgraph.altlist(), use a recursive fuction to gather groups of nodes that| |zmedico |RDEPEND on eachother. | |4577 |Remove a len(nodes) == 1 test that's never True. | |zmedico | | |4578 |Refector depgraph.altlist() reverse/ignore_priority handling. | |zmedico | | |4579 |Add a digraph.NONE constant to represent no priority. | |zmedico | | |4580 |Print a message about make.globals if PORTDIR is undefined. | |zmedico | | |4581 |Use 755 permissions for ${PORTAGE_WORKDIR}/distdir (bug #149062). | |zmedico | | |4582 |Use 01775 permissions for subdirectories of PORTAGE_TMPDIR, and 0755 | |zmedico |permissions for other directories (bug #149062). | |4583 |For userpriv support, chown files in ${T} if necessary after priveleged | |zmedico |phases. | |4584 |Don't set the gid unnecessarily on $PORTAGE_BUILDDIR/distdir. | |zmedico | | |4585 |Make PORTAGE_BUILDDIR and subdirectories group writable for now (reverts some| |zmedico |of the changes from bug #149062). One major problem is that the first phase | | |(setup) is often run as root. We need a way to tell portage about a less | | |privileged user that may need to be given permission on files and | | |directories. | |4586 |When gathering a group of nodes to merge (with circular RDEPEND), make sure | |zmedico |not to prematurely merge any nodes that have unsatisfied hard deps. | |4587 |Remove redundant PORTAGE_BUILDDIR creation. | |zmedico | | |4588 |Properly write all fifo and device nodes to CONTENTS for bug #144781. Code to| |zmedico |parse these entries has already in place and they are never unmerged. | |4589 |Don't apply the sticky bits until we have a complete plan for bug #149062. | |zmedico | | |4590 |Fix a typo for the file mode in ${T}. | |zmedico | | |4591 |Don't create /cvs-src since the cvs.eclass will do that automatically. | |zmedico | | |4593 |Share duplicate code between dep_getkey() and dep_getcpv(). | |zmedico | | |4594 |Add support for slot based dep matching in all dbapi derived classes. The | |zmedico |supported syntax is ${CATEGORY}/${PN}:${SLOT} (identical to that used by | | |paludis and pkgcore). | |4595 |For bug #4698, use slot deps to ensure that all installed slots are | |zmedico |automatically updated. | |4596 |Just use a simple replace for the needlessly complex dep_transform function. | |zmedico |This will make it compatible with slot deps. | |4597 |Fix package moves/slotmoves to work with slot deps. | |zmedico | | |4598 |Improve best_match_to_list() and include support for slot deps. | |zmedico | | |4599 |Add news about slot deps. | |zmedico | | |4600 |For bug #150178, print an error message when emerge is called with both | |zmedico |--config and --pretend. | |4601 |For bug #150163, remove unnecessary validation of new_protect_filename() | |zmedico |parameters. | |4602 |For bug #14215, put the shlex parser in posix mode so that it properly | |zmedico |recognizes escaped quotes. | |4603 |Don't call varexpand inside getconfig for env.d/profile.env values. | |zmedico | | |4604 |Make repoman generate a syntax error if a slot dep is used with EAPI == 0. | |zmedico | | |4605 |For bug #48195, fall back to the installed packages when there are no other | |zmedico |choices. Global updates are automatically performed on *DEPEND if necessary | | |in order to clean up stale atoms (we do single packages as necessary because | | |it's too time consuming to do the whole vdb at once). | |4606 |Reject installed packages if they have a matching masked ebuild in the tree. | |zmedico | | |4607 |In update_dbentries(), use != rather than "is not" to make sure that updates | |zmedico |never occur unnecessarily. | |4608 |Delete some temporary variables after use. | |zmedico | | |4609 |Add news about major bug fixes in 2.1.2. | |zmedico | | |4610 |Add a release note about --with-bdeps. | |zmedico | | |4611 |Add a heading for portage-2.1.2. | |zmedico | | |4612 |Fix package type assumptions in depgraph.display() for bug #150359. | |zmedico | | |4613 |Remove redunant quotes for bug #150381. This change is related to the shlex | |zmedico |posix mode used to fix bug #14215. | |4614 |Remove redundant quotes from PORTAGE_RSYNC_OPTS. | |zmedico | | |4615 |For bug #150377, make virtual preferences in a profile override the | |zmedico |preferences of parent profiles. | |4616 |Stack negative user virtuals in the correct order for incremental behavior. | |zmedico | | |4617 |Fix dep_transform breakage (regression from r4596). | |zmedico | | |4618 |For bug #140021, remove autoaddcvs from the docs. Thanks to exg for this | |zmedico |patch. | |4619 |Make system/world less greedy for bug #150251. | |zmedico | | |4620 |Fix another bad package type assumption in depgraph.display(). | |zmedico | | |4621 |For bug #150361, implement greedy matching of command line atoms against | |zmedico |relevant installed slots. This patch allows a subset of installed slots to be| | |pulled in via operators such as > or <. | |4622 |Make the merge phase automatically invalidate the | |zmedico |${PORTAGE_BUILDDIR}/.installed flag since it may move files out of the image | | |directory. | |4623 |Make the .installed invalidation conditional on srcroot and destroot being | |zmedico |located on the same filesystem (st_dev). | |4624 |Clean up depgraph.select_files() to use one list of tuples instead 2 separate| |zmedico |lists. | |4625 |Remove the single parent constraint in profiles. | |zmedico | | |4626 |Remove use.default documentation since we don't use it anymore. Thanks to | |zmedico |Arfrever Frehtes Taifersar Arahesis for this patch from bug #149608. | |4627 |Remove one more reference to use.defaults. | |zmedico | | |4628 |Generate the depgraph.args_keys list _before_ building the graph. | |zmedico | | |4629 |Add news about multiple inheritance support in profiles. | |zmedico | | |4630 |For repoman, hide the vardbapi from dep_zapdeps. | |zmedico | | |4631 |Use a local_config flag to replace PORTAGE_CALLER == repoman conditionals. | |zmedico | | |4632 |Remove unused PORTAGE_CALLER=emerge from the environment. | |zmedico | | |4633 |Remove unused PORTAGE_CALLER=portageq from the environment. | |zmedico | | |4636 |Fix typo s/upper/lower/. | |zmedico | | |4637 |Remove unnecessary config.reset() calls in portage.create_trees(). | |zmedico | | |4638 |Catch UnpicklingError when loading the mtimedb (reported by marienz). | |zmedico | | |4639 |Remove outdated mention of --update in the --deep docs. | |zmedico | | |4640 |Document greedy atoms for the --update option. | |zmedico | | |4641 |Make --newuse not imply --update anymore because that restriction is | |zmedico |unnecessary. | |4642 |Make --tree not imply --pretend anymore so that people can put it in | |zmedico |EMERGE_DEFAULT_OPTS. | |4643 |Avoid unnecessary population of the bintree by populating it as late as | |zmedico |possible. | |4644 |Simplify the needlessly complex virtuals preferencing logic that lead to bug | |zmedico |#150377. | |4645 |Add $ROOT and $PORTAGE_CONFIGROOT support for etc-update. Thanks to Jonathan | |zmedico |Adamczewski for this patch from bug #150370. | |4646 |Print a more useful error message for bug #150488. | |zmedico | | |4647 |Only do a slotmove on a slot dep atom if the slotmove atom has no operator | |zmedico |(otherwise there's not enough information to perform the slotmove). | |4648 |Only unlink .installed after the collision-protect has completed successfully| |zmedico |(reported by axxo). | |4649 |Fix breakage in generation of favorites list for bug #150754. | |zmedico | | |4650 |Remove an unnecessary assumption preventing the use of CVS for an overlay. | |zmedico | | |4651 |Don't lock repoman_settings because it needs to be mutable. | |zmedico | | |4652 |Add more self.modifying() checks in order to detect modifcations to locked | |zmedico |config objects. | |4653 |do not abort for the time being with lazy bindings and setuid apps and | |SpankMan |FEATURES=stricter | |4654 |Move PORTAGE_BUILDDIR in to a category subdirectory and clean up the category| |zmedico |directory if empty (while holding lock). This this will help avoid | | |PORTAGE_BUILDDIR collisions for parallel builds and will also hack around bug| | |#150454. | |4655 |For bug #150121, generate an error in digestcheck() if a file is found that | |zmedico |is not listed in the Manifest. | |4656 |Make manifest2AuxfileFilter() slightly more efficient and also ignore any | |zmedico |hidden files. | |4657 |disable path globbing when creating metadata keys; bug 150866; thanks to | |blubb |brian harring for the patch | |4658 |Use grabfile instead of cat to display the gentoo-release file. | |zmedico | | |4659 |Append PORTAGE_RSYNC_EXTRA_OPTS after the default options for bug #150883. | |zmedico | | |4660 |Use -e instead of -a for better cross-shell compatibility. Thanks to exg. | |zmedico | | |4661 |Use contents to avoid unnecessary ldconfig calls for bug #136488. | |zmedico | | |4662 |Make an mtime change force an ldconfig run, since it's possible that | |zmedico |pre/postinst made changes in lib dirs (noted by Brian Harring). | |4663 |Escape quotes for bug #150932. | |zmedico | | |4664 |Fix the new env-update lib dirs logic to properly account for $ROOT. | |zmedico | | |4675 |For bug #151238, fix --with-bdeps logic so that it works correctly with | |zmedico |--onlydeps. | |4676 |For bug #151146, don't use tar's --verbose option during the package phase | |zmedico |since it doesn't work the same way anymore in tar-1.15.92 (new args have been| | |tested with both gnu tar-1.15.92 and bsdtar-1.3.1-r1). | |4677 |Always `unset DEPEND RDEPEND PDEPEND IUSE` prior to sourcing the ebuild in | |zmedico |order to ensure correct interaction during the process of sourcing. Thanks to| | |exg for reporting this issue. | |4678 |For bug #151082, don't allow installed packages to inappropriately satisfy | |zmedico |packages that have been explicitly requested as arguments. | |4679 |Implement per-package default USE flags at the ebuild and profile levels for | |zmedico |bug #61732. | |4683 |Fix a KeyError triggered by blockers in depgraph.display() for bug #151331. | |zmedico | | |4697 |Fix the USE flag handling in depgraph.display() for bug #151331, comment #5. | |zmedico | | |4698 |This patch implements intelligent navigation around blockers in cases where | |zmedico |the merge order can be adjusted (via hard deps) such that two mutually | | |blocking packages aren't installed simultanously. This fixes bug #150879. | |4699 |Fix display of nomerge nodes and --tree for ROOT!=/. | |zmedico | | |4700 |Disable the ECLASS inherited illegally message during *rm phases since it | |zmedico |gives false alarms (bug #150442). | |4701 |Use globing to match *rm phases from the last commit. | |zmedico | | |4704 |Simplify binarytree.getname(). | |zmedico | | |4708 |Add a missing method parameter. | |zmedico | | |4712 |Trigger binarytree population on bindbapi.cpv_all() calls. | |zmedico | | |4718 |Make grabdict incremental, so that keys occuring multiple times will stack up| |zmedico |instead of overwritting eachother. Thanks to Sven Wegener for this | | |suggestion. | |4719 |Simplify and optimize grabdict. Thanks to Brian Harring for suggesting this. | |zmedico | | |4722 |For bug #133908, prevent collisions in ${PKGDIR}/All/ by automatically | |zmedico |bumping colliding packages to ${PKGDIR}/${CATEGORY}/ just before a collision | | |would occur. Newly built packages are always stored in ${PKGDIR}/All/, should| | |this be 100% compatible with previous behavior. | |4724 |add make.conf diff for sparc-fbsd arch (from Uberlord) | |genone | | |4726 |When unable to navigate around blockers, add them back to the main digraph so| |zmedico |that the --tree display can show them properly. This fixes the KeyError | | |reported in comment #15 of bug #151331 | |4728 |Remove blocker nodes from the digraph prior to the merge order calculation so| |zmedico |that they don't trigger false circular dependencies as reported in comment | | |#17 of bug #151331. | |4729 |Blockers that depend on merge order must be validated by | |zmedico |depgraph.altlist(reversed=False) before the reverse tree is generated, since | | |the validation won't work in reverse mode. | |4730 |Fix altlist blocker validation logic so that the correct nodes are added to | |zmedico |the list when called in reverse mode. | |4731 |Always add blockers with priority=digraph.SOFT so that blockers with multiple| |zmedico |parents can't trigger a circular deps panick. | |4732 |Make --depclean treat DEPEND as soft deps instead of forcing the user to have| |zmedico |all build time deps installed. | |4733 |Use setdefault to avoid an extra dict lookup. | |zmedico | | |4734 |Merge package.use and USE from make.defaults together at each level of the | |zmedico |profile stack. This is analogous to how use.mask and package.use.mask are | | |planned to be merged for bug #151586. | |4735 |Stack use.mask/package.use.mask together at each level of the profile for bug| |zmedico |#151586, and do the same with use.force/package.use.force. | |4736 |Add -* support to stack_lists() and use dict.pop() for removal of flags when | |zmedico |appropriate. | |4737 |Add back the -v option for tar (removed for bug #151146) in dyn_package(), | |zmedico |but don't enable -v when --quiet is enabled. | |4738 |Encapsulate altlist calls (for blockers that depend on merge order) in | |zmedico |validate_blockers(). | |4741 |Filter empty elements in cumulative env-update variables. Thanks to Brian | |zmedico |Harring for this patch from bug #151694. | |4742 |Fix CONFIG_PROTECT so that is works with symlinked directories for bug | |zmedico |#151502. | |4743 |Make empty digest-* files 0 bytes instead of 1 byte. Thanks to Sven Wegener | |zmedico |for reporting this. | |4744 |Eliminate an unnecessary string concatenation. | |zmedico | | |4745 |Add more dependency priority levels for merge order calculations. Previously,| |zmedico |all installed deps were categorized at the same level with other soft deps. | | |Now there are 3 priority levels for soft deps: satisfied buildtime, satisfied| | |runtime, and other. | |4746 |Fix a typo in xrange arguments from the previous commit. | |zmedico | | |4747 |Remove the unused system slot from DepPriority. | |zmedico | | |4748 |Fix --usepkg --newuse logic so that it doesn't throw a KeyError if there's no| |zmedico |matching ebuild in the tree. | |4749 |Add __weakref__ to __slots__ so that weakref support isn't disabled. | |zmedico | | |4750 |Don't initialize __weakref__ in the DepPriority constructor. | |zmedico | | |4751 |All packages to be added to the world favorites via --noreplace, even when | |zmedico |--ask is enabled. Thanks to leio for reporting this issue. | |4752 |Explicitly set the priority when a node is added to enforce merge order for | |zmedico |blocker avoidance. | |4753 |Handle unresolvable blockers properly for bug #151822. | |zmedico | | |4756 |s/digraph.MEDIUM/DepPriority.MEDIUM/ | |zmedico | | |4759 |Only call altlist() to validate blockers when necessary. | |zmedico | | |4760 |For userpriv, call setgroups with all groups that the portage user belongs to| |zmedico |(bug #137610). | |4761 |Remove special case of --emptytree in depgraph.display(). Thanks to Jason | |zmedico |Stubbs for this patch from bug #152030. | |4762 |Make dosed use sed -i instead of a temp file. Thanks to Tim Cera for this | |zmedico |patch from bug #152017. | |4763 |Fix sed options from the previous commit so that it doesn't create a backup | |zmedico |file ending with "e". Thanks to grobian for spotting this issue. | |4766 |Clean up the blocker validation logic so that "blocks" nodes are no longer | |zmedico |stored in the main digraph. | |4769 |We there is a circular deps panic in reversed mode, do the circular deps | |zmedico |output without reversed mode since it should reduce the noise level. | |4771 |Allow an empty PROMPT_COMMAND for bug #152157. | |zmedico | | |4772 |For bug #152175, trigger greedy --update behavior when an atom matches a slot| |zmedico |that isn't installed yet. | |4773 |Apply the fix for bug #152175 to system/world greedy behavior. | |zmedico | | |4774 |In greedy atom handlink, filter binary package for visiblity. | |zmedico | | |4775 |More filtering binary package for visiblity in greedy atom handling. | |zmedico | | |4776 |Add nodes to the fakedb in depgraph.create instead of depgraph.select_deps. | |zmedico |It used to be in select_deps only for the case of packages that depend on | | |themselves for bootstrap, but that hack isn't needed anymore because | | |dep_check returns all deps now. | |4777 |Update the docs regarding delay of config.setinst calls for bootstrap deps on| |zmedico |old-style virtuals. | |4778 |Remove redunant population of the fakedb in depgraph.validate_blockers, since| |zmedico |r4776 makes it unnecessary. | |4779 |Add news about new-style virtuals being usable for bootstrap deps on self. | |zmedico | | |4780 |Add package.use to the list of files supported in profiles. | |zmedico | | |4781 |Add news about package.use in profiles and default USE in ebuilds via +flag | |zmedico |in IUSE. | |4782 |For bug #152157, don't send a redundant escape sequence with | |zmedico |${PROMPT_COMMAND}. | |4783 |Also check keyword visibility via gvisible. | |zmedico | | |4786 |Optimize config.setcpv so that it only calls regenerate when necessary. | |zmedico |Thanks to Jason Stubbs for the initial patch from bug #17367. | |4787 |Use reset instead of regenerate (revert part of the previous commit) in order| |zmedico |to properly clear the env layer of the config. | |4788 |Fix visibility checks so that binary packages aren't masked just because | |zmedico |there is no matching ebuild in the tree. | |4789 |Call load_infodir before the setup phase for binary packages so that USE is | |zmedico |properly set. | |4790 |Don't put empty incrementals in the environment. | |zmedico | | |4791 |Do put empty incrementals in the environment if they are already set. | |zmedico | | |4792 |Add support for masking of packages via ACCEPT_LICENSE and | |zmedico |/etc/portage/package.license. Thanks to Jason Stubbs for the initial patch | | |from bug #17367. | |4793 |s/str_matches/acceptable_licenses/ typo | |zmedico | | |4794 |Fix gcc version parsing once again for bug #137786. sigh. :) | |zmedico | | |4797 |Add some ACCEPT_LICENSE docs. | |zmedico | | |4798 |Put the package.keywords docs in alphabetical order with the others. | |zmedico | | |4799 |Add some package.license docs. | |zmedico | | |4800 |Add news about ACCEPT_LICENSE and package.license. | |zmedico | | |4801 |Make config.load_infodir also load the data into the env layer in order to | |zmedico |ensure that it has preference over what may have been there. | |4802 |Don't limit the size of USE in config.load_infodir. | |zmedico | | |4803 |Add package.license to the list of files. | |zmedico | | |4804 |Don't put -* in the env layer, since that layer isn't part of the incremental| |zmedico |stacking in regenerate. | |4805 |In getmaskingstatus(), add missing check for * in acceptable_licenses. | |zmedico | | |4806 |Don't display the "Please update portage" message in --quiet mode. Thanks to | |zmedico |solar. | |4807 |Remove paths from _eclasses_ serialization in the cache. This makes the | |zmedico |mtimes of the eclasses the only thing that distinguishes them, but the | | |probablility of collision is negligible. This same _eclasses_ format will be | | |used to serialize eclass mtimes in cache that is distributed via the rsync | | |mirrors. The deserialization code can handle mixtures of both the old and new| | |formats. | |4808 |Enable recognition of _mtime_ that doesn't rely on cache mtime mangling. | |zmedico | | |4809 |Add ACCEPT_LICENSE back to incrementals so that profiles can affect it. | |zmedico | | |4810 |Disable ACCEPT_LICENSE support until the details of license groups are | |zmedico |decided and implemented. | |4813 |Remove ACCEPT_LICENSE docs until they're really implemented. | |zmedico | | |4814 |Improve reconstruct_eclasses error handling. | |zmedico | | |4815 |For the time being, write a variation of the old _eclass_ format so that | |zmedico |cache written only forces a regen for older versions of portage rather than a| | |ValueError due to failed long() conversion. | |4817 |For bug #152726, ignore hidden files in vardbapi.cp_list(). | |zmedico | | |4818 |For full compatibility with older versions of portage, write the path in the | |zmedico |serialized _eclasses_ when possible. | |4819 |Fix broken is_eclass_data_valid comparison logic. | |zmedico | | |4820 |Test for basestring instead of types.DictType so that the test more generic. | |zmedico | | |4821 |Reverse the relationship between __contains__ and has_key in all cache | |zmedico |classes since python handles the "in" operator more efficiently than a | | |has_key method call. | |4822 |streamline portage pythonpath handling and add an override analog to how the | |genone |bash side does it | |4823 |rename getmaskingreason() to getpmaskcomment() to clarify its function, | |genone |report each license as a separate mask instead of combining them all together| | |into a single value for getmaskingstatus() | |4824 |need a mutable config instance to use setcpv | |genone | | |4826 |add function getlicensetexts() to extract license texts relevant to a given | |genone |cpv (to be used by emerge masked by display) | |4827 |show licenses or pointer to license files on 'masked by' message | |genone | | |4828 |show licenses or pointer to license files on 'masked by' message | |genone | | |4848 |Do not pass the "clean" parameter to doebuild since it causes ${T} to be | |zmedico |cleaned up when it shouldn't be. Thanks to Mr_Bones_ for reporting. | |4850 |Don't bother to insert /usr/lib/portage/pym into sys.path from inside a | |zmedico |module. That's the caller's job. | |4851 |Add --with-bdeps to emerge --help output. | |zmedico | | |4852 |Update help for --deep. | |zmedico | | |4853 |Update help for greedy behavior of --update. | |zmedico | | |4855 |Add backward compatibility code for cache modules that override has_key | |zmedico |instead of __contains__. | |4858 |Avoid a TypeError with emerge -kN when there's no matching ebuild. | |zmedico | | |4863 |Use mtree to save/restore bsd file flags before/after prepall and | |zmedico |installation. Thanks to Diego Pettenò for this patch (related to bug | | |#153109). | |4867 |Prevent an attribute error AttributeError for invalid binary packages for | |zmedico |which there is no CATEGORY data. | |4869 |Don't forget to continue for invalid binpkgs. | |zmedico | | |4872 |Use a tuple for __slots__ so that it's immutable. | |zmedico | | |4877 |For bug #153295, do a sanity check for non-string types in config.environ(). | |zmedico | | |4879 |For getmaskingstatus messages, don't assume ARCH is a valid keyword, since | |zmedico |that assumption is not necessarily correct for operating systems other than | | |Linux. Thanks to Diego Pettenò for reporting. | |4881 |Just use stat instead of lstat for config protect, so that broken symlinks | |zmedico |are just ignored. | |4884 |Rely on PYTHONPATH instead of PORTAGE_PYM_PATH for locating portage's python | |zmedico |modules, then fall back to an explicit sys.path insertion if an ImportError | | |occurs. | |4885 |Fix a KeyError when the profile doesn't define default USE. | |zmedico | | |4887 |Add support for frozen config files for which updates are automatically | |zmedico |zapped. Thanks to Bo Ørsted Andresen for the initial patch from bug #151685.| |4889 |recommend people use `emake` rather than `make` when installing with DESTDIR | |SpankMan | | |4893 |For bug #153295, make load_infodir ignore files that contain null bytes. | |zmedico | | |4899 |For bug #153282, automatically find the owner package(s) in the event of a | |zmedico |fatal file collision (since the collision is fatal, the performance hit | | |doesn't matter). | |4901 |For bug #129670, skip the replace-cvs and replace-wscomments tests if the | |zmedico |diff exit code indicates two two binary files that differ. | |4903 |For bug #116616, only run the post_process phase if necessary. | |zmedico | | |4906 |Implement --color < y | n > for bug #42115 and deprecate --nocolor. When | |zmedico |--color is not specified, rely on the old NOCOLOR variable and/or stdout | | |auto-detection. | |4907 |Document the new --color < y | n > option for bug #42115. | |zmedico | | |4908 |Add --color < y | n > help output for bug #42115. | |zmedico | | |4909 |Remove broken nocolor() call, since thats handled internally by the output | |zmedico |module anyway. | |4912 |Fix the USE_ORDER docs for bug #153764. Thanks to Alec Warner for the initial| |zmedico |patch. | |4916 |For bug #153951, fail with a simple "Permission denied" error if the merge | |zmedico |phase doesn't have write access to $ROOT. | |4918 |Silently omit info_pkgs that aren't installed. Thanks to solar. | |zmedico | | |4920 |Enable RESTRICT=ccache. Thanks to drizzt for reporting. | |zmedico | | |4922 |Don't allow RESTRICT=ccache since it should work and if not then it's a bug | |zmedico |that ought to be fixed. Thanks to vapier. | |4924 |When transferring cache after sync, compare all metadata to make sure it is | |zmedico |identical (don't trust _mtime_ and _eclasses_ alone). Local tests show that | | |this can add approximately 15% more time to the metadata update, but it's | | |needed for things like bug #153591. | |4925 |Make sure trg is defined. | |zmedico | | |4926 |Fix --ignore-default-opts for bug #153980. | |zmedico | | |4929 |Revert implicit rdepend behavior back to the way it was in portage-2.0.51. | |zmedico |Thanks to vapier for the patch. The original change seems to have been an | | |accidentally hunk (referencing bug #58819) that was committed to cvs along | | |with another patch in revision 1.201.2.32 of ebuild.sh. | |4947 |Prevent the --newuse check in depgraph.create() that is intended for the | |zmedico |ebuild type from being done on binary packages (which can lead to a | | |KeyError). The --newuse check for binaries is elsewhere (in select_dep). | |4949 |Ensure that sys-apps/portage is as close as possible to the beginning of the | |zmedico |merge list. This is accomplished by merging it before any soft deps that it | | |may have. | |4950 |Remove "update portage before proceeding" message that is no longer relevant.| |zmedico | | |4951 |Remove old code the used to bump portage near the top of the merge list. It's| |zmedico |ineffective now that a complete depgraph is built. | |4953 |Make sure the node is still in the graph so that a KeyError can't happen. | |zmedico | | |4955 |For bug #154223, bridge new-style virtuals into old-style virtuals in order | |zmedico |to prevent old-style virtuals from making new-style virtuals invisible. | |4957 |Make config.add_new_virtuals() work properly even if self.virtuals has | |zmedico |previously been initialized. | |4959 |For bug #154220, run /etc/portage/bin/post_sync at the end of | |zmedico |emerge-webrsync. | |4962 |Simplify the new-style -> old-style virtuals bridge by doing it implicitly | |zmedico |for all virtuals instead of explicit scanning for available new-style | | |virtuals. | |4966 |Minimize getvirtuals() calls and dict lookups inside dep_virtual(). | |zmedico | | |4968 |Fix validate_blockers() so that a package doesn't block itself via a virtual | |zmedico |that it provides. | |4970 |Print the number of upgrades, downgrades, etc. next to size of downloads. | |zmedico |Thanks to Bo Ørsted Andresen for the initial patch | | |from bug #153847. | |4972 |Thanks to Chris White for these portage_checksum docstrings. | |zmedico | | |4974 |Thanks to Bo Ørsted Andresen for this output fix for | |zmedico |bug #153847. | |4976 |Plug some holes in the blocker validation logic so that nothing can slip | |zmedico |through. | |4978 |Remove some stray blocker validation logic. | |zmedico | | |4980 |s/grabdict/grabdict_package/ for bug #63429. | |zmedico | | |4983 |For bug #154207, add a note about package.provided to the depclean warning | |zmedico |message. | |4984 |Add --newuse back to the suggested options in the depclean warning message, | |zmedico |since it's still needed in some cases. | |4987 |Thanks to Chris White for these portage_dep docstrings. | |zmedico | | |4999 |Thanks again to Chris White for these additional portage_dep docstrings. | |zmedico | | |5002 |Make digestcheck() fail if an ebuild isn't listed in the Manifest. Thanks to | |zmedico |pva for reporting. | |5004 |Fix emerge --sync with a cvs:// uri so that it runs | |zmedico |/etc/portage/bin/post_sync like it would with a normal rsync:// uri. Thanks | | |to drizzt for reporting. | |5006 |Fix initial cvs checkout logic for bug #100478. | |zmedico | | |5008 |For initial gentoo-x86 checkout, if $PORTDIR exists and is empty then remove | |zmedico |it so that the gentoo-x86 checkout can replace it. | |5010 |For bug #154554, validate all profile virtuals atoms. | |zmedico | | |5012 |Fix depgraph.pkg_node_map so that it properly supports $ROOT. | |zmedico | | |5021 |For bug #154921, prevent an IndexError when a + is in USE. | |zmedico | | |5023 |For bug #154919, when depclean is unable to resolve dependencies, notify the | |zmedico |user that it may be necessary to manually uninstalled packages that no longer| | |exist in the portage tree. | |5027 |For bug #154989, use a single lock on /var/db/pkg since finer grained locking| |zmedico |is unnecessary and often insufficient. | |5028 |For bug #154989, lock /var/db/pkg while determining which packages to | |zmedico |unmerge, then release the lock. The lock will be reacquired/released for each| | |individual unmerge, allowing opportunities for other processes to acquire it.| |5030 |Use try/finally to ensure that locks are properly released in | |zmedico |portdbapi.aux_get(). | |5031 |Use try/finally to ensure that locks are properly released in | |zmedico |perform_checksum(). | |5032 |Use try/finally to ensure that locks are properly released in emergelog(). | |zmedico | | |5033 |Use try/finally to ensure that locks are properly released in | |zmedico |dblink.unmerge(). | |5034 |Remove reentrance support for dblink.lockdb() since it's no longer used and | |zmedico |it won't necessarily work correctly now that a global vdb lock is used. | |5036 |For bug #154986, show the usual "Filesize does not match recorded size" | |zmedico |message even for fetch restricted files. | |5038 |For bug #154897, show a summary of fetch restrictions if there are any. | |zmedico | | |5040 |Cache depgraph.altlist results, since altlist is called multiple times and | |zmedico |can be time consuming for a large depgraph. | |5042 |Make fakedbapi support generic metadata instead of just slots. | |zmedico | | |5044 |Remove useless unmerge() call after collision-protect has prevented anything | |zmedico |from being merged. | |5046 |Fix a lock file leak. | |zmedico | | |5048 |Make portage.global_updates() return any updates that may have been | |zmedico |performed. | |5049 |Only reload the config if global updates have actually been performed. | |zmedico | | |5051 |Automatically convert --ask to --pretend when the user doesn't have the | |zmedico |privileges for --ask. Thanks to Daniel Barkalow for | | |the initial patch (submitted on gentoo-portage mailing list). | |5053 |Don't try to lock the vdb unless privileges are sufficient. | |zmedico | | |5055 |For bug #141118, make dep_check do recursive expansion of new-style virtuals.| |zmedico | | |5057 |Add a note about removal of new-style virtuals in the depclean output. | |zmedico | | |5061 |Pull in the new-style virtuals and install them so that the vdb has complete | |zmedico |standalone dep info, in case a portage tree isn't available. | |5062 |For bug #141118, make dep_zapdeps assign zero cost to new-style virtuals. | |zmedico | | |5063 |Revert the depclean message, since new-style virtuals will now be kept. | |zmedico | | |5064 |Update the _expand_new_virtuals docstring with a not about zero cost for | |zmedico |new-style virtuals. | |5066 |Fix _expand_new_virtuals so that it doesn't allow any virtual deps to go | |zmedico |unaccounted for. | |5067 |Integrate old-style virtuals handling into _expand_new_virtuals() and prefer | |zmedico |new-style over old-style whenever they are available. | |5069 |Fix a typo that prevents emerge --clean from working properly. Thanks to leio| |zmedico |for reporting. | |5071 |For bug #155484, apply PORTAGE_NICENESS as soon as possible (especially | |zmedico |before global updates). | |5073 |Make fixpackages use PORTAGE_NICENESS. | |zmedico | | |5075 |s/settings/mysettings/ typo | |zmedico | | |5081 |Revert ACCEPT_LICENSE support, since license group support is a requirement | |zmedico |and it remain unimplemented. This brings trunk back into sync with the 2.1.2 | | |branch. | |5085 |For bug #155559, force depclean dep_check calls to preference installed | |zmedico |packages. | |5086 |Use fake_vardb for cached aux_get calls. | |zmedico | | |5088 |Fix portdbapi.cpv_all() so that it actually returns a list of all available | |zmedico |ebuilds. | |5092 |Use mydbapi is None to eliminate the return_all_deps parameter from dep_check| |zmedico |and dep_zapdeps. The result is the same and this way we avoid having an | | |additional parameter with overlapping meaning. | |5093 |Allow dep_wordreduce to mark things satisfied by package.provided even when | |zmedico |mydbapi is None. | |5095 |For depclean, just pass in None for mydbapi (instead of an empty fakedbapi | |zmedico |instance) since that's now supported. | |5096 |Remove redundant package.provided handling that is now covered by | |zmedico |dep_wordreduce. | |5097 |Remove more redundant package.provided handling that is now covered by | |zmedico |dep_wordreduce. | |5101 |Allow the ROOT setting to come from make.conf. Thanks to Daniel Barkalow | |zmedico | for this patch (submitted on the gentoo-portage-dev | | |mailing list). | |5105 |For bug #155739, only check if a dep is in the args when myroot == | |zmedico |self.target_root. | |5106 |Print a warning message if a user requests a package from package.provided | |zmedico |(since it won't be merged). | |5107 |Enable PORTAGE_CONFIGROOT to be set via an new --config-root option. Thanks | |zmedico |to Daniel Barkalow for the initial patch (submitted | | |on the gentoo-portage-dev mailing list). | |5114 |For bug #142993, make sure that chown and chgrp calls preserve S_ISUID and | |zmedico |S_ISGID mode bits. | |5115 |Fix apply_permissions logic for cases where mode is unspecified. | |zmedico | | |5116 |Fix bit mask support when preserving S_ISUID and S_ISGID in | |zmedico |apply_permissions. | |5117 |Really fix bit mask support when preserving S_ISUID and S_ISGID in | |zmedico |apply_permissions. | |5118 |Fix a KeyError in emerge --info when there is no matching ebuild in the tree.| |zmedico |Thanks to Bo Ørsted Andresen for reporting. | |5119 |Use portage_data.lchown for compatibility. | |zmedico | | |5121 |For bug #150585, stack package.keywords incrementally so that -keyword works | |zmedico |as expected for any incremental variable. This brings the gvisible and | | |getmaskingstatus logic into sync so that the confusing (masked by: ) message | | |will not be generated in cases where package.keywords contains -keyword | | |followed by keyword. | |5122 |For bug #156014, always round up the next kB so that it doesn't show 0 kB | |zmedico |when some small file still needs to be fetched. | |5123 |Allow -keyword to be matched since some ebuilds use it. Thanks to Brian | |zmedico |Harring reporting on bug #150585. | |5129 |For bug #8423, allow the merge phase to overwrite untouched config files and | |zmedico |also allow the unmerge phase to unmerge untouched config files. | |5133 |Never overwrite an untouched config file and trigger config protection | |zmedico |instead (in case the new config has an unwanted change). In cases where an | | |installed package in the same slot owns a protected file that will be merged,| | |bump the mtime on the installed file in order to ensure that it isn't | | |unmerged. Thanks to Ciaran McCreesh for his suggestion | | |on bug #8423, comment #40. | |5134 |Update the dblink.isprotected() docstring. | |zmedico | | |5135 |For bug #8423, make etc-update preserve timestamps when possible. | |zmedico | | |5136 |For bug #8423, make dispatch-conf preserve timestamps when possible. | |zmedico | | |5142 |- make sure QUIET mode is exported to the environment properly when using -q | |solar |mode. | |5143 |- no point in forking a call to true when we can simply use the bash internal| |solar |of : for true | |5146 |add ReST template to be used for manpage/make.globals/make.conf.example | |genone |generation later on | |5147 |fix a few docutils errors | |genone | | |5148 |use a link in CXXFLAGS section (the typo caused it to be a target) | |genone | | |5150 |Always verify the ebuild checksums before executing it. Thanks to solar for | |zmedico |the suggestion and antarus for the initial patch. | |5151 |For manifest and digest phases, use a global variable to temporarily exempt | |zmedico |the depend phase from manifest checks (in cache regeneration is triggered). | |5152 |Temporarily exempt the depend phase during the help phase also. | |zmedico | | |5153 |Avoid checking the same Manifest several times in a row during a regen with | |zmedico |an empty cache. | |5154 |For consistent behavior in all timezones, make emerge-webrsync use UTC time | |zmedico |for decisions about which snapshots to download. | |5155 |Only attempt to verify the Manifest if the ebuild is actually in a portage | |zmedico |tree. | |5156 |Make sure that *all* of the ebuilds are listed in the Manifest. | |zmedico | | |5157 |Make sure that all depend phases triggered by the digest phase are exempt | |zmedico |from digest checks. | |5159 |Skip digest checks when digest is in features. | |zmedico | | |5160 |Make portage.digestgen() automatically exempt the depend phase from Manifest | |zmedico |checks so that it works for repoman without triggering a digest verification | | |failure. | |5161 |Move the global statement out of the try block so that it's clearly in scope | |zmedico |for the finally block. | |5164 |drop RESTRICT=stricter since every aspect it covers can be handled properly | |SpankMan |via other means | |5166 |When portdbapi.aux_get() generates a KeyError in portage.getmaskingstatus(), | |zmedico |handle it by reporting "corruption". | |5167 |Make `repoman fix` work with the new ebuild Manifest checks during depend | |zmedico |phase. | |5168 |Update the RESTRICT=binchecks docs. Thanks to jakub for the suggestion and | |zmedico |antarus for the patch. | |5169 |For `ebuild --force digest`, exempt the depend phase from Manifest checks. | |zmedico | | |5171 |Use portage.chdir() instead of os.chdir() in order to avoid an 'OSError: | |zmedico |[Errno 2] No such file or directory' if the working directory doesn't exist. | | |Thanks to Caster for reporting. | |5173 |For bug #157134, make `emerge --digest` automatically reload the config with | |zmedico |FEATURES=digest enabled globally. | |5174 |Fix up mtimedb["ldpath"] references broken by the previous commit. | |zmedico | | |5175 |Make match_to_list = behavior consistent with >= and <= for bug #152127. | |zmedico | | |5176 |Sync match_to_list >=, <=, etc.. code with the new = code. | |zmedico | | |5178 |Implement fakedbapi.aux_update(). | |zmedico | | |5180 |Remove unused depgraph.is_newer_ver_installed() method. | |zmedico | | |5184 |Remove dependence on the vartree api by using equivalent vardbapi calls. | |zmedico | | |5185 |Only call calc_changelog if there is an installed version in the same slot. | |zmedico | | |5189 |Use a fake vartree for depgraph calculations. This minimizes the time that a | |zmedico |lock needs to be held on the vardb, and allows in-memory global updates when | | |necessary. | |5190 |Delete the depgraph when it's no longer needed. | |zmedico | | |5191 |Use FakeVartree for vardb lock/cache during depclean. | |zmedico | | |5192 |Allow depclean to silently skip packages unmerged behind it's back. | |zmedico | | |5193 |Fix depclean so the fake vartree is used in dep_check calls. | |zmedico | | |5194 |Always silently ingnore missing packages during unmerge. | |zmedico | | |5195 |Remove all traces of the unmerge raise_on_missing parameter. | |zmedico | | |5196 |Fix indentation. | |zmedico | | |5197 |For bug #157385, enable portage.digestgen() to fetch any distfiles for which | |zmedico |there are no existing digests. | |5198 |Fix broken SRC_URI logic from the previous commit. | |zmedico | | |5199 |Fix broken SRC_URI logic in doebuild. | |zmedico | | |5200 |Make repoman bail out if it's unable to generate the Manifest. | |zmedico | | |5201 |For bug #157393, fix up ebuild path normalization so that it's compatible | |zmedico |with portdbapi handling and works properly with symlinks (like crossdev | | |creates). | |5202 |Make sure the ebuild path is properly normalized. | |zmedico | | |5203 |Fix the 'TypeError: not all arguments converted during string formatting' for| |zmedico |bug #157385. | |5204 |Revert r5175 for bug #152127 since the original = behavior seems more | |zmedico |desirable. We can change the >= and <= behavior instead. | |5205 |For bug #152127, make vercmp give less value to implcit .0, so two versions | |zmedico |that aren't literally equal are not ambiguously given the same value (in | | |sorting, for example). | |5206 |Share the same config instance between portagetree and portdbapi instances | |zmedico |since clone isn't needed here. Also, trigger population of virtuals prior to | | |cloning in emerge. This reduces the number of times the virtuals are | | |populated from 3 to just 1. | |5207 |Enable FakeVartree to populate the virtuals so that the vdb doesn't have to | |zmedico |be scanned separately. | |5208 |portage_versions lacks a header or copyright notice :x | |WarnerBro| | |5209 |Catch an exception instead of using a redundant os.access call. | |zmedico | | |5210 |A quick docstring for vercmp | |WarnerBro| | |5211 |s/zip/izip/ Thanks to Brian Harring for the suggestion. | |zmedico | | |5212 |s/zip/izip/ some more | |zmedico | | |5213 |Add pretty basic vercmp unit testing...need more cases | |WarnerBro| | |5214 |Make all lock files hidden for bug #142369. | |zmedico | | |5215 |minor syntax changes ( in is faster than has_key ) and docstrings | |WarnerBro| | |5216 |Allow searching for action terms again | |genone | | |5217 |add some portage_util tests | |WarnerBro| | |5218 |Avoid bogus 'Deprecated use of action' warnings for valid commands such as | |zmedico |`emerge -s sync`. | |5219 |Simplfy deprecated action parsing logic. | |zmedico | | |5220 |For bug #157370, make `emerge --regen` cleanse stale cache entries. | |zmedico | | |5221 |Delete the exception object after use. | |zmedico | | |5222 |Break out of the loop if a CacheError occurs. | |zmedico | | |5227 |Indicate test failure with an exit code. | |zmedico | | |5228 |Remove all traces of FEATURES=cvs since code for that feature no longer | |zmedico |exists (apparently since portage-2.1). | |5229 |Clean up vardbapi.aux_get(). | |zmedico | | |5230 |Remove locking from dbapi.aux_update() implementations so that the caller can| |zmedico |handle locking instead. | |5231 |Go ahead and populate depgraph.mydbapi even when --emptytree is enabled since| |zmedico |it doesn't matter anymore (dep_check now returns all deps anyway). | |5232 |Move the reset of the per-root initializations into the loop. | |zmedico | | |5233 |Remove unused depgraph.match() method. | |zmedico | | |5234 |Use tuples for digraph nodes in order to avoid lots of pointless join and | |zmedico |split calls. | |5235 |Split some global updates functions out of depgraph and use them for depclean| |zmedico |when necessary. | |5236 |Fix broken SLOT update logic in fakedbapi.cpv_inject(). | |zmedico | | |5237 |Fix a type from the previous commit. | |zmedico | | |5238 |adjust QA_* variable names for complex values of like x86-fbsd | |genone | | |5239 |Add use.force support to dep_check for repoman especially. Thanks to | |zmedico |Flameeyes for reporting and tesing. | |5240 |Use portage.isvalidatom() for atom validation in repoman. | |zmedico | | |5241 |Make isvalidatom() (and thus repoman) reject atoms containing |() characters.| |zmedico |Thanks to Brian Harring for the suggestion. | |5242 |Add ? to the invalid atom characters. | |zmedico | | |5243 |Clean up depstring/atom splitting and filtering. | |zmedico | | |5244 |For bug #157369, clean when cleanup has been triggered by changed timestamps.| |zmedico |Also, allow FEATURES=keepwork to override the ebuild mtime check. | |5245 |This patch cleans up the blocker validation logic. Unlike the previous | |zmedico |implementation, this one carefully considers each parent/block package | | |relationship in order to ensure that no unresolved blocks slip through. | |5246 |Don't attempt to enforce merge order unless the blocker parent is actually a | |zmedico |"merge" node. | |5247 |Escape a newline from the previous commit. | |zmedico | | |5248 |For bug #128809, process blockers for all installed packages. Due to the | |zmedico |performance penalty incurred by additional dep_check calls, this is only | | |enabled with the --deep option. | |5249 |Avoid unnecessary dbapi.cp_list() calls inside cpv_expand(). | |zmedico | | |5250 |Cache the results of match_from_list() calls. | |zmedico | | |5251 |Cache results of dep_getcpv() calls. | |zmedico | | |5252 |Use dep_getcpv() inside dep_expand() for code sharing and caching. | |zmedico | | |5253 |Cache the results of fakedbapi.match() calls and clear the cache | |zmedico |automatically when necessary. | |5254 |Initialize the match cache in the bindbapi constructor. | |zmedico | | |5255 |For bug #128809, optimize dep_check calls and enable the blocker detection by| |zmedico |default since the performance now seems acceptable. | |5256 |Make sure the SLOT comes from the vardb instead of the portdb (for multislot,| |zmedico |etc..). Thanks to jakub for reporting. | |5260 |To minimize memory consumption and maximize performance, use hash values for | |zmedico |cache keys. | |5262 |Don't collapse the tuple into a hash, since dict can use __eq__ to avoid | |zmedico |problems with hash collisions. Thanks to Brian Harring for reporting. | |5263 |For bug #157734, fix repoman isvalidatom() checks. Thanks to Brian Harring | |zmedico |for the patch. | |5264 |Add an allow_blockers parameter to isvalidatom so that the behavior is | |zmedico |optional. Thanks to Brian Harring for the suggestion. | |5266 |Ignore blockers when "--buildpkgonly" is enabled. | |zmedico | | |5267 |Ensure that the root of the vdb exists before attempting to lock it. Thanks | |zmedico |to Flameeyes for reporting. | |5268 |When there are multiple packages occupying the same slot, only consider the | |zmedico |one with the highest COUNTER. Thanks to leio for reporting. | |5269 |Fix a typo from the previous commit. | |zmedico | | |5270 |For bug #157823, don't forget to split the USE. | |zmedico | | |5272 |For bug #157823, ignore blocker collisions between two packages that are | |zmedico |already installed if no merge is currently scheduled for either of those | | |package slots. These blockers will be handled as necessary the next time that| | |a merge of either package is triggered. | |5273 |Make the fetch phase bail out if FETCHCOMMAND or RESUMECOMMAND are missing. | |zmedico |Thanks to Flameeyes for reporting. | |5274 |All portage.fetch() to succeed even if FETCHCOMMAND and RESUMECOMMAND aren't | |zmedico |defined. | |5275 |Centralize all of the vardb metadata mangling in FakeVartree. | |zmedico | | |5276 |Store dependency metadata in depgraph.mydbapi so that it can be used in place| |zmedico |of the portdb for optimized dep_check calls in depgraph.validate_blockers(). | |5277 |Optimize dep_check calls in depgraph.validate_blockers() by using a fakedbapi| |zmedico |instance instead of the real pordbapi (minimizes available matches). | |5278 |For higher efficiency, call self.__int__() instead of int(self). | |zmedico | | |5279 |For bug #157897, only let depgraph.create() inject "merge" nodes into the | |zmedico |final state dbapi. | |5280 |For bug #157897, ensure that only "merge" nodes are stored in | |zmedico |digraph.pkg_node_map. | |5281 |Move the biolerplate cpv_all() implementation from portdbapi to dbapi. | |zmedico | | |5282 |Track slot atom to digraph node mappings as the depgraph is built. This | |zmedico |mapping will be used to detect node collisions for bug #157897. | |5283 |Remove redundant digraph.pkg_node_map node insertions. Once per | |zmedico |digraph.create() call will cover all nodes. | |5285 |For bug #157897, handle the case of multiple versions within a single package| |zmedico |slot have been pulled into the dependency graph. If possible, the package | | |that has already been pulled in will be reused. Otherwise, an error message | | |will advise the user to mask an unwanted version. | |5286 |handle --cols when displaying blockers | |SpankMan | | |5287 |For bug #157897, add slot collision handling in depgraph.create(), since | |zmedico |create() is called from places other than select_dep(). | |5288 |Fix a typo from the previous commit. | |zmedico | | |5289 |Update the comment about depgraph.pkg_node_map since it now maps all nodes | |zmedico |added to the graph. | |5290 |Use depgraph.pkg_node_map so simplify comparison against existing nodes at | |zmedico |the beginning of depgraph.create(). | |5291 |Fix the --onlydeps conditional logic in depgraph.create(). These aren't real | |zmedico |nodes and shouldn't be added to the digraph, etc... | |5292 |Remove redundant priority handling since that's always handled in | |zmedico |select_dep() for nodes that have parents. | |5293 |Remove pointless unpacking of the parent node. | |zmedico | | |5294 |Make --columns blockers output more consistent when --quiet is not enabled. | |zmedico | | |5296 |Cache blocked slots for better efficiency. | |zmedico | | |5297 |For bug #157897, show parent nodes in order to help the user decide about | |zmedico |what action to take. | |5298 |Cache KEYWORDS and EAPI metadata values in order to speed up | |zmedico |portdbapi.gvisible() calls. This greatly improves repoman performance (help | | |emerge a little too). | |5299 |Make sure eapi is defined in order to prevent a NameError. | |zmedico | | |5300 |Split ACCEPT_KEYWORDS before entering the loop for better efficiency. | |zmedico | | |5301 |Make repoman cache per-profile xmatch results. | |zmedico | | |5302 |For bug #158177, force configure scripts that automatically detect ccache to | |zmedico |respect FEATURES="-ccache". Thanks to Horst Schirmeier | | | for this suggestion. | |5303 |Fix global updates error handling to prevent a traceback with python-2.5 as | |zmedico |reported in bug #158264. | |5304 |Make dep_check validate all depstring atoms in order to prevent problems from| |zmedico |occuring later due to unexpected invalid atoms. | |5305 |Make use_reduce raise an InvalidDependString exception for use? conditionals | |zmedico |that aren't followed by parenthesis and add appropriate exception handling in| | |dep_check. | |5306 |remove pointless redirects to /dev/null when using hasq() | |SpankMan | | |5307 |force environment.bz2 to be clobbered if it already exists | |SpankMan | | |5308 |In depgraph.altlist(), pop as many leaf nodes as possible when no | |zmedico |relationship has been ignored. This can halve the time taken for a large | | |merge order calculation. | |5309 |Don't optimize depgraph.altlist() in reversed mode since the optimization | |zmedico |destroys --tree ouput. | |5310 |Add a comment about the previous commit. | |zmedico | | |5311 |Add --debug support for --depclean. | |zmedico | | |5312 |Do some minor cleanup of the --depclean code. | |zmedico | | |5313 |Make depclean skip empty depstrings. | |zmedico | | |5314 |Disable the spinner when --debug is enabled so that it doesn't interfere. | |zmedico | | |5315 |Make portdbapi cache SLOT in addition to EAPI and KEYWORDS in order to | |zmedico |further optimize dep matching/selection. | |5316 |Catch PortageException from portdbapi.aux_get since it can happen when gpg is| |zmedico |in FEATURES. | |5317 |Just start with an empty dict in dep_check_trees since nothing more is | |zmedico |needed. | |5318 |For bug #158354, make "No" the default response for unmerge actions. | |zmedico | | |5321 |For bug #158503, allow --nodeps to override blockers. | |zmedico | | |5322 |For bug #158508, make --fetchonly display a list of packages for which the | |zmedico |fetch phase failed. | |5323 |Increase cache hits in portdbapi.xmatch(). | |zmedico | | |5324 |Use a separate digraph to store parent/child relationships (PDEPEND | |zmedico |relationships are not reversed) so that relationship is always known in case | | |a slot collision occurs. | |5325 |New elog modules for dismerging messages into a single file/mail | |genone | | |5326 |Make binarytree.move_ent() properly update PF. | |zmedico | | |5327 |For bug #158558, fix broken ebuild rename logic in vardbapi.move_ent(). | |zmedico | | |5328 |For bug #158558, make the unmerge phase do automatic cleanup for broken | |zmedico |vardbapi.move_ent() in portage versions before 2.1.2. | |5329 |Fix an import statement typo. | |zmedico | | |5330 |For bug #158608, don't attempt to use distlocks when it's detected that the | |zmedico |filesystem is readonly (unless "skiprocheck" is in FEATURES for some strange | | |reason). | |5331 |Add missing newlines to the warning message that's printed when the user has | |zmedico |distlocks enabled together with skiprocheck and the filesystem is readonly. | |5332 |Give the user some advice whenever an invalid dependency string is | |zmedico |encountered. | |5333 |Fix the invalid dependency message so there's no confusion about which | |zmedico |package has the problem. | |5335 |Fix broken exception handling syntax causing strange exception reported in | |zmedico |bug #158608. Thanks to grobian for help troubleshooting. | |5337 |For bug #158649, minimize portdb cache pulls for installed packages when | |zmedico |--nodeps is enabled. This patch also allows the vardb lock to be released | | |before doing any cache pulls (even when --nodeps is not enabled), and updates| | |the spinner while the metadata is being pulled. | |5338 |More intelligently handle CacheCorruption errors in the writable cache. | |zmedico | | |5339 |For bug #158558, ignore invalid depstrings for packages that are being | |zmedico |replaced anyway (otherwise the user would be forced to manually unmerge the | | |package). | |5340 |When a removal phase fails, tell the user where the ebuild is and advise them| |zmedico |that the ebuild can be removed in order to skip the removal phases. | |5341 |For installed packages with invalid depstrings, tell the user the location of| |zmedico |the *DEPEND files. | |5342 |For bug #158632, make aux_get caching safe for missing values in cache | |zmedico |entries. | |5343 |For bug #158658, fix the 'TypeError: int argument required' that happens in | |zmedico |the finalize() routine. | |5344 |Use the return value from setdefault to avoid an extra dict lookup. | |zmedico | | |5345 |Create a backward compatibility mode for dep_check() so that emerge can use | |zmedico |it to gracefully deal with installed packages that have invalid atoms or dep | | |syntax. | |5346 |Make emerge enable backward compatibility mode for dep_check() calls on | |zmedico |installed packages so that it can gracefully invalid atoms or dep syntax. | |5347 |Fix the "help" phase so that it works without build dirs. | |zmedico | | |5348 |For bug #158649, allow --buildpkgonly to bypass the fakedb population like | |zmedico |--nodeps does. | |5349 |Revert the default choice for --ask --unmerge (bug #158354) because people | |zmedico |are complaining. | |5350 |Use a pipe instead of a temp file for the depend phase. | |zmedico | | |5351 |I hate docstrings | |WarnerBro| | |5353 |Remove two old functions, appear to be relics from 2.0.X branch, no longer | |WarnerBro|used by portage or gentoolkit or esearch | |5354 |When an unprivileged user runs portage (not in the portage group), use | |zmedico |metadata_overlay together with a volatile in-memory cache module in order to | | |implement cache writes. This allows, for example, a user who's not in the | | |portage group to run `ebuild foo.ebuild digest` (issue reported by Charlie | | |Shepherd ). | |5355 |Add volatile cache module missing from the previous commit. | |zmedico | | |5356 |Pass a cache instance into metadata_overlay since it doesn't have enough | |zmedico |information to construct one itself. | |5357 |Make metadata_overlay use the autocommits attribute of the underlying | |zmedico |database. | |5358 |Fix inverted EAPI default logic. | |zmedico | | |5359 |Combine two default EAPI settings in portdbapi.aux_get(). | |zmedico | | |5360 |Only write repo.stats and repo.fails when the repoman user has write access | |zmedico |to /var/cache/edb. | |5361 |Show the "Calculating dependencies .. done!" message with --resume since the | |zmedico |spinner now runs inside the depgraph constructor. Thanks to antarus for | | |reporting. | |5362 |startime is set up in treewalk, so no need to do it globally... | |WarnerBro| | |5363 |List package in summary logfile | |genone | | |5364 |disable display of elapsed time for collision-protect as it's for | |genone |benchmarking purposes and useless to most people. | |5365 |More Docstrings in portage.py | |WarnerBro| | |5366 |move actionmap_deps out of global scope and into doebuild where it is | |WarnerBro|actually used, add docstrings to config class in the meantime. | |5367 |For bug #158931, add some release notes to explain performance penalties for | |zmedico |dependency calculations. | |5368 |For forward compatibility, make metadata_overlay pass any additional | |zmedico |positional and keyword parameters into the super constructor. | |5369 |Manpage fix for bug # 158983, thanks to Fabio Correa for the patch | |WarnerBro| | |5370 |More code cleanup, packagetree appears to be completely unused, so lets | |WarnerBro|remove it in favor of inheriting from object | |5371 |Docstrings for doebuild | |WarnerBro| | |5372 |cptot appears to be unused, punting it along with this commented out | |WarnerBro|function, it appears to be unused as well. | |5382 |Clone cached match results before returning them from portdbapi.xmatch(). | |zmedico |Thanks to Brian for reporting this issue. | |5383 |Make bindbapi.aux_get() selectively cache metadata in order to optimize dep | |zmedico |matching (like portdbapi does). | |5384 |Make sure that bindbapi makes EAPI correctly default to 0 in all possible | |zmedico |cases. | |5385 |more docstrings.. | |WarnerBro| | |5386 |Docstrings for mergeme... | |WarnerBro| | |5387 |Drop the warning messages for users that aren't in the portage group since | |zmedico |tpordbapi now correctly puts the on-disk cache into readonly mode in this | | |case (and allows metadata generation in-memory if necessary). | |5388 |Prevent the regen action from running in --pretend mode. | |zmedico | | |5389 |When the user has insufficient access privileges, specify whether superuser | |zmedico |access or portage group access is required. When only portage group access is| | |required but the user is not in the portage group, call | | |portage_data.portage_group_warning() to remind people that the portage group | | |is a system administration group. | |5390 |Make sure that portage_group_warning() will be shown even in quiet mode. | |zmedico | | |5391 |Use a SIGTERM signal to support a die call inside of a subshell. | |zmedico | | |5392 |For bug #148603, when an ebuild dies, print eclasses that are from overlays. | |zmedico |Thanks to Alec Warner for the initial patch. | |5394 |Make _setitem do a deepcopy just in case. | |zmedico | | |5398 |Allow dep_check to use the global db for compatibility (fixes python-updater | |zmedico |breakage). | |5401 |try to give the emerge manpage a facelift, upgrade clean and prune docs, | |WarnerBro|change 'dependency' to 'atom', other minor fixes | |5402 |Use a pickle to cache vdb metadata. This greatly improves the performance for| |zmedico |loading the vdb when the buffer cache is cold. | |5403 |Make portdbapi.flush_cache() consistent with vardbapi.flush_cache(). | |zmedico | | |5404 |Update emerge --metadata docs for more clarity. | |zmedico | | |5405 |Allow the list of keys cached by the vardb to change without forcing a cache | |zmedico |version bump. | |5406 |Make vartree.getslot() use the dbapi for aux_get caching. | |zmedico | | |5407 |Make vardbapi.cpv_counter() use aux_get for caching. | |zmedico | | |5408 |For bug #159252, don't preserve file attributes when copying files for | |zmedico |installsources. Thanks to Ed Catmur for this patch. | |5409 |For bug #159295 and python-2.3 compatibility, don't assume that dict.update | |zmedico |can use an iterable. | |5410 |Use a pickle to cache blockers for all installed packages so that dep_check | |zmedico |doesn't have to be called for every single installed package on every | | |invocation of emerge. | |5411 |For bug #159161, make emerge --info show USE_EXPAND flags similar to the way | |zmedico |it does in merge list output. | |5412 |Add some docs for the blockers cache format. | |zmedico | | |5413 |For bug #159310, don't show a slot collision notice if there are unresolvable| |zmedico |blockers. | |5414 |Do some minor cleanup in the dep_zapdeps downgrade avoidance logic (while | |zmedico |working toward a fix for bug #159360). | |5415 |- keep things quiet when uninstalling | |solar | | |5416 |Send stuff that's not a warning or error to stdout rather than stderr. | |zmedico | | |5417 |fixup style | |SpankMan | | |5418 |detect incorrect absolute symlinks in libdirs | |SpankMan | | |5419 |For bug #159360, make sure that the highest available new-style virtual is | |zmedico |selected even if it has depes that aren't already installed. | |5420 |Sort the --info USE flags for bug #159161. | |zmedico | | |5421 |Be slightly more defensive when loading the vdb/blockers caches. | |zmedico | | |5422 |Improve the logic for bug #159360 to ensure that an actual upgrade is | |zmedico |selected without any downgrades. | |5423 |Do some small fixes to prevent slot collision nodes from interfering with the| |zmedico |depgraph. | |5424 |Fix 'TypeError: unpack non-sequence' that occurs if myparent is None. | |zmedico | | |5425 |Punt the abort_unpack() handler since it's pointless anyway. | |zmedico | | |5428 |For bug #151326, prevent invalid comments from being returned by | |zmedico |portage.getmaskingreason(). | |5429 |Correct the package.mask lookup order in getmaskingreason(). | |zmedico | | |5430 |For bug #141361, use an alarm signal to implement a 1 minute timeout for | |zmedico |processing inside an elog module. | |5431 |Use a try/finally block to ensure that the alarm will always be cancelled | |zmedico |appropriately. | |5432 |Use return values instead of direct sys.exit(123) calls when a merge fails. | |zmedico | | |5433 |Send errors in elog_process() to stderr via writemsg. | |zmedico | | |5434 |For bug #159518, increase the "database is locked" timeout. | |zmedico | | |5437 |Use slot atom matching to simplify detection of downgrades relative to | |zmedico |installed packages. | |5438 |For bug #159224, use separate xmatch caches for each value of | |zmedico |ACCEPT_KEYWORDS. | |5440 |For bug #159638, fix the UnboundLocalError in vartree.getprovide(). | |zmedico | | |5441 |Fix the writemsg noiselevel from the previous commit. | |zmedico | | |5442 |merge all of the QA related checks together | |SpankMan | | |5443 |Don't bother to list the contents of directories before they are unmerged | |zmedico |since it triggers unnecessary stat calls. Thanks to James Cloos | | | for reporting. | |5444 |Optimize dep_zapdeps to work without a vartree when called by repoman. | |zmedico | | |5448 |Try to create DISTDIR before disabling fetch due to it's nonexistence. Thanks| |zmedico |to astinus for reporting. | |5449 |add support for scanning of build logs for common issues #111436 | |SpankMan | | |5450 |Allow - in elog module names | |genone | | |5451 |undo | |genone | | |5452 |When using the spawn's returnpid parameter, manually remove the returned pids| |zmedico |from portage_exec.spawned_pids. | |5453 |Use os._exit instead of sys.exit in a forked child process. | |zmedico | | |5454 |Make sure stderr is flushed since os._exit doesn't flush stdio buffers. | |zmedico | | |5455 |Make sure stderr is flushed since os._exit doesn't flush stdio buffers. | |zmedico | | |5456 |Implement distlocks for --getbinpkg so that it works properly when | |zmedico |parallel-fetch is enabled. Thanks to Brent Baude for | | |reporting. | |5457 |Export EBUILD_PHASE="" when running misc-function.sh in order to prevent | |zmedico |bogus phase values coming from ${T}/environment. Thanks to solar for | | |reporting. | |5458 |When fetching metadata from a binhost, reconnect if the http server closes | |zmedico |the connection before sending a valid response. Thanks to ranger for | | |reporting. | |5459 |Make sure that myid is defined for the previous commit. | |zmedico | | |5461 |As a workaround for bug #147625, spawn `id -g portage` in order to get a list| |zmedico |of groups for the portage user without the need to call grp.getgrall(). | |5462 |Use -G instead of -g (typo from the previous commit). | |zmedico | | |5463 |Make repoman use portage.normalize_path instead of os.path.normpath. This | |zmedico |might solve an issue with incorrect repolevel detection that was reported by | | |drizzt. | |5464 |For python-2.3 compatibility, don't pass an iterable into dict.update(). | |zmedico | | |5465 |For bug #160299, make sure that emerge sees a somewhat valid COUNTER even | |zmedico |when the counter is missing. | |5466 |Fix shell glob logic that leads to false positives. Thanks to Flameeyes for | |zmedico |reporting. | |5467 |Fix one more potential false glob match. | |zmedico | | |5468 |revert previous changes ... ruby.eclass is wrongly polluting env with | |SpankMan |nullglob | |5469 |force C locale for now when parsing gcc log files #160234 | |SpankMan | | |5470 |For bug #160310, allow \ inside `` quotes in order to prevent a false Line | |zmedico |continuation ("\") Syntax Error. | |5471 |For bug #160310, remove the line continuation syntax check since it's still | |zmedico |possible for it to generate false positives. | |5477 |Fix the digestentry.unused check so that it works properly when old-style | |zmedico |files/digest-* don't exist. | |5478 |Don't swallow an IOError if it is thrown from the aux_get call in | |zmedico |portdbapi.getfetchlist(). | |5480 |Don't automatically fix digests in --pretend mode. | |zmedico | | |5481 |s/prefix/suffix/ Thanks to hydrogen for reporting on irc. | |zmedico | | |5482 |s/suffix/version prefix/ since it really is a prefix for the version string. | |zmedico | | |5483 |For bug #160893, ignore a KeyError during cache cleansing since that key | |zmedico |isn't wanted anyway. | |5484 |Implement QA checks that attempt to detect changed shopts and IFS in | |WarnerBro|ebuild/eclass/profile code. Spit a warning if that is the case. I expect this| | |check will eventually reset the shopts and IFS, but in this case it may break| | |things that depend on the current behavior | |5485 |Antarus sucks at bash, thanks for Genone for reporting this major bug. | |WarnerBro| | |5486 |Make PORTAGE_BASE_PATH dynamic based on __file__ | |genone | | |5487 |Always run src_test when calling 'ebuild foo test' | |genone | | |5488 |Disable qa_source usage until it actually works | |genone | | |5489 |Zac pointed out that the retcodes would be wrong if stuff failed...Yeah... | |WarnerBro| | |5490 |Add new eqawarn function and QA loglevel to be used for QA messages | |genone | | |5491 |Mention new QA loglevel in make.conf.example | |genone | | |5492 |Okies this works locally for me now (and Zac) | |WarnerBro| | |5493 |This file apparently uses spaces to line everything up pretty (I have weird | |WarnerBro|tabs set, so spacies are good :P) | |5494 |Update NEWS with eqawarn and 'ebuild foo test' changes | |genone | | |5495 |Split PORTAGE_ELOG_CLASSES outside the loop for better efficiency. | |zmedico | | |5496 |Make digestgen() force fetch unless all required digest types are available. | |zmedico |Thanks to jokey for reporting on irc. | |5499 |For bug #161103, don't skip collision-protect checks in cases where the | |zmedico |beginning of the file path matches a symlink but is not acually inside a | | |symlinked directory (check the path against symlink + os.path.sep). | |5502 |For bug #161003, disallow virtuals in package.provided and document it. | |zmedico |Thanks to Robin Johnson for the initial patch. | |5503 |For bug #160971, rename dir.gz to dir.gz.old when necessary to avoid problems| |zmedico |with install-info. Thanks to Ed Catmur for the initial | | |patch. | |5504 |Misc typo fixes, patch by Benno Schulenberg (bug #157812) | |genone | | |5505 |Update x86 CFLAGS section, original patch by Peter Gantner (bug #133402) | |genone | | |5506 |Add elog related variables to make.conf(5) with a pointer to | |genone |make.conf.example. Add elog() description to ebuild(5) and update einfo() | | |description. | |5507 |For bug #160075, send all 'QA Notice' messages to eqawarn. Also, modify | |zmedico |eqawarn to use vecho and send ouput to stderr. | |5508 |make.globals has no business in profiles | |genone | | |5509 |create symlinks to html documentation if DOC_SYMLINK_DIR is set, original | |genone |patch by TGL (bug #67130) | |5510 |Make env variable example about USE shell independent | |genone | | |5511 |Always use vercmp for cpv comparisons | |genone | | |5512 |Stupid me, shouldn't jsut move a part of the patch | |genone | | |5513 |Attach the problematic data to the exception for debugging | |genone | | |5514 |Make the =* operator more robust | |genone | | |5515 |Documenting the loop a bit | |genone | | |5516 |=* operator sucks | |genone | | |5517 |also sanitize mycpv for =* handling | |genone | | |5518 |minor performance improvement | |genone | | |5519 |I hate this thing | |genone | | |5520 |Minor fixes for the =* operator (I hope we're done now :). | |zmedico | | |5521 |Use startwith to simplify =* matching. | |zmedico | | |5522 |rework test import code, rename test_vercmp to be more generic, add tests for| |WarnerBro|=* glob matches | |5523 |Make the tests pass. | |zmedico | | |5524 |Fix Fail test | |WarnerBro| | |5525 |Take Genone's suggestion and break the modules up into module oriented | |WarnerBro|fashion. Tests for portage.py go in portage/ and so on and so forth... | |5526 |shift test cases around | |WarnerBro| | |5527 |shift test cases around | |WarnerBro| | |5528 |rename atoms back to vercmp | |WarnerBro| | |5529 |split out util tests | |WarnerBro| | |5530 |remove monolithic test | |WarnerBro| | |5531 |add a few tips on adding tests, and kinks in the current system, I hope to | |WarnerBro|fix the import bug soon | |5532 |Fix module loading. | |zmedico | | |5533 |Fix sys.path so that imports work correctly. | |zmedico | | |5534 |For bug #161422, make slot collisions non-fatal in cases where an invalid | |zmedico |depgraph is acceptable (--fetchonly, for example). | |5535 |Don't allow slot collision nodes to block other packages since blocker | |zmedico |validation is only able to account for one package per slot. | |5536 |Rename depgraph._invalid_depgraph_is_acceptable() to _accept_collisions() for| |zmedico |a better description. | |5537 |Add a bit of path mangling to allow deeper tests | |WarnerBro| | |5538 |remove bogs test dir, add portage_versions | |WarnerBro| | |5539 |edit test-notes | |WarnerBro| | |5540 |more test re-arranging as Alec can't read what functions are in what files | |WarnerBro| | |5541 |Remove / character from module names. | |zmedico | | |5542 |Remove RESTRICT=sandbox docs until bug #161045 is resolved | |genone | | |5543 |Update CCACHE docs, patch by Ryan Hill (bug #156865) | |genone | | |5544 |Add 'stricter' description, misc typo fixes, patch by Max Lorenz (bug | |genone |#153755) | |5545 |Rename 'Last Sync' to 'Timestamp of tree' to clarify the meaning (bug | |genone |#150051) | |5546 |Don't escape strings in PortageException as that breaks newline handling (bug| |genone |147785) | |5547 |More portage_util tests | |WarnerBro| | |5548 |Extend ignore filter for grablines (bug #144445) | |genone | | |5549 |add stack_lists checks | |WarnerBro| | |5550 |continue is only for loops | |genone | | |5551 |Make FEATURES=test imply USE=test | |genone | | |5552 |Add note that any value enables EPAUSE_IGNORE | |genone | | |5553 |Use isinstance(foo, basestring) so that it can work with unicode strings too.| |zmedico | | |5554 |Use dict.get() to prevent a potential (bug unlikely) KeyError. | |zmedico | | |5555 |add support for user-customizable compression #9870 | |SpankMan | | |5556 |docs for grabdict | |WarnerBro| | |5557 |Commit unit tests, hey look THEY ARE BROKEN | |WarnerBro| | |5558 |get_operator tests | |WarnerBro| | |5559 |add some invalid operators to the test to denote that get_operator doesn't | |WarnerBro|validate them, also make sure some common mis-typed things are tested (=> | | |instead of >= fex) | |5560 |take some advice and use AssertEqual/NotEqual | |WarnerBro| | |5561 |I owed brian harring 3.50, for th previous advice about assertEqual/NotEqual,| |WarnerBro|oh, add dep_getcpv tests too | |5562 |getslot tests | |WarnerBro| | |5563 |elaborate a bit on isjustname() | |WarnerBro| | |5564 |isjustname tests | |WarnerBro| | |5565 |For bug #50738, inform the user about the location of the timestamp file and | |zmedico |that it can be removed to force sync. | |5566 |add some invalid ops to getcpv to make sure it returns the cpv still | |WarnerBro| | |5567 |print the incorrect atom | |WarnerBro| | |5568 |Valid categories in catpkgsplit | |WarnerBro| | |5569 |catch and validate new ValueError Exception | |WarnerBro| | |5570 |Fix comments for catpkgsplit | |WarnerBro| | |5571 |Handle the exception in isvalidatom, change it to use a portage exceptoin, | |WarnerBro|thanks to Zac for pointing this out | |5572 |learn to spell | |WarnerBro| | |5573 |SpanKY likes the latin categories | |WarnerBro| | |5574 |Use a global to ensure that the valid_category regex is cached. | |zmedico | | |5575 |dont compress files that are already compressed and dont do sanity checking | |SpankMan |on the link dest as we cant properly verify things like absolute symlinks | |5576 |use cached suffix value and if it is not valid, lets warn | |SpankMan | | |5577 |Allow catpkgsplit to be less strict for atoms that come from installed | |zmedico |packages (for backward compatibility). | |5578 |Fix ebuild environment color.map support so that it works properly through | |zmedico |exec calls (since the color variables can not be directly exported due to env| | |pollution). | |5579 |drop lazy bindings check once and for all ... the system ldso should have the| |SpankMan |logic #71609 | |5580 |For bug #147512, don't print a cryptic error message when an EnvironmentError| |zmedico |occurs. Also, allow the user to get a traceback via --debug. | |5581 |Change vercmp to use int() instead of string atoi, catch ValueError in pkgcmp| |WarnerBro| | |5582 |portage_versions.py, more string.atoi -> int, fix another except: that should| |WarnerBro|be ValueError | |5583 |Fix broad except statement, should only be KeyError | |WarnerBro| | |5584 |comment the excepts in a few places | |WarnerBro| | |5585 |getbinpkg.py fix except: open can be IOERror or OSError and cPickle can throw| |WarnerBro|an unpicklingError | |5586 |EOFError is also important according to Zac | |WarnerBro| | |5587 |os.cwd can return OSError (maybe IOError with wrong perms for ./, will test | |WarnerBro|actually), load_mod should be IMportError, nuke a stupid try except around | | |shuffle which used to break years ago with old glibcs, remove try except | | |around what appears to be a regex? and make the try except around the unlink | | |a bit cleaner | |5588 |FIx a bunch of random Except: statements in portage.py, most of them are | |WarnerBro|IO/OS related | |5589 |Return early from finddigest if findname2 found nothing. | |zmedico | | |5590 |For bug #88485, show the location of the build log whenever a build fails. | |zmedico | | |5591 |Prevent an InvalidData exception during global updates due to the new | |zmedico |stricter catpkgsplit behavior. | |5592 |Fix incremental virtuals code for the new stricter catpkgsplit behavior. | |zmedico | | |5593 |Remove a duplicate % character. | |zmedico | | |5594 |Begin the deprecation of the string module | |WarnerBro| | |5595 |more string deprecation | |WarnerBro| | |5596 |set Id on tests | |WarnerBro| | |5597 |More String deprecation | |WarnerBro| | |5598 |Use startswith and endswith to simplify code. | |zmedico | | |5599 |Fix typos from the previous commit. | |zmedico | | |5600 |purge string module from emerge | |WarnerBro| | |5601 |fix "" " " bug | |WarnerBro| | |5602 |another annoy space bug | |WarnerBro| | |5603 |purge string module from repoman | |WarnerBro| | |5604 |purge string from portage.py, fix minor bug in portage_util | |WarnerBro| | |5605 |Fix a typo. | |zmedico | | |5606 |Fix a typo. | |zmedico | | |5607 |Revert accidentally modified joins. | |zmedico | | |5608 |Fix more typos. | |zmedico | | |5609 |Fix another typo. | |zmedico | | |5612 |Add a few pretty basic comments on writing code, particularly things that | |WarnerBro|portage used to do (and still does) that are...a bit out of style ;) | |5613 |ignore py[co] in tests | |WarnerBro| | |5620 |remove the last of the string module from portage.py | |WarnerBro| | |5621 |Send the slot collision notice to stderr and only show minimal output in | |zmedico |--quiet mode. | |5623 |Send the unmerge failure message to stderr. | |zmedico | | |5624 |Use end_paragraph(1) instead of add_line_break() so that there is really a | |zmedico |blank line. | |5625 |For bug #144380, disable color at emerge startup and then enable it only when| |zmedico |it's absolutely sure that color should be enabled (after EMERGE_DEFAULT_OPTS | | |has been parsed). | |5626 |Document PORTAGE_COMPRESS and PORTAGE_COMPRESS_FLAGS. | |zmedico | | |5627 |Obey the silent parameter when parsing options. | |zmedico | | |5628 |Fix a typo. | |zmedico | | |5629 |Catch InvalidData exceptions for bad atoms passed as emerge arguments. | |zmedico | | |5632 |make sure people call addread/addwrite/adddeny/addpredict correctly | |SpankMan | | |5633 |fix tabs with patch from Grobian and bug # 161911, fix developing a bit | |WarnerBro| | |5634 |Fix 'TypeError: not all arguments converted during string formatting'. Thanks| |zmedico |to marienz. | |5635 |Fix reversed arguments. | |zmedico | | |5642 |Fix dohtml so that it continues to install files even after some fail. Thanks| |zmedico |to brad walker in bug #149745. | |5643 |Document PORTAGE_LOG_FILE, update PORTAGE_TMPDIR path which now includes | |zmedico |CATEGORY, and lots of style/syntax fixes. Thanks to Arfrever Frehtes | | |Taifersar Arahesis from bug #161979. | |5644 |For bug #161975, document the fact that GENTOO_MIRRORS supports mounted | |zmedico |filesystem mirrors. | |5645 |For bug #69021, add news about FEATURES="test" implying USE="test". | |zmedico | | |5646 |Disable the test phase when USE=test is masked (for consistency with the fix | |zmedico |for bug #69021). | |5647 |Don't warn about /etc/make.profile not being a symlink if it has a parent | |zmedico |file. | |5648 |Document DOC_SYMLINKS_DIR. | |zmedico | | |5649 |Fix alphabetical order. | |zmedico | | |5652 |exithandler is not a portageq func, so ignore it | |WarnerBro| | |5653 |For bug #162275, make doebuild validate *DEPEND and bail out if necessary. | |zmedico | | |5654 |Clean up variables when finished. | |zmedico | | |5655 |Make invalid deps non-fatal for some phases. | |zmedico | | |5656 |elevate the importance of 64bit clean code on 64bit hosts | |SpankMan | | |5657 |Clean up imports in portage_locks.py | |WarnerBro| | |5658 |merge glep42 into trunk | |WarnerBro| | |5659 |merge didn't bring in portage_news, no idea why | |WarnerBro| | |5660 |fix minor syntax issues with locking | |WarnerBro| | |5661 |Enable repoman to commit a Manifest alone instead of bailing out with "Didn't| |zmedico |find any changed files". | |5662 |ferringb pointed out this portroot parameter, ended up not using it, try an | |WarnerBro|os.path.exists to save a very common (and slow) except on missing repo_name | | |files for overlays, use a dict to facility a nicer regex comparison loop for | | |news restrictions. | |5663 |document FEATURES=sesandbox #161985 | |SpankMan | | |5664 |make.conf is not a manual so only list common FEATURES #161985 | |SpankMan | | |5665 |dirty dirty lies | |WarnerBro| | |5666 |Make repoman commit removals together with the other changes (instead of with| |zmedico |the final Manifest commit). | |5667 |For consistency, just use os.environ. | |zmedico | | |5668 |Fix broken commitmessagefile handling. | |zmedico | | |5669 |Replace mktemp with mkstemp since the former is deprecated for security | |zmedico |reasons. | |5670 |Various glep 42 fixes, fix up the portageq calls to fail properly, rewrite | |WarnerBro|the news checking code to check news for all repos with a name. | |5671 |fix a few typos in tests | |WarnerBro| | |5672 |If repo/profiles/news doesn't exist, return 0 updates | |WarnerBro| | |5673 |switch news timestamp and unread/read storage to '/var/lib/gentoo' like the | |WarnerBro|GLEP states. | |5674 |For consistency, respect the use_binaries flag inside _expand_new_virtuals().| |zmedico | | |5675 |Allow --usepkgonly/--getbinpkgonly to work with installed deps when binpkgs | |zmedico |aren't available for some packages. Thanks to Brent Baude | | |for reporting. | |5676 |Use the portable -o option for tar. Thanks to Timothy Redaelli | |zmedico | for the patch. | |5677 |make it executable | |SpankMan | | |5678 |make sure we rename links and not just what they point to #162451 | |SpankMan | | |5679 |Prevent packages that are installed but masked from being incorrectly flagged| |zmedico |as "available" (unless --usepkgonly is enabled, which currently has no | | |package.mask support). | |5682 |For --usepkgonly, allow _expand_new_virtuals() to fall back to the vardb in | |zmedico |case all binaries aren't available. | |5684 |Fix elimination of duplicate virtuals between the binpkg repo and installed | |zmedico |packages. | |5689 |Remove one last reference to ${tarvars}. | |zmedico | | |5690 |For bug #162404, spawn tee outside the sesandbox domain so that it reads from| |zmedico |a pipe between two domains. | |5691 |Use elif where appropriate. Thanks to ferringb. | |zmedico | | |5693 |start documenting qa notices so antarus stops whining | |SpankMan | | |5694 |superh supports sane exec stack stuff now | |SpankMan | | |5695 |arm supports sane exec stack stuff now | |SpankMan | | |5697 |add try finally blocks around locking for news | |WarnerBro| | |5698 |dump emerge's normpath in favor of portage_util's normalize_path | |WarnerBro| | |5699 |fix apply_permissions import and use keyworded args in the call, as well as | |WarnerBro|PORTAGE_INST_UID instead of root, also fix some spacies in emerge, thanks for| | |Zac for reporting | |5700 |lock file around chown/chmod | |WarnerBro| | |5701 |locking, try 100 | |WarnerBro| | |5702 |Syntax error | |genone | | |5703 |Attribute error | |genone | | |5704 |I really meant NEWS_LIB_PATH (/var/lib/gentoo) but decent idea to have a | |WarnerBro|timestamp per repo ;) | |5705 |but news lib path is global, not an attr | |WarnerBro| | |5706 |more trivial fixes | |genone | | |5707 |Allow per-module filtering based on loglevels in addition to the global | |genone |PORTAGE_ELOG_CLASSES one, add wildcard support for loglevels | |5708 |update make.conf.example with per-module filtering | |genone | | |5709 |Don't load a module if there is nothing to process after filtering | |genone | | |5710 |don't force a comparison | |WarnerBro| | |5711 |Unified try-except-finally only works with python-2.5 | |genone | | |5713 |Validate ebuild names inside portdbapi.cp_list() in order to prevent problems| |zmedico |later on. Thanks to delusions for reporting on irc. | |5714 |Raise an informative InvalidData exception instead of 'TypeError: | |zmedico |unsubscriptable object' when pkgsplit returns None. | |5716 |Simplify rsync timestamp.chk handling and print the correct path for bug | |zmedico |#50738. Thanks to jeka for reporting on irc. | |5718 |For bug #162404, when sesandbox is enabled, only log if PORT_LOGDIR is | |zmedico |explicitly enabled since it is possible that local SELinux security policies | | |do not allow ouput to be piped out of the sesandbox domain. | |5722 |Fix syntax. | |zmedico | | |5733 |forgot to document strict alias warnings | |SpankMan | | |5734 |fix programlisting output to match the sections they are in | |SpankMan | | |5735 |Some minor fixes for manifest code | |genone | | |5736 |For bug #161356, fix the SLOT match code to handle a KeyError thrown due to a| |zmedico |corrupt ebuild. | |5737 |For bug #161356, prevent an AttributeError if the exception has no __module__| |zmedico |attribute. | |5741 |Use XARGS for portable xargs handling when find doesn't find any files. | |zmedico |(branches/2.1.2 r5740) | |5742 |Minor fixes thanks to Fabio Correa in bug #162647. | |zmedico | | |5743 |Don't require MANIFEST2 hashes since that can trigger excessive fetches when | |zmedico |sufficient digests already exist. Thanks to vapier for reporting. | |5746 |To ease transition while Manifest 1 is being removed, only require hashes | |zmedico |that will exist before and after the transition. | |5749 |For bug #163083, handle an UnsupportedAPIException thrown from the prerm | |zmedico |phase. | |5757 |For bug #163219, handle binpkgs that have missing PF metadata. | |zmedico | | |5759 |Add new ** for package.keywords token to bypass keyword visibility layer | |genone | | |5760 |Update package.keywords section in portage(5) with info about new ** token | |genone | | |5763 |For bug #142279, detect and warn about null bytes in CONTENTS. | |zmedico | | |5765 |Fix broken line number counting for CONTENTS. | |zmedico | | |5768 |demote KEYWORDS.missing to a warning to make KEYWORDS='' valid | |genone | | |5778 |Namespace sanitizing, step 1 | |genone | | |5779 |Adding compat symlinks for cache and elog packages | |genone | | |5780 |Namespace sanitizing, step 2 Rename portage.exec to portage.process to avoid | |genone |syntax errors | |5781 |Namespace sanitizing, step 2b | |genone | | |5782 |Namespace sanitizing, step 3 | |genone | | |5783 |Fix some breakage caused by script malfunction | |genone | | |5784 |Namespace sanitizing, step 4 | |genone | | |5785 |Namespace sanitizing, step 5 | |genone | | |5786 |Document namespace sanitizing | |genone | | |5788 |Fix broken symlink caused by exec module rename | |genone | | |5789 |Fix automatic path detection to account for new location | |genone | | |5790 |For consistency, do not imply --pretend with --changelog since that prevents | |zmedico |--changelog from being usable in EMERGE_DEFAULTS_OPTS. Thanks to Ryan Hill | | | in #151250. | |5791 |if requested argv cannot be matched to anything, exit with non-zero status | |SpankMan | | |5792 |fix namespacing in tests | |WarnerBro| | |5793 |add test to entice svn mv | |WarnerBro| | |5794 |Move tests into new directory structure | |WarnerBro| | |5795 |fix minor sed overzeallousness | |WarnerBro| | |5796 |add support for parsing of unicode quotes | |SpankMan | | |5798 |Ignore EEXIST from rmdir since some kernels (such as solaris) return that | |zmedico |instead of ENOTEMPTY. | |5799 |Remove a stray print statement. Thanks to Rick Warner in bug #125261. | |zmedico | | |5802 |Add a warning about confcache to make.conf(5) | |genone | | |5803 |Catch EACCESS when running env-update, orignal patch by | |genone | (bug #106061) | |5804 |translate unicode quotes to ascii ones so we can keep our regex simple | |SpankMan | | |5814 |use errno.EACCES as suggested by Brian Harring | |WarnerBro| | |5817 |Can't delete variable that doesn't exist anymore (bug #164280) | |genone | | |5821 |Minor cleanup for the LIVEVCS.stable code. | |zmedico | | |5825 |add support for transparently decompressing gz/Z/bz2 files since some | |SpankMan |upstream packages will compress for us | |5827 |For bug #164078, don't trigger the CLEAN_DELAY countdown for autoclean | |zmedico |operations since those are most likely unattended. Thanks to Dan | | | for the initial patch. | |5833 |For bug #164363, shuffle the ip addresses returned from socket.getaddrinfo().| |zmedico | | |5838 |Fix "UnboundLocalError: local variable 'portage' referenced before | |zmedico |assignment" caused by an unnecessary local import hiding a global import. | |5840 |For bug #164532, don't rely on ${USERLAND} since the portage tree might be | |zmedico |empty. | |5842 |For bug #164617, don't change permissions on ${WORKDIR} with unpack(). | |zmedico | | |5845 |Use find + xargs to avoid a potential 'Argument list too long' from bash. | |zmedico |Thanks to solar for reporting. | |5847 |add some useful options | |SpankMan | | |5848 |try and fix $LastChangedRevision$ | |SpankMan | | |5849 |try and fix $Rev$ | |SpankMan | | |5852 |Don't use os.path.isdir() because it can swallow errors related to | |zmedico |filesystem/disk corruption. | |5853 |add some new tests | |WarnerBro| | |5854 |rename file | |WarnerBro| | |5855 |Round one of dep_getusedeps() | |WarnerBro| | |5856 |increase test coverage to cover slots, uncovering a few corner cases that | |WarnerBro|need fixing | |5857 |fix regression in test changes | |WarnerBro| | |5858 |Load the most current variables from /etc/profile.env for post_emerge stuff. | |zmedico | | |5859 |Fix --newuse so that it works correctly with --usepkg. | |zmedico | | |5862 |fix doc typo; more test fiddling | |WarnerBro| | |5863 |A somewhat more intelligent layout, move tests into portaage namespace so we | |WarnerBro|can import them easier, seems to be a more common layout from what I've seen.| | |Also rewrite the test runner to work with new layout | |5864 |apparently I'm retarded and missed some of the tests.. | |WarnerBro| | |5865 |Rename dir.bz2 since that's the most likely case now. | |zmedico | | |5866 |add warning about storing data in PORTDIR | |WarnerBro| | |5870 |For bug #153109, replace our old chflags module with the one provided by the | |zmedico |py-freebsd package. Thanks to Diego Pettenò for the | | |initial patch. | |5871 |remove redundant directory now | |WarnerBro| | |5872 |grrr I thought I removed this | |WarnerBro| | |5875 |For bug #165065, use the proper RESTRICT setting when fetching files in | |zmedico |digestgen(). | |5876 |Make the tests pass. | |zmedico | | |5877 |For bug #165034, make sure that symlinks are excluded from chmod calls. | |zmedico | | |5878 |Use ! -type l to exclude symlinks better. Thanks to marienz. | |zmedico | | |5879 |Fix a typo from the previos commit. | |zmedico | | |5880 |In order to correctly handl the case of target caches that don't have | |zmedico |complete eclass entries, validate the set of interited eclasses to make sure | | |it is correct (since timestamp validation is not applicable). | |5887 |Fix "UnboundLocalError: local variable 'portage' referenced before | |zmedico |assignment" caused by a local import hiding a global import. | |5888 |For bug #165349, use the portage_versions regex (via pkgsplit) instead of the| |zmedico |incompatible ones that repoman currently uses. | |5889 |Document --config-root for bug #165334. | |zmedico | | |5890 |For bug #165382, don't raise a ValueError in cpv_expand() if there are only | |zmedico |two matches and one of them is a virtual. Prefer the non-virtual instead. | |5891 |Ensure that the code for bug #165342 only affects name collisions with | |zmedico |virtuals. | |5895 |Fix another UnboundLocalError (branches/prefix r5893) | |zmedico | | |5897 |For bug #165382, show a helpful message if an exception is raised from | |zmedico |cpv_expand(). | |5902 |Check if entries contain the required hashes before writing the Manifest | |genone | | |5903 |Make sure to fetch files if MANIFEST2_REQUIRED_HASH is missing. | |zmedico | | |5904 |Document PORTAGE_WORKDIR_MODE for bug #8688. Thanks to Peter Hjalmarsson in | |zmedico |bug #164617. | |5906 |Update modules doc for the new portage namespace. | |zmedico | | |5907 |For backward compatibility with api consumers, _dep_check_strict behavior | |zmedico |will be explicitly enabled as necessary. Thanks to Brian | | |for reporting issues with porthole and equery. | |5908 |For bug #165783, handle an InvalidDependString exception triggered by an | |zmedico |invalid SRC_URI. | |5910 |move die into isolated-functions.sh | |WarnerBro| | |5912 |Only echo PORTAGE_LOG_FILE if it's actually set (may not be if sesandbox is | |zmedico |enabled). | |5914 |For bug #165780, make config-protect code consistently ignore '.*~' and | |zmedico |'.*.bak'. | |5916 |For bug #165783, handle a potential InvalidDependString exception inside | |zmedico |digestgen(). | |5918 |Enable strict dep checking for repoman. | |zmedico | | |5920 |For bug #165783, handle a potential InvalidDependString exception inside | |zmedico |doebuild(). | |5922 |For bug #165783, handle a potential InvalidDependString exception in repoman | |zmedico |and report a SRC_URI.syntax failure. | |5924 |Synchronize required hash code in all relevant places. | |zmedico | | |5926 |Turn on strict dep checking to fix the isvalidatom test. | |zmedico | | |5928 |Make the "lfull" output more succinct by omitting categories for which there | |zmedico |are no violations. | |5930 |die requires diefunc and dump_trace too; duh; also move extdebug into | |WarnerBro|isolated-functions.sh | |5931 |Create namespace for emerge | |genone | | |5934 |update test notes | |WarnerBro| | |5935 |fix a few broken tests | |WarnerBro| | |5938 |add docstrings | |WarnerBro| | |5939 |Move dbapi and related classes out of __init__.py into their own subpackage. | |genone |Also perform some minor cleanups. | |5940 |fix syntax | |zmedico | | |5941 |Fix imports from the emerge package. | |zmedico | | |5942 |Fix automatic sys.path insertions so that they're relative instead of | |zmedico |absolute hard coded. | |5943 |remove broken dblink import | |zmedico | | |5944 |fix broken imports | |zmedico | | |5945 |Use os.path.realpath to handle symlinks properly. | |zmedico | | |5946 |Break a recursive loop. | |zmedico | | |5947 |Fix missing stat import. | |zmedico | | |5948 |Fix vardb.cpv_all() breakage. | |zmedico | | |5949 |Add missing VDB_PATH to fix vardbapi.aux_get() breakage. | |zmedico | | |5950 |Make xterm titles work even when color is disabled. Thanks to Joachim Kaeber | |zmedico | in bug #166255. | |5953 |Use the real symbols in import statements, not the references in __init__.py | |genone | | |5954 |import best() from portage.versions | |zmedico | | |5955 |Make subpackage naming consistent | |genone | | |5956 |In the event of a circular dependency panic, eliminate root nodes in order to| |zmedico |reduce the noise level to a minimum. | |5959 |tweak PORT_LOGDIR comments so as to not give the wrong impression about the | |SpankMan |default value | |5960 |Fix missing imports. | |zmedico | | |5961 |Detect potential issues with mtime granlarity in env_update() and sleep if | |zmedico |necessary. Thanks to Brian Harring for reporting. | |5963 |Fix broken imports. | |zmedico | | |5965 |For bug #158100, use an exact reversal of the actual merge order for --tree | |zmedico |output. It's more efficient than doing 2 order calculations. | |5967 |Optimize merge order calculation for --tree output when necessary. | |zmedico | | |5969 |Fix CONFIG_PROTECT_MASK support. Thanks to piavlo for | |zmedico |this patch from bug #166837. | |5970 |Add missing quotes. | |zmedico | | |5973 |Add support for RSYNC_EXTRA_OPTS to webrsync | |genone | | |5974 |Print filename when displaying package.mask comments | |genone | | |5975 |Ignore compiled files. Add new feature 'preserve-libs' that injects files | |genone |into $D that - belong to a package instance that is about to be autocleaned -| | |are not installed by the new package instance - are listed in at least one | | |NEEDED file in vdb - are not just used by other files of the package instance| | |As a side-effect a new file /var/db/pkg/.NEEDED is created that contains a | | |reversed map of the NEEDED files found in a packages dbdir. | |5976 |Print hostname in xterm title if sheridan is available in the environment | |genone | | |5977 |Make emerge importable again without relying on module search path order | |genone | | |5978 |Move bin/emerge to pym/emerge/__init__.py to restore old import behavior as | |genone |the load_source solution doesn't work properly | |5979 |For full backwards compat (with symlinks or other weird stuff) import | |genone |everything into the main namespace | |5980 |Remove portage_exec.py as subversion is stupid and can't convert it in one | |genone |step | |5981 |Replace compat symlinks with a new compat module as the symlink solution | |genone |prevents reuse of state information (requested by ferringb) | |5982 |For bug #166939, make --nodeps work like a normal package for new-style | |zmedico |virtuals. | |5983 |Remove unnecessary import that triggers DEPRECATION NOTICE. | |zmedico | | |5984 |Fix package.provided breakage from the fix for bug #166939. | |zmedico | | |5986 |For bug #166785, check for invalid categories in the world file. | |zmedico | | |5988 |For bug #163990, warn about ebuilds with invalid categories and do not allow | |zmedico |them to be installed. | |5990 |For bug #163990, warn about binary packages with invalid categories and do | |zmedico |not allow them to be installed. | |5992 |Move reverse NEEDED cache into CACHE_PATH and use a more descriptive name | |genone | | |5993 |extend check for internal references, should remove all libs that are only | |genone |used internally now | |5994 |Move preserve-libs and collision-protect code from treewalk() into their own | |genone |functions | |5995 |set.remove() returns None, so can't use it in a function call | |genone | | |5996 |For bug #167450, optimize merge order by delaying the merge of root nodes. | |zmedico | | |5998 |For bug #166880, always display the merge list (allowing --tree to be obeyed | |zmedico |in any case). | |6000 |For bug #166880, always display the merge list header. | |zmedico | | |6002 |When calling tar, always exclud . in order to preserver PORTAGE_WORKDIR_MODE.| |zmedico |Thanks to Brian Harring in bug #167544. | |6004 |Don't exclude . since that excludes the entire contents of some tar files. | |zmedico | | |6006 |For bug #166564, make a circular dependency panic more user friendly by | |zmedico |displaying the USE flags that are enabled on nodes that are part of | | |dependency cycles and display a note hinting that circular dependencies can | | |often be avoided by temporarily disabling USE flags. | |6008 |Automatically enable --tree mode when displaying nodes with circular deps. | |zmedico | | |6010 |For bug #167450, optimize leaf node selection by ordering nodes from highest | |zmedico |to lowest overall reference count. | |6012 |Make digraph._merge_order_bias() operate on a single digraph that's passed | |zmedico |in. | |6014 |Optimize order for --tree display of circular dependencies. | |zmedico | | |6017 |As requested by vapier, don't show the merge list in --quiet mode unless it's| |zmedico |explicitly requested via --ask or --pretend. | |6019 |For bug #167795, try avoid the population routine when possible, so that | |zmedico |FEATURES=buildpkg doesn't always force population. | |6021 |Raise a CommandNotFound exception when necessary, to ease troubleshooting. | |zmedico |Thanks to marienz for reporting. | |6023 |s/x/xs/ to fix a typo in a variable name. | |zmedico | | |6024 |For consistency, replace multiple os.getcwd() calls with the "mydir" | |zmedico |variable. | |6027 |Fix stardir and repodir logic from the previous commit. | |zmedico | | |6029 |Avoid a TypeError when commitmessagefile is None. | |zmedico | | |6031 |Use startdir instead of mydir since mydir has a trailing slash which triggers| |zmedico |normalization issues with the dirname function. | |6033 |Fix more broken commitmessagefile handling. | |zmedico | | |6035 |Fix broken file list handling for FEATUES=sign when only the Manifest has | |zmedico |changed. | |6036 |Add some sanity checks for file list handling when repolevel < 3. | |zmedico | | |6038 |Fix "NameError: global name 'myfilelist' is not defined" when | |zmedico |collision-protect is enabled. | |6039 |Make sure that ${A} in initialized in case pkg_nofetch() needs to be called. | |zmedico |Thanks to Peper for reporting. | |6041 |For bug #167667, use the existence of ${PORTDIR}/manifest1_obsolete to | |zmedico |trigger the disabling of manifest1/digest file generation. This toggle is | | |repo/overlay specific, allowing a specific overlay to drop manifest1 buy | | |adding the manifest1_obsolete file. | |6042 |For bug #167667, add support for ${PORTDIR}/manifest1_obsolete and | |zmedico |automatically remove ${FILESDIR}/digest-* from cvs when appropriate. | |6045 |Don't bother to parse ${FILESDIR}/digest-* when manifest1_compat is disabled.| |zmedico | | |6047 |For bug #167668, use an rsync "hide" filter rule to exclude **/files/digest-*| |zmedico |and delete them on the receiver. | |6048 |Remove quotes since rsync doesn't accept them (and there is no shell to | |zmedico |remove them since we use spawn() for rsync now). | |6051 |spawn rsync without a shell. | |zmedico | | |6053 |Testing CIA commit logs, will undo in a moment. | |robbat2 | | |6054 |Undoing previous test | |robbat2 | | |6055 |Make verify_all() return an "insufficient data" error if there is not at | |zmedico |least one supported hash type. | |6056 |Make fetch() bail out when an "Insufficient data for checksum verification" | |zmedico |error occurs. | |6058 |Do not show the spinner and the "Calculating dependencies" message for | |zmedico |installation actions when the --nodeps option has been specified. Thanks to | | |David Watzke for this patch from bug #168169. | |6060 |Filter paths matching '/$' that come from debugedit. Thanks to Ed Catmur for | |zmedico |this patch from bug #165342. | |6062 |As requested by solar, never show a merge list unless it's explicitly | |zmedico |requested by --ask, --pretend, or --tree. | |6064 |As requested by solar, never show a merge list unless it's explicitly | |zmedico |requested by --ask, --pretend, or --tree. | |6066 |Allow --verbose to trigger a merge list even without --pretend, --ask, or | |zmedico |--tree. Thanks to agaffney and zlin for the suggestion. | |6068 |Clean up os.environ["USERLAND"] pollution from the portage.data module so | |zmedico |that it doesn't interfere with repoman. | |6070 |For bug #167668, prune empty ${FILESDIR}s by adding --prune-empty-dirs to | |zmedico |PORTAGE_RSYNC_OPTS. Thanks to Ulrich Mueller for the | | |suggestion. | |6086 |For compatibility with older findutils, don't use the -L predicate (bug | |zmedico |#168432). | |6088 |For bug #168267, use add --force to the default PORTAGE_COMPRESS_FLAGS so | |zmedico |that hardlinks are automatically broken. | |6098 |Merged from branches/prefix r6091:6092. Fix undefined whatever 'best' error | |zmedico |by importing it from portage.versions | |6099 |Merged from branches/prefix r6092:6093. Avoid "TypeError: unpack | |zmedico |non-sequence" backtraces, and return a set of None, None when was asked for | | |the location. | |6100 |update --help example to match current behavior #168678 by Arthur Hagen | |SpankMan | | |6102 |For bug #168823, fix broken except statement syntax that prevents the | |zmedico |ValueError from being caught as intended. | |6104 |For bug #168646, don't bail out immediately when rsync detects protocol | |zmedico |incompatibility (code 2) during fetching of the timestamp file. Retry for a | | |better server (up to PORTAGE_RSYNC_RETRIES). | |6107 |Fix misplaced [1] | |zmedico | | |6109 |Use an alarm signal to implement a timeout when rsync is fetching the server | |zmedico |timestamp file, since rsync's --timeout option doesn't apply to the initial | | |connection attempt. | |6111 |Make sure pids are appropriately removed from portage.process.spawned_pids. | |zmedico | | |6113 |- please be --quiet emerge. still need to hunt down one more newline | |solar | | |6115 |Add compatibility code to avoid the GNU specific --reference option of chmod.| |zmedico |Thanks to Timothy Redaelli . | |6117 |For consistency, remove exit code 2 (protocol incompatibility) from the other| |zmedico |list of rsync exit codes. | |6119 |Fix broken except statement syntax. | |zmedico | | |6121 |Fix the rest of the broken except statement syntax. | |zmedico | | |6123 |Fix broken rsync exitcode shift. | |zmedico | | |6125 |Remove unnecessary print statement reported by solar. | |zmedico | | |6127 |Even if there's no timestamp available locally, fetch the timestamp anyway as| |zmedico |an initial probe to verify that the server is responsive. This protects us | | |from hanging indefinitely on a connection attempt to an unresponsive server | | |which rsync's --timeout option does not prevent. | |6129 |For bug #168646, remove --prune-empty-dirs from PORTAGE_RSYNC_OPTS since it's| |zmedico |only a small optimization and it's inconvenient to force >=rsync-2.6.4 on | | |server admins at this time. If users desire, they can still add it to | | |PORTAGE_RSYNC_EXTRA_OPTS. | |6133 |When emerge automatically resumes, add --ignore-default-opts to the command | |zmedico |line in order to prevent things like --ask from leaking in via | | |EMERGE_DEFAULT_OPTS. Thanks to Peter Weller for reporting. | |6135 |For bug #169046, fill in the --tree display with "nomerge" nodes so that the | |zmedico |user can always see at lease 1 parent on any non-root node. Packages may | | |appear in the display list multiple times, and will be marked "nomerge" when | | |their position in the list does not correspond to actual merge order. | |6137 |Fix types.InstanceType test which is failing now for some reason. | |zmedico | | |6138 |remove category regex, dumb idea, sorry I did it | |WarnerBro| | |6141 |s/node/selected_parent/ for clarity | |zmedico | | |6143 |For bug #138840, show a more informative message when waiting for a distfiles| |zmedico |lock due to parallel-fetch. Thanks to David Watzke for the | | |initial patch. | |6146 |Add missing sys import. | |zmedico | | |6148 |Make sure that excess "nomerge" nodes are pruned correctly. | |zmedico | | |6153 |you can't insert into sys.path without importing sys... | |WarnerBro| | |6154 |In the same vein as copyright, add Id and svn:keywords to it | |WarnerBro| | |6155 |make sure uid is an int | |WarnerBro| | |6156 |Pass waiting_msg into recursive lockfile() calls. | |zmedico | | |6158 |Only prune duplicate consecutive nodes if they both have depth == 0. | |zmedico | | |6160 |For bug #169187, make --depclean prune unneeded slots such that it is | |zmedico |consistent with the world update algorithm. | |6162 |Add a note about --with-bdeps in the --depclean failure message. | |zmedico | | |6164 |Fix the minimum index for pruning consecutive duplicate nodes. | |zmedico | | |6166 |Remove the KVERS environment variable since it's code that creates it is | |zmedico |broken anyway (only sets KVERS="." in the general case). | |6169 |Display blockers at the end of the list so that it will more often be easy | |zmedico |for the user to see them in a terminal. Thanks to iapitus and hydrogen for | | |the suggestion. | |6174 |allow people to disable compression by setting the PORTAGE_COMPRESS variables| |SpankMan |to "" | |6175 |Avoid pointless population of the binary tree when --buildpkg is enabled. | |zmedico |Thanks to vapier for reporting. | |6178 |these will fail now | |WarnerBro| | |6181 |Roll our own unittest framework to add skip support. | |WarnerBro| | |6182 |Update all the unittests to use the new framework, test skipping with | |WarnerBro|isValidAtom, add silly xpak test since I have it 'done' | |6183 |Add part about new framework and skipping to test notes | |WarnerBro| | |6186 |For bug #169620, in --tree display always show the dowload size on the node | |zmedico |that is "ordered" rather than one of it's "nomerge" counterparts. | |6188 |Fix 2 more types.InstanceType comparisons that are broken by the transition | |zmedico |of dbapi to new-style classes. | |6189 |Take marien's advice, turn Skips into Todos for clarity sake | |WarnerBro| | |6190 |Part of my attempt now involves cleaning up config; this means for me; | |WarnerBro|removing the file-based stuff from it (config_path) and encapsulating that | | |into classes. This is the first one, a simple PackageKeywords class that does| | |file-based stuff, no recursion yet but soon. Trying to do TDD here as well,so| | |tests first then code. | |6192 |Change load() to have no default arguments, makes caller specifiy | |WarnerBro|explicitly...I think assuming a default arg is bad here. Also add PackageUse | | |and PackageUseFile, change up the comments a bit. I've started to notice code| | |re-use here; these are basically the same code. I think I will write up the | | |rest of the package* classes and then perform code merges to save LOC and | | |memory and whatnot | |6193 |add PackageMask{File} classes, change unit tests to use try/finally, makes | |WarnerBro|sure the tempfile gets destroyed even if something weird happens | |6194 |whoopse, s/;/:/ | |WarnerBro| | |6195 |Remove legacy "masked by: profile" support as per bug #149508. Profiles | |zmedico |should use package.mask to mask unwanted versions of system packages. | |6196 |Use the full atoms from the system set, since profile masking does not | |zmedico |automatically constrain the matches anymore. | |6197 |Remove the "masked by: profile" support from getmaskingstatus(). | |zmedico | | |6198 |Remove profile masking of system packages from the docs. | |zmedico | | |6199 |Display message about --buildpkgonly restriction in pretend mode as well | |genone | | |6201 |Add back a missing `source isolated-functions.sh`. The color logic is handled| |zmedico |internally. | |6202 |import portage.xpak to avoid deprecation warning | |zmedico | | |6203 |For bug #170178, remove all hardcoded references to '/usr/lib/portage'. | |zmedico | | |6205 |Make prepinfo remove installed info indexes recursively. Thanks to Christian | |zmedico |Faulhammer for reporting (see bugs #162675 and #170133). | |6210 |Automatically convert ROOT and PORTAGE_CONFIGROOT to absolute paths when | |zmedico |necessary since relative paths lead to problems. Thanks to Christian Heim | | | for reporting. | |6211 |Add back rstrip(os.path.sep) from the previous commit since it's needed when | |zmedico |ROOT="/". | |6212 |For bug #163262 and conformance with section 7.2 of the PMS, make the export | |zmedico |attribute of variables persist between ebuild phases. | |6215 |For bug #171117, ensure that the new and old config have different timestamps| |zmedico |(for the benefit of programs like rsync that need distiguishable timestamps | | |to detect file changes). Thanks to Ben Bennett for | | |reporting. | |6217 |Fix a utime call to prevent a timestamp collision for bug #171117. | |zmedico | | |6219 |drop the need for the force flag by default and just delete the existing | |SpankMan |files automatically #171007 | |6220 |redo compression so that it is queued up in src_install and then dequeued | |SpankMan |post src_install | |6221 |forcibly break all hard links so we dont need to rely on --force in | |SpankMan |compressor and tweak the _relocate_skip_dirs() func to handle whitespace in | | |paths (thanks to zmedico for tip) | |6222 |Fix a typo. | |zmedico | | |6223 |Fix broken exception handling. | |zmedico | | |6224 |Fix a broken test. | |zmedico | | |6225 |ignore *.py[co] | |SpankMan | | |6226 |Use mkstemp to create a random tempfile. | |zmedico | | |6227 |fix for older python who have oddly named __exc_info() | |WarnerBro| | |6228 |bump ________foo from the TestCase class since _exc_info() doesn't do | |WarnerBro|anything anyway | |6229 |send stdout to /dev/null since we rely on the output of stdout here to | |SpankMan |determine the proper suffix #171212 | |6230 |start of framework for programs in portage bin | |SpankMan | | |6231 |Close /dev/null when finished. | |zmedico | | |6232 |Make paths independent of cwd. | |zmedico | | |6233 |Add "bin" to testDirs. | |zmedico | | |6234 |Call the base class destructor if it exists. | |zmedico | | |6240 |make sure we prefix all arguments with $D, including ones that dont start | |SpankMan |with a / | |6241 |Use locals() instead of setattr to insert generated functions into the | |zmedico |current module. Thanks to Brian Harring for the suggestion. | |6242 |Never use listdir with both recursion=True and followSymlinks=True since it | |zmedico |circular symlinks will lead to endless recursion loops. Thanks to Tobias Hahn| | | for this patch. | |6246 |Appropriately use globals() instead of locals() as suggested by marienz. | |zmedico | | |6247 |revert previous change since it is obviously incorrect as pointed out by | |SpankMan |grobian | |6251 |Implement license visibility filtering for GLEP 23, bug #17367, and bug | |zmedico |#152593. | |6253 |Appropriately return from _getMissingLicenses() if one of the choices is | |zmedico |satisfied. | |6255 |Pass missing acceptable_licenses parameter into recursive | |zmedico |_getMissingLicenses() calls. | |6256 |Fix cvstree import to avoid deprecation warning. | |zmedico | | |6258 |Catch a potential InvalidDependString exception. | |zmedico | | |6259 |Add a docstring to config.getMissingLicenses(). | |zmedico | | |6260 |Pass a list of USE flags into config.getMissingLicenses() so that the method | |zmedico |can eventually be used for binary packages in addition to ebuilds. | |6261 |Fix a typo. | |zmedico | | |6263 |default --help should be usable, so make the extended output require | |SpankMan |--verbose | |6264 |Add --verbose to the "for more help" message. | |zmedico | | |6265 |Ignore non-existent directories for bug #171809. This is required for | |zmedico |readonly mode. | |6267 |For bug #171840, consider all choices for slot intersection and promote those| |zmedico |that have upgrades relative to other choices. | |6269 |Clean up and simplify preference selection logic for bug #171840. | |zmedico | | |6271 |For bug #172033, remove the obsolete QA Notice for man pages that are already| |zmedico |compressed. | |6273 |Allow the merge task to continue despite conflicts when --fetch-all-uri is | |zmedico |specified. | |6275 |return from the merge task instead of calling sys.exit directly. | |zmedico | | |6277 |Verify all ebuild manifests before building anything now so that the user is | |zmedico |notified of failure as soon as possible. | |6279 |Fix the rest of the tests | |WarnerBro| | |6280 |completely rewrite file bits, use Loader classes to push loading | |WarnerBro|functionality down | |6281 |split the loader classes into their own file, split the recursive filename | |WarnerBro|grabbing out into it's own function | |6282 |Do the "*" check as early as possible in config.getMissingLicenses(). | |zmedico | | |6283 |Verify the Manifest first even if there's only one package (prior to the | |zmedico |fetch phase). | |6285 |fix grammar in error output | |SpankMan | | |6286 |Fix insecure tempfile usage | |WarnerBro| | |6287 |fix some tests, break others | |WarnerBro| | |6288 |clean up some init functions, add PortageModules class | |WarnerBro| | |6289 |fix tests for PortageModulesFile | |WarnerBro| | |6290 |fix broken PortageModule classes | |WarnerBro| | |6291 |minor name changes for bin tests, svn propset keywords Id stuff | |WarnerBro| | |6292 |Continue to support profile masking at least until bug #170697 is settled. | |zmedico | | |6297 |source ${T}/environment before the definition of qa_source() and qa_call() so| |zmedico |that the call stack shows the original files and line numbers instead of | | |those from ${T}/environment. Thanks to Markus Ullmann for | | |reporting. | |6299 |Filter the readonly attribute from variables saved in ${T}/environment to | |zmedico |prevent 'readonly variable' error messages in later phases. | |6301 |Properly anchor sed regexp for readlonly attribut filtering. | |zmedico | | |6303 |Synchronize PORTAGE_COMPRESS_FLAGS to reflect that -9 is the default now. | |zmedico | | |6305 |Convert "ebuild" and "binary" "nomerge" nodes into "installed" nodes for | |zmedico |greater consistency in the depgraph. | |6307 |Correctly pull the metadata again when the node is converted. | |zmedico | | |6309 |For bug #172539, fix ecompressdir suffix handling so that automatic | |zmedico |decompression of Z, gz, and bz2 suffixes works properly. | |6317 |spaces -> tabs | |zmedico | | |6318 |spaces -> tabs | |zmedico | | |6321 |For bug #172571, use socket.AF_INET as the default family for | |zmedico |socket.getaddrinfo(). | |6324 |make PDEPEND wording less restrictive #172511 and clarify install status wrt | |SpankMan |||() as noted by ferringb | |6325 |Fix missing import. | |zmedico | | |6328 |After talking to marienz, decide that 1 class is better than 4, also realize | |WarnerBro|that UserDict has most of the dict methods exposed, so drop them. Also add a | | |LoaderError Exception. Still to do? add a validation callable into the loader| | |to validate data. | |6329 |drop line_count in favor of izip and count(), itertools FOR THE WIN baby. | |WarnerBro| | |6330 |I consulted the python oracle and it told me enumerate was better, so go team| |WarnerBro|enumerate | |6332 |For bug #173184, handle the CommandNotFound that is produced during | |zmedico |uninstallation of prelink. | |6339 |Punt the sorted_versions() function in favor of list.sort(vercmp). | |zmedico | | |6341 |Don't set os.environ["USERLAND"] inside portage.data and rely on USERLAND | |zmedico |from the profile instead (bail out if necessary when USERLAND is unset). | |6342 |Don't force OS detection in the portage.data module. | |zmedico | | |6343 |Make sure XARGS has a default value. | |zmedico | | |6344 |Provide a default value to the getattr call. | |zmedico | | |6346 |remove references to DOCDESTTREE and INSDESTTREE | |SpankMan | | |6347 |change "DOCDESTTREE" to "_E_DOCDESTTREE_" to try and prevent abuse from | |SpankMan |ebuild writers | |6348 |tell people that the FILES section is not supposed to be complete (and sneak | |SpankMan |in a few style fixups) | |6349 |document /var/cache/edb/, /var/db/pkg/, and /var/lib/portage/config | |SpankMan | | |6350 |remove references to EXEDESTTREE | |SpankMan | | |6351 |change "EXEDESTTREE" to "_E_EXEDESTTREE_" to try and prevent abuse from | |SpankMan |ebuild writers | |6354 |Only apply permissions to ccache, confcache, and distcc dirs when they are | |zmedico |created in order to avoid interference with whatever the user's preferred | | |permissions are. Thanks to Diego Pettenò for | | |reporting. | |6356 |Cache NEEDED in order to optimize update_library_map() calls. | |zmedico | | |6357 |Update the FEATURES=strict docs for better clarity. Thanks to taviso for | |zmedico |reporting. | |6358 |Don't load FEATURES in load_infodir() because FEATURES from the build host | |zmedico |shouldn't be interpreted asFEATURES on the client system. Thanks to Thanks to| | |Chri | |6360 |Efficiently recycle partial valid vdb cache when possible. This reduces disk | |zmedico |load when switching between versions of portage that cache different keys. | |6362 |For bug #173808, compress ${mandir} all in one go instead of doing | |zmedico |subdirectories separately. This allows symlinks that point into sibling | | |directories to get updated properly be ecompressdir. | |6371 |For bug #173808, add back the old heuristics to make sure that we don't just | |zmedico |blindly compress the contents of any directory named "man". | |6379 |cleanup example ebuild to be more representative of a "good" ebuild #174260 | |SpankMan |by Timothy Redaelli | |6383 |Use a config instance that's not locked/immutable. | |zmedico | | |6384 |Use catpkgsplit instead of pkgsplit for consistency with usage elsewhere. | |zmedico | | |6386 |Add CATEGORY to blacklisted variables since it can interfere with CATEGORY | |zmedico |guessing inside doebuild. | |6388 |Use relative paths inside ecompressdir in order to avoid 'Argument list too | |zmedico |long' errors with large file sets (observed when installing | | |sys-apps/man-pages). | |6392 |simplify unsafe file checking so files/paths with spaces dont cause troubles | |SpankMan | | |6394 |create leading directories to match behavior of other do* programs | |SpankMan | | |6395 |document new version suffix style #166522 | |SpankMan | | |6396 |Prefix the hardlink source with ${D} like we always have. | |zmedico | | |6401 |revise tests so that `insinto /` does not trigger an error | |SpankMan | | |6402 |queue compression | |SpankMan | | |6403 |do stripping after compression dequeueing | |SpankMan | | |6411 |convert `type -p` to `type -P` as noted by grobian | |SpankMan | | |6416 |strip .comment by default, add a comment as to what we need before we can do | |SpankMan |.note, and add safe stripping of relocatable objects | |6417 |For bug #175344, use cp_list instead of xmatch in order to avoid dep_expand | |zmedico |calls. | |6419 |For bug #175344, handle a potential InvalidDependString exception when | |zmedico |parsing PROVIDE. | |6421 |For bug #175344, handle a potential InvalidDependString exception when | |zmedico |parsing PROVIDE. | |6423 |For bug #175344, validate LICENSE and PROVIDE inside doebuild(). | |zmedico | | |6425 |Also validate SRC_URI inside doebuild(). | |zmedico | | |6427 |Also validate RESTRICT inside doebuild(). | |zmedico | | |6429 |Use portable sh syntax rather than bash syntax. Thanks to drizzt. | |zmedico | | |6431 |Pretty up the repoman imports, use cPickle over pickle for performance | |WarnerBro| | |6432 |For bug #175781, add a higher preference priority for choices where all | |zmedico |matching slots are installed (not just any slot). | |6435 |fix typo | |WarnerBro| | |6438 |For bug #176139, only symlink the distfiles that are required according the | |zmedico |current USE settings. | |6440 |Always ensure permissions in DISTCC_DIR in order to try to prevent potential | |zmedico |permission problems for non-root users who are in the portage group | | |(userpriv, etc.). | |6442 |In the installsources docs, note that CFLAGS needs to be set to include debug| |zmedico |information. Thanks to tigger^ for reporting. | |6444 |For bug #176305, validate the resume merge list before attempting to verify | |zmedico |the ebuild manifests. | |6446 |Fix up missing mymergelist variable from the previous commit. | |zmedico | | |6452 |For bug #175058, properly quote the variables in FETCHCOMMAND and | |zmedico |RESUMECOMMAND since the command is spawned in a bash shell. | |6454 |For bug #176384, adjust config according to options of the command being | |zmedico |resumed. | |6456 |For bug #175058, avoid potential quoting issues by spawning FETCHCOMMAND | |zmedico |without a shell. | |6458 |- add new echo module for people who don't want any real logging - add | |genone |copyright header in elog modules and enable keyword substitution - enable | | |save_summary and echo modules in make.globals | |6459 |Fix -* handling in gvisible to match incremental semantics | |genone | | |6461 |Handle KeyError when the ebuild is corrupt. | |zmedico | | |6467 |Fix eend so that it works properly on a standard BSD console. Thanks to | |zmedico |UberLord. | |6469 |s/dir/actual_dir/ (branches/prefix r6463:6464 | |zmedico | | |6471 |document the behavior of `ebuild` wrt FEATURES=noauto #175444 | |SpankMan | | |6472 |Remove news about profile masking which has been reverted pending resolution | |zmedico |of bug #170697. Thanks to Arfrever Frehtes Taifersar Arahesis in #149508. | |6473 |For bug #176765, when a new package is blocked by another one that is being | |zmedico |replaced, handle another case where the conflict can be avoided. | |6478 |For bug #175058, comment #15, expand all possible variables in each argument.| |zmedico | | |6480 |For bug #177211, use chmod -R on the children of the current directory in | |zmedico |order to reduce the size of the argument list. | |6482 |Use match_from_list in order to potentially avoid more blocks. | |zmedico | | |6484 |Add missing base class. | |zmedico | | |6485 |For bug #171259, fix vercmp so that implicit _p0 is less than explicit _p0. | |zmedico |Thanks to TGL for the patch. | |6487 |Use varexpand to expand FETCHCOMMAND and RESUMECOMMAND. | |zmedico | | |6490 |Use shlex for better splitting of FETCHCOMMAND. | |zmedico | | |6492 |Use shlex for better splitting of PORTAGE_RSYNC_OPTS and | |zmedico |PORTAGE_RSYNC_EXTRA_OPTS. | |6494 |Prevent blockers that are only partially resolvable by merge order from | |zmedico |accidentally being ignored. | |6498 |validators++ | |WarnerBro| | |6499 |Honestly if they are missing sys, that error message probably won't help any | |WarnerBro|more than the other one (zomg broken) | |6500 |imports are one module per line, remove type module in favor of the new | |WarnerBro|hotness, isinstance. | |6503 |antarus fears it, and fears it often | |WarnerBro| | |6504 |For bug #177601, add a reference the --verbose option documentation in the | |zmedico |OUTPUT section. | |6505 |For bug #177591, increase shell compatibility by preserving quotes in | |zmedico |varexpand() since quote removal is handled by shlex. | |6506 |fix spacing in loaders | |WarnerBro| | |6508 |Make sure USE=test is properly enabled when the test phase is forced via the | |zmedico |ebuild command. Thanks to Caster for reporting. | |6511 |For bug #177763, document that FEATURES=keepwork can interfere with normal | |zmedico |emerge operation. | |6512 |fix typo from previous commit | |zmedico | | |6513 |Make sure USE=test is properly enabled when the test phase is forced via the | |zmedico |ebuild command, even when USE from ${T}/environment doen't have it. | |6517 |Make sure FEATURES=test and USE=test are consistently enabled for all | |zmedico |requested phases when the test phase is forced via the ebuild command. | |6519 |For bug #177763, clarify about how FEATURES=keepwork allows ${WORKDDIR} to be| |zmedico |reused. | |6523 |s:${PORTDIR}:/usr/portage: so that it's not implied that those variables are | |zmedico |automatically relative to ${PORTDIR} when the value of ${PORTDIR} has changed| | |to something other than /usr/portage. Thanks to kerframil for reporting. | |6524 |Add TODO note about support for blocks within slots. Thanks to Brian Harring | |zmedico |for reporting. | |6525 |Fix the varexpand quotes tests since quotes are no longer removed by this | |zmedico |function. | |6527 |tabs -> spaces | |zmedico | | |6528 |import dispatch_conf from the new namespace | |zmedico | | |6529 |remove old import | |zmedico | | |6530 |the profile check is spammy and should be squelched when --quiet is given | |WarnerBro| | |6535 |For bug #178293, don't write digest-* files unnecessarily when SRC_URI is | |zmedico |empty. | |6537 |fix syntax (merged from branches/prefix r6534) | |zmedico | | |6540 |Don't protect USE_EXPAND variables from -* anymore because the really | |zmedico |critical ones should all be in use.force now (typically kernel_linux, | | |elibc_glibc, and userland_GNU). | |6541 |For bug #162404, use a pseudo-terminal device pair (instead of a normal pipe)| |zmedico |for moving ouput out of the sesandbox domain. | |6542 |wrap lines | |zmedico | | |6543 |Check to see if I have svn.g.o fixed, no actual file changes. | |robbat2 | | |6544 |Check to see if I have svn.g.o fixed, no actual file changes, pass #2 | |robbat2 | | |6545 |Add registration support for preserved library objects, move the | |genone |library->consumer map code out of vardbapi and fix a bug in the setup code | | |for preserve-libs and collision-protect caused by using relative paths with | | |os.path.islink() | |6546 |- store newsid in unread file, not the path to the news item - use octal | |genone |numbers to specify file permissions - use descriptive exceptions when (not) | | |creating NewsItem objects - code style cleanups | |6547 |Display notification about unread news in all situations specified by glep 42| |genone | | |6548 |Enable elog functionality for the python side of portage | |genone | | |6549 |Update for glep42, preserve-libs and elog | |genone | | |6550 |Catch a potential OSError if the child process has already died. | |zmedico | | |6551 |Only show extra whitespace where there are some news items to display. | |zmedico | | |6552 |Fall back to pickle if cPickle is unavailable. Thanks to Michael | |zmedico |Haubenwallner for reporting. | |6553 |fix from James C. Georgas to not modify EXTRA_EINSTALL #178544 | |SpankMan | | |6554 |For bug #176539, add a "manifest" target to repoman so that there's a simple | |zmedico |way to just generate a Manifest. | |6555 |Avoid permission errors when trying to lock repo_path. Note that the lock | |zmedico |file should be mapped into /var somewhere. | |6556 |In --tree output, keep track of which graph edges have already been displayed| |zmedico |and try not to display a given edge more than once. | |6557 |Add edges to shown_edges at the first oportunity. | |zmedico | | |6558 |For bug #178378, make the default src_compile() check for configure in | |zmedico |${ECONF_SOURCE:-.} (instead of just .) before it calls econf. Thanks to James| | |C. Georgas . | |6559 |Use device number and i-node number (like os.path.samefile does) to check if | |zmedico |the current directory is inside a given overlay. This solves issues with path| | |comparison and symlinks. | |6560 |For bug #179206, improve efficiency by using a containment test instead of | |zmedico |str.count inside update_dbentry. Thanks to Jason Lai . | |6561 |In fetch(), don't try to parse digests unless the "O" variable is defined. | |zmedico | | |6562 |For bug #179008, just use metadata.dtd directly from $DISTDIR. | |zmedico | | |6563 |- blind chmod 0 before unlinking files to avoid anybody doing sneaky stuff | |solar |via hardlinks | |6564 |Add a missing newline to the writemsg output. | |zmedico | | |6565 |For bug #179380, make support for ECONF_SOURCE in the default src_compile() | |zmedico |conditional on EAPI != 0. | |6566 |Use bash to spawn FETCHCOMMAND under selinux since most other binaries are | |zmedico |forbidden as entrypoints into the fetch domain. Thanks to Justin Heesemann | | | for reporting. | |6567 |Fix src_compile() ECONF_SOURCE logic to make sure it behaves properly. | |zmedico | | |6568 |When ${PKGDIR}/All/ doesn't exist, put packages in ${PKGDIR}/${CATEGORY}/ | |zmedico |instead. This new layout is backward compatible with portage-2.1.2 and it | | |will be a requirement for new PORTAGE_BINHOST support that is comming. | |6569 |Cache xpak metadata in ${PKGDIR}/Packages in order to minimize disk load when| |zmedico |binarytree.populate() is called. This does not do all the keys that | | |genpkgindex does but it will copy metadata from the existing Packages file if| | |it appears valid. The binarytree.populate() code is performance critical, so | | |the MD5 will certainly have to be done elsewhere (like just after a package | | |is built). | |6570 |Fix size comparison logic. | |zmedico | | |6571 |Handle a KeyError if an MTIME is missing from the Packages index. | |zmedico | | |6579 |- cleaner version of the hardlink basic suid protection. actually check that | |solar |the file is setXid | |6580 |Fix namespace for S_ISUID and S_ISGID. | |zmedico | | |6581 |More namespace fixes. | |zmedico | | |6582 |Punt the portdbapi.getsize() function since it's unused and broken (mysum | |zmedico |referenced before assignment). | |6583 |Fix missing red import. | |zmedico | | |6584 |Split reading/writing of $PKGDIR/Packages into a PackageIndex class. | |zmedico | | |6585 |Discard metadata from the Packages file if there's no MTIME attribute. | |zmedico | | |6586 |Update /Packages as each package is built (MD5 is done here since it won't | |zmedico |hurt performance). | |6587 |Lock $PKGDIR/Packages during population so that it won't get out of sync if | |zmedico |another process updates it. | |6588 |Store the path of $PKGDIR/Packages as binarytree._pkgindex_file. | |zmedico | | |6589 |Lock the Packages index while it's being updated with a packages that was | |zmedico |just built. | |6590 |Save memory by not holding a reference to the PackageIndex when it's not | |zmedico |being used. | |6591 |Pass a temporary file name to the package phase in the environment variable | |zmedico |PORTAGE_BINPKG_TMPFILE and move the temporary file into place inside | | |binarytree.inject(). This allows binarytree.inject() to perform the move | | |while holding a lock. | |6592 |Add a 'ignore-previously-merged' config option which gives similar behavior | |zmedico |to the --noconfmem emerge option. | |6609 |Add more relevant package metadata to the Packages index, including | |zmedico |dependencies with USE conditionals collapsed. | |6610 |Fix paren_normalize logic. | |zmedico | | |6611 |Make PackageIndex.write() alphabetize the metadata keys. | |zmedico | | |6612 |Remember to call the superclass constructor. | |zmedico | | |6613 |Make PackageIndex.write() omit USE when appropriate. | |zmedico | | |6615 |Fix the ignore-previously-merged option so that it compares the original | |zmedico |files, since mrgconf can be identical to conf['current'] even when | | |conf['new'] is different from the archived .dist version (due to diff3 | | |merging). | |6617 |Don't treat KEYWORDS="-*" like KEYWORDS="*", because it's never been that way| |zmedico |and the * behavior was already annoying enough. | |6618 |Skip fetching of metadata.dtd when mymode == "manifest". | |zmedico | | |6620 |To ease the namespace transition, automatically translate cache.* to | |zmedico |portage.cache.* if an ImportError occurs. | |6623 |For bug #179766, expand USE_EXPAND variables inside the USE incremental loop | |zmedico |so that USE"-*" will not always destroy them. | |6625 |Call tcgetattr and tcsetattr on the slave end of the pty in order to avoid an| |zmedico |"invalid argument" error on Solaris. Thanks to grobian. | |6627 |Store flags as a set inside the USE incremental loop. | |zmedico | | |6629 |s/filing a report to/seeking support at/ Thanks to marienz. | |zmedico | | |6630 |In the econf die message, don't mention bugs.gentoo.org specifically. | |zmedico | | |6631 |xmlint can produce garbage output even on success, so only dump the ouput | |zmedico |when it fails. See bug #179008. | |6633 |Create the Packages index whether or not $PKGDIR/All/ exists so that improved| |zmedico |binarytree.populate() performance will be available in either case. When | | |dealing with packages in $PKGDIR/All/, it's assumed that the file name, size,| | |and timestamp are enough information to avoid reading the xpak data. | |6634 |Fix broken dict.get logic. | |zmedico | | |6635 |Fix logic for USE_EXPAND variables that are incremental (there are none | |zmedico |currently). | |6637 |In the WorldHandler class, add support for an onProgress callback that can be| |zmedico |used notify the user of job progress. This isn't really useful for | | |WorldHandler since it completes quickly, but it will be useful for longer | | |running tasks. | |6638 |Add a get_term_size() function that uses the curses module if available and | |zmedico |otherwise falls back to parsing the output of `stty size`. | |6639 |Add progress support to emaint (similar to wget's progress bar). | |zmedico | | |6640 |Add SIGWINCH support so that the progress bar is resized if the xterm is | |zmedico |resized. | |6641 |Fix an UnboundLocalError when there's no tty. | |zmedico | | |6642 |Fix a typo. | |zmedico | | |6643 |Add an emaint "binhost" target which does the time consuming population of | |zmedico |$PKGDIR/Packages that is necessary for a binhost (MD5 makes it relatively | | |slow). It reuses metadata from the existing Packages file whenever possible. | |6644 |Make emaint prune stale entires from $PKGDIR/Packages. | |zmedico | | |6647 |Fix typo. | |zmedico | | |6648 |For bug #180079, fix a KeyError so that a search for the empty string will go| |zmedico |ahead and match all packages. | |6650 |For bug #180009, add a PORTAGE_RSYNC_INITIAL_TIMEOUT config variable. The | |zmedico |default is 15 seconds and it can be disabled by setting it to 0. | |6652 |Add new emaint targets called "moveinst" and "movebin" for applying package | |zmedico |moves from $PORTDIR/profiles/updates/ on installed packages and binary | | |packages. | |6653 |Fix emaint world $ROOT handling. | |zmedico | | |6654 |Cap the progress bar columns at 80 since it looks ridiculous when it gets too| |zmedico |wide. | |6655 |Include IUSE in the Package index so that it can be used for --newuse | |zmedico |calculations. | |6656 |Fix binarytree.gettbz2() so that it works without $PKGDIR/All/ and inserts | |zmedico |the downloaded package into the local index. | |6657 |For bug #179870, add support for cpv:slot in match_from_list() and use it to | |zmedico |make config.setcpv() distinguish slot atoms in package.use. | |6659 |Don't pass slotted packages into pkgsplit since it doesn't handle them. | |zmedico | | |6661 |Fix dep_getcpv() so that it always properly removes the slot regardless of | |zmedico |which operator is present. | |6663 |Fix get_operator() and best_match_to_list() so that slot deps mesh properly | |zmedico |with operators. | |6665 |For bug #179870, correctly handle slot deps in the profile's package.* files.| |zmedico | | |6667 |For bug #180222, make ecompressdir use -f for the automatic decompression | |zmedico |phase. | |6669 |Fix slot handling at the beginning of match_from_list(). | |zmedico | | |6671 |For bug #61732, support -flag in USE (instead of just +flag). Given the | |zmedico |current default USE_ORDER, -flag in IUSE has no effect. | |6673 |Return a copy of the cached result from match_from_list(). | |zmedico | | |6676 |Show deprecation warnings if the "clone" parameters are used for the | |zmedico |binartree, vartree, or portagetree constructors. | |6678 |For bug #180399, raise an appropriate InvalidDependString exception if there | |zmedico |is no flag attached directly to a '?' token. | |6680 |Fix an IndexError in get_operator() that occurs when isvalidatom() passes it | |zmedico |an empty string. | |6682 |remove pointless $PORTDIR lock | |genone | | |6684 |catch GetoptError | |genone | | |6685 |Only check ChangeLog if we're dealing with an ebuild (bug #170604) | |genone | | |6686 |Create one unified dbapi.update_ents() method and use it for both fixpackages| |zmedico |and the emaint move{inst,bin} targets. | |6687 |Make automatic "global updates" always use the config instance that's | |zmedico |associated with /, since the rest of the code is targeted at /. | |6688 |Create one unified dbapi.move_slot_ent() method to replace the corresponding | |zmedico |binarytree and vardbapi methods. | |6689 |Allow dbapi.aux_update() to prune empty metadata values from storage. | |zmedico | | |6690 |Trigger an update of the Packages index when a package is moved or | |zmedico |aux_update() is called. | |6691 |Don't try to perform global updates on binary packages unless $PKGDIR is | |zmedico |writable. | |6692 |Don't define bindbapi.move_slot_ent() since the inherited one works fine. | |zmedico |Override cp_all() instead of cpv_all() since the latter calls the former. | |6693 |Implement bindbapi.cpv_all() since the one from fakedbapi won't populate the | |zmedico |tree. | |6694 |Add PORTAGE_BINHOST support for fetching a remote Packages index. If the | |zmedico |index is not found then it falls back to the old directory listing method. | |6695 |Fix typos. | |zmedico | | |6697 |Replace deprecated binarytree.remotepkgs usage with binarytree._remotepkgs | |zmedico |since the former is vulnerable to collisions in the tbz2 filename. | |6698 |Make dep_zapdeps() pull SLOT from the correct dbapi instance when it falls | |zmedico |back to the vdb. | |6699 |Raise a KeyError from bindbapi.aux_get() when appropriate. | |zmedico | | |6704 |Fix typo. | |zmedico | | |6705 |Add some additional variables to the Packages header. | |zmedico | | |6706 |For bug #149397, raise an InvalidDependString exception if a USE has no | |zmedico |basename. | |6707 |Don't repeatedly invoke the depend phase for ebuilds that are already known | |zmedico |to be broken. | |6708 |Instead of calling sys.exit() when aux_get() fails inside getfetchlist(), | |zmedico |convert the KeyError to an InvalidDependString exception since callers | | |already handle it. | |6709 |Add --getbinpkg digest verification. | |zmedico | | |6711 |Don't complain when $FILESDIR is missing unless manifest1 compatibility is | |zmedico |enabled. | |6716 |Fix it so repoman still does QA when $FILESDIR doesn't exist. | |zmedico | | |6718 |Add an optional PATH attribute to the Packages index in order to indicate the| |zmedico |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). | |6720 |Make binarytree.prevent_collision() update the Packages index since it | |zmedico |changes the PATH attribute. | |6721 |Add a VERSION attribute to the Packages index header and reject any index | |zmedico |with an unsupported version (current supported version is 0). | |6722 |Include SHA1 digests in the Packages index. | |zmedico | | |6723 |If PORTAGE_BINHOST is defined then use it as a URI attribute in the Packages | |zmedico |index header. | |6724 |copyrights.. id? what? | |WarnerBro| | |6725 |Use the PORTAGE_BINHOST_HEADER_URI environment variable to define the URI | |zmedico |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. | |6726 |Remove pym/{cache,elog_modules} directory symlinks since they lead to | |zmedico |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. | |6727 |Fix broken usage of lstrip in creating the PROFILE header field. | |zmedico | | |6728 |For bug #164655, port quickpkg to python and use the tarfile module for | |zmedico |proper handling of symlinks to directories. Thanks to Martin Parm | | | for the initial port. | |6729 |Fix typo. | |zmedico | | |6730 |Improve support for slot deps atoms given on the command line. Thanks to | |zmedico |Flameeyes for reporting. | |6732 |Document EXTRA_ECONF, thanks to Arfrever FTA in bug #167057. | |zmedico | | |6733 |Add ECONF_SOURCE to the econf docs. | |zmedico | | |6735 |Use user-provided $mv_opts for -5 (bug #47442) | |genone | | |6736 |Remove duplicate entries from special variables processed by env_update() | |genone |(bug #172194) | |6737 |When dblink.treewalk() looks for an installed instance in the same slot, make| |zmedico |sure that it selects the one with the highest COUNTER in case there are | | |multiple matches. | |6738 |Fix typo, split SPACE_SEPARATED variables on whitespace. | |zmedico | | |6739 |For bug #181021, preserve timestamps from ${D} during merge. For replacement | |zmedico |operations, the unmerge phase checks the contents of the newer instance in | | |order to prevent identical files in the newer instance from being unmerged. | |6740 |Comment in portage.movefile() that it's impossible to preserve timestamps of | |zmedico |a symlink since utime() only works on the target. | |6741 |For bug #153967, use -O ${DISTDIR}/${FILE} in the default FETCHCOMMAND. | |zmedico | | |6742 |For bug #156536, update --resume docs to show that the resume history is | |zmedico |capable of storing two merge lists. | |6743 |For bug #82378, only set permissions on PORT_LOGDIR if it is created | |zmedico |automatically. | |6745 |For bug #181021, don't compare attributes of contents entries when deciding | |zmedico |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. | |6746 |Return copies of the cached values from pkgsplit and catpkgsplit. | |zmedico | | |6747 |When using a pty for logging, use setsid() to create a new session and make | |zmedico |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. | |6748 |Fix strange _DevNull instance has no attribute 'isatty' warnings that occur | |zmedico |when epydoc generates docs. | |6749 |Make pkgsplit and catpkgsplit return imutable tuples instead of mutable lists| |zmedico |so that cached values can be safely returned without cloning them first. | | |Thanks to Brian Harring for the suggestion. | |6750 |Make all the python code respect USE conditionals in RESTRICT. It's already | |zmedico |handled on the bash side since RESTRICT is assigned the value of | | |PORTAGE_RESTRICT. | |6751 |Ignore InvalidDependString exceptions from the RESTRICT of "nomerge" nodes. | |zmedico | | |6766 |For bug #181104, make econf give an appropriate error message when configure | |zmedico |is not executable. | |6768 |For bug #139383, in xtermTitleReset() use os.system() instead of | |zmedico |commands.getoutput() since the latter puts too much restriction on what | | |$PROMPT_COMMAND may contain. | |6770 |For bug #152828, run ${CHOST}-ldconfig when ${CBUILD} != ${CHOST}. | |zmedico | | |6772 |Only execute $PROMPT_COMMAND when appropriate. | |zmedico | | |6775 |Skip bogus '$ECLASS inherited illegally' messages when installing from a | |zmedico |binary package. | |6778 |For bug #181387, fix an UnboundLocalError for the mymtime variable that is | |zmedico |triggered by confmem. | |6780 |For bug #148702, automatically enable flags from IUSE if they correspond to | |zmedico |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. | |6782 |When an update is discarded due to confmem, record it's mtime in the contents| |zmedico |(it's md5 is already recorded there too). | |6784 |For bug #148702, use the * token to trigger wildcard expansion of IUSE. This | |zmedico |adds flexibility and prevents flags from being enabled unexpectedly. | |6786 |Preserve order of flags from IUSE in wildcard expansion. | |zmedico | | |6788 |Make repoman work with both + and - flags in IUSE. | |zmedico | | |6790 |For bug #181551, support slot deps in package.keywords. | |zmedico | | |6792 |For bug #81097, detect and report suspicious hardlinks to suid/sgid files. | |zmedico |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). | |6793 |Don't bother to warn about hardlinks to suid/sgid files before unlink since | |zmedico |it can give false positives and the existing suid/sgid security check should | | |spot problems before this anyway. | |6794 |Fix the suid/sgid check so it only looks at regular files since it can | |zmedico |generate false positives otherwise. | |6796 |For bug #181355, detect parenthesis mismatch in paren_reduce(), raise an | |zmedico |InvalidDependString exception, and make sure that all callers handle the | | |exception properly. | |6797 |Remove the "missing left parenthesis" test for now since it gives false | |zmedico |positives. | |6799 |For consistency with other xterm titles code, redirect $PROMPT_COMMAND output| |zmedico |to stderr. | |6802 |Bump 2.1.3 to 2.2 for some features and add news about USE_EXPAND wildcards. | |zmedico | | |6807 |Move news about ** token in package.keywords to the 2.1.3 section. | |zmedico | | |6808 |Update the PORT_LOGDIR docs for bug #82378. Thanks to Arfrever FTA for | |zmedico |reporting. | |6809 |Update the PORT_LOGDIR docs for bug #82378. Thanks to Arfrever FTA for | |zmedico |reporting. | |6810 |Remove stray newline. | |zmedico | | |6812 |Add a note about preservation of timestamps on merged files. | |zmedico | | |6814 |For bug #181021, during unmerge use all slot matches for reference counts (in| |zmedico |case the user has set AUTOCLEAN=no). | |6816 |Always return a dict from dblink.getcontents() since callers never expect to | |zmedico |get None. | |6818 |Remove some useless dircache code. | |zmedico | | |6821 |Reuse previously acquired lstat results. | |zmedico | | |6823 |Cache dblink instances for security checks and reference counts during | |zmedico |merge/unmerge so that each CONTENTS only has to be parsed once. These can | | |also be reused for collision-protect. | |6825 |Use cached dblink instances for collision-protect. | |zmedico | | |6827 |Fix dblink.isowner() so it works properly when ROOT!=/. | |zmedico | | |6829 |For bug #134620, add a FEATURES=unmerge-orphans option that causes unmerge to| |zmedico |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. | |6831 |Add a note about the new unmerge-orphans behavior. | |zmedico | | |6833 |In dblink.treewalk(), handle the case where the current cpv is already | |zmedico |installed but it has a different slot (multislot or unapplied slotmove). | |6835 |Add portageq command to list preserved libs | |genone | | |6836 |Get registry object from vardbapi directly instead of creating another one | |genone | | |6837 |For bug #181953, prevent the circular_blocks code from selecting a node | |zmedico |that's already been selected by the normal node selection process. | |6839 |Pass all the of the existing package databases into post_emerge() so that we | |zmedico |can use them for news and preserve-libs. | |6840 |Make display_news_notification() reuse the existing portdbapi instance. | |zmedico | | |6841 |Pass existing portdbapi and vardbapi instances into the NewsManager | |zmedico |constructor. | |6843 |Fix broken \!found logic so that any missing files are properly skipped. | |zmedico | | |6846 |For bug #182105, fix the spelling of the fd_pipes paremeter. | |zmedico | | |6848 |For bug #182157, never chmod 0 symlinks before unlinking them. | |zmedico | | |6850 |For bug #182157, don't let unmerge-orphans unlink symlinks to directories | |zmedico |since that can remove /lib and /usr/lib symlinks. | |6852 |Handle another case where removing a symlink to a directory can be harmful. | |zmedico | | |6854 |For bug #182021, use active voice when notifying the user that superuser | |zmedico |access is required. | |6856 |Make repoman exit with nonzero status whenever there are qa issues (already | |zmedico |does the same in commit mode). Thanks to Daniel Gryniewicz | | |in bug #182166. | |6858 |Make the collision-protect loop check for existance of the destination file | |zmedico |before checking if it's owned. | |6860 |Go ahead and unlink symlinks to directories when they're actually recorded as| |zmedico |symlinks in the contents. | |6862 |Fix profile and config arguments to NewsItem.isRelevant() inside | |zmedico |NewsManager.updateItems(). | |6863 |For bug #182346, use dblink.isowner() during unmerge so that device/inode | |zmedico |numbers are used to determine ownership (despite path mismatch due to | | |symlinks). | |6865 |In dblink.isowner() don't bother to stat the file when it's contained in the | |zmedico |contents. | |6867 |During unmerge, always verify that the file isn't a symlink before doing | |zmedico |chmod. | |6869 |Add PORTAGE_BIN_PATH to the environment since it's used by dobin to locate | |zmedico |isolated-functions.sh. | |6870 |Add a test case for the logfile functionality of portage.spawn(). | |zmedico | | |6871 |For bug #182428, make quickpkg use a more secure umask by default and allow | |zmedico |it to be overridden by a --umask option. Add support for | | |QUICKPKG_DEFAULT_OPTS so that default options can be set in make.conf. | |6873 |For bug #182571, handle curses.error if it's thrown inside get_term_size(). | |zmedico | | |6875 |Return early from get_term_size() is stdout is not a tty. | |zmedico | | |6877 |For bug #143340, give an appropriate message when there is no read access to | |zmedico |a binary package. | |6879 |Fix cacheddir() to behave properly if os.listdir() raises errno.EACCES | |zmedico |(Permission denied). | |6881 |For bug #180165, make portageq print a "Permission denied" error when | |zmedico |appropriate. A PermissionDenied exception is raised from portage.listdir() | | |enven when EmptyOnError is True since errno.EACCES is very likely to indicate| | |a condition that should be reported in any case. | |6882 |For bug #180165, make has_version dir if portageq has an unexpected exit | |zmedico |code. | |6883 |If a package is in the world set but it's not installed, go ahead and install| |zmedico |it if it's available (instead of telling the user to run emaint). | |6886 |Make all the classes inherit from object. | |zmedico | | |6887 |Show a "world problems" warning for packages that aren't installed, even if | |zmedico |they are available. | |6889 |Make the progress bar percentage indicator stop at 100% instead of just 99%. | |zmedico | | |6890 |Use the the optparse options for --ignore-default-opts since that allows | |zmedico |option abreviation to work. | |6892 |Add an --ignore-default-opts option that is analogous to the corresponding | |zmedico |emerge option. | |6894 |In dblink._security_check(), use os.path.realpath to make sure that the same | |zmedico |path isn't counted twice. | |6896 |as noted by Josh Saddler on the gentoo-dev mailing list, issue a warning if | |SpankMan |we try to create a binpkg for something that has IUSE=bindist but was emerged| | |with USE=-bindist | |6897 |Make IUSE handling safe for IUSE defaults. | |zmedico | | |6907 |Don't call digraph.hasallzeros() in --resume mode because the digraph isn't | |zmedico |currently populated in that case. | |6909 |Don't generate a list of keys for a containment test. | |zmedico | | |6911 |Remove lots of unnecessary list generation via dict.keys(). | |zmedico | | |6912 |Remove more unnecessary list generation. | |zmedico | | |6913 |Remove more unnecessary list generation. | |zmedico | | |6914 |Implement UserConfigKlass.__iter__() so that tests pass. | |zmedico | | |6915 |Fix the test so that it can run inside a sandbox. | |zmedico | | |6916 |Implement config.has_key() on top of __contains__ instead of vice versa. | |zmedico | | |6917 |Autodetect if sandbox is active in order to prevent recursive sandbox | |zmedico |invocation. Thanks to Brian Harring for the suggestion. | |6918 |Implement iterkeys on top of __iter__ instead of vice versa. Thanks to Brian | |zmedico |Harring for the suggestion. | |6919 |Simplify the implementation of config.__iter__ and also implement iterkeys().| |zmedico | | |6920 |Clean up config.__getitem__(), get() and setdefault() implementions. | |zmedico | | |6922 |cache the result of --suffix to reduce testing overhead as suggested by | |SpankMan |Mr_Bones_ | |6937 |Make quickpkg print a warning if "bindist" is in RESTRICT. | |zmedico | | |6945 |For bug #182428, make quickpkg exclude config files that are protected by | |zmedico |CONFIG_PROTECT. Add a --include-config option that includes all config files | | |and a --include-unmodified-config that includes config files that have not | | |been modified since installation (matching md5sum). | |6950 |Update 2.1.3 news for elog stuff. | |zmedico | | |6952 |Add a note about potential for config mixups in elog finalizers. | |zmedico | | |6953 |Dump mod_echo elog output inside post_emerge(), just before the other | |zmedico |notifications that happen at exit. | |6954 |Document RESTRICT=bindist and add a note about allowance for conditional | |zmedico |syntax. | |6955 |Make elog finalize() handling safe for PORTAGE_CONFIGROOT. | |zmedico | | |6956 |Remove confcache docs. | |zmedico | | |6959 |Show which $ROOT a package was merged to when $ROOT is not /. | |zmedico | | |6962 |Add a logrotate config for the save_summary elog module since it's enabled by| |zmedico |default now. | |6964 |Remove redundant 'Usage: ' from the usage message. | |zmedico | | |6967 |For bug #182964, replace os.rename() with shutil.move() in order to handle | |zmedico |EXDEV errors that are triggered by layered filesystems. | |6969 |s/OSError/EnvironmentError/ since shutil.move() generally raises an IOError. | |zmedico | | |6970 |Revert r6967 since shutil.move() is broken internally. | |zmedico | | |6972 |add hashlib support for checksum verification, refactor checksum functions to| |genone |not look like a complete mess | |6973 |Allow sync for unpriviledges users if they have write access to $PORTDIR | |genone | | |6974 |syntax error | |genone | | |6975 |s/!owned/replaced/ in merge output to clarify it | |genone | | |6976 |sort the world file before writing it and ensure that it's terminated by a | |genone |newline | |6977 |change default diff_command for emacs (bug #147558) | |genone | | |6978 |dont break when the binhost url doesn't end with a slash (bug #144440) | |genone | | |6979 |highlight world packages in --pretend output (bug #142473) | |genone | | |6980 |Add a pointer from FETCHCOMMAND to RESUMECOMMAND (bug #141550) | |genone | | |6981 |get ACCEPT_KEYWORDS from the env in gvisible() to properly handle negated | |genone |values (bug #139600) | |6982 |Fix check_config_instance() weirdness when the ebuild command reloads the | |zmedico |portage module. | |6983 |For bug #182964, replace os.rename() with portage.movefile() in cases where | |zmedico |the parent directory might change. | |6985 |Provide a default value for PORTAGE_BINPKG_TMPFILE in case the package phase | |zmedico |is called by the ebuild command. | |6986 |Always unlink the .installed flag prior to merge since portage.movefile() | |zmedico |never leaves intact. | |6987 |Make the fix for bug #139600 slightly less icky by grabbing the | |zmedico |ACCEPT_KEYWORDS through mysettings.configdict[backupenv] instead of directly | | |through os.environ. | |6988 |Fix column alignment in unmerge output. | |zmedico | | |6989 |Fix typo. | |zmedico | | |6990 |Handle 'Permission denied' errors that can occur if the current user isn't | |zmedico |allowed to access PRIVATE_PATH. | |6996 |Fix more typos from r6988. | |zmedico | | |6999 |For bug #180706, add sorting and a trailing newline in the rest of the cases | |zmedico |where the world file is written. | |7002 |Fix broken base_uri handling for old-style binhosts in binarytree.gettbz2(). | |zmedico | | |7004 |Update the FETCHCOMMAND docs to indicate that the command should be +written | |zmedico |to place the fetched file at ${DISTDIR}/${FILE}. | |7005 |Clarify RESUMECOMMAND requirements. | |zmedico | | |7008 |Use a set to optimize containment lookups. | |zmedico | | |7011 |Remove unused imports and unnecessary dict.keys() call. | |zmedico | | |7012 |Fix binarytree.isremote() to be consistent with binarytree.gettbz2() logic | |zmedico |wrt partially downloaded files. | |7014 |Clean up file_get() to use shlex, varexpand, and spawn. | |zmedico | | |7016 |For bug #175891, support ${FETCHCOMMAND}_${PROTOCOL} in binarytree.gettbz2().| |zmedico | | |7018 |Fix resume logic in binarytree.gettbz2(). | |zmedico | | |7019 |Fix typo. | |zmedico | | |7023 |For bug #175891, add sftp protocol support via the paramiko library. | |zmedico | | |7024 |Fix file_get_lib() so it behaves the same way with sftp as it does with other| |zmedico |protocols. | |7025 |Allow SystemExit through as usual. | |zmedico | | |7027 |Don't use urljoin() in binarytree.gettbz2() since it doesn't work correctly | |zmedico |wih unrecognized protocols like sftp. | |7029 |Fix typo. | |zmedico | | |7031 |For bug #142473, add 4 color classes corresponding to combinations of | |zmedico |world/merge/nomerge attributes of each package. | |7034 |For bug #183167, explicitly call elog_process() when --buildpkgonly is | |zmedico |enabled. | |7039 |Add sanity checks in fetch() and digestgen() to automatically detect and | |zmedico |handle invalid empty distfiles since some users have reported difficulty when| | |trying to create digests. | |7041 |Add one more size == 0 check to digestgen(). | |zmedico | | |7042 |Short circuit the loop as soon as missing hashes are detected. | |zmedico | | |7044 |Short circuit the loop as soon as missing hashes are detected. | |zmedico | | |7046 |Preserve merge order in elog output. | |zmedico | | |7047 |Send the ebuild die message through eerror and make sure that elog_process() | |zmedico |gets called when an ebuild dies. This makes the elog echo module display the | | |die message last in case other elog messages push the original die message | | |off of the top of the screen. | |7050 |Format the callstack indentation more like it used to be. | |zmedico | | |7052 |For bug #144333, add a --reinstall=changed-use option which behaves similar | |zmedico |to how --newuse behaved in portage-2.0.x days. | |7055 |Format $EBUILD_OVERLAY_ECLASSES output more like it was before. | |zmedico | | |7057 |Fix quoting. | |zmedico | | |7059 |For bug #142473, account for $ROOT when deciding if a package is part of | |zmedico |world or not. | |7061 |Instead of just a list, use a cat/pkg dict for matching packages against args| |zmedico |in the depgraph. | |7063 |Improve tracking of correspondence between arguments and packages in the | |zmedico |depgraph. | |7064 |Cache aux_get() metadata in depgraph.create() and use PROVIDE for matching | |zmedico |packages to arguments. | |7065 |Just use a containment test for matching pprovided args since it works | |zmedico |correctly and match_to_list() isn't appropriate for this. | |7067 |Discard "nomerge" nodes to speed up depgraph.altlist() since those nodes | |zmedico |aren't used and the --tree algorithm does a good job of regenerating them | | |when appropriate. | |7069 |For bug #144333, make the --reinstall option a single choice type. | |zmedico | | |7071 |When filling in "nomerge" nodes for --tree display, stop at a node that is an| |zmedico |argument or a direct member of a set that has been specified as an argument | | |(system or world). | |7073 |For bug #183431, catch a ParseError caused by a corrupt profile and dump an | |zmedico |error message. This allows emerge to continue with actions that don't require| | |a valid profile, such as --sync. | |7075 |For bug #142473, add 2 additional color classes for system packages and | |zmedico |packages matched by arguments. | |7076 |Don't colorize system package when in "world" mode. | |zmedico | | |7078 |Remove unused worldlist variable. | |zmedico | | |7081 |For bug #144333, document the new --reinstall=changed-use option. | |zmedico | | |7083 |Fix typo. | |zmedico | | |7087 |Store name of source repository in vdb node for later comparison | |genone | | |7088 |Use better parseable format for list_preserved_libs | |genone | | |7089 |display source repository for installed package and target package (bug | |genone |#67072) | |7091 |For bug #183639, give a more informative message with the package.provided | |zmedico |warning. | |7093 |Test for existence of the getRepositories method since bindbapi doesn't have | |zmedico |it atm. | |7094 |Add a 0xAAAA00 rgb color code to represent the darkyellow color that some | |zmedico |terminals have instead of brown. | |7096 |print a notice when a repository/overlay does not have a name | |genone | | |7097 |ewarn when merging a package and the source repository/overlay does not have | |genone |a name | |7098 |apply additional phase filters as otherwise some messages are logged in both | |genone |unmerge and merge | |7099 |Remove old wheel group warnings since portage stopped using this group long | |zmedico |ago. | |7100 |Add docs for /etc/portage/color.map and a few misc man page fixes. Thanks to | |zmedico |Arfrever Frehtes Taifersar Arahesis in bug #183758. | |7102 |Add a QA warning for invalid values of RESTRICT. Thanks to peper for the | |zmedico |patch. | |7104 |For bug #180045, try to merge PDEPEND as soon as possible so that it behaves | |zmedico |more like RDEPEND. | |7106 |Add medium-soft support to DepPriority.__str__(). | |zmedico | | |7108 |Update --buildpkgonly logic to account for DepPriority.MEDIUM_SOFT. | |zmedico | | |7110 |Revert --buildpkgonly logic back because it was already correct. | |zmedico | | |7112 |For bug #131030, update the warning about potential for emerge --sync | |zmedico |overwrite or delete files in ${PORTDIR}. Add references to the PKGDIR and | | |DISTDIR docs. | |7114 |s/PORTAGE_EXTRA_RSYNC_OPTS/PORTAGE_RSYNC_OPTS/ for correctness. | |zmedico | | |7116 |If necessary, resample the leaf nodes so that they include all nodes whose | |zmedico |hard deps are satisfied. | |7118 |Move medium priority out of ignore_priority_range and handle it separately. | |zmedico | | |7120 |Flatten restrict for the RESTRICT.invalid check. | |zmedico | | |7122 |Clean up the selected_nodes logic in depgraph.altlist(). | |zmedico | | |7124 |Clone asap_nodes so that iteration is safe for node removal. | |zmedico | | |7126 |Prefer asap_nodes more aggressively over any other nodes whenever possible. | |zmedico |If no asap_nodes can be selected for a given iteration, they will be ignored | | |for the next iteration. | |7131 |Clean up system and world set handling. For forward compatibility, the world | |zmedico |file handling now allows the world file to contain arbitrary atoms such as | | |slot atoms. | |7132 |Add USE to the list of metadata keys to pull. | |zmedico | | |7133 |Fix broken favorites handling with --usepkg. | |zmedico | | |7135 |Implement BlockerCache.keys() so that DictMixin.__repr__() works. | |zmedico | | |7138 |In depgraph.select_files(), unify favorites handling with the other args | |zmedico |handling. | |7139 |Fix --oneshot handling from the previous commit. | |zmedico | | |7140 |Use depgraph._args_nodes to simplify depgraph.saveNomergeFavorites(). | |zmedico | | |7142 |Record a slot atom in the world file for any atom that is precise enough to | |zmedico |identify a specific slot. Make depclean clean unnecessary slots of system and| | |world packages. For update and depclean, world atoms can be greedy with slots| | |while system atoms can not. | |7144 |Fix greedy atoms logic for system mode. | |zmedico | | |7146 |For bug #183861, allow a color class in color.map to specify a space | |zmedico |separated list of attributes so that any combination of foreground, | | |background, and other attributes is possible. Thanks to Arfrever Frehtes | | |Taifersar Arahesis for this patch. | |7147 |Add a "onerror" callback to parse_color_map() for handling each ParseError | |zmedico |that would otherwise be raised. | |7148 |Fix broken code concatenation logic in parse_color_map(). | |zmedico | | |7149 |Make the color class handling for package sets more consistent as suggested | |zmedico |in comment #2 of bug #183861. | |7150 |Document the additional color classes for bug #183861. | |zmedico | | |7153 |Replace sys.exit() with return in depgraph.display() and action_build(). | |zmedico | | |7155 |Add note about repo name warnings | |genone | | |7157 |Remove fallback imports for set(), and note minimum requirement of python-2.4| |genone | | |7159 |Remove redundant config update notification (bug #184116) | |genone | | |7161 |Move depgraph._args_atoms to depgraph._sets["args"] and move | |zmedico |depgraph._args_nodes to self._set_nodes. | |7164 |Don't store unslotted system packages in the world file. | |zmedico | | |7166 |Fix emerge by ebuild path so that it works properly. | |zmedico | | |7168 |add modified copy of gentoolkits glsa.py (r410) | |genone | | |7169 |Enable keyword expansion | |genone | | |7170 |Add first draft of PackageSet backend modules | |genone | | |7171 |Fix emerge by tbz2 path so that it works properly. | |zmedico | | |7172 |fix copyright year | |genone | | |7174 |Remove the PKG_*ARG* color classes in order to simplify things since it's | |zmedico |questionable whether many people will want to use them. Also, make the | | |PKG_*SYSTEM colors default to the traditional colors since people are | | |generally most interested in world packages. | |7176 |ignore generated docs | |SpankMan | | |7177 |tighten up --quiet output for --unmerge | |SpankMan | | |7178 |Count the number of merges processed by MergeTask and use that to determine | |zmedico |whether or not post_merge() should run. | |7180 |Don't exclude system virtuals from world since they can match multiple | |zmedico |old-style virtuals but only one of them will be pulled in by update or | | |depclean. | |7183 |Misc color fixes. Thanks to Arfrever Frehtes Taifersar Arahesis | |zmedico | for this patch from bug#183861, comment #9. | |7185 |When depgraph updates preferences for old-style virtuals, also update them in| |zmedico |the global config so that they are consistent everywhere. Optimize | | |config.setinst() to minimize the work done. | |7187 |Add a depgaph.loadResumeCommand() method to handle loading and validation of | |zmedico |all resume data. | |7189 |`find` can accept a list of paths so condense this nested for loop, and dont | |SpankMan |split off debug information for ET_REL files as these are never pulled in via| | |debug utilities (and can trigger weird behavior in binutils when linked into | | |things, like glibcs crt1.o) | |7191 |Now that the "white" color code really is white, alias it to bold where it's | |zmedico |used by emerge since white looks bad on a terminal with a white background. | |7193 |allow split debuf for kernel modules | |SpankMan | | |7195 |For bug #184412, make depclean more consistent with the update algorithm by | |zmedico |keeping the highest version that as visible in the portage tree and pruning | | |any versions that are either masked or no longer exist in the portage tree. | |7197 |Allow system virtuals to be pruned from the world file in cases where the | |zmedico |matched package is the only provider of that virtual. | |7199 |Add color classes PROMPT_CHOICE_{DEFAULT,OTHER} for emerge's Yes/No prompt. | |zmedico | | |7201 |For bug #184566, enable the emerge --info action to run an option pkg_info() | |zmedico |function from each installed ebuild. | |7203 |Make dblink invalidate the vardbapi caches for each merge and unmerge. Don't | |zmedico |use portage.listdir() since mtime granularity can prevent cachedir from | | |invalidating it's cache properly and this redundant cache layer isn't needed | | |anyway. This should solve the intermittent failure of AUTOCLEAN to properly | | |clean packages. | |7204 |Pass the file path into the PermissionDenied exception. | |zmedico | | |7206 |simplify logic a bit | |genone | | |7207 |Fix interaction of resume opts with spinner output handling so that output | |zmedico |always looks correct. | |7210 |- remove readable bits for debug files if the souce ELF is setXid | |solar | | |7211 |- be quiet about overlays profiles/repo_name entry when --quiet mode is used | |solar | | |7212 |Remove the repo_name warning in the portdbapi constructor since we don't want| |zmedico |to see a warning every time the portage module is imported. | |7214 |For bug #184806, account for the fact the metadata is not cached for | |zmedico |slot_collision_nodes. | |7216 |For bug #184604, make env-update write $ in front of quoted values when | |zmedico |appropriate. | |7218 |For bug #184843, allow USE_EXPAND variables to pass through if none of their | |zmedico |flags are in IUSE. This allows packages that support LINGUAS but don't | | |declare it in IUSE to use the variable outside of the USE_EXPAND context. | |7220 |For bug #184679, handle ENOTDIR by finding the non-directory parent and | |zmedico |testing that for collision instead. | |7222 |For bug #184687, skip the huge --depclean warning when --quiet mode is | |zmedico |enabled. | |7224 |Fix typo. | |zmedico | | |7226 |Fix another case similar to bug #184806 that can occur with --onlydeps. | |zmedico | | |7228 |Fix typo. | |zmedico | | |7230 |Use set.discard() instead of remove() to avoid a potential KeyError. | |zmedico | | |7237 |For bug #184983, prevent USE_EXPAND_HIDDEN flags from being hidden if they | |zmedico |are the only thing that triggered reinstallation. | |7239 |Make depgraph._reinstall_for_flags() always return all revelant flags. | |zmedico | | |7241 |Fix the case where the currently installed package is from a repo that is no | |zmedico |longer in the overlay (oldrepo is None rather than an empty string). | |7242 |Add "reset" to the list of attributes. | |zmedico | | |7246 |Use os.path.realpath(portdir) for comparison of repo paths. (branchs/prefix | |zmedico |r7245) | |7247 |Save the repo name along with the other metadata inside dyn_compile() so that| |zmedico |it's saved inside binary packages for when they are finally merged. | |7249 |Misc fixes for verbose repo output: - Support binary packages by using the | |zmedico |'repository' metadata that's stored in the package. - Support | | |PORTAGE_CONFIGROOT, showing repos from both configs if necessary. - Dynamic | | |allocation of repo indexes so only relevant repos are shown. | |7250 |Fix it so that the 'repository could not be determined' message is shown when| |zmedico |appropriate (issue with variable scope). | |7251 |PDEPEND is now installed as soon as possible so that it behaves more like | |zmedico |RDEPEND. | |7254 |For bug #185278, make the verbose flag display show masked/forced flag status| |zmedico |for binary packages too. | |7256 |Make the repo display work for overlays that don't define repo_name (like it | |zmedico |used to). | |7257 |Always show PORTDIR with index 0 in the repo display. | |zmedico | | |7258 |Encapsulate the repo display code in a class. | |zmedico | | |7259 |Use sys.stdout instead of print to avoid an extra newline. | |zmedico | | |7260 |Remove unused repo_name code. | |zmedico | | |7263 |When deciding if a package is slotted inside create_world_atom(), check the | |zmedico |vdb in case the package is multislot. | |7265 |Fix typo. | |zmedico | | |7267 |split up the debug/sources steps as proposed by swegener and give the whole | |SpankMan |file a cleanup | |7270 |sync MAILSUBJECT in make.conf with make.globals | |genone | | |7271 |s/node/atom/ and other minor updates | |genone | | |7272 |Make PackageSet to behave more like a real set, and change loading logic a | |genone |bit to avoid unnecessary reloads for editable sets | |7273 |use a more logical approach for editable sets | |genone | | |7274 |fix load logic for editable sets once more | |genone | | |7275 |ignore already applied glsas when loading the security set | |genone | | |7276 |add support for metadata | |genone | | |7277 |fix metadata parsing for file-based sets, add support for user-defined file | |genone |sets in test code | |7278 |disable FEATURES=gpg as it's unmaintained, useless and likely broken for many| |genone |people | |7279 |replace emerge.AtomSet with portage.sets.InternalPackageSet | |genone | | |7280 |break recursion cycle | |genone | | |7281 |Replace emerge.SystemSet with portage.sets.profiles.PackagesSystemSet | |genone | | |7282 |break another recursion cycle, add special subclass for "world" to handle | |genone |locking | |7283 |Replace emerge.WorldSet with portage.sets.files.WorldSet | |genone | | |7285 |Sort the atoms when writing the world file. | |zmedico | | |7286 |Always be sure to load the latest version of the world file while it's | |zmedico |locked. | |7287 |Revert PackageSet.containsCPV() calls back to findAtomForPackage() calls so | |zmedico |that things like slot atoms and old-style virtuals are properly supported. | |7288 |Make sure PackageSet._atoms is always a set. | |zmedico | | |7289 |Make sure the atoms are loaded when calling PackageSet.findAtomForPackage(). | |zmedico | | |7290 |Don't show the repo display when the package list is empty. | |zmedico | | |7292 |When dep_expand throws a ValueError due to an ambiguous atom, try to expand | |zmedico |it against the installed packages in case it yields a unique match. | |7294 |When expanding ambiguous atoms against the vardb, make sure the the expanded | |zmedico |package is also available in the portage tree. | |7296 |For bug #185670, make sure package.use.{mask,force} are properly displayed. | |zmedico | | |7298 |Unify USE handling in the depgraph with the other metadata. | |zmedico | | |7300 |Use PF in dyn_package. Thanks to swegener. | |zmedico | | |7301 |Make PackageSet._updateAtomMap() clear the map in case something was removed.| |zmedico | | |7302 |Use PackageSet.getAtoms() as a wrapper around load() since load() can trigger| |zmedico |unnecessary stat calls. | |7303 |Iterate over a list in order to avoid breaking the iterator when an atom is | |zmedico |removed. | |7305 |Use the --depclean algorithm to make --prune safe. The old unsafe --prune | |zmedico |will be used if the --nodeps option is specified. | |7306 |Allow atoms to be specified for --depclean so that it can be used to safely | |zmedico |unmerge packages if nothing depends on them. | |7308 |With --prune and --depclean, if --verbose is enabled then show reverse | |zmedico |dependencies for each package that is matched by an atom from the command | | |line. This allows the user to see why a package will not be unmerged. | |7309 |Make --prune bail out like depclean does if there are unresolved | |zmedico |dependencies. Notify the user that they can use --nodeps in that case. | |7310 |Make --prune try to prune all slotted packages if no atoms are given (that's | |zmedico |how it already works with --nodeps). | |7312 |For bug #151653, make --prune keep the highest version whenever possible | |zmedico |(even when there is one with a higher counter installed). | |7313 |Fix --prune so that it always correctly accounts for COUNTER when dealing | |zmedico |with packages in the same slot. | |7315 |Update --prune docs for bug #151653. | |zmedico | | |7317 |Document --prune and --depclean enhancements. | |zmedico | | |7319 |For bug #185504, document profiles/repo_name. | |zmedico | | |7321 |If the fetcher reported success and the file is too small, don't attempt to | |zmedico |resume. Upstream probably changed the distfile and we need to show a digest | | |verification failure so the user gets a clue. | |7325 |When digest verification of a distfile fails, rename instead of unlinking it | |zmedico |in case it's a large download and the user wants to salvage it due to a bad | | |digest. | |7327 |Hint about --nodeps if --prune doesn't find anything to prune. Also enable | |zmedico |reverse dependency display for global depclean. | |7329 |Optimize PackageSet._updateAtomMap() for the case where one or more atoms are| |zmedico |added and none are removed. | |7330 |For bug #185930, direct all FETCHCOMMAND output to stdout. | |zmedico | | |7332 |Just show [0] instead of [0=>0] in the repo display. | |zmedico | | |7334 |Prune really uses all installed instead of world. It's not a real reverse | |zmedico |dependency so don't display it as such. | |7336 |Make --prune and --depclean return before calculating dependencies if atoms | |zmedico |are given but they don't match any packages. | |7338 |For bug #185153, in commit mode do the "Fetching trivial updates" routine | |zmedico |before the qa scan. | |7340 |For bug #169500, detect when the cvs server puts /Attic/ inside the $Header | |zmedico |path and automatically correct it. | |7343 |Make --prune pull in the system set since that could pull in some slots that | |zmedico |wouldn't be pulled in otherwise. | |7344 |Prevent a potential KeyError when removing world from the digraph for --prune| |zmedico |display. | |7345 |Document --depclean and --prune enhancements. | |zmedico | | |7349 |Make --update imply --oneshot since people often us it to update things when | |zmedico |they don't want to add them to world. Thanks to jakub for the suggestion. | |7351 |Fix the reverse dependency display for --prune when there is now real parent.| |zmedico | | |7354 |Run pychecker over everything, fix obvious thing slike modules not in use, | |WarnerBro|variables not being used, or global exceptions not being deleted. Also fix | | |imports for style (1 per line) | |7355 |remove unused vars from xpak, fix bug in compose. Also fix tests for portage | |WarnerBro|sets, fix misnamed variable. | |7356 |Add notes about import statements (clarity) and fix spelling error in | |WarnerBro|release-notes | |7357 |Fix spacing issues, imports | |WarnerBro| | |7358 |For bug #184774, put lha's -q option last since otherwise the option parser | |zmedico |now requires level 0, 1, or 2 to be specified. | |7360 |add test for CommandOutputSet | |WarnerBro| | |7361 |add docstring, fix up imports (style), add keyword expansion | |WarnerBro| | |7362 |fix missing import, default value for value in case we try to .join on a | |WarnerBro|variable that hasn't been assigned to yet | |7363 |Fix hardcoded /usr/bin/echo to use portage.process.find_binary(). | |zmedico | | |7364 |fix spacing, comments, default args | |WarnerBro| | |7365 |Move common file functionality into a FileLoader class and delegate parsing | |WarnerBro|to subclasses via a lineParser func, no idea how this will work performance | | |wise. Fix errors in parser (blank lines are not errors ;)) | |7366 |Move classes out of __init__.py, they do not belong there. Fix import style, | |WarnerBro|and import statements broken by class moves. | |7367 |Fix imports for style, deprecate grab*, what is foo.metadata and what does it| |WarnerBro|contain | |7368 |Validator should be a function, not a class, fix spacing/tab issues. Fix | |WarnerBro|parsing errors for KeyValuePairLoader. Add a GenericFileLoader class that | | |uses more than 1 loader in a vain attempt to figure out what kind of file it | | |is. Fix inheritance by renaming UserConfigKlass | |7369 |Fix imports for style, slight optimization for grab* function, doc fixups. | |WarnerBro| | |7370 |fix broken import | |WarnerBro| | |7371 |add more tests for keyvaluepairloader (it had a bug previously) and fix up | |WarnerBro|other misc tests | |7373 |Drop privileges in the "depend" phase regardless of FEATURES and RESTRICT | |zmedico |since that phase should never need special privileges. Thanks to swegener for| | |the initial patch. | |7375 |Enable FEATURES=userfetch by default. | |zmedico | | |7377 |Add sfperms and strict to the default FEATURES since they're already in the | |zmedico |base profile's make.defaults. | |7379 |Add FEATURES=fakeroot support which causes install and package phases to run | |zmedico |inside fakeroot when a non-root user runs the ebuild command. Thanks to | | |swegener for the initial patch. | |7381 |For bug #186337, show an ewarn message if FEATURES=installsources is enabled | |zmedico |but debugedit is not installed. Also document installsources and splitdebug | | |in make.conf.example. | |7383 |Fix make.conf.example rejects. | |zmedico | | |7385 |Add droppriv keyword for the depend phase. | |zmedico | | |7387 |Add droppriv keyword for the depend phase (last one). | |zmedico | | |7389 |Use a select loop for moving input and ouput when logging is enabled in | |zmedico |portage.spawn(). | |7390 |Use the hardcoded variables from portage.const rather than strings that are | |WarnerBro|apt to change, fix spacing. | |7391 |Use blocking mode for writes since we'd rather block than trigger a | |zmedico |EWOULDBLOCK error. | |7392 |CACHE_PATH starts with / and therefore isn't compatible with os.path.join(). | |zmedico | | |7393 |Set O_NONBLOCK just for read calls (uses fewer fcntl calls). | |zmedico | | |7394 |For bug #186386, pass stdin directly to spawned processes (even when their | |zmedico |output goes through a pty) so that Ctrl+Z works as on would expect.) | |7396 |use ${MAKE:-make} rather than make in einstall() | |SpankMan | | |7400 |When setting the size of the pty for logging, check if stdout isatty rather | |zmedico |than stdin. | |7402 |For bug #186610, use `find ` to scan for config updates since `cd ` could | |zmedico |fail and cause the cwd to be scanned. | |7405 |For --buildpkgonly, say "built" instead of "merged" in the "These are the | |zmedico |packages that would be " message. | |7407 |For bug #186826, always show --newuse flags that trigger reinstallation even | |zmedico |when not in --verbose mode. | |7410 |For bug #186480, while we transition to repository labels, avoid ? spam in | |zmedico |the repository display by ignoring a missing repository label for an | | |installed package. (branches/2.1.2 r7409) | |7411 |For bug #186639, add more clarification about the relationship between | |zmedico |/etc/make.profile/ and /etc/portage/profile/. | |7413 |For bug #186639, note that /etc/portage/profile/ supports all of the same | |zmedico |file types that /etc/make.profile/ does, except parent. | |7415 |For bug #185048, make emerge-webrsync honor http_proxy and ftp_proxy from | |zmedico |make.conf. | |7417 |Handle 2 more cases where elog_process() needs to be called: - binary install| |zmedico |via pkgmerge() fails before reaching the merge phase (pkg_setup dies) - | | |doebuild() is called for the merge phase but it dies before reaching the | | |merge phase | |7419 |When the fetch phase fails inside doebuild(), create an eerror log since the | |zmedico |mod_echo module might push the original message off of the top of the | | |terminal and prevent the user from being able to see it. | |7422 |For bug #186876, fall back it os.pipe() if pty.openpty() fails. | |zmedico | | |7424 |For pty logging, handle the EAGAIN error that is thrown from fcntl when the | |zmedico |slave end of the pty is closed on FreeBSD. | |7426 |Change "output" import to portage.output. | |zmedico | | |7427 |For bug #187016, and env.d to the default USE_ORDER. | |zmedico | | |7428 |Update USE_ORDER docs for bug #187016. | |zmedico | | |7430 |For bug #137483, move the `emerge --help config` docs to the emerge man page.| |zmedico |Thanks to Arfrever Frehtes Taifersar Arahesis for this patch. | |7432 |For bug #139670, update the dohtml docs to show all supported file | |zmedico |extensions. Thanks to Arfrever Frehtes Taifersar Arahesis for this patch. | |7496 |Always pass a dbapi instance into a setcpv call. | |zmedico | | |7516 |For bug #186960, try to create a directory for $ROOT if it doesn't exist. | |zmedico | | |7522 |Make finalize() accept a parameter once again since older versions of portage| |zmedico |import elog modules from newer versions of portage when they upgrade | | |themselves. | |7524 |For bug #187142, properly pass a dbapi instance into setcpv() so that | |zmedico |USE_EXPAND wildcards work correctly. | |7526 |As a workaround for bug #185305, make quickpkg break hardlinks during | |zmedico |creation of the archive. | |7528 |Change the numeric value of DepPriority.MIN to be equal to that of a | |zmedico |satisfied PDEPEND since there is currently nothing with lower priority. | |7531 |Handle the ENOENT error if the world file doesn't exist. | |zmedico | | |7535 |For bug #187375, handle an ImportError when portage is downgraded to a | |zmedico |version without mod_echo. | |7537 |Like older versions of portage, don't show the repo display if [0] is all | |zmedico |that will be shown. | |7541 |For bug #187480, fix writemsg args in portdbapi.gvisible(). | |zmedico | | |7544 |For bug #187518, handle EISDIR thrown from mkdir when the directory already | |zmedico |exists on FreeBSD. | |7547 |s/portage.eclass_cache/eclass_cache/ since eclass_cache is actually a local | |zmedico |variable here. | |7548 |In portage.spawn() logging, put the read end of the pipe in O_NONBLOCK mode | |zmedico |just once at the beginning. This avoids unnecessary fcntl calls and removes | | |one more opportunity to trigger EAGAIN errors on FreeBSD. | |7550 |Generate a QA Notice and cd to ${WORKDIR} if the ${S} directory does not | |zmedico |exist. | |7553 |Make droppriv for the depend phase conditional on userpriv in FEATURES. | |zmedico | | |7555 |Remove the depend phase from the doebuild actionmap since it's never used. | |zmedico | | |7564 |Make config updates get counted correctly for bug #187741. | |zmedico | | |7568 |Call ecompressdir and ecompress --dequeue outside of prepall since | |zmedico |ruby.eclass overrides prepall. | |7570 |Move ecompressdir and ecompress --dequeue after prepall. | |zmedico | | |7572 |Make sure that portage always has all of it's RDEPENDs installed first. | |zmedico | | |7574 |Use == for comparison of portage_node since digraph.clone() makes a deepcopy | |zmedico |of the nodes. | |7576 |For bug #187806, use mkstemp to create tmpservertimestampfile (instead of | |zmedico |using PORTAGE_TMPDIR). | |7578 |Fix from ferringb | |WarnerBro| | |7579 |Merge rewrite by Alon Bar-Lev from bug #130039: - Verify gpg signature of | |zmedico |snapshot if FEATURES="webrsync-gpg" is enabled. - Add a --revert=yyyymmdd | | |option that alows a specific snapshot to be used. | |7580 |For bug #187795, remove pointless digest.disjointed and digest.notadded | |zmedico |warnings since they are always added to cvs automatically anyway. | |7582 |Document FEATURES=webrsync-gpg. Thanks to Arfrever Frehtes Taifersar Arahesis| |zmedico |in bug #130039. | |7583 |Update emerge --help and --info docs. Thanks to Arfrever Frehtes Taifersar | |zmedico |Arahesis in bug #137483. | |7587 |Don't generate a QA Notice if the ${S} directory doesn't exist since it might| |zmedico |be irrelevant for some ebuilds. | |7589 |Optimize config.setcpv() so that it doesn't call regenerate() unnecessarily | |zmedico |when there are no USE wildcards to expand. | |7591 |For bug #188559, invalidate dblink._contents_inodes as necessary to prevent | |zmedico |FEATURES=unmerge-orphans from unmerging anything that belongs to the package | | |that has just been merged. | |7593 |For bug #33585, leave the old info dir file in place if there is nothing to | |zmedico |generate. | |7596 |'decent' CFLAGS should not feature -O3. Bug 188619 | |solar | | |7597 |- revert a few -O2 when they should of remained -O3 in comments | |solar | | |7599 |For bug #188782, keep "nomerge" nodes in the graph during the merge order | |zmedico |calculation so that merge order is better in cases where installed packages | | |have unsatisfied dependencies. | |7602 |Make sure to skip info dir files with the .old extension. | |zmedico | | |7604 |For bug #188782, dependencies on packages specified as arguments are given | |zmedico |higher priority since the currently installed version has been rendered | | |useless by ABI breakage. It's okay to increase the priority here even if the | | |caller is not revdep-rebuild. | |7606 |For bug #188449, since python floats have limited range, we multiply both | |zmedico |floating point representations by a constant so that they are transformed | | |into whole numbers. This allows the practically infinite range of a python | | |int to be exploited. The multiplication is done by padding both literal | | |strings with zeros as necessary to ensure equal length. | |7609 |For bug #188807, add nocreate and delaycompress options for logrotate. | |zmedico | | |7622 |Add some floating point vercmp cases. | |zmedico | | |7625 |Always assign higher priority to dependencies on packages that are being | |zmedico |rebuilt (except when --emptytree is enabled since all packages are merged in | | |that case). This optimizes merge order so that dependencies are | | |rebuilt/updated as soon as possible. | |7627 |Combine 2 locations in depgraph.create() where nodes are added to the | |zmedico |digraph. This ensures that dependencies on "rebuild" nodes always have their | | |priority increased. | |7628 |Fix existing_node logic inside depgraph.create(). | |zmedico | | |7632 |make -f/-F distinction clearer | |SpankMan | | |7636 |Make etc-update copy owner and group bits when it merges config files. | |zmedico | | |7639 |For bug #189219, use pkgcmp() to sort versions in selected/protected/omitted | |zmedico |unmerge display. | |7644 |remove "risky" message about -O2 | |SpankMan | | |7645 |filter out kernel modules from ELF QA checks #184443 | |SpankMan | | |7647 |Fix ACCEPT_KEYWORDS validation so that ** is valid. | |zmedico | | |7651 |Just use os.listdir() since portage.listdir() is unnecessary. | |zmedico | | |7652 |Try harder to figure out what OS we are running | |WarnerBro| | |7653 |Bug #189743 - Add .jpeg to the list of extensions supported by dohtml. | |zmedico | | |7655 |Show cache miss/hit counts all on one line, using \r to return to the | |zmedico |beginning of he line and rewrite it each time that a counter is updated. | | |Thanks to Mike "Fuzzy" Partin for this patch | | |(submitted on the gentoo-portage-dev mailing list). | |7656 |Send cache hit/miss status updates to stdout instead of stderr and add some | |zmedico |more flush() calls. | |7659 |Make --info detect more /etc/*-release files as suggested by grobian. | |zmedico | | |7661 |Bug #188703 - Don't adjust permissions in ${T} unless userpriv is enabled. | |zmedico | | |7663 |Pass complete package metadata from depgraph.select_dep() into create() in | |zmedico |order to minimize aux_get calls. | |7664 |Make best() return early when it's only given one packages. | |zmedico | | |7665 |Fix update_dbentry() to process version components properly before passing | |zmedico |them into ververify(). | |7666 |Make depgraph.select_dep() reuse cached metadata from nodes that have already| |zmedico |been added to the graph. | |7671 |Skip --newuse checks for nodes that have already been added to the graph as | |zmedico |"merge" nodes. | |7672 |Prevent output from being flushed to the console too frequently in | |zmedico |dir_get_metadata(). | |7674 |Use INFORM to colorize the package name. | |zmedico | | |7676 |Fix a typo from r7663. | |zmedico | | |7678 |Bug #189791 - Send errors to /dev/null when debug-print() fails to write to | |zmedico |${T}/eclass-debug.log. | |7680 |Make depgraph.create() avoid metadata lookups for binary packages and ebuilds| |zmedico |in cases where an installed package has already been added to the graph. This| | |greatly improves performance when the graph contains a large number of | | |installed packages. | |7682 |In config.regenerate(), skip loading /etc/profile.env if it's mtime hasn't | |zmedico |changed. | |7684 |Bug #189791 - Define EBUILD_PHASE=unpack during the nofetch phase since | |zmedico |otherwise we get EBUILD_PHASE=merge which isn't in our list of valid | | |EBUILD_PHASES recognized by elog. | |7686 |Make depgraph.select_dep() node reuse work when in --usepkgonly mode. | |zmedico | | |7688 |Add * and ~* to the list of valid values for ACCEPT_KEYWORDS. | |zmedico | | |7690 |Fix a typo. | |zmedico | | |7691 |Fix another typo. | |zmedico | | |7692 |Use a config.reload() method to explicitly reload /etc/profile.env when | |zmedico |setting up the ebuild environment. | |7693 |Call config.regenerate() after config.reload() so that the incrementals are | |zmedico |restacked. | |7694 |Don't cache results from match_from_list() since *dbapi.match() caches do the| |zmedico |job. | |7695 |Remove pointless information from --info output | |genone | | |7699 |remove $Id$ as it gives us nothing useful | |SpankMan | | |7700 |Bug #190214 - Make the rpm phase use /usr/src/rpm instead of /usr/src/redhat.| |zmedico |Bug #190144 - Use the realpath of DISTDIR so that things like | | |subversion.eclass are compatible with sandbox. | |7701 |Move blocker handling from depgraph.create() to select_dep(). | |zmedico | | |7702 |change directory to / in case $PWD doesnt exist | |SpankMan | | |7705 |Bug #190406 - Filter the myheaders list so that it doesn't include binary | |zmedico |blobs added to cvs with the -kb option. | |7709 |Add a --force option that forces commit to proceed. This is useful for cases | |zmedico |like bug #110443 where the commit normally isn't allowed but there are | | |exceptional circumstances where it may be acceptable. | |7710 |Bug #110443 - Add a KEYWORDS.stable check for ebuilds that are added directly| |zmedico |with stable KEYWORDS. | |7711 |Fix RepoMan's grammar. | |zmedico | | |7712 |Make the commit message indicate when the --force option is used. | |zmedico | | |7713 |Skip the most expensive QA tests when --force in enabled since there's no | |zmedico |point in wasting time on them when the user is intent on forcing the commit | | |anyway. | |7714 |Convert myoptions from a list to a dict. | |zmedico | | |7718 |Move some of the less expensive QA checks before dep_check() so that they're | |zmedico |still done even in --force mode. | |7720 |Reformat collision-protect output so that the list of file collisions is | |zmedico |shown below the banner. This puts more distance between the collision list | | |and the list of files that prepstrip often displays just above, hopefully | | |preventing user confusion about which files had collisions. | |7726 |Move the note about not needing pycrypto with python-2.5 to the 2.1.3 | |zmedico |section. | |7728 |In the topological sort for merge order, try to avoid selecting root nodes | |zmedico |whenever possible. This helps ensure that the maximimum possible number of | | |soft dependencies have been removed from the graph before their parent nodes | | |have been selected. This is especially important when those dependencies are | | |going to be rebuilt by revdep-rebuild or `emerge -e system` after the CHOST | | |has been changed (like when building a stage3 from a stage2). With this | | |patch, `emerge -e system` properly rebuilds dev-lang/python before | | |sys-apps/file, which helps to avoid a potential build failure. | |7729 |Fix a typo. | |zmedico | | |7746 |For bug #190268, filter SANDBOX_* from the calling environment so that they | |zmedico |can't interfere with ebuild.sh. | |7748 |Rewrite testing to use __test__ instead of hardcoded dirs | |WarnerBro| | |7749 |fighting with svn over weirdness | |WarnerBro| | |7750 |Last commit added more tests for sets and taught me what I was doing wrong ;)| |WarnerBro|This commit adds yet more tests | |7751 |test news item filtering | |WarnerBro| | |7752 |dbapi currently depends on being subclassed and having the subclasses | |WarnerBro|impelement certain functions (that aren't even implemented IN dbapi, so a | | |particular child has no idea what functions are actually required). Try to | | |make this cleared by adding stubs in dbapi. There should be no behavior | | |change here because these cases would be Attribute errors in the current | | |scheme. Also add a horribly bad testdbapi with stub funcs to use in testing | | |code. Remove regexes with possibly faster string comparisons. | |7753 |Fix minor issues with loaders in the static file loader, fix quoting and | |WarnerBro|import style in news.py. Add TextFileLoader and EnvLoader loaders | |7754 |fix errors in call logic | |genone | | |7755 |return the full path, not just the filename | |genone | | |7756 |Undo some unwanted changes | |genone | | |7757 |Fix incorrect parse check as value lists in KeyListFileLoader might be empty,| |genone |add support for value validators in relevant Loaders | |7758 |Implement/fix testcases for some PackageSet subclasses | |genone | | |7759 |Bug #190268 - Avoid unwanted sandbox violations in src_test(). - Allow | |zmedico |SANDBOX_* variables to pass through. - Don't try to create an sandbox | | |instance inside a test case in order to interaction with SANDBOX_* variables | | |in src_test(). | |7761 |Fix a typo. | |zmedico | | |7763 |In depgraph.altlist(), try to merge asap_nodes sooner by giving them an | |zmedico |exemption from the accept_root_node flag. (branches/2.1.2 r7762) | |7764 |compress two loop iterations into one | |WarnerBro| | |7765 |sigh, or, not and | |WarnerBro| | |7766 |or I was right the first time :( | |WarnerBro| | |7767 |Remove name from PackageSet, it's pointless as the caller has to keep track | |genone |of the name himself anyway | |7768 |Adjust for r7767 | |genone | | |7769 |Bug #192298 - Handle PermissionDenied error in cache.update_eclasses(). | |zmedico | | |7770 |Catch errno.ENOTDIR instead of using os.path.isdir(). | |zmedico | | |7771 |Bug #192195 - In dir_get_list(), append a trailing / to the address when | |zmedico |necessary in order to avoid getting a 400 error from the http server. | |7772 |Bug #187795 - remove pointless digest.disjointed and digest.notadded warnings| |zmedico |since they are always added to cvs automatically anyway. | |7773 |Bug #191645 - Document the --force option. | |zmedico | | |7774 |Bug #192321 - Clean dir.old cruft so that they don't prevent unmerge of | |zmedico |otherwise empty directories. | |7775 |Bug #110443 - Add a KEYWORDS.stable check for ebuilds that are added directly| |zmedico |with stable KEYWORDS. | |7776 |Bug #191645 - Document the --force option. | |zmedico | | |7777 |Add some additional notes about the behavior of FEATURES=assume-digests under| |zmedico |various conditions. | |7778 |Bug #191645 - Cross-reference the `ebuild --force digest` docs with the | |zmedico |FEATURES=assume-digests docs. | |7779 |Bug #192346 - The emerge --help shows a -i option that does not exist. | |zmedico | | |7780 |Bug #192341 - Make emerge bail out on FreeBSD if the freebsd python module | |zmedico |fails to import. Display a notification that "ignore-missing-freebsd-module" | | |can be added to FEATURES in order to bypass the error. If that feature is | | |enabled but the freebsd python module imported successfully, show a warning | | |message since the user should remove if from FEATURES asap. | |7785 |Revert the workaround for bug #192341 since it will be much cleaner if we | |zmedico |fall back to spawning the chflags command when the freebsd module is | | |unavailable. | |7789 |Use ensure_dirs() and apply_permissions() to avoid redundant chown/chmod | |zmedico |calls. This helps avoid 'Permission denied' errors during elog_process() when| | |the ebuild command is run by normal user (issue reported by graaff). | |7790 |Bug #190781 - Don't include --oneshot in the options that --update implies. | |zmedico | | |7792 |Mask binary packages if their CHOST does not match the one defined in | |zmedico |make.conf. | |7793 |When --with-bdeps=y is enabled for built packages, pull in build time deps as| |zmedico |requested, but marked them as "satisfied" since they are not strictly | | |required. This allows more freedom in the merge order calculation for solving| | |circular dependencies. Don't convert to PDEPEND since that could make | | |--with-bdeps=y less effective if it is used to adjust merge order to prevent | | |built_with_use() calls from failing. | |7794 |Flush stdout before calling pkg_info() to ensure that output always shows in | |zmedico |the correct order. | |7795 |Flush stderr and stdout if their file descriptors are in fd_pipes at the | |zmedico |beginning of spawn(). | |7796 |In spawn(), initialize default fd_pipes before doing the stdout/stderr flush.| |zmedico | | |7797 |When --deep is not enabled, many dependencies are dicarded and left out of | |zmedico |the digraph. This patch prevents dependencies from being discarded in some | | |cases where the are needed in order to optimize merge order. It also modifies| | |the DepPriority.rebuild attribute so that it only applies to build time | | |dependencies. This leads to better merge order in some cases when --deep is | | |not enabled. For example, `emerge xf86-input-keyboard xorg-server` will now | | |properly merge xorg-server before xf86-input-keyboard (problem from bug | | |#192254, comment #5). | |7798 |tweak get_config() so that it only executes one external binary (sed) instead| |SpankMan |of chaining multiple ones | |7799 |fix possible information leak vulnerability when doing a merge of | |SpankMan |configuration files and be better about handling of whitespace in $TMP in a | | |few places | |7800 |s/note/not/ reported by p-y. | |zmedico | | |7801 |Bug #190179 - Use `prelink --verify filename` to write the temp file via | |zmedico |stdout since --undo fails when run as a normal non-superuser because it tries| | |to chown the output file. Also, use mkstemp() to eliminate the need for | | |locking the temp file. Thanks to Israel G. Lugo for| | |the initial patch. | |7802 |Initialize ${TMP} before registering the die trap so that we're sure which | |zmedico |directory die will clean up. | |7803 |Bug #74615 - Quote all file paths inside dispatch-conf shell commands. | |zmedico | | |7804 |Bugs #168772 and #193695 - During unmerge, only ignore specific exceptions | |zmedico |raised from unlink() and rmdir() calls. | |7805 |Bug #193695 - Add support for FreeBSD chflags during unmerge. This code is | |zmedico |adapted from the code that already exists in movefile() for the merge phase. | |7806 |In movefile() FreeBSD chflags handling, use chflags instead of lchflags when | |zmedico |temporarily adjusting the flags on the parent directory since we want to | | |follow any symlinks to the real parent directory. | |7807 |Bug #193695 - Add FreeBSD chflags support for rmdir() calls during unmerge. | |zmedico | | |7808 |Bug #192341 - Eliminate the dependency on py-freebsd by implementing it's | |zmedico |chflags() and lchflags() functions as wrappers around the chflags command | | |(which should always be available in any case). The functions are only called| | |when merging/unmerging files that actually have flags set so the performance | | |difference should be negligible. | |7834 |Bug #192341 - When the chflags command does not exit successfully, try to | |zmedico |generate an informative error. First, use stat or lstat to try and generate | | |an ENOENT error. It the path exists, verify that the chflags binary exists | | |and raise CommandNotFound if necessary. Finally, simply generate an EPERM | | |OSError with the output of the command since we're not sure exactly why it | | |failed or what the real errno was. | |7835 |Set non-blocking mode on the pty master file descriptor while the slave file | |zmedico |descriptor is still held open since otherwise the fcntl call can fail on | | |FreeBSD (the child process might have already exited and closed the slave | | |file descriptor so we have to keep it open in order to avoid FreeBSD | | |potentially generating an EAGAIN exception). This appoach is cleaner than | | |triggering the exception and being forced to handle it somehow. | |7838 |Bug #192706 - Do not print a summary at the end of --depclean if there is | |zmedico |nothing to clean and --quiet is enabled. | |7839 |someone seriously screwed the pooch on whitespacing here so clean it all up | |SpankMan | | |7840 |Fix a typo. | |zmedico | | |7842 |align the filename and line numbers in the output of the stack dump so that | |SpankMan |it is much easier to read | |7844 |Display a short notification when an existing ${T}/environment sourced since | |zmedico |it is easy to ignore and ignorance of it often leads to mysterious problems | | |and general confusion. This message should not show in cases where it is | | |obviously irrelevant, FEATURES=noauto, or PORTAGE_QUIET=1. | |7846 |Do the stale env check/warning after the digest/manifest phase when | |zmedico |necessary. | |7848 |Bug #193486 - Use xargs to avoid 'bash: /bin/rm: Argument list too long' | |zmedico |errors. This patch uses a weird tr '\001' '\000' workaround since bash | | |doesn't echo null bytes like one might expect. | |7850 |Bug #193486 - Use echo -n and properly quote the array argument. | |zmedico | | |7852 |with help from Donnie and Ulrich, use sed to extract the statement that led | |SpankMan |to the call to die so we can print it out in our error message | |7853 |Bug #194025 - Lock /var/db/pkg in post_merge() during the "Regenerating GNU | |zmedico |info directory index" routine. | |7856 |Ignore ENOTDIR from unmerge unlink calls. | |zmedico | | |7858 |Move a newline to fix formatting. | |zmedico | | |7861 |Simplify update_eclasses() a little. | |zmedico | | |7864 |Move prelink tempfile cleanup to the finally block and remove unused locking | |zmedico |code. | |7866 |Handle KeyError thrown from aux_get(). | |zmedico | | |7869 |Bug #194081 - Add EBUSY to the list of ignored errnos for unlink and rmdir | |zmedico |calls during unmerge. | |7871 |Bug #193548 - When emerge spawns find to search for config updates, show the | |zmedico |find output if there is an error. | |7873 |When scanning for config updates, treat a symlink to an existing directory as| |zmedico |if it's just a normal directory. | |7875 |Bug #193548 - When scanning for config updates and an error occurs, send | |zmedico |find's stdout to /dev/null so that only an error message is shown. | |7877 |Bug #194095 - Validate dispatch-conf input in order to prevent spurious input| |zmedico |characters from being interpreted as user input (which can be quite confusing| | |and gives an "out of control" feeling). | |7878 |Fix quoting as reported by Drac in bug 194169 | |WarnerBro| | |7879 |revert useless quoting | |SpankMan | | |7887 |Initialize PORTAGE_TMPDIR before using it. | |zmedico | | |7890 |Remove redundant trailing slashes from ${D}. (branches/prefix r7886) | |zmedico | | |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. | |7904 |In the EbuildQuote check, combine the var_assignment regex together with the | |zmedico |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 SRC_URI.syntax and | |zmedico |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 | | |7909 |Bump EAPI from 0 to 1 and fix eapi_is_supported() so that it works properly | |zmedico |with both 0 and 1. | |7910 |When the metadata cache contains a negative EAPI, it means that the cache | |zmedico |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 the future, | |zmedico |assume that it's valid (rather than trigger a regen). | |7912 |Fix UnsupportedAPIException.__str__() to strip the leading negative sign (-) | |zmedico |from the EAPI, to prevent confusion. | |7913 |Add EAPI masking support for binary packages. | |zmedico | | |7914 |Make repoman bail out if it is unable to properly access ebuild metadata for | |zmedico |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 disabled. | |zmedico | | |7916 |Make portdbapi.getfetchlist() bail out if the EAPI is unsupported. This makes| |zmedico |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) command. | |zmedico | | |7919 |In portdbapi.aux_get(), simplify code by using string manipulation instead of| |zmedico |int conversion to manipulate negative EAPI when deciding whether or not regen| | |is necessary. | |7942 |Make the EbuildQuote check ignore lines beginning with local or export | |zmedico |builtins since unquoted assignments are okay there. | |7944 |Bug #194764 - All the match* functions can raise a ValueError if cpv_expand()| |zmedico |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 | | |7952 |Add set configuration framework in preparation for emerge integration | |genone | | |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 section and document | |zmedico |binary package CHOST masking. | |7959 |replace category sets in test configuration with user sets | |genone | | |7962 |Document SLOT dependencies. | |zmedico | | |7963 |include sets in emerge --search | |genone | | |7966 |Document IUSE defaults. | |zmedico | | |7967 |Shorten the reference to IUSE defaults since it's now documented in | |zmedico |ebuild(5). | |7974 |handle empty sets properly | |genone | | |7975 |Strip the - prefix from EAPI in getmaskingstatus() if necessary. | |zmedico | | |7977 |default set configuration, should probably go into /usr/share/portage | |genone | | |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 for mail servers | |genone |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 the server | |genone |actually supports TLS, bug #183808 | |7985 |Fix package.license support so that SLOT atoms will work. | |zmedico | | |7986 |Bug #194552 - Include EAPI in the binary package metadata index. | |zmedico | | |7987 |In PackageIndex.readBody(), make each package entry inherit CHOST from the | |zmedico |header. | |7988 |In PackageIndex.write(), skip writing the CHOST for a package entry if it's | |zmedico |CHOST matches the header. | |7989 |Fix binarytree.populate() so that it properly caches all the metadata | |zmedico |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 non-files so we dont | |SpankMan |get confusing loops where portage claims there are things to update but | | |etc-update claims there are not | |7995 |Move the "commit" mode manifest generation earlier in order to avoid digest | |zmedico |verification issues when FEATURES="strict" is enabled. | |7996 |Remove duplicate call to digestgen(). | |zmedico | | |7997 |Factor the KEYWORDS masking logic out of portdbapi.visible() and move it to | |zmedico |config.getMissingEeywords(). This will allow the code to be reused for binary| | |packages. | |7998 |Allow config.setcpv() to take a dictionary of package metadata in place of a | |zmedico |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 portdbapi.visible() and | |zmedico |move it to config.getMaskAtom() and getProfileMaskAtom(). This will allow the| | |code to be reused for binary packages. | |8008 |Optimize away a match_from_list() call inside portdbapi.xmatch("match-all") | |zmedico |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() and handle the | |zmedico |potential OSError instead. | |8010 |Properly exclude old-style virtuals from the portdbapi.cp_list() cache. | |zmedico | | |8011 |Make portdbapi.aux_get() cache more often. | |zmedico | | |8012 |Bug #149816 - Implement visibility filtering support for binary packages. | |zmedico |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 the filtered | |zmedico |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 USE before the | |zmedico |visibility check. | |8015 |Fix InvalidDependString namespace and initialize USE before visibility check.| |zmedico | | |8016 |Replace hardcoded path with new constant | |genone | | |8017 |Fix USE logic for built packages when populating the filtered repo. | |zmedico | | |8021 |Exclude .metadata files in multi set configurations for StaticFileSet | |genone | | |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 | | |8033 |Unify the masking reasons output so that the same code path is used for both | |zmedico |ebuilds and binary packages. | |8034 |Initialize the list of package repos inside the depgraph constructor so it's | |zmedico |always available. | |8035 |Migrate depgraph.select_files() to use the filtered repo for expansion of | |zmedico |greedy atoms. Also, use the list of repos to clean up the category expansion | | |code. | |8036 |Cache IUSE in bindbapi to optimize --newuse calculations. Also, fix filtering| |zmedico |code for reading/writing USE and IUSE from/to the metadata index. | |8037 |Refactor depgraph.select_dep() to eliminate redundant code that was | |zmedico |duplicated for each package type. | |8038 |Comment about avoiding expensive metadata pulls in depgraph.select_dep(). | |zmedico | | |8039 |Prevent bogus upgrade display when a new-style virtual is first installed and| |zmedico |it replaces an old-style virtual. | |8040 |Remove ambiguous "you should edit this file" warning. Thanks to Cardoe. | |zmedico | | |8041 |Make portdbapi and bindbapi cache PROVIDE in order to optimize matching of | |zmedico |old-style virtuals. | |8042 |Move some package selection code from depgraph.create() to select_dep() so | |zmedico |that all package selection is done in the same place. | |8043 |Raise a PackageNotFound exception instead of a ValueError in order to avoid | |zmedico |ambiguity if an unexpected ValueError occurs. | |8044 |implement new set to group all consumers of preserved libraries | |genone | | |8045 |Make depgraph.select_dep() reject installed packages in the same cases that | |zmedico |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 simple | |genone |revdep-rebuild replacement | |8047 |Update todo list | |genone | | |8048 |Do not use aux_get to parse the NEEDED file as we need to distinguish spaces | |genone |and newlines | |8049 |typo fix | |genone | | |8050 |In depgraph.select_dep(), check for existing nodes in installed packages when| |zmedico |necessary. | |8051 |Strip the leading path separator from USER_CONFIG_PATH so that os.path.join | |zmedico |works correctly. | |8052 |Split USE evaluation code out of binarytree.inject() so that it can be reused| |zmedico |in populate(). | |8053 |Sync code between binarytree.inject() and populate(). | |zmedico | | |8054 |Pass default package metadata values into the PackageIndex constructor for | |zmedico |optional things like EAPI and SLOT. | |8055 |Pass into the PackageIndex constructor a list of package metadata keys that | |zmedico |inherit a default value from the header. | |8058 |Use writemsg() to send exception string to stderr. | |zmedico | | |8086 |Bug #195527 - Unconditionally detect file collisions and log them as eerror | |zmedico |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 collision eerror message | |zmedico |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 old-style virtuals. | |zmedico | | |8096 |In dblink.treewalk(), use os.walk() instead of portage.listdir() in order to | |zmedico |avoid cacheddir() bloat when listing the files to be merged from ${D}. | |8097 |Use os.listdir() instead of portage.listdir() in dblink.mergeme(). | |zmedico | | |8098 |Remove a chdir() call that's no longer needed for the collision-protect | |zmedico |symlink code. | |8100 |Make the file collision eerror message less verbose when in --quiet mode. | |zmedico | | |8102 |Handle the PortageException that can be raised from portage.mail.send_mail().| |zmedico | | |8114 |In the file collision eerror output, don't colorize the file paths since the | |zmedico |escape codes look ugly in the log. | |8115 |Remove unused import. | |zmedico | | |8117 |Avoid an error message from find when "${D}"/usr/share does not exist. | |zmedico | | |8119 |In some cases, openpty can be slow when it fails. Therefore, stop trying to | |zmedico |use it after the first failure. | |8121 |Remove the checks for files in symlinked directories from the collision | |zmedico |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. | |8124 |Add a note to clarify os.walk() behavior with respect to symlinks to | |zmedico |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 using_editor is | |zmedico |true. | |8130 |Bug #195949 - Add one more using_editor conditional for diff_command. | |zmedico | | |8136 |Update NOTE_2 to document proper use of the using_editor config option. | |zmedico | | |8138 |Update emacs and vim docs to reference NOTE_2. | |zmedico | | |8140 |Fix --help summary so that "commit" mode shows. | |zmedico | | |8142 |Move the emerge module to _emerge to make it private since it's mostly | |zmedico |unsuitable for api consumers at this time. | |8143 |Add debug mode to display the libraries that cause the package to be included| |genone | | |8144 |subclass portage.config to include a setconfig instance to avoid adding one | |genone |more parameter to most of the emerge functions | |8145 |Replace getlist() with PackageSet.getAtoms() | |genone | | |8146 |fix typo | |genone | | |8147 |Also use EmergeConfig() in MergeTask | |genone | | |8148 |use skipfile rather than timestamp to ignore processed files | |genone | | |8149 |Move clean_world() into WorldSet | |genone | | |8150 |Use EmergeConfig instead of portage.config in RootConfig | |genone | | |8151 |In dblink.getcontents(), use a regular expression to detect when path | |zmedico |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 than for each | |zmedico |dblink constructor call. | |8153 |Optimize dblink.isowner() to use fewer stat calls by only collecting stat | |zmedico |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 is suitable for | |zmedico |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 and clarify the | |zmedico |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 so that similar | |zmedico |eerror messages are generated whether or not collision-protect is enabled. | |8166 |Fix the normalize_needed regex to properly match // anywhere in the path. | |zmedico |Also add support for detection of . or .. where appropriate. | |8168 |Fix collision-protect so that it properly cancels the preinst phase like it | |zmedico |used to. | |8170 |Adjust quote usage in collision-protect eerror output. | |zmedico | | |8172 |Bug #195375 - Make dblink.treewalk() read inforoot/SLOT since it differs from| |zmedico |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() actually raises | |zmedico |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. | |8176 |Use the python version of eerror | |genone | | |8177 |The ERROR color code is currently undefined, so make eerror use BAD like the | |zmedico |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 --pretend mode. | |zmedico | | |8180 |Don't show each character of the log message on a new line when displaying | |zmedico |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 consecutive 'TYPE: | |zmedico |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 a single | |zmedico |concatenation at the end for better efficiency. | |8184 |Refactor _merge_logentries() to make it a little more efficient. | |zmedico | | |8185 |Bug #196435 - Add some more references to quickpkg(1) since sometimes people | |zmedico |don't realize that it exists. | |8186 |Remove the config.setinst() call from depgraph.select_dep() since it's never | |zmedico |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. | |8187 |Allow the depgraph to add old-style virtual providers but prefer any | |zmedico |pre-existing providers over new ones that are added. | |8188 |Use a simple Package class to bundle package data for depgraph.create() | |zmedico |calls. | |8189 |Split the masked packages display out of depgraph.select_dep(). | |zmedico | | |8190 |Split the package selection logic out of depgraph.select_dep(). | |zmedico | | |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 depgraph is | |zmedico |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 availablility of | |zmedico |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 existing directory| |zmedico |and exit gracefully if not. | |8197 |Split the "arg" parameter out of depgraph.select_dep() so that it's used | |zmedico |purely for processing atoms that are pulled in by parent packages. | |8198 |Use a "depth" parameter to track depth of recursion relative to the nearest | |zmedico |argument atom. | |8199 |Remove uneeded "arg" and "addme" parameters where possible. | |zmedico | | |8200 |Remove slashes that cause problems when unpacking files with relative paths | |genone |(bug #196565) | |8201 |restore proper call logic | |genone | | |8202 |ignore "permission denied" errors when changing perms of news skipfile that | |genone |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 | | |8214 |Bug #196427 - Prevent various news related tracebacks from occuring when | |zmedico |running emerge as an unprivileged user in --pretend mode. | |8215 |Fix NewsManager.getUnreadItems() so that it works properly for an | |zmedico |unprivileged user in readonly mode. | |8218 |Don't catch a ValueError if it isn't the type that's expected from | |zmedico |portage.cpv_expand(). | |8219 |Do a loop over each dependency type to simplify select_dep() calls. | |zmedico | | |8220 |Always pass package metadata into depgraph.create() so it doesn't have to get| |zmedico |it itself. | |8221 |Combine depgraph._select_dep() into create() so that create() simply calls | |zmedico |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 reading from the| |zmedico |source cache. | |8224 |Bug #184118 - Add an emaint "cleanresume" action that deletes any existing | |zmedico |resume lists from the mtimedb. Thanks to Arfrever Frehtes Taifersar Arahesis | | |for the initial patch. | |8225 |In depgraph.create(), don't ignore direct circular dependencies anymore since| |zmedico |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. | |8233 |In depgraph.create(), if a direct circular dependency is not an unsatisfied | |zmedico |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 files in dodoc | |zmedico |arguments. | |8238 |Remove a redundant self.treeVirtuals deepcopy from the config constructor. | |zmedico | | |8240 |Fix config.setinst() to return early when the given package already provides | |zmedico |the virtual. | |8242 |Fix the version Id tag. | |zmedico | | |8243 |Print the Id tag an it's own line to avoid going over 80 columns. | |zmedico | | |8245 |Sigh, this integration did not go well, please check the diff (it seemed to | |WarnerBro|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 ;) | |8246 |fix tabbing | |WarnerBro| | |8247 |aha, i knew that diff was screwy, the mail to portage-commits and grep made | |WarnerBro|it obvious as to why; lets try removing those dupe checks. | |8248 |Don't show the "checking files for package collisions" message when --quiet | |zmedico |is enabled. | |8250 |Begin to use python logging framework. Remove if quiet < bla logic and | |WarnerBro|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| | |8252 |protect variables specified in PROFILE_ONLY_VARIABLES from being set by the | |genone |user | |8253 |make PROFILE_ONLY_VARIABLES incremental | |genone | | |8254 |make 'world' and 'system' behave like their sets/ counterparts | |genone | | |8255 |Optimize PROFILE_ONLY_VARIABLES handling. | |zmedico | | |8256 |just pass the SetConfig instance instead of only the settings and trees | |genone |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 | | |8260 |Fix logic for the "selective" depgraph parameter so that it behaves correctly| |zmedico |in cases where installed packages provide old-style virtuals but none of the | | |available packages do. | |8261 |Match packages against arguments earlier in depgraph._select_package() so | |zmedico |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 the special case | |genone |code as well | |8264 |Make world atoms non-greedy for SLOTs in action_depclean() since users can | |zmedico |simply add SLOT atoms to world for any specific SLOTs that they want to keep.| |8265 |Remove --update greedy SLOTs code from depgraph.select_files() so that any | |zmedico |desired SLOTs have to be pulled in explicitly. Any SLOTs that are not | | |explicitly pulled in will be removed by --depclean. | |8266 |Replace sys.exit() calls with return statements in emerge_main(). | |zmedico | | |8267 |Add back support for handling missing system/world atoms that was removed | |zmedico |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 atoms that match | |zmedico |packages in package.provided. | |8269 |Add back support for helpful `emaint --check world` suggestions and also show| |zmedico |package masking reasons when appropriate. | |8270 |Fix broken import. | |zmedico | | |8282 |Add back support for greedy SLOTs when --update is enabled as per bug | |zmedico |#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 using a stack of | |zmedico |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 an existing | |zmedico |Package instance added to the graph for a given SLOT. | |8287 |For the global AUTOCLEAN, pass an empty list into unmerge() so it behaves | |zmedico |like it used to. | |8288 |Filter atoms that come from sets when generating the list of atoms to record | |zmedico |in the world file. | |8289 |If the title string is too big then xtermTitle() can misbehave by causing the| |zmedico |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 arguments that exists| |zmedico |before expansion of sets. | |8291 |Handle multiple consecutive spaces in filenames as per bug #196836#c6. | |zmedico | | |8292 |Remove obsolete whitespace handling code for "obj" filenames in CONTENTS. | |zmedico | | |8293 |Handle a potential IndexError. | |zmedico | | |8294 |Correct expected split counts for CONTENTS lines. | |zmedico | | |8295 |Fix: Make repoman actually USE -m commit message again (and -M commit message| |zmedico |file). (branches/prefix r8280) | |8296 |FIX: indentation problem, also end the Portage identification line with a ) | |zmedico |if repoman wasn't forced to do its job. (branches/prefix r8281) | |8300 |Allow sets to contain non-atoms | |genone | | |8301 |use a @ prefix for sets, and replace world/system with their real prefixed | |genone |names if found on the commandline | |8302 |use SetConfig.getSetAtoms instead of PackageSet.getAtoms for expanding sets | |genone |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 into atoms. | |zmedico | | |8306 |Prevent premature expansion of old-style virtuals inside | |zmedico |depgraph.select_files(). | |8307 |Allow sets to get through world file validation and expand properly. It's now| |zmedico |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 metadata as possible. | |zmedico |(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 | | |8313 |Optimize repoman to share portdbapi.cp_list() results between all profiles | |zmedico |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). | |8316 |In portage.fetch(), condense digest check ouput to a single line for all | |zmedico |digests. | |8317 |Fix broken $ROOT handling for setconfig in the MergeTask constructor. | |zmedico | | |8318 |Reuse an existing EmergeConfig instance instead of constructing a new one. | |zmedico | | |8319 |Make depgraph._select_atoms() more flexible by allowing the repositories to | |zmedico |be passed in as a parameter. | |8324 |Replace depgraph._slot_node_map with _slot_pkg_map so that it's easier to get| |zmedico |existing Package instances. | |8329 |Sort all dbapi.cp_list() results in ascending order and cache the results | |zmedico |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 one of it's | |zmedico |internal lists. | |8332 |Optimize stdout_spinner.update() methods so that they don't waste cpu time by| |zmedico |flushing ouput to the tty too frequently. | |8333 |Fix SetConfig.getSetAtoms() to stop initializing ignorelist in the parameter | |zmedico |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 broken reference| |zmedico |to packagesets which is now settings.sets. | |8335 |Fix PackageSet.getAtoms() and getNonAtoms() so that they don't return | |zmedico |references to private data structures. | |8336 |Make portdbapi.cp_list() use os.listdir() instead of portage.listdir() since | |zmedico |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(" ") for splitting | |zmedico |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 lines. | |zmedico | | |8341 |Implement a "consistent" depgraph parameter (enabled by --consistent) that | |zmedico |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 accesses by using | |zmedico |the same code as "minimum-visible" but with a reverse iterator. | |8343 |Implement license filtering for xmatch minimum-visible and bestmatch-visible.| |zmedico |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 depgraph._complete_graph(). | |zmedico | | |8345 |Remove a few unused depgraph attributes. | |zmedico | | |8346 |Gather some ignored dependencies so that they can be properly processed by | |zmedico |the depgraph when "conistent" mode is enabled. | |8347 |Defer selection of package dependency atoms until they are actually needed | |zmedico |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 behavior. | |zmedico | | |8349 |Fix diefunc() so that it doesn't report that the ebuild is from an overlay | |zmedico |when EMERGE_FROM == binary. | |8350 |Make depgraph.select_files() recursively expand sets given as arguments so | |zmedico |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 line of | |zmedico |src_(compile|install|test) ebuild methods. Thanks to Petteri Räty | | | for this patch. | |8352 |Avoid making unnecessary copies of PackageSet._atoms by replacing calls to | |zmedico |self.getAtoms() with self._load(). | |8353 |Make the EbuildUselessCdS check for both quoted and unquoted ${S} so the user| |zmedico |doesn't have to fix quoting before this check will recognize the violation. | |8354 |Remove an extra \$ from the EbuildQuote.var_reference regex so that it will | |zmedico |properly match things like variable references without braces, like $S. | |8355 |Properly escape { and } characters in regular expressions even though it | |zmedico |seems to work either way. | |8357 |In the 'there are no ebuilds to satisfy "foo"' message, discard null/ from | |zmedico |failed cpv_expand category expansion. | |8358 |Optimize merge order to try and select nodes that only have unsatisfied | |zmedico |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 handle some cases| |zmedico |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 unmask atom is | |zmedico |found. | |8381 |Make portdbapi.gvisible() use portdbapi._aux_cache_keys for metadata pulls. | |zmedico | | |8383 |Sort scanlist and ebuildlist to ensure that repoman always processes packages| |zmedico |in a predictable order. | |8385 |In portage.fetch(), condense digest check output to a single line for all | |zmedico |digests. | |8387 |TODO: Make update_config_files() handle slotmove commands for SLOT atoms. | |zmedico | | |8390 |Bug #197932 - Make dbapi._cpv_sort_ascending() preserve explicit -r0 for | |zmedico |consistency in findname and aux_get calls. | |8392 |Remove redundant code from previous commit. | |zmedico | | |8397 |Fix update_config_files() so that it uses update_dbentry() to handle update | |zmedico |commands since that already supports slotmove commands for SLOT atoms. | |8401 |Bug #197965 - When fetch() encounters a checksum failure, look for an | |zmedico |identical file from a previous checksum failure in order to avoid consuming | | |unnecessary disk space with duplicate files. | |8402 |if mode=1 and `dialog` is not usable, abort #197990 by DominikBuerkle | |SpankMan | | |8403 |Bug #197965 - Make fetch() bail out after 5 checksum failures for a | |zmedico |particular file since downloading the same file repeatedly from every single | | |available mirror is a waste of bandwidth and time. | |8405 |Call die() so that the $TMP directory is always properly cleaned up. | |zmedico | | |8408 |Bug #197797 - Do not actively clear o+rx permission bits on the | |zmedico |/var/lib/portage directory. Only clear the o+w bits. This allows users who | | |aren't in the portage group to have read access to the world file by default,| | |but administrators can explicitly chmod o-rx that directory if necessary, and| | |portage will leave those bits alone. This makes the permission settings in | | |dblink.treewalk() consistent with those that are already defined in | | |config._init_dirs(). | |8410 |For sanity, pass an actual list of keys into aux_get() instead of iterating | |zmedico |over a set that happens to be mutable (though it remains constant in | | |practice). | |8412 |Make fetch() behave like the ebuild has RESTRICT="primaryuri" after 2 | |zmedico |checksum failures for a fetched file. This should increase the probability of| | |fetching the correct file before the maximum number of tries is reached. | |8414 |Generate a usage.obsolete warning whenever -* is found in KEYWORDS. | |zmedico | | |8416 |In fetch(), replace checksum_failure_counts dict with single int counter. | |zmedico | | |8418 |Clean up ACCEPT_KEYWORDS incremental stacking logic and fix some minor | |zmedico |inconsistencies. | |8420 |When evaluating *DEPEND conditionals for the Packages metadata index, do not | |zmedico |use IUSE to filter USE since there is currently no guarantee that IUSE | | |properly defines all of the necessary flags. | |8421 |In portdbapi.cp_list(), validate the ebuild name to ensure that it matches | |zmedico |the name of the package. | |8423 |Make Manifest.create() do some basic validation of ebuild file names like | |zmedico |portdbapi.cp_list() would do. | |8426 |Make exception strings more informative. | |zmedico | | |8428 |Replace StringIO usage with a simple list of lines. The iteration interface | |zmedico |is practically identical but the list of lines if more efficient because the | | |lines only have to be split one time for each ebuild instead of for each | | |check. | |8429 |Fix 'TypeError: not all arguments converted during string formatting' issues | |zmedico |with the EbuildNestedDie check. | |8431 |Add support for package sets in WorldHandler. | |zmedico | | |8432 |Make WorldHandler lock the world file when in --fix mode. | |zmedico | | |8436 |Allow multislot packages to be added to the world file via --noreplace. | |zmedico |Having these atoms in the world file will trigger recommendations to run | | |emaint in some cases, like when running `emerge -e world`. The atoms need to | | |be in the world file to prevent multislot packages from being removed by | | |--depclean though. | |8437 |remove O and PPID from being readonly. O is set python side (and we will | |WarnerBro|hopefully stop being exported soon. PPID is ro by bash, so no need to declare| | |it twice | |8438 |Bug #198129 - Prevent SLOT atoms like sys-devel/binutils:0 from being | |zmedico |inappropriately recorded in the world file when USE=multislot is enabled. | |8439 |Fix create_world_atom() logic some more for bug #198129. | |zmedico | | |8442 |Go ahead and exempt selected profile-specific USE_EXPAND flags from IUSE QA | |zmedico |Notices since we are planning to make these particular flags into implicit | | |members of IUSE. We can make this extensible later, but for now we just want | | |to eliminate some useless QA Notices (a subset of bug #70648). We're not | | |exempting any non profile- specific USE_EXPAND flags here. For non | | |profile-specific flags, we intend to implement an IUSE syntax extension (bug | | |#133327). | |8444 |Remove references to ${O} in dyn_spec() since antarus made that variable | |zmedico |mutable. | |8445 |Simplify and fix bugs in is_valid_package_atom(). | |zmedico | | |8447 |Remove the usage.obsolete "KEYWORDS contain -*" warning since people are | |zmedico |using -* to indicate that a package should not be tried on archs other than | | |those for which it already has KEYWORDS. | |8451 |Make depgraph.select_files() perform internal expansion of package set | |zmedico |arguments since ideally the depgraph needs to be awary of the precise origin | | |of each atom. | |8452 |Fix broken logic for --update greedy slot atoms in depgraph.select_files(). | |zmedico | | |8453 |Really fix broken logic for --update greedy slot atoms in | |zmedico |depgraph.select_files(). | |8457 |For unsatisfied dependencies, shorten the per-package EAPI mask output and | |zmedico |show an informative message whenever an EAPI mask is encountered. | |8462 |It is not cool and/or helpfull to see an HTML dump of some page in case it is| |zmedico |not what is expected (like a 404). (branches/prefix r8460) | |8464 |Bug #198492 - Make quickpkg create $PKGDIR if it doesn't already exist. | |zmedico | | |8466 |Don't do: Calculating dependencies |Fetching binary packages info... but | |zmedico |instead put "Fetching ..." on it's own line. (branches/prefix r8461) | |8468 |Tweak EOutput.term_columns calculation for TERM="dumb" so that it behaves | |zmedico |like TERM="cons25" currently does. Thanks to Ulrich Mueller | | |for the patch. | |8471 |make.globals should not be relative to config_root because it only contains | |zmedico |constants. | |8472 |Revert accidental hunk from bug 198491. Haven't tested this yet. | |zmedico | | |8473 |Bug #198491 - Disable termios.OPOST post-processing of output on the slave | |zmedico |pty file descriptor since otherwise weird things like \n -> \r\n | | |transformations may occur. Thanks to Ulrich Mueller for this| | |patch. | |8474 |Remove the workaround for \n -> \r\n transformations in | |zmedico |SpawnTestCase.testLogfile() since the problem is solved by the patch from bug| | |#198491. | |8475 |Create classes to encapsulate eache of the depgraph argument types: atoms, | |zmedico |packages and sets. | |8476 |Fix incorrect type in depgraph._missing_args. | |zmedico | | |8477 |revert getMergeList to return CPVs again instead of atoms | |genone | | |8478 |Move glsa-check from gentoolkit into portage so the gentoolkit version can be| |genone |removed after 2.2 is released | |8479 |move checkfile parsing into its own function | |genone | | |8480 |if multiple glsas result in the same cat/pkg:slot being affected only use the| |genone |highest resulting atom | |8481 |fix typo and missing classmethod declaration | |genone | | |8482 |Clean up expansion of set arguments in depgraph.select_files(). | |zmedico | | |8483 |Convert all the checks in repoman.checks to use a new LineCheck interface | |zmedico |that takes a single line as an argument. This has at least a few of benefits:| | |* Eliminates lots of redundant code * Error messages are ordered by line | | |number across all checks The performance is slightly worse due to the | | |increased number of method calls, but it's not really noticeable in | | |comparison to the time consumed by dependency checks. Thanks to Petteri Räty| | | for the initial patch which I only made a few minor | | |modifications to. | |8484 |Fix WorldSet.cleanPackage() so that it properly preserves nonatoms (sets) in | |zmedico |the world file. | |8485 |Make the EbuildQuote.missing_quotes regex accept single quotes where it | |zmedico |accepts double quotes in order to eliminate some false positives. Thanks to | | |Krzysiek Pawlik for reporting. | |8486 |Wrap accesses to depgraph._set_atoms.findAtomForPackage() in a new | |zmedico |depgraph._get_arg_for_pkg() method. | |8487 |Implement mapping of packages to instances of DependencyArg in | |zmedico |depgraph._get_arg_for_pkg(). Among other things, this provides a way to know | | |whether or not a specific package has been specified as an argument, which | | |determines whether or not it can be removed from the graph during | | |backtracking. | |8488 |Fix depgraph._get_arg_for_pkg() so that it compares package types to help | |zmedico |ensure a proper match. | |8489 |* Provide reasonable default values for Dependency priority and depth | |zmedico |attributes. * Remove depgraph.create() since it's no longer needed. * Remove | | |depgraph._get_parent_sets() and instead get the information from | | |DependencyArg attributes. | |8490 |Make diefunc() clean up QA_INTERCEPTORS in case it is called from inherit() | |zmedico |since sed called below. | |8491 |Bug #197797 - Set umask to 022 so that created files (such as the world file)| |zmedico |have sane permissions. | |8492 |Make the Package class emulate the interface of it's own digraph_node tuple | |zmedico |so that the Package instance itself can be added directly to the digraph. | |8493 |* Remove all references to the obsolete Package.digraph_node attribute. * | |zmedico |Reimplement Package comparison methods since the previous way didn't seem to | | |function properly for dict keys. * Clean up depgraph._add_pkg() to use the | | |Package object attributes. | |8494 |Add DependencyArg instances as parents of packages in the digraph since these| |zmedico |relationships should be useful during backtracking. | |8495 |Remove the depgraph.pkg_node_map attribute and use other means to accomplish | |zmedico |the same thing. | |8496 |Make depgraph._add_pkg() match the package with all possible args and add | |zmedico |them to the digraph. | |8497 |Make depgraph._complete_graph() properly specify SetArg instances as parents | |zmedico |of each Dependency, similar to the want that select_files() does. | |8498 |Make the slot collision display show all collisions instead of just the first| |zmedico |one. | |8499 |Make 'full' the default mode, since 'scan' can be annoying since it ommits | |zmedico |relevant info. | |8500 |In the slot collision display, show a maximum of 3 parents for each package | |zmedico |in order to avoid flooding the display. | |8501 |* Replace references to deprecated ${IMAGE} with equivalent ${D}. * Remove | |zmedico |redundant trailing slashes and fix quoting. | |8502 |Make dir_get_metadata() return early if the current user does not have write | |zmedico |access to /var/cache/edb. Thanks to Cardoe for reporting. | |8503 |Fix quoting for `source ${EBUILD}`. | |zmedico | | |8511 |Bug #199311 - Make dblink.getcontents() show the path of the CONTENTS file | |zmedico |when any kind of parse error occurs. | |8512 |Don't export ${IMAGE} to the ebuild environment anymore since everything uses| |zmedico |${D} now (including the entire tree). | |8513 |Set IMAGE for minimal backward compatibility with overlays or user's bashrc, | |zmedico |but don't export it. | |8516 |Speed up LibraryPackageMap.update() by pulling NEEDED from the | |zmedico |vardbapi.aux_get() cache. This greatly reduces the amount of needless IO that| | |has been happening just prior to the postinst phase in dblink.treewalk(). We | | |may want to consider having LibraryPackageMap work directly from the vardbapi| | |instead of creating the intermediate /var/cache/edb/library_consumers file. | |8518 |Clean up vardbapi.counter_tick_core() and replace shell code with pure | |zmedico |python. | |8519 |Fix --usepkgonly code in depgraph.select_files() so that it only operates on | |zmedico |the Package type that it expects. | |8520 |Fix NEEDED logic in vardbapi.aux_get() so that empty NEEDED doesn't trigger | |zmedico |unnecessary cache pulls. | |8521 |Bug #198398 - Enable Manifest generation when there are no hash functions | |zmedico |available for types such as RMD160. Now it's possible to generate a Manifest | | |when python-2.5 is built without ssl support. MANIFEST1_REQUIRED_HASH and | | |MANIFEST2_REQUIRED_HASH are the only two functions that are strictly required| | |now (MD5 and SHA1). | |8524 |Fix PROFILE_ONLY_VARIABLES handling in the config constructor so that | |zmedico |variables are appropriately filtered from "backupenv", since otherwise they | | |can leak in from there. | |8525 |Use the existing RootConfig class to serve as a replacement for the | |zmedico |EmergeConfig class. They both served roughly the same purpose and it was | | |messy the way that EmergeConfig inherited from the portage.config class. It's| | |better to avoid inheritance here, expecially since it doesn't provide | | |anything really useful. | |8526 |Disable logging and ${T}/environment saving during the pkg_info() phase. | |zmedico | | |8527 |When creating environment.bz2 at the end of dyn_compile(), reduce bloat by | |zmedico |filtering out functions that are defined internally by portage. This reduces | | |the size of the resulting environment.bz2 file by approximately 10 KB. | |8528 |In bash-3.2_p20+ an attempt to assign BASH_*, FUNCNAME, GROUPS or any | |zmedico |readonly variable cause the shell to exit while executing the "source" | | |builtin command. To avoid this problem, a new save_ebuild_env() function | | |filters those variables out and discards them. See bug #190128. | |8531 |Implement loading of environment.bz2 from binary and installed packages. For | |zmedico |binary packages, it's loaded prior to pkg_setup(). For installed packages, | | |it's loaded prior to pkg_prerm(). For simplicity, the current implementation | | |will cause the current environment to override *everything* in the | | |environment that is being processed. In the future, it should be more | | |selective and only override the parts that are strictly necessary. | |8532 |Make preprocess_ebuild_env() explicitly filter out FEATURES since the value | |zmedico |for that variable should never come from a previously saved environment. | |8533 |Make save_ebuild_env() filter out lots of variables that don't need to be | |zmedico |saved. | |8534 |Make AA, PF, and WORKDIR readonly. | |zmedico | | |8535 |Move LD_PRELOAD and FAKEROOTKEY filtering from filter_readonly_variables() to| |zmedico |save_ebuild_env(). | |8536 |Add some more variables to filter in filter_readonly_variables() and | |zmedico |save_ebuild_env(). | |8537 |Now that save_ebuild_env() filters variables that could cause interference, | |zmedico |preprocess_ebuild_env() can rely on it to clean up the environment enough so | | |that anything left can be allowed to override variables or functions from the| | |current environment. | |8538 |When ${T}/environment is available, do not source the ebuild since that is | |zmedico |redundant. This solves bug #46223. | |8539 |When ROOT != "/" we only want overrides from the calling environment to apply| |zmedico |to the config that's associated with ROOT != "/", so we wipe out the | | |"backupenv" for the config that is associated with ROOT == "/" and regenerate| | |it's incrementals. Thanks to solar for the suggestion. | |8540 |Don't make variables readonly during the "depend" phase. | |zmedico | | |8541 |Fix ${EBUILD_PHASE} quoting. | |zmedico | | |8542 |Instead of filtering out all readonly variables, make it selective so that | |zmedico |any readonly variables that are not explicitly filtered are allowed to be | | |saved. | |8543 |Don't unset ${S} inside save_ebuild_env(). | |zmedico | | |8559 |* Remove bogus "ci" mode. * Sync "scan" mode description with 2.1.2 branch. | |zmedico | | |8569 |Move preinst IMAGE initialzation before bashrc handling. | |zmedico | | |8573 |Clean up some local variables that are needlessly saved in the environment. | |zmedico | | |8575 |Move environment saving from dyn_compile() to dyn_install() so that state | |zmedico |from src_install() is saved. | |8577 |Generate an eerror elog message when an ebuild prerm or postrm phase fails. | |zmedico | | |8578 |Fix the diefunc overlay message so that it doesn't trigger falsely in prerm | |zmedico |or postrm. | |8581 |* Make save_ebuild_env() filter some more variables. * Make dyn_install() | |zmedico |filter S when it's no longer needed. | |8583 |In dyn_install(), don't cleanse S from the global environment, in case the | |zmedico |user wants to repeat the phase (like with FEATURES=noauto and the ebuild | | |command). Only cleanse it from environment.bz2. | |8585 |Replace usage of the "myarg" global variable with the equivalent readonly | |zmedico |EBUILD_SH_ARGS variable. | |8593 |In depgraph.altlist(), measure the bias of circular RDEPEND PDEPEND | |zmedico |relationships and use it to optimize merge order. | |8595 |Filter HOSTTYPE, MACHTYPE, and OSTYPE vars that are set by bash. | |zmedico | | |8597 |Make dyn_package() create a /var/db/pkg/*/*/BINPKGMD5 entries so that | |zmedico |packages installed via --buildpkg have a BINPKGMD5 entry matching the package| | |built. | |8599 |Document dohtml -p. Thanks to robbat2 for reporting. | |zmedico | | |8601 |When portage reinstalls itself, during inst/rm phases, the environment may | |zmedico |have been saved by a different version of ebuild.sh, so it can't trusted that| | |it's been properly filtered. Therefore, always preprocess the environment | | |when ${PN} == portage. | |8603 |Don't call preprocess_ebuild_env() unless EBUILD_SH_ARGS is set since | |zmedico |otherwise it can interfere with the environment for things like the "package"| | |phase. | |8605 |Generalize the sed expression in filter_readonly_variables() so that it will | |zmedico |work with things like 'declare -xr' as well as 'declare -rx'. | |8607 |Allow any errors from save_ebuild_env() to go to stderr instead of directing | |zmedico |them to /dev/null. | |8609 |When filtering the backupenv in create_trees(), be more selective and ensure | |zmedico |that special variables that come from the config constructor are preserved. | |8611 |Make the sed expression in filter_readonly_variables() handle '^declare -r ' | |zmedico |by simply removing it. | |8613 |Use %% instead of % parameter expansion where appropriate for md5sum output. | |zmedico | | |8615 |Sort hashes for predictable output from Manifest._createManifestEntries(). | |zmedico | | |8617 |For compatibility with previous behavior, so the bashrc sourcing after the | |zmedico |ebuild environment is fully loaded. | |8619 |unset x to avoid global env pollution. | |zmedico | | |8621 |Try again to make bashrc sourcing compatible with previous behavior. The | |zmedico |bashrcs get an opportunity to set aliases that will be expanded during | | |sourcing of ebuilds and eclasses. | |8623 |Make save_ebuild_env() filter the new source_all_bashrcs() function from the | |zmedico |environment. | |8628 |Add support for persistence of colon separated | |zmedico |SANDBOX_{DENY,READ,PREDICT,WRITE} variables between phases so things like the| | |global scope addpredict() call in qt3.eclass will continue to work. | |8629 |Filter _E_DOCDESTTREE_ and _E_EXEDESTTREE_ from environment.bz2. | |zmedico | | |8630 |In the grep expression that's generated in filter_readonly_variables(), | |zmedico |condense redundant identical expressions into a single one. | |8634 |Fix the var_grep variable in filter_readonly_variables() so that it's | |zmedico |properly local. | |8636 |Unconditionally filter some of the SANDBOX_* variables from the environment | |zmedico |in order to avoid potential interference problems. For example, having an | | |invalid value for SANDBOX_LOG prevents the sandbox from killing the ebuild | | |when a violation occurs. | |8638 |When binarytree.populate() finds missing metadata, specify which keys are | |zmedico |missing so that the user has a clue about what is wrong. | |8640 |Fix quoting to work properly with eval. | |zmedico | | |8643 |Use `md5` if `md5sum` is not available (useful for FreeBSD users). | |zmedico | | |8645 |Bug #140180 - Never trigger a LICENSE.missing violation for old style | |zmedico |virtuals since they don't directly install anything. | |8647 |Bug #200238 - Make ebuild.sh properly bail out when the pkg_info() function | |zmedico |doesn't exist. | |8649 |Implement loading of environment.bz2 for the pkg_info() phase. Since a | |zmedico |temporary directory is required for processing of ${T}/environment, and we | | |want a user who's not in the portage group to be able to run the pkg_info() | | |phase, PORTAGE_TMPDIR is temporarily overridden with a directory created by | | |mkdtemp. To make this work, doebuild() creates the tempdir and cleans it up | | |in a finally block. | |8651 |* Load environment.bz2 for the pkg_config() phase. * Run the "clean" phase if| |zmedico |pkg_config() succeeds. | |8653 |The qa_call() function and anything before it are portage internals that the | |zmedico |user will not be interested in. Therefore, the stack trace should only show | | |calls that come after qa_call(). | |8654 |Test if ebuild functions are defined before calling them. This will be useful| |zmedico |if an environment.bz2 has been loaded and it has missing functions for some | | |reason. For example, there are a lot of default functions that are empty and | | |could simply be omitted from the environment. | |8655 |Remove the empty default pkg_setup, src_install, pkg_preinst, pkg_postinst, | |zmedico |pkg_prerm, pkg_postrm, and pkg_config functions since they do nothing more | | |than clutter the environment. | |8659 |Allow the pkg_info and pkg_config pre/post hooks to run even when the ebuild | |zmedico |function is not defined. | |8662 |Remove some unsafe assumptions from preprocess_ebuild_env() and note the | |zmedico |remaining assumption that save_ebuild_env() is not overridden by the | | |environment being loaded. | |8663 |Make preprocess_ebuild_env() reload a known good version of save_ebuild_env()| |zmedico |in order to avoid making an assumption that it hasn't been overridden. | |8666 |Filter _RC_GET_KV_CACHE from the saved environment. | |zmedico | | |8668 |Bug #124041 - Make emerge show an informative warning message when one or | |zmedico |more eclasses override eclasses from PORTDIR. The warning can be permanently | | |disabled by setting PORTAGE_ECLASS_WARNING_ENABLE="0" in /etc/make.conf. | |8670 |* Move filtering of a bunch of portage config variables from | |zmedico |save_ebuild_env() to config.environ(). * Add EMERGE_FROM to the | | |READONLY_PORTAGE_VARS list. | |8672 |Add NOCONFMEM to config._environ_filter. | |zmedico | | |8674 |unset ECLASS along with the other variables from inherit(). | |zmedico | | |8676 |Filter more misc environment variables. | |zmedico | | |8678 |Make diefunc() show the path of ${T}/environment since it's usually in the | |zmedico |stack trace and the user is likely to be interested in it. | |8680 |Automatically try to load environment.bz2 whenever "${T}/environment" does | |zmedico |not exist, except for "clean" and "depend" phases. | |8682 |Bug #200313 - Detect and report when an ebuild phase exits unexpectedly. This| |zmedico |is type of behavior is known to be triggered by things such as failed | | |variable assignments (bug #190128) or bad substitution errors (bug #200313). | | |We use a EBUILD_EXIT_STATUS_FILE environment variable to specify a file that | | |the shell code is supposed to create when it exits in a normal manner. If the| | |file does not get created like it's supposed to be then we can conclude that | | |the shell has exited in some unexpected way. | |8683 |--buildpkgonly will not merge anything, so it cancels all binary package | |zmedico |options. | |8686 |Check if ${EBUILD_EXIT_STATUS_FILE} is empty before attempting to use it. | |zmedico | | |8688 |Implement config.pop(). | |zmedico | | |8690 |Make config.pop() properly call config.modifying(). | |zmedico | | |8692 |* In doebuild(), don't create directories for the "clean" or "unmerge". * Fix| |zmedico |dyn_clean() to clean the status file and return early when appropriate. | |8694 |Fix grammar. | |zmedico | | |8696 |Make doebuild skip directory creation for the "cleanrm" command. | |zmedico | | |8698 |Make doebuild() use EBUILD_EXIT_STATUS_FILE sanity checks for the extra | |zmedico |misc-functions.sh preinst/postinst shell code. | |8700 |Make the environment handling code detect errors and die if necessary. | |zmedico | | |8702 |Bug #200231 - Make dir_get_metadata() handle an exception thrown from | |zmedico |dir_get_list() when there's a problem connection problem. | |8704 |Fix config.pop() so that is will properly raise a KeyError. | |zmedico | | |8706 |Don't forget to unlink ${EBUILD_EXIT_STATUS_FILE} before each phase. | |zmedico | | |8708 |Bug #200229 - The gimp ebuild defines AA as a local variable. In order to | |zmedico |accomodate this, create a PORTAGE_MUTABLE_FILTERED_VARS list for variables | | |that portage sets but doesn't mark readonly. In order to prevent changed | | |values from causing unexpcted interference, they are filtered out of the | | |environment when it is saved or loaded (any mutations do not persist). | |8710 |Fix logic wrt exit_status_check and elog_process in doebuild(). | |zmedico | | |8712 |Remove a redundant os.EX_OK check that exit_status_check() already handles | |zmedico |internally. | |8714 |portage upgrade or downgrade invalidates EBUILD_EXIT_STATUS_FILE sanity | |zmedico |checks since ebuild.sh portage version may differ from the current instance | | |that is running in python. | |8716 |Just use ${PN} instead of catpkgsplit(). | |zmedico | | |8718 |In the preprocess_ebuild_env() subshell, check for errors and return early | |zmedico |when necessary. | |8720 |Add a sanity check in dblink.treewalk() so that a broken ebuild that doesn't | |zmedico |install any files will not be able to replace a package in the same slot that| | |really installs files. This check can be bypassed by manually unmerging the | | |old package or by setting PORTAGE_PACKAGE_EMPTY_ABORT="0" in /etc/make.conf. | |8721 |Don't export PORTAGE_PACKAGE_EMPTY_ABORT to the ebuild environment. | |zmedico | | |8724 |Disable PORTAGE_PACKAGE_EMPTY_ABORT by default since the scrollkeeper-9999 | |zmedico |upgrade will trigger a false positive. Thanks to leio for reporting. | |8726 |In chk_updated_cfg_files(), avoid scanning for config files for paths that | |zmedico |aren't writable by the current user. This prevents Permission denied errors | | |from being triggered later when trying to scan subdirectories that are | | |inaccessible. | |8729 |Bug #200652 - Skip ${T}/environment handling for pkg_nofetch(). | |zmedico | | |8731 |If portage is reinstalling itself, create a temporary copy of | |zmedico |PORTAGE_BIN_PATH in order to avoid relying on on the new versions which may | | |be incompatible. | |8732 |Enable the EBUILD_EXIT_STATUS_FILE sanity check when portage is reinstalling | |zmedico |itself since the check is reliable in this case now that a temporary | | |PORTAGE_BIN_PATH is created. | |8733 |Fix references to PORTAGE_BIN_PATH in doebuild() to use the config setting | |zmedico |since it may be a temp directory when portage is reinstalling itself. | |8734 |In doebuild, fix paths to ebuild.sh and misc-functions.sh so that they work | |zmedico |with variable PORTAGE_BIN_PATH. | |8735 |Fix more references to MISC_SH_BINARY so that they work properly with | |zmedico |variable PORTAGE_BIN_PATH. | |8736 |Fix a typo. | |zmedico | | |8737 |Make dblink.treewalk() properly delete the installed instance after it | |zmedico |unmerges it. | |8738 |Fix references to EBUILD_SH_BINARY so that they work properly with variable | |zmedico |PORTAGE_BIN_PATH. | |8739 |Remove stray print statement. | |zmedico | | |8741 |In dblink.treewalk(), make portage unmerge multiple instances os | |zmedico |sys-apps/portage in the same slot if necessary (needed when AUTOCLEAN=no is | | |set). | |8743 |When portage reinstalls itself, copy both the bin and pym directories to a | |zmedico |temp dir. Insert the temporary PORTAGE_PYM_PATH as the first element of | | |sys.path and register an atexit hook to clean up the temporary directories. | |8745 |Adjust PYTHONPATH when calling portageq so that variable PORTAGE_PYM_PATH | |zmedico |works. | |8747 |Don't modify sys.path inside dblink.merge() because it doesn't seem to help | |zmedico |and it triggers import errors for elog modules when downgrading to versions | | |of portage that use the old namespace. | |8749 |When portage reinstalls itself, pre-load elog modules in dblink.merge() since| |zmedico |we won't be able to later if they get unmerged (happens when namespace | | |changes). | |8751 |Make elog_process() pre-load log modules that it can be called just for that | |zmedico |purpose. | |8753 |Move environment.bz2 extraction from ebuild.sh to doebuild() on the python | |zmedico |side. The python will be able to use it's awareness of the ${T}/environment | | |to decide what type of ebuild environment should be generated. For example, | | |if the ebuild environment should be able to unset variables that have been | | |inherited from the calling environment, the existence of ${T}/environment | | |will indicate that the ebuild environment should be isolated from the calling| | |environment. | |8754 |Bug #189417 - When ${T}/environment exists, isolate the ebuild environment | |zmedico |from the calling environment. This makes it possible for the build to unset a| | |variable that was inherited from the calling environment, and the variable | | |will remain unset between phases. | |8755 |Remove unused EBUILD_ENV_FILE variable. | |zmedico | | |8757 |* After the initial setup phase, the original ebuild and eclasses are no | |zmedico |longer needed because the same ebuild environment is reused for the entire | | |lifecycle of the package, including uninstallation. | |8759 |Make config.environ() export PKGDIR to the ebuild environment during the | |zmedico |"package" phase since it's currently referenced there. | |8761 |Don't use sandbox's BASH_ENV for new shells because it does 'source | |zmedico |/etc/profile' which can interfere with the build environment by modifying our| | |PATH. | |8763 |Add some variables such as TERM to the whitelist of variables from the | |zmedico |calling environment that are allowed into the ebuild environment. | |8765 |Bug #200775 - Save more portage generated environment variables that are in | |zmedico |environment.bz2 so that they are available for use by tools such as epm. | |8768 |sandbox unsets ROOTPATH, so we have to back it up on the python side then | |zmedico |restore it on the bash side. | |8770 |Bug #200863 - Don't filter ${KV} since kernel-2.eclass uses that variable and| |zmedico |we don't want to interfere. | |8771 |In doebuild_environment(), fix KV logic so that it never gets set during the | |zmedico |"depend" phase. Also, use backup_changes() to properly cache the result. | |8774 |Fix quoting for PORTAGE_ROOTPATH. | |zmedico | | |8776 |Update comments about ROOTPATH: sandbox's bashrc sources /etc/profile which | |zmedico |unsets ROOTPATH, so we have to back it up and restore it. | |8777 |Update comments about ROOTPATH: sandbox's bashrc sources /etc/profile which | |zmedico |unsets ROOTPATH, so we have to back it up and restore it | |8779 |* whitelist DISTDIR, PORTDIR, and PORTAGE_TMPDIR, PORTAGE_WORKDIR_MODE. * | |zmedico |whitelist RPMDIR just for the "rpm" phase. | |8781 |* whitelist PREROOTPATH in config.environ() * filter PREROOTPATH in | |zmedico |save_ebuild_env() | |8783 |When die has been called and ${T}/environment does not exist, dump the | |zmedico |current environment to ${T}/die.env in case it helps for debugging. | |8785 |In create_trees(), when isolating the environment of the ROOT=/ config, use | |zmedico |it's env.d keys as a blacklist to make env.d override the calling | | |environment. | |8787 |Add missing newline after message. | |zmedico | | |8789 |Move duplicate module loading code into a function. | |zmedico | | |8791 |After each merge, collect status from child processes in order to clean up | |zmedico |zombies (such as the parallel-fetch process). | |8792 |When os.waitid() raises OSError, discard the pid since there's no need to | |zmedico |wait on it again. | |8794 |Show the pid in the "starting parallel fetching" message. | |zmedico | | |8796 |* whitelist some misc variables from the calling environment * blacklist the | |zmedico |same variables in save_ebuild_env() so that the latest values from the | | |calling environment always override those from the ebuild environment | |8798 |For portage.spawn() calls, use a _shell_quote() function to quote the path of| |zmedico |the binary since. | |8801 |In dblink.treewalk(), tweak the "Safely unmerging already-installed instance"| |zmedico |logic to make sure that it works in all possible cases. | |8803 |Synchronize self-reinstallation logic so that emerge will always restart | |zmedico |itself when dblink.merge() creates temporary copies of | | |PORTAGE_{BIN,PYM}_PATH. | |8805 |Fix useq() so that it won't generate a bogus IUSE QA Notice if called during | |zmedico |the "depend" phase with a flag that uses IUSE defaults. | |8807 |Add back missing err() function. | |zmedico | | |8808 |Convert caterror() to call warn() instead of err() since we don't want to | |zmedico |exit here. | |8816 |For compatibility with cvs.eclass, do not unset CVS_RSH in save_ebuild_env() | |zmedico |since that variable may be initialized in global scope. | |8818 |* whitelist CCACHE_* and DISTCC_* variables in config.environ() * unset | |zmedico |CCACHE_* and DISTCC_* variables in save_ebuild_env() | |8821 |implement the final part of FEATURES=preserved-libs and remove previously | |genone |preserved libs that don't have any consumers left. Also fix the notice if | | |preserved libs are found to use the preserved-rebuild package set instead of | | |revdep-rebuild. | |8822 |Bug #201082 - Don't call config.load_infodir() prior to pkg_postinst() | |zmedico |because it's not needed and the ebuild path that's passed in for postinst is | | |may be from the portage tree, which causes load_infodir() to discard critical| | |metadata such as CATEGORY without realoading it. | |8824 |revert accidential commit | |genone | | |8825 |update TODO list | |genone | | |8826 |Make config.load_infodir() more fault tolerant for cases like bug #201082. | |zmedico | | |8828 |Bug #201090 - When portage creates a temp PORTAGE_BIN_PATH, put it inside | |zmedico |PORTAGE_TMPDIR since, unlike /tmp, it can't be mounted with the "noexec" | | |option. | |8830 |* Don't load the CATEGORY in config.load_infodir() since this value is | |zmedico |critical for doebuild() operation and we already know the category. * Always | | |call config.setcpv() prior to config.load_infodir() so that the CATEGORY is | | |always known. | |8831 |Fix typo in config.load_infodir() return value logic. | |zmedico | | |8833 |Synchronize the conditional that triggers "${T}"/environment generation with | |zmedico |the conditional that triggers distcc and ccache FEATURES setup. | |8835 |Remove redundant config.load_infodir() calls from portage.pkgmerge() and | |zmedico |dblink.unmerge() since it's already called in doebuild.() | |8837 |make sure we only remove files that were previously preserved | |genone | | |8838 |enable FEATURES=preserve-libs globally for extended testing | |genone | | |8839 |Fix setconfig loader to use config files instead of hardcoded fallbacks | |genone | | |8840 |perform sanity checks for set configuration even if myaction is None | |genone | | |8841 |fix another typo | |genone | | |8844 |In order to know exactly which atoms/sets should be added to the world file, | |zmedico |the depgraph performs set expansion later. It will get confused about where | | |the atoms came from if it's not allowed to expand them itself. | |8845 |bootstrap.sh expects that the "system" set always exists, so create it | |zmedico |automatically if necessary. | |8846 |Show ? if the installed package is missing a repository label. The stable | |zmedico |version of portage creates these labels now, so false positives won't be as | | |common as they used to be. | |8848 |- repository configuration file and `emerge --sync [repo_set]... [repo]...` | |zmedico |support for overlays and binhosts (zmedico) | |8849 |Make SetConfig.getSets() return a copy of the psets attribute instead of a | |zmedico |direct reference. Fix the to stop relying on having the direct reference. | |8850 |Keep the RootConfig.sets attribute in sync with the SetConfig. | |zmedico | | |8851 |Fix broken timestamp logic in do_snapshot(). Thanks to Alon Bar-Lev | |zmedico | for this patch. | |8852 |Remove redundant successful exit call from the "depend" phase and let it run | |zmedico |to the bottom of ebuild.sh just like the other phases. | |8853 |Bug #201506 - Make preprocess_ebuild_env() preserve | |zmedico |SANDBOX_{DENY,PREDICT,READ,WRITE} between all phases, except when the | | |environment comes directly from environment.bz2. | |8857 |Prevent the filter_opts local variable from leaking into the environment in | |zmedico |preprocess_ebuild_env(). | |8859 |Declare retval as a local variable. | |zmedico | | |8861 |Bug #201513 - Fix typos for preserve-libs and PreservedLibraryConsumerSet. | |zmedico |Thanks to Arfrever Frehtes Taifersar Arahesis for | | |this patch. | |8862 |Remove automatic "system" and "world" set creation since we can probably rely| |zmedico |on having a complete config. | |8863 |Perform set argument validation in emerge_main() even for values actions that| |zmedico |need to expland sets themselves. | |8864 |Add a TODO note about remaining work for bug #189417. | |zmedico | | |8865 |Bug #189417 - Explicitly whitelist any remaining variables that are allowed | |zmedico |to leak into the ebuild environment. Also, fix spawnebuild to properly filter| | |the env when it spawns misc-functions.sh after the install phase. There is | | |still some remaining leakage that seems to come from something in the ebuild | | |environment sourcing /etc/profile. | |8866 |Bug #189417 - Whitelist BASH_ENV since we need to have it set in order to | |zmedico |prevent sandbox from causing env leakage by sourcing /etc/profile via it's | | |bashrc. | |8867 |Bug #189417 - Comment on how the whitelist and BASH_ENV are used to prevent | |zmedico |environment leakage. | |8874 |Do an EBUILD_EXIT_STATUS_FILE sanity check in spawnebuild() where it spawns | |zmedico |misc-functions.sh after the install phase. | |8876 |Add some documentation for ebuild phases and pre/post phase hooks that can be| |zmedico |defined via bashrc. | |8877 |Add a "Quality Assurance" tag so that all chapters are consistently nested | |zmedico |inside tags. | |8878 |* When installing a binary package, export the file name of the package as | |zmedico |PORTAGE_BINPKG_FILE in order to give bashrc users an opportunity to do | | |various things such as remove binary packages after they're installed. * Add | | |a note in ebuild.sh explaining why hardcoded bash lists are needed for | | |backward compatibility with . | |8934 |Move the reusable ConsoleStyleFile and StyleWriter classes into the ouput | |zmedico |module. | |8935 |In "QA Notice: Precompiled python" messages, use sed to strip the leading | |zmedico |${D} from file paths. | |8937 |Fix setconfig.getSets() api breakage. | |zmedico | | |8942 |Generalize the sed -> gsed wrapper script so that it's possible to create | |zmedico |awk, make, and patch symlinks that behave analogously. These symlinks will | | |make it unnecessary for default-bsd profiles to define profile.bashrc aliases| | |for these commands. | |8943 |Fix typo: %% -> ##. | |zmedico | | |8944 |Bug #176467 - Filter out USE flags that aren't part of IUSE. Some flags are | |zmedico |considered to be implicit members of IUSE: * Flags derived from ARCH * Flags | | |derived from USE_EXPAND_HIDDEN variables * Forced flags, such as those from | | |{,package}use.force | |8945 |Create a PORTAGE_IUSE variable containing an egrep pattern for use by the QA | |zmedico |check that's built into useq(). This allows the IUSE logic for this check to | | |be isolated in the python code. | |8949 |Include masked flags in PORTAGE_IUSE to avoid more false positives in the | |zmedico |useq() IUSE check. | |8951 |Only enable the PORTAGE_IUSE check during build time phases since that's the | |zmedico |only time it's valid for now. | |8953 |Display the merge list with blockers any time that there are blockers, | |zmedico |instead of telling the user to try again with --pretend. | |8955 |Make special build and bootstrap flags into implicit members of IUSE so that | |zmedico |stage builds will work again. | |8957 |Fix USE filtering code so that it doesn't rely on config.setcpv() calling | |zmedico |config.regenerate(). | |8959 |Store filtered USE for config.environ() calls in a special attribute so that | |zmedico |the normal global USE is still available for things like emerge --info | | |output. | |8961 |Trigger a config.regenerate() call inside setcpv() when the EBUILD_PHASE | |zmedico |variable is defined. It's too expensive to do the regenerate() call every | | |time. Do in when EBUILD_PHASE is defined since it's needed to create the | | |filtered USE that environ() passes to the ebuild environment. | |8963 |Keep filtered USE in the PORTAGE_USE variable to keep it separate from the | |zmedico |global USE that's shown by emerge --info. | |8965 |Bug #140180 - Ignore missing HOMEPAGE and LICENSE variables for new-style | |zmedico |virtual packages. | |8967 |Always add ARCH to USE without relying on it being listed in | |zmedico |PORTAGE_ARCHLIST. | |8969 |Whitespace only: remove extra indentation. | |zmedico | | |8971 |Bug #202748 - When merging a binary package, only clean up temp files on | |zmedico |success. Otherwise, leave the temp files intact for debugging purposes. | |8973 |Make some adjustments so that it's possible to install binary packages | |zmedico |without having a portage tree: * Make portdbapi.aux_get() return early by | | |raising a KeyError if it detects that there is no portage tree. * Move the | | |ARCH and USERLAND sanity check to the last moment in doebuild() and only | | |require these variables if an existing environment (such as environment.bz2) | | |is unavailable. * Make the NewsManager constructor cope with a broken | | |make.profile symlink. | |8974 |Convert messages about missing portage tree to debug level warnings since | |zmedico |quite often it's possible to function without a portage tree now. | |8975 |Make binarytree.populate() stop relying on having a categories list since it | |zmedico |may not be available if there is no portage tree. | |8976 |Pass a valid phase into eerror so that it works. | |zmedico | | |8978 |Fix a type: eclasses -> eclass. | |zmedico | | |8980 |Enable emerge search actions for binary packages when there is no portage | |zmedico |tree available. | |8982 |Make vartree.cpv_all() stop relying on having a categories list since it may | |zmedico |not be available if there is no portage tree. | |8985 |Fix binarytree._update_pkgindex_header() so that it can cope with a missing | |zmedico |profile. | |8988 |Make dep_zapdeps() fall back to installed packages in it's availability test | |zmedico |in cases where the package does not appear to be masked. This solves dep | | |selection preference issues when working without a portage tree. | |8990 |Fix portdbapi.cp_list() so that it can cope with a missing profile. | |zmedico | | |8992 |For simplicity and consistency, always use a regular expression for category | |zmedico |validation instead of using a list. | |8993 |Filter out some non-category directories in portdbapi.cp_all(). | |zmedico | | |8997 |Fix a typo in the _non_category_dirs regex. | |zmedico | | |9002 |Hardcode #!/bin/bash for consistency with other scripts. | |zmedico | | |9004 |Bug #202566 - Move the 'global portage' statement to avoid "SyntaxWarning: | |zmedico |name 'portage' is assigned to before global declaration" messages produced by| | |earlier python-2.4. | |9005 |Fix a reference to an undefined "mykey" variable. | |zmedico | | |9006 |Slightly improved the masked package check inside dep_zapdeps(). | |zmedico | | |9008 |Add "metadata" and "licenses" to _non_category_dirs. | |zmedico | | |9010 |Use a regex to validate package directory names in portdbapi.cp_list() and | |zmedico |also simplify the catagory regex a bit. | |9012 |Use regex category validation in binarytree.populate(). | |zmedico | | |9013 |Fix references to dbapi._category_re. | |zmedico | | |9015 |Tweak profile validation and warning logic a bit. | |zmedico | | |9016 |In portage.spawn(), make the default fd_pipes value get file descriptors from| |zmedico |sys.std{in,out,err} so that they can be overridden. | |9018 |In portage.process.spawn(), make the default fd_pipes value get file | |zmedico |descriptors from sys.std{in,out,err} so that they can be overridden. | |9020 |Fix xmatch "match-all" typo. | |zmedico | | |9023 |Eliminate redundant "notadded" error filtering. | |zmedico | | |9025 |Make the "test" flag that's enabled by FEATURES=test into an implicit iuse | |zmedico |member. | |9027 |Implement emerge --search support for installed packages, so it works even | |zmedico |without a portage tree or binary packages. | |9028 |Don't show "Size of files: 0 kB" in emerge --search output for installed | |zmedico |packages that have no available ebuild in the tree. | |9029 |Implement binary package visibility filtering for emerge --search. | |zmedico | | |9031 |Make vardbapi cache DESCRIPTION and HOMEPAGE in order to optimize emerge | |zmedico |--searchdesc. | |9033 |Enhance the portageq match command to list all installed packages when given | |zmedico |an empty string. | |9034 |Typo: remove bogus argument. | |zmedico | | |9035 |Implement a `portageq contents ` command that lists all the files that are | |zmedico |installed for a given package, with one file listed on each line. | |9038 |Add support for --usepkg and --usepkgonly options together with emerge | |zmedico |--search. | |9046 |Remove redundant find_binary import. | |zmedico | | |9050 |- small UI cleanups. *should* not cause problems with lack of missing | |solar |newlines. | |9051 |Bug #203239 - With FEATURES=noauto, always source ${EBUILD}. This will load | |zmedico |the ${T}/environment file if available and then source ${EBUILD} to overwrite| | |any functions that have changed. | |9052 |Bug #203090 - Do not trust the global counter file that can lead to invalid | |zmedico |COUNTER generation. | |9053 |Fix "Initializing counter" message to show the correct value. | |zmedico | | |9054 |In getconfig(), pass the infile attribute into the shlex constructor so that | |zmedico |shlex.sourcehook() properly joins relative paths. | |9055 |Fix sync_local() to return 0 when a appropriate. Thanks to Alon Bar-Lev" | |zmedico | | |9056 |Fix broken handling of the tuple that's returned from verify_all(). Thanks to| |zmedico |Betelgeuse. | |9059 |Bug #201498 - Use desktop-file-validate to validate *.desktop files inside | |zmedico |${FILESDIR} and generate a "desktop.invalid" qa warning if an error is | | |detected. Thanks to Betelgeuse for the initial patch. | |9060 |Minor code readablity enhancements: * Use relative_path and full_path | |zmedico |variables for files being checked instead of spreading code like | | |x+"/files/"+y all over the place. * Use stat.S_IMODE with octal 0111 instead | | |of hex 0x0248 in the file.executable checks. | |9061 |Bug #203323 - Fix the FEATURES=sfperms code so that it doesn't chmod g-r on | |zmedico |binaries that are both setuid and setgid. In that case, just chmod o-r. | |9062 |Always make sure that the depend phase triggers a source ${EBUILD} call, even| |zmedico |if "${T}"/environment happens to exist for some reason. | |9064 |Fixes for logic related to FEATURES=test to USE=test mapping: * Add | |zmedico |EBUILD_FORCE_TEST to the environment whitelist and filter it from the saved | | |environment in save_ebuild_env(). * Tweak logic inside the ebuild command and| | |config.regenerate() so that EBUILD_FORCE_TEST works even in odd cases like | | |when USE=test is masked. * Only make FEATURES=test map to USE=test when | | |"test" is actually in IUSE. * Remove USE=test from the set of implicit IUSE | | |so that useq() calls in ebuild.sh properly generate a QA Notice when "test" | | |is missing from IUSE. | |9065 |Show the EBUILD_FORCE_TEST "Forcing test" message even when "test" is not in | |zmedico |IUSE. | |9066 |In action_regen(), use writemsg() to send error messages to stderr. | |zmedico | | |9078 |Just ignore it when the global counter file does not match the highest | |zmedico |installed COUNTER since it's normal for them to differ in some cases. For | | |example, the global counter file will contain a higher value if the user | | |merges a package and then immediately unmerges it (unmerge does not update | | |the global counter file, but merge does). | |9080 |Make dep_expand() stop relying on having a categories list: * Create and use | |zmedico |a dbapi.categories property that is automatically generated from | | |dbapi.cp_all(). * Make mutable dbapi instances delete the invalidate the | | |cached categories when they need to be regenerated. | |9081 |Make key_expand() use dbapi.categories. | |zmedico | | |9083 |Make the FEATURES=sfperms loops safe for whitespace in paths by using find | |zmedico |-print0 | while read -d $'\0'. | |9085 |Bug #202697 - Add / to the default initial SANDBOX_READ in order to avoid a | |zmedico |situation where attempts to read arbitrary files trigger sandbox violations. | |9087 |Bug #121584 - Make the automatic USERLAND detection code recognize | |zmedico |GNU/kFreeBSD. | |9089 |Make the ARCH and USERLAND sanity check use the autodetected USERLAND from | |zmedico |the portage.data module if necessary. | |9090 |Make doebuild() check XARGS together with ARCH and USERLAND. | |zmedico | | |9092 |* Initialize dbapi._categories = None so that we can compare with None | |zmedico |instead of using hasattr. * Remove unwanted self._categories initialization | | |from the portdbapi constructor. | |9094 |Add support for showing binary package file sizes in emerge --search output. | |zmedico | | |9096 |Move XARGS initialization from portage.data to isolated-functions.sh. | |zmedico | | |9097 |Move XARGS initialization from portage.data to isolated-functions.sh. | |zmedico | | |9099 |Remove redundant lchown() compatibility code since the getattr(os, "lchown", | |zmedico |None) call already handles it. | |9100 |Simplify the userland detection code in portage.data and add a bash version | |zmedico |of it to isolated-functions.sh. | |9101 |Add back support for silent definition of the dummy lchown() function when | |zmedico |ostype == Darwin. | |9103 |Remove redundant USERLAND sanity check code from doebuild() since it's | |zmedico |handled in isolated-functions.sh now. | |9105 |Make the global counter file correspond to the total number of installation | |zmedico |actions that have occurred in the history of this package database. | |9107 |Rely on USERLAND since it's automatically generated by isolated-functions.sh | |zmedico |when necessary. | |9109 |Document that docinto works for dohtml. | |zmedico | | |9111 |Make the ecompressdir vecho output show a leading / on the directory path. | |zmedico |Thanks to armin76. | |9112 |Fix handling of leading / charactes some more. | |zmedico | | |9114 |Add PKGDIR to the config.environ() whitelist so that people's bashrc's don't | |zmedico |break. | |9116 |Fix broken Darwin USERLAND detection. | |zmedico | | |9117 |Fix USERLAND references to handle Darwin like BSD. | |zmedico | | |9118 |As suggested by grobian, treat Darwin just like USERLAND=gnu since they seem | |zmedico |to be switching commands to gnu anyway. | |9126 |Fix config.setcpv() to properly call config.regenerate() in cases when USE | |zmedico |needs to be regenerated due to FEATURES=test to USE=test mapping. | |9128 |When searching for "test" in IUSE, account for IUSE defaults. | |zmedico | | |9135 |Bug #204020 - Make grabfile() properly raise PermissionDenied when | |zmedico |appropriate instead of silently ignoring permission errors. | |9137 |Recognize export statements when filtering the environment. This is needed | |zmedico |for compatibility with environment.bz2 files generated by paludis. | |9140 |Send eerror and ewarn messages to stderr. This is important in case somebody | |zmedico |calls portageq inside a global scope command substitution. The output needs | | |to go to stderr so that the die message from the subshell is visible. | |9144 |per bug 204468, remove old check from repoman (all ebuilds in gentoo-x86 are | |WarnerBro|migrated). | |9145 |Filter PATH along with FEATURES when loading environment.bz2. | |zmedico | | |9147 |Make filter_readonly_variables() filter PATH in any case since we never want | |zmedico |to save of reload it. | |9151 |Bug #204651 - Make repoman respect NOCOLOR=true. | |zmedico | | |9155 |Bug #204753 - Add "distfiles" and "packages" to the list of non-category | |zmedico |directories. | |9157 |When spawing the "depend" phase, use file descriptors from sys.std* streams. | |zmedico | | |9158 |After loading the environment, make sure the color variables are in sync with| |zmedico |the current NOCOLOR setting. | |9160 |Bug #162542 - When dropping privileges for FEATURES=userpriv, automatically | |zmedico |detect permission problems with CCACHE_DIR and recursively adjust permissions| | |only when necessary. | |9162 |Bug#204668 - Fix WORKDIR quoting in econf() when updating config.guess and | |zmedico |config.sub. | |9163 |Bug #204425 - Remove --delete-after from the default PORTAGE_RSYNC_OPTS. This| |zmedico |allows the rsync program to choose the preferred --delete algorithm, or the | | |user can choose one via PORTAGE_RSYNC_EXTRA_OPTS. | |9164 |Make sure that portdb.findname() returns the correct ebuild. | |zmedico | | |9165 |Fix the "Appending to PORTDIR_OVERLAY..." feature which was broken by the | |zmedico |previous commit. | |9166 |Bug #203316 - Fix isvalidatom() to properly detect invalid operators used | |zmedico |together with slot atoms. Thanks to Arfrever Frehtes Taifersar Arahesis | | | for the patch. | |9167 |Bug #203887 - Implement RESTRICT=installsources for binaries that are not | |zmedico |compatible with debugedit. | |9176 |Bug #162450 - Try to avoid having so many bugs marked UPSTREAM by encouraging| |zmedico |users to report 'poor programming practices' QA issues upstream and show them| | |the $HOMEPAGE for convenience. | |9177 |Add a DESCRIPTION.toolong warning for when the DESCRIPTION line is over 80 | |zmedico |characters long. Thanks to Betelgeuse for the patch. | |9178 |* Make pkgcmp() pass the ebuild revision directly into vercmp() since there | |zmedico |is code there to handle it already. This eliminates some redundant revision | | |comparison code. Thanks to peper for the patch. * Add some vercmp() test | | |cases for comparison of ebuild revisions. | |9179 |Add a new "ebuild.autotools" check for when ebuilds call autotools directly | |zmedico |instead of using autotools.eclass. Thanks to Betelgeuse for the initial | | |patch. | |9184 |Fix a typo. | |zmedico | | |9186 |Adjust the max DESCRIPTION.toolong length to 100 characters so that it's not | |zmedico |too small and only about 3% of packages will trigger it. | |9188 |Bug #205318 - Handle errno.ENOTDIR thrown from the lstat call inside | |zmedico |dblink._security_check(). | |9190 |Bug #203887 - Make repoman recognize RESTRICT="installsources". | |zmedico | | |9192 |Replace hardcoded value with max_desc_len. | |zmedico | | |9194 |In preprocess_ebuild_env(), move a filter_readonly_variables call out of a | |zmedico |subshell since FreeBSD and prefix users have reported apparent corruption of | | |the PATH environment variable that triggers calls to the wrong version of sed| | |(one that does not support the -r option). An example of what users have | | |observed: >>> Source compiled. sed: illegal option -- r usage: sed script | | |[-Ealn] [-i extension] [file ...] sed [-Ealn] [-i extension] [-e script] ... | | |[-f script_file] ... [file ...] Traceback (most recent call last): File | | |"/usr/lib/portage/bin/filter-bash-environment.py", line 51, in | | |compile_egrep_pattern(args[0]), file_in, file_out) File | | |"/usr/lib/portage/bin/filter-bash-environment.py", line 34, in | | |filter_bash_environment file_out.write(line) IOError: [Errno 32] Broken pipe | |9195 |Remove redundant return statement. | |zmedico | | |9197 |Add some notes about enhancements related to binary package support that's | |zmedico |now in 2.1.4. | |9200 |style fixes (imports), add support for --version (bug 138159) | |WarnerBro| | |9201 |fix typo in emerge-webrsync from r9118 | |WarnerBro| | |9206 |Check for quoted ${A}. Thanks to maekke for this patch. | |zmedico | | |9209 |Add a note that PORTDIR is a repository of software and that users should not| |WarnerBro|add random directories in it. | |9216 |Replace the current diefunc() and die alias with a single die() function. The| |zmedico |previous arguments to diefunc() weren't used anyway. The result is that the | | |die message looks better because it doesn't show the alias and all of it's | | |arguments which are totally irrelevant. (branches/prefix r9212) | |9217 |We need to implement diefunc() since environment.bz2 files contain calls to | |zmedico |it (due to alias expansion). | |9220 |Bug #206772 - Enable bashrc once again for the clean phase. | |zmedico | | |9221 |Move random functions out of repoman and into utilties.py | |WarnerBro| | |9222 |Restore desktop.invalid as a warning; was an intergration error | |WarnerBro| | |9225 |import ordering, prevent errors from mucking up module namespace in checks, | |WarnerBro|fix typo from last commit, rename 'm' to autotools_match, fix spacing between| | |classes | |9226 |Pull more functions out of repoman proper and into repoman.utilities | |WarnerBro| | |9227 |Pull more functions out of repoman proper and into repoman.utilities, correct| |WarnerBro|a typo, clean up imports | |9230 |use strip(os.sep) on paths prior to os.path.join (branches/prefix r9228) | |zmedico | | |9235 |- Remove ebuild.autotools repoman check since it produces lots of false | |zmedico |positives (bug #207104) and its hard to parse bash - Use QA_INTERCEPTORS in | | |ebuild.sh to implement a runtime 'QA Notice' when autotools is called | | |directly | |9236 |Remove the last traces of the ebuild.autotools check. | |zmedico | | |9238 |* Bug #205966 - Don't show binhost password when displaying the uri. * Fix a | |zmedico |cpv variable name typo. | |9241 |Add 'local' to the list of non_category_dirs since it's commonly used for | |zmedico |layman overlays. | |9249 |Make the autotools.eclass functions exempt from the autotools QA Notice. | |zmedico | | |9252 |Unconditionally disable manifest1 compatibility since it's been dropped from | |zmedico |the main tree and nobody needs it anymore. | |9254 |Disable manifest1_compat for ebuild --force digest. | |zmedico | | |9256 |Bug #205718 - Fix quoting of ${INSTALL_MASK} where appropriate. Thanks to Ed | |zmedico |Catmur for this patch. | |9258 |Make the manifest1_compat constructor parameter default to False to prevent | |zmedico |potential interference from stale old digest files in overlays. | |9260 |Remove the manifest1 digest filter from PORTAGE_RSYNC_OPTS since it's no | |zmedico |longer needed. | |9262 |Remove the manifest1 digest file removal code since it's no longer needed. | |zmedico | | |9264 |portage-2.1.4.1 ================================== * If you have an overlay | |zmedico |then you should remove **/files/digest-* files (Manifest1) because they are | | |no longer supported. * If earlier versions of portage will be used to | | |generate manifests for your overlay then you should add a file named | | |manifest1_obsolete to the root of the repository in order to disable | | |generation of the Manifest1 digest files. | |9273 |Use local time for elog summaries | |genone | | |9275 |don't record internal providers in NEEDED records as they are pointless for | |genone |all useful applications in portage and complicate them instead (e.g. bug | | |#205531) | |9276 |display errors that occured during package set initalization | |genone | | |9277 |don't try to copy manually removed libraries (bug #208946) | |genone | | |9278 |Make qa_source and qa_call save the return value and return it. Thanks to | |zmedico |igli for suggesting. | |9279 |For the useq() IUSE qa check, use [[ $u =~ $PORTAGE_IUSE ]] instead of egrep | |zmedico |since apparently it's compatible in this case. Thanks to igli for this. | |9281 |Bug #155993 - Update environment.bz2 after postinst in case installation | |zmedico |phases need to pass some variables to uninstallation phases. | |9283 |Bug #209144 - For emerge --sync, don't return 0 when the server is out of | |zmedico |date. | |9285 |Bug #208782 - Consistently use double quotes rather than mixining in single | |zmedico |quotes. | |9287 |Bug #208743 - Clarify dosed docs to indicate that sed is performed in place | |zmedico |of a file in ${D}. | |9289 |Bug #208708 - Fix warnings for system or world packages that are masked. | |zmedico | | |9290 |Add DISTDIR to the EbuildQuote.var_names. Thanks to Betelgeuse. | |zmedico | | |9292 |Don't show unmasked packages (currently installed packages) in the masking | |zmedico |display. | |9293 |Bug #208708 - Fix masked package display some more: - Warn if all matching | |zmedico |ebuilds are masked or the installed package itself is masked. - Do not warn | | |if there are simply no matching ebuilds since that would be annoying in some | | |cases. | |9299 |Fix some broken variable references found by pyflakes. | |zmedico | | |9301 |Bug #208708 - Show informative warning messages for installed packages that | |zmedico |are masked. | |9307 |removing obsolete cruft | |genone | | |9308 |new script for creating release tarballs | |genone | | |9309 |minor documentation updates | |genone | | |9310 |more minor doc updates regarding package sets | |genone | | |9311 |add preserve-libs info to make.conf.example | |genone | | |9312 |add tagging capabilities and cli options | |genone | | |9313 |Bug #208743 - Update dosed docs to indicate that "s:${D}::g" is used as the | |zmedico |default expression if none other is given. | |9316 |fix nasty typo | |genone | | |9318 |Fix get_mask_info() to properly pass the "installed" attribute into the | |zmedico |Package constructor. | |9320 |Fix the exitcode logic for bug #209144 so that when the server is out of date| |zmedico |it's not interpreted like an actual rsync exitcode (to avoid a misleading | | |exitcode interpretation message). | |9321 |Bug #209144 - For emerge --sync, show an informative error and don't return 1| |zmedico |when PORTAGE_RSYNC_RETRIES is exceeded. | |9324 |Fix CHOST masking logic wrt installed packages so that it's consistent | |zmedico |between visible() and get_masking_status(). | |9326 |Fix rejects. | |zmedico | | |9327 |Remove the killparent() function and associated SIGINT trap since this should| |zmedico |already be handled on the python side and it won't work with dropped | | |privileges anyway. | |9328 |fix more trivial issues breaking repoman | |genone | | |9330 |Bug #209538 - Disable annoying "masked by keyword" warnings for installed | |zmedico |packages. We can assume that if the user accepted the keywords at merge time | | |then they never want to be bothered again. | |9332 |Add bits about namespace pollution, add whitespacing comments after looking | |WarnerBro|at some new code I wrote and realizing I was not following the current style.| | |Fix typos | |9333 |Bug #209768 - Fix --search "Size of files:" handling so that it properly | |zmedico |shows the "Unknown (missing digest)" message instead of a traceback. | |9336 |Fix package selection logic in order to prevent downgrade in cases when | |zmedico |selective is True and the currently installed version does not have a | | |matching ebuild in the tree. For example, this type of situation is likely to| | |occur if the user somehow obtains a binary package that has a newer version | | |than any of the ebuilds in the portage tree. If package maintainers want to | | |encourage a downgrade in a case like this then they should use package.mask | | |so that the user receives a warning about the installed package being masked.| |9337 |Fix --newuse reinstall logic broken by the previous commit. | |zmedico | | |9338 |Update the DepPriority documentation so that the table shows all the | |zmedico |currently supported priorities and categories. | |9339 |Bug #201045 - Use a topological sort to create an unmerge order such that | |zmedico |each package is unmerged before it's dependencies. This is necessary to avoid| | |breaking things that may need to run during pkg_prerm or pkg_postrm phases. | |9340 |Make depclean code filter out blocker atoms where appropriate. | |zmedico | | |9341 |Fix depclean breakage so that it doesn't clean some packages that shouldn't | |zmedico |be cleaned. | |9342 |Add missing % x (bug #208946, comment #2). | |zmedico | | |9343 |Fix reversed order of parent/child parameders to digraph.add(). | |zmedico | | |9344 |Remove IUSE.invalid from qawarnings since there's no reason for it not to be | |zmedico |fatal. Thanks to Betelgeuse. | |9345 |In the action_depclean() topological sort, only add packages to the graph if | |zmedico |they are being removed. | |9346 |Bug #201045 - Make unmerge() preserve the unmerge order of packages given to | |zmedico |it by the user or depclean. | |9347 |Make sure all packages to be pruned or depcleaned are added to the graph, | |zmedico |even when they don't have any dependencies. | |9348 |Now that unmerge() preserves the order that it's given, if two different | |zmedico |slots of the same package are being unmerged then they are not necessarily | | |unmerged consecutively. To make the display less confusing, never display | | |packages as "protected" or "omitted" when they actually belong to the overall| | |set of "selected" packages to be unmerged. | |9349 |Fix unmerge() breakage from due to pkgmap being changed from a dict to a | |zmedico |list. | |9350 |Fix the --depclean/--prune code to use visible() for visibility checks | |zmedico |instead of the old portdbapi hack. | |9351 |Make LibraryConsumerSet.mapPathsToAtoms() produce slot atoms so that atoms | |zmedico |aren't restricted to the currently installed version, making upgrades | | |possible. | |9352 |Revert back to some known working code from the 2.1.2 branch. | |zmedico | | |9353 |Use parse_use_local_desc() from the repoman.utilities module. | |zmedico | | |9354 |Make PreservedLibsRegistry.store() use atomic_ofstream so that we don't lose | |zmedico |the whole registry if an error such as 'out of space' occurs. | |9355 |Bug #210372 - Fix suidctl.conf parser to look for paths with a leading slash.| |zmedico | | |9357 |Bug #210449 - Reset exeinto(), docinto(), insinto(), and into() state | |zmedico |variables in case the user is running the install phase multiple times | | |consecutively via the ebuild command. | |9358 |- outsource logic for boolean options into a central function - enable | |genone |support for greedy behavior in StaticFileSet | |9359 |For greedy slot behavior, in addition to any installed slots also try to pull| |zmedico |in the latest new slot that may be available. | |9360 |When showing an unsatisfied dep, never include installed packages. | |zmedico | | |9361 |Make stack_dicts() treat an empty variable assignment just like a non-empty | |zmedico |assignment. This allows the profile to set and empty variable in | | |make.defaults and have it override a non-empty value as one would expect. | |9362 |In the circular dependency display, drop PDEPEND (aka MEDIUM_SOFT) from the | |zmedico |graph so there's less noise. | |9363 |Optimize dblink.isowner() to use fewer stat calls by doing a basename | |zmedico |comparison to try and eliminate the file before resorting to inode | | |comparison. This speeds up the `portageq owners` command as well as the | | |search that is done when collision-protect finds a collision. | |9364 |Make LibraryPackageMap.update() sort the contents of the library_consumers | |zmedico |cache so that it's nice and orderly. | |9365 |Bug #211067 - Make the "portdir_overlay" and "mydir" variables contain paths | |zmedico |that are consistent wrt eachother regardless of any path irregularities that | | |can be induced by symlinks. Consistency is achieved by regenerating one of | | |the paths to ensure that both paths have the exact same mapping between | | |inodes and paths. This consistency ensures that the path manipulations used | | |to calculate "repolevel" will work as intended. | |9367 |Add support for file paths as arguments to emerge. If an argument starts with| |zmedico |/ and it's not recognized as a tbz2 or ebuild then we try to find and owner | | |in the vdb and generate a slot atom from it. Thanks to solar for the | | |suggestion. | |9368 |Revert portdbapi category auto-detection code since it's not really needed | |zmedico |and can cause problems if we need to add new non-category directories in the | | |future. We only really need the category auto-detection for bindbapi and | | |vardbapi anyway. | |9369 |cleanup main option parsing | |SpankMan | | |9370 |tighten up output from script | |SpankMan | | |9371 |add support for lzma/gz snapshots | |SpankMan | | |9372 |only try to fetch compression schemes which the host supports | |SpankMan | | |9377 |Various repoman fixes, plus a weird lockfile tracekback in news. | |WarnerBro| | |9381 |Double import, thanks grobian :) | |WarnerBro| | |9384 |Bug #211365 - Use catpkgsplit() instead of pkgsplit() on the cpv in the | |zmedico |dblink constructor since otherwise weird categories containing numbers can | | |make pkgsplit() return None (likely related to version regex handling). | | |(branches/2.1.2 r9383) | |9385 |For depclean/prune unmerge order, if there are no dependencies between | |zmedico |package then just unmerge them alphabetically. | |9387 |Bug #211554 - Replace references to config["USE"] with references to | |zmedico |config["PORTAGE_USE"] (which is filtered for intersection with IUSE) so that | | |dependency calculations at installation time are consistent with those at | | |depclean time. | |9388 |Don't filter USE flags in emerge --info output. | |zmedico | | |9389 |Bug #211294 - Make repoman ignore profiles labeled with anything other than | |zmedico |"stable" or "dev" in profiles.desc so that we can extend it with new labels | | |such as "exp". | |9391 |Revert r9387 (the fix for bug #211554) until I figure out why it's messing up| |zmedico |USE calculations for world updates. | |9392 |Bug #211554 - Replace references to config["USE"] with references to | |zmedico |config["PORTAGE_USE"] (which is filtered for intersection with IUSE) so that | | |dependency calculations at installation time are consistent with those at | | |depclean time. | |9393 |Fix some references to config["PORTAGE_USE"] to prevent potential KeyErrors. | |zmedico | | |9394 |separate different messages with newlines in post-emerge output | |genone | | |9395 |remove obsolete information from preserve-libs post-emerge message | |genone | | |9397 |supress stupid line echo in deprecation notices | |genone | | |9398 |remove code for manifest1 support | |genone | | |9399 |In the suidctl code, move the addwrite call out of the loop. Thanks to | |zmedico |ferringb. | |9400 |Make 'import portage' statements more tolerant to broken source statements in| |zmedico |make.conf since exceptions thrown during 'import portage' statements can | | |practically render the api unusable for api consumers. Thanks to lxnay for | | |the suggestion. | |9402 |Bug #211949 - Make filter_readonly_variables() remove any variables with | |zmedico |names containing a hyphen since bash does not allow them. | |9406 |undo registrations of preserved libraries if the merge fails, bug #210501 | |genone | | |9407 |ensure that global variables are used to prevent confusing issues like bug | |genone |#212055 | |9408 |stack use flags from package.use for multiple matching atoms (bug #200385) | |genone | | |9409 |remove FEATURES=livecvsportage | |genone | | |9410 |apply r9408 also for profile-base package.*use* files | |genone | | |9411 |Fix typo. | |zmedico | | |9412 |change stacking order of r9408 so more specific atoms override generic ones | |genone | | |9413 |fix indentation screwup from r9412 | |genone | | |9414 |one more fix to restore correct order for usemask/useforce | |genone | | |9415 |Make profile stacking of default USE and package.* slightly more efficient by| |zmedico |skipping list.insert() calls when possible. | |9416 |Bug #211949 - As suggested by vapier, tighten the variable filter to also | |zmedico |exclude variable names that begin with a digit or that contain any | | |non-alphanumeric characters that are not be supported by bash. | |9418 |Quote the file path and uri inside FETCHCOMMAND and RESUMECOMMAND. Thanks to | |zmedico |igli for suggesting. | |9419 |Fix the regex for bug #211949 so that it correctly matches variable names | |zmedico |that contain more than one non-alphanumeric character. | |9421 |Bug #211949 - Tweak the regex so that a leading whitespace character cannot | |zmedico |match the required non-alphanumeric group. | |9423 |Buf #210372 - Fix FEATURES=suidctl so that it really works again. | |zmedico | | |9425 |check available space in DISTDIR before trying to fetch/copy a file, bug | |genone |#212152 | |9426 |don't list files as being merged when they are ignored due to confmem, bug | |genone |#212080 | |9427 |fix message on ValueError to not sound like crap | |genone | | |9428 |tell rpmbuild to clean it's working files after completion, bug #97776 | |genone | | |9429 |Bug #211949 - Fix the regex so that it won't match the = character (equals | |zmedico |sign). | |9431 |Add support for idendification of function definitions since it's needed in | |zmedico |some cases in order to prevent some odd function contents from being | | |mistakenly identified as invalid variable assignments. For example, this line| | |from _gcc-specs-directive_raw() is commonly found in environment.bz2 files: | | |$1=="*"directive":" { pspec=spec; spec=""; outside=0; next } | |9432 |Bug #211949 - Temporarily revert back to a less strict regex in order to | |zmedico |avoid false positives with multi-line variable definitions that can be | | |produced by the 'export' builtin. | |9433 |Tighten the funct_start_re so that it doesn't match leading whitespace since | |zmedico |that's not needed. | |9434 |Fix func_start_re so that it requires at least one alphanumeric character. | |zmedico | | |9435 |Remove redundant CUSTOM_PROFILE_PATH from the PROFILE_PATHS variable so that | |zmedico |/etc/portage/profile/profile.bashrc will only be sourced once if it exists. | |9436 |Implement variable assignment handling in python so that we can eventually | |zmedico |make it more flexible and robust. | |9437 |Update description to reflect the new meaning of the PATTERN argument. | |zmedico | | |9438 |TODO: Move variable name validation and declare -r filtering into | |zmedico |filter-bash-environment.py. | |9439 |As requested by wolf31o2, use the ROOT setting from make.conf as long as it's| |zmedico |not overridden by the calling environment. | |9440 |Handle multi-line quoted variable assignments. | |zmedico | | |9441 |Bug #211949 - Tighten the variable name filter to exclude any variables with | |zmedico |names containing any non-alphanumeric characters. | |9442 |Fix have_end_quote() to compare the quote against the correct group. | |zmedico | | |9443 |Pass a space-separated list of variables into filter-bash-environment.py and | |zmedico |generate the final regex on the python side instead of in bash. Also, | | |properly anchor the regex so that it actually works. | |9444 |Update the description to reflect the new meaning of PATTERN. | |zmedico | | |9445 |Move the variable name validation regexes (for bug 211949) into | |zmedico |filter-bash-environment.py instead of passing them in from bash. | |9446 |Implement the sed-based declare -r filter in python. | |zmedico | | |9447 |Remove egrep syntax emulation since it's not really needed. | |zmedico | | |9448 |Use os.environ["SANDBOX_ON"] = "0" to make portageq exempt from sandbox for | |zmedico |things like writing metadata cache. Thanks to ferringb for the suggestion. | |9451 |Make --prune and --depclean operate with missing dependencies when only asked| |zmedico |to remove specific packages since it's relatively safe in this case. | |9452 |Convert PackageIndex.packages from a dict to a list so that in the future it | |zmedico |will be possible to support multiple packages with the same cpv. | |9453 |Make readpkgindex() and writepkgindex() private methods of PackageIndex. | |zmedico | | |9455 |add some status messages, try to copy the tarball into DISTDIR, use getopt | |genone |for option parsing | |9456 |Fix var_assign_re to recognize a call to the 'declare' builtin even when no | |zmedico |options are given. | |9457 |When all available ebuilds are masked, avoid producing warning message when | |zmedico |the package does not need to be reinstalled and the installed version is not | | |masked. | |9458 |Bug #212882 - Fix lockfile() to handle errno.EACCES raised from the fcntl | |zmedico |call since the spec says that it's equivalent to EAGAIN and it appears that | | |CIFS returns EACCES in this case. | |9459 |- news bugfix from ferringb | |solar | | |9460 |Make strip_empty() return a nedw list instead of working in-place. Thanks to | |zmedico |René Neumann for the suggestion. | |9462 |* Optimize parallel-fetch to avoid redundant checksum verification. * Add | |zmedico |parallel-fetch to the default FEATURES since it is more efficient now. | |9463 |Bug #42456 - When a checksum failure occurs during fetch, use a new | |zmedico |PORTAGE_FETCH_CHECKSUM_TRY_MIRRORS config variable to control how many | | |mirrors should be tried before aborting the download. This type of behavior | | |used to be enabled only in --fetchonly mode but now it's enabled for all | | |fetch() calls. | |9466 |Fix grammar. | |zmedico | | |9467 |Fix an UnboundLocalError for 'pkgindex'. | |zmedico | | |9469 |add a placeholder for repository paths in 'filename' and 'directory' options | |genone |for StaticFileSet | |9470 |avoid importing portage to improve performance | |genone | | |9471 |When in strict mode, make paren_reduce() detect missing whitespace around | |zmedico |parenthesis tokens and raise an InvalidDependString exception. Strict mode is| | |not enabled when handling installed packages, so this will only affect | | |repoman and packages that haven't been installed yet. Thanks to zlin for | | |reporting. | |9472 |Bug #213540 - Make sure DESTTREE=/usr is set before inherit calls. | |zmedico | | |9473 |Bug #213592 - Fix --onlydeps breakage. | |zmedico | | |9474 |Bug #212882 - For compatibility with ENOENT exceptions raised from fstat | |zmedico |calls with CIFS, wrap fstat calls with an appropriate exception handler. | |9475 |Bug #174634 - Fix ebuild 'digest' and 'manifest' behave 100% identically and | |zmedico |update the docs to reflect this. | |9476 |Bug #149745 - Generate an eqawarn message if dohtml is called on a directory | |zmedico |without the recursive option. Thanks to brad walker | | | for reporting. | |9477 |use a dict with CP keys in unmerge() to avoid double unmerges if a package is| |genone |matched by multiple atoms | |9478 |fix artifact from r9477 | |genone | | |9479 |add @ to the list of invalid atom chars so sets with prefix aren't considered| |genone |as atoms accidentally | |9480 |add unmerge protection for packages still referenced by installed package | |genone |sets | |9481 |make filesets non-greedy by default | |genone | | |9482 |Bug #139023 - When the --digest option is enabled, advise the user that | |zmedico |`repoman manifest` is the preferred way to generate manifests. | |9483 |Bug #201045 - Fix unmerge() to preserve unmerge order so that dependencies | |zmedico |are respected. Also, eliminate duplicate package selections since the same | | |package may be selected by multiple atoms but we can only unmerge it once. | |9484 |Only show the eqawarn from bug #149745 when nothing is found to install. | |zmedico |Also, exit successfully unless nothing is found to install. | |9485 |Bug #210575 - Optimize doins -r so that it doesn't call itself recursively, | |zmedico |since it's faster to handle the recursion internally. Thanks to Benedikt | | |Böhm for the initial patch. | |9486 |Bug #210690 - Fix --help output to show the leading slash on the path to the | |zmedico |world file. | |9487 |Strip trailing slashes from directory paths if necessary. | |zmedico | | |9488 |display versions of other slots for new-slot installs (bug #213790) | |genone | | |9489 |Fix quoting. | |zmedico | | |9491 |readd digestentry.unused category as it's still relevant | |genone | | |9495 |Fix depgraph._select_package() to make sure the installed package is a real | |zmedico |match before rejecting other available packages. | |9496 |Improve logic from the previous commit. | |zmedico | | |9502 |Check is os.statvfs() is implemented before trying to us it. (branches/prefix| |zmedico |r9500) | |9503 |Bug #214499 - When compiler flags are unset, many packages will substitute | |zmedico |their own implicit flags. For uniformity, use an empty string as the default.| |9504 |Bug #211294 - Make repoman bail out if arch.list contains unrecognized lines | |zmedico |since we don't want people to commit with old versions of portage that don't | | |support the current arch.list format. | |9505 |Bug #212152 - Account pre-existing files when calculating whether there is | |zmedico |enough space for a download. | |9506 |Fix typo. | |zmedico | | |9507 |Bug #212621 - Make the EbuildQuote check do quoting validation for misc | |zmedico |variables from games.eclass. | |9510 |Support ${HOST} substitution in "From" field. Thanks to wschlich. | |zmedico | | |9511 |Move the default empty compiler flag settings from ebuild.sh to make.globals | |zmedico |(bug #214499). | |9512 |Bug #214879 - In fetch(), only parse the Manifest when FEATURES=strict is | |zmedico |enabled. | |9513 |Make --noreplace take precedence over --newuse, as suggested by wolf31o2. | |zmedico | | |9514 |Fix the noreplace logic to break out of the cpv loop early since there's no | |zmedico |point in examining any lower versions from the same repo. | |9519 |Bug #214879 - Fix FEATURES=-strict behavior so that distfiles digests are | |zmedico |always checked. | |9520 |Bug #212509 - Implement a new --without-mask option that causes repoman to | |zmedico |behave as if there are no package.mask entries. | |9521 |Bug #212509 - Display a note about the --without-mask option when there are | |zmedico |masked packages. | |9522 |Bug #209418 - Add a new KEYWORDS.dropped check that compares keywords against| |zmedico |the keywords of earlier ebuild versions within a slot. | |9523 |Remove redundant info from the KEYWORDS.dropped message. | |zmedico | | |9524 |Bug #213629 - Create an EAPI.incompatible category and use it in cases where | |zmedico |EAPI=0 and a slot atom is encountered. | |9525 |Bug #213629 - Use EAPI.incompatible in cases where EAPI=0 and a default IUSE | |zmedico |is encountered. | |9526 |Bug #213698 - Make FEAUTURES=keepwork and keeptemp preserve ${T}/environment | |zmedico |since it may contain essential state. | |9527 |Make dyn_clean() consistent wrt removal of ${PORTAGE_BUILDDIR}/image and | |zmedico |${PORTAGE_BUILDDIR}/.installed since otherwise with FEATURES=keepwork | | |dyn_install() will not call src_install() as necessary to repopulate | | |${PORTAGE_BUILDDIR}/image (resulting in install_qa_check failure due to | | |absence of ${PORTAGE_BUILDDIR}/image). | |9528 |Bug #214619 - Add support for a PORTAGE_BINPKG_TAR_OPTS variable that allows | |zmedico |the user to specify tar command options for binary package creation. | |9537 |Disable tarsync when using lzma compression since it doesn't seem to be | |zmedico |supported. | |9538 |* Skip the recusive chown call if it fails on the top level directory since | |zmedico |it's possible that emerge-webrsync is not run by root. * Just chown to | | |portage:portage instead of using PORTAGE_INST_{UID,GID}. | |9584 |Bug #214691 - Move the "slot collision" display so that it is shown after the| |zmedico |merge list where it is most likely to be seen (along with other depgraph | | |problems). | |9585 |Add a new "java.eclassesnotused" check for cases where DEPEND contains | |zmedico |virtual/jdk and and the appropriate java eclass has not been inherited (a | | |violation of the java team's policy). Thanks to Betelgeuse for the initial | | |patch. | |9586 |Don't trigger the 'java.eclassesnotused' on blocker atoms. | |zmedico | | |9587 |Add a new "ebuild.patches" check for the PATCHES variable that's used by | |zmedico |base_src_unpack() from base.eclass. This generates a warning if the variable | | |is not defined as an array, since this is required for white space safety. | | |Thanks to Betelgeuse for the initial patch. | |9588 |Bug #215240 - Use an alarm signal to implement a 60 second timeout in | |zmedico |finalize() in case send_mail() blocks indefinitely. | |9589 |When a resume list contains packages that are no longer available, | |zmedico |automatically delete it. | |9590 |Fix quoting for ${root} in install_mask(). | |zmedico | | |9591 |Add a note about PKG_INSTALL_MASK. | |zmedico | | |9592 |Bug #214619 - Run dyn_package() and preinst_mask() from ${T} instead of ${D} | |zmedico |in order to avoid leaving gmon.out files in ${D} in case any tools were built| | |with -pf in CFLAGS. Also, call preinst_mask() after all other functions so | | |that INSTALL_MASK can be used to wipe out any gmon.out files created during | | |previous functions. | |9606 |When dyn_unpack() automatically cleans ${WORKDIR}, also remove things like | |zmedico |.unpacked and .compiled so that the state is consistent. | |9607 |Bug #215308 - Simplify the greedy atoms logic so that it behaves more like | |zmedico |StaticFileSet and won't pull in lower slots. | |9611 |For bugs #197810 and #215308, pass the depgraph's "selective" parameter down | |zmedico |into dep_check() for better atom preference selection when handling virtuals | | |and other disjunctive || dependencies. (branches/2.1.2 r9610) | |9613 |Use enumerate() it iterate over an array. | |zmedico | | |9615 |Bug #211365 - Use catpkgsplit() instead of pkgsplit() for a cpv. | |zmedico | | |9616 |Make code a bit less prone to potentially hidden TypeError like bugs. | |zmedico | | |9619 |Do not allow commit mode together with the --without-mask options. | |zmedico | | |9621 |Move the AUTOCLEAN code into dblink.treewalk since it's already partially | |zmedico |supported there anyway (for replacement of identical cpv). This has the | | |benefit of guaranteeing that the order of installation and removal phases is | | |always the same. | |9623 |Bug #211365 - Use catpkgsplit() instead of pkgsplit() for a cpv. | |zmedico | | |9625 |Bug #211365 - Use catpkgsplit() instead of pkgsplit() for a cpv. | |zmedico | | |9628 |Make doins clean up it's own temp files. This solves an odd issue in | |zmedico |dyn_package() when portage 2.1.x is installing portage-2.2 and temp python | | |module files from doins are imported instead of the expected ones. | |9630 |Fix display code that can triger a 'Invalid category' exception when it is | |zmedico |given a blocker. It's only supposed to execute for normal packages. | |9632 |Fix typos. Thanks to Arfrever Frehtes Taifersar Arahesis | |zmedico |. | |9634 |* Fix broken return value for doins. * Make newins cleanup temp files after | |zmedico |itself. | |9636 |Make sure the all resume lists are deleted when a stale one is encountered. | |zmedico | | |9637 |When dblink.treewalk() queries for other packages in the same slot, filter | |zmedico |out old-style virtual matches since they are not desired. | |9643 |Pass Package instances into visible() so that the package instance can be | |zmedico |used to cache relevant visibility information such as whether or not the | | |package is corrupt or otherwise invalid. | |9644 |Replace an package tuple with a real Package instance. | |zmedico | | |9645 |Make depgraph creation more tolerant of missing or masked packages when the | |zmedico |relevant deps are satisfied by installed packages. This kind of friendliness | | |is especially desired in cases such as --emptytree where it might not be | | |possible to reinstall every single package. Also, it allows multislot atoms | | |from the world file (that are necessary to prevent them from being removed by| | |depclean) trigger warning messages while still allowing a --emptytree to | | |proceed. | |9646 |Bug #197810 - Fix package selection logic so that it will always fall back to| |zmedico |an installed package when necessary. | |9648 |When selecting packages and there is a mixture of old-style and new-style | |zmedico |virtual matches, filter out the old-style virtual matches. | |9650 |Remove some redundant and obsolete code for warning about installed packages | |zmedico |pulled into the graph. | |9652 |Fix package selection logic to always properly reject the installed package | |zmedico |when another is available and the user wants to reinstall. | |9654 |In the package selection loop, move the installed package rejection code as | |zmedico |early as possible. | |9656 |When deps are forced to be satisfied by installed packages due to masking or | |zmedico |unavailability, only tolerate it when the atom comes from either the system | | |or world set since otherwise it's a good idea to bail so that the user can | | |correct the problem. | |9658 |Bug #215308 - Cache the paths of known bad manifests to ensure that the same | |zmedico |broken manifest is never checked twice. | |9660 |When identifying a sys-apps/portage node, compare category too (not just | |zmedico |"portage". | |9662 |Handle missing LICENSE in the Packages index since that's allowed for virtual| |zmedico |packages. | |9665 |Exploid ascending order returned from dbapi.match() calls to avoid the need | |zmedico |to call best(). | |9669 |Remove some boolean logic that is obsolete now that the "selective" parameter| |zmedico |is passed into dep_zapdeps(). | |9672 |Use pkgcmp() instead of == and best() for correctness in case of implicit | |zmedico |-r0. | |9674 |Bug #215673 - Make ebuild.sh leave IUSE defaults intact instead of filtering | |zmedico |them out. The built_with_use() function in eutils.eclass needs to be updated | | |for compatibility. | |9675 |Remove the digraph._parent_child_digraph since it's no longer needed. It's | |zmedico |main purpose was to track PDEPEND relationships but those are handled just | | |like the other deps now. | |9677 |Handle a potential FileNotFound exception in new_protect_filename() when the | |zmedico |last ._cfg* file happens to be a broken symlink. Thanks to bonsaikitten for | | |reporting. | |9678 |Eliminate a redundant os.path.join() call. | |zmedico | | |9680 |Use Package.cp instead of dep_getkey(cpv). | |zmedico | | |9681 |Fix the previous commit so that the Package instance is created in the | |zmedico |correct scope. | |9683 |In cpv_expand(), if the virtuals file contains a versioned atom (like the | |zmedico |base profile currently has for virtual/pam), properly remove the operator and| | |version from the atom before it is passed into dbapi.cp_list(). | |9685 |For old-style virtuals, we need to repeat the package.provided check against | |zmedico |the selected package. | |9687 |Implement a PORTAGE_FETCH_RESUME_MIN_SIZE variable that is useful for helping| |zmedico |to ensure that small garbage files such as html 404 pages are properly | | |discarded. | |9689 |If PORTAGE_FETCH_RESUME_MIN_SIZE is undefined or empty, silently use the | |zmedico |default. | |9691 |Add missing str.upper() call for PORTAGE_FETCH_RESUME_MIN_SIZE. | |zmedico | | |9693 |Fix package selection logic so that it always properly finds the highest | |zmedico |available version in a new slot even though the graph already contains a | | |matching version in a lower slot. | |9695 |Eliminate a redundant atom from the --update greedy slot expansion code. | |zmedico | | |9696 |Add missing DepPriority instances to the graph so that the --buildpkgonly | |zmedico |hasallzeros() calculation works correctly again. | |9697 |Decrease priority on --onlydpes dependencies so that --buildpkgonly | |zmedico |hasallzeros() works correctly. | |9699 |When the user has given --depclean a list of atoms to clean, pull all | |zmedico |installed packages into the graph (not just those traversable from system or | | |world) to ensure that packages can not be uninstalled unless nothing requires| | |them. | |9700 |Fix a typo. | |zmedico | | |9702 |Fix a typo in the depclean USE flag handling when populating the digraph for | |zmedico |bug #201045. | |9705 |Display the note referencing "masked packages" docs when there are installed | |zmedico |masked packages to display. | |9706 |Adjust newlines whitespace masked packages display. | |zmedico | | |9708 |* In the event that a previously installed package has since been masked, | |zmedico |emerge will no longer perform an automatic downgrade as part of a "world" | | |update. You should either unmask such packages or else explicitly re-merge | | |them in order to have them dowgraded to an unmasked version. | |9710 |Add missing "the" to fix grammar. | |zmedico | | |9712 |In dbapi.move_ent(), never assume that any of the expected metadata entries | |zmedico |exist (PF, CATEGORY, or *.ebuild). | |9713 |Replace the depgraph's fakedbapi of visible packages with a new | |zmedico |CompositeDbapi that is implemented on top of the depgraph's existing package | | |selection logic. | |9714 |Remove "selective" depgraph logic from dep_zapdeps() since it's now handled | |zmedico |by CompositeDbapi. | |9715 |Memoize package selection results in the depgraph for better performance. | |zmedico | | |9716 |Fix a typo. | |zmedico | | |9717 |Fix the depgraph package selection cache to update the "existing node" state | |zmedico |of packages if they've been added to the graph since the last call. | |9718 |Bug #216328 - Fix broken --newuse reinstallation logic. | |zmedico | | |9720 |Handle a potential InvalidDependString exception inside | |zmedico |CompositeDbapi.match(). | |9723 |When necessary, make quickpkg add missing metadata to the vdb entry before | |zmedico |creating the binary package. | |9725 |Clarify --with-bdeps behavior with example. Thanks to Griffon26 for this | |zmedico |patch. | |9726 |preserve order of ebuild messages even between different message types (bug | |genone |#197905) | |9727 |* Use type -P which does not produce messages to stderr. another option is to| |zmedico |redirect both stderr and out. * Avoid &> replace with > ... 2>&1 Thanks to | | |Alon Bar-Lev for this patch. | |9728 |only preserve libraries if no copy exists in the libary search path (bug | |genone |#215242) | |9729 |Fix the CompositDbapi.match() logic wrt "selective" behavior and installed | |zmedico |packages so that it correctly handles false argument matches due to PROVIDE | | |when a corresponding new-style virtual exists. | |9731 |Rename the CompositDbapi class to DepcheckCompositeDB since it's really a | |zmedico |special pupose class just for dep_check() and it doesn't implement the full | | |dbapi interface. | |9732 |Fix java.eclassesnotused logic. Thanks to Betelgeuse. | |zmedico | | |9733 |In dump_trace(), fix BASH_ARGV and BASH_ARGC offsets so that they are always | |zmedico |correct wrt eachother. Thanks to Betelgeuse for reporting. | |9734 |Fix BASH_ARGC and BASH_ARGV offsets some more. | |zmedico | | |9735 |Fix DepcheckCompositeDB.match() so that it doesn't assume that every | |zmedico |DependencyArg instance has an "atom" attribute. | |9736 |Fix variable name collision in DepcheckCompositeDB.match(). | |zmedico | | |9737 |Move virtuals logic from DepcheckCompositeDB.match() to | |zmedico |depgraph._iter_atoms_for_pkg() since it's more generally useful there. | |9738 |Move all the --update greedy slot logic to depgraph.select_files(). | |zmedico | | |9739 |Fix broken IUSE defaults handling when filtering USE for the Packages file. | |zmedico | | |9740 |Handle empty KEYWORDS in the Packages file. | |zmedico | | |9741 |* Optimize metadata caching in pordbapi and bindbapi so that cache is never | |zmedico |pulled for the same package twice. * Cache a Package instances constructed | | |during package selection and reuse them during later package selections. | |9742 |When reading and writing the Packages index file, translate metadata keys on | |zmedico |the fly. Current translations: DESC DESCRIPTION REPO repository | |9743 |For repoman, only cache the metadata necessary for visibility checks in order| |zmedico |to reduce memory consumption. | |9744 |Remove unused iter_atoms() function. | |zmedico | | |9745 |Remove the depgraph._get_arg_for_pkg() method since _iter_atoms_for_pkg() | |zmedico |does the job. | |9747 |Fix a little issue in the code from bug #197905 that causes some elog | |zmedico |messages to get lost. | |9755 |Fix --update greedy atoms logic so that it only pulls in packages that | |zmedico |actually match the given atom. | |9756 |Bug #197810 - Don't automatically downgrade packages for which available | |zmedico |matching versions are masked by corruption, but do automatically downgrade | | |installed packages that themselves have a valid mask such as from | | |package.mask. | |9759 |Bug #162542 - When checking permissions inside CCACHE_DIR for compatibility | |zmedico |with FEATURES=userpriv, check the permissions on files inside the directory | | |to decide whether to fix the permissions. | |9761 |Split out a depgraph method to check if a specific new-style virtual package | |zmedico |exists. | |9762 |Make depgraph.select_files() detect when a package name given as an argument | |zmedico |is ambiguous due to the existence of a new-style virtual with the same name | | |(cpv_expand() will not always raise a ValueError in cases like this). | |9763 |Handle issues with newlines in elog messages that can trigger an unhandled | |zmedico |ValueError to be raised from a split() call inside collect_ebuild_messages():| | |* Use \0 to delimit messages, so that that elog messages containing newlines | | |are handled correctly. * Handle a potential ValueError when splitting the | | |message type. | |9765 |Create a new depgraph._dep_expand() method for select_files() to expand atoms| |zmedico |that have no category. | |9769 |When depgraph.select_files() expands an atom category, in case of an | |zmedico |old-style virtual, defer category expansion so that the depgraph has more | | |choices. | |9771 |Make DepcheckCompositeDB cache Package instances for aux_get() calls. | |zmedico | | |9774 |When pruning the list of parents for the slot collision display, always show | |zmedico |parents that themselves have been pulled into collision slots, since those | | |are more relevant that others. (branches/2.1.2 r9773) | |9775 |Fix minor issues in the calculation of the number of parents omitted from the| |zmedico |slot collision display. | |9777 |Fix the docstring for depgraph._dep_expand(). | |zmedico | | |9779 |When checking atoms without categories against the installed packages, just | |zmedico |check for existence of the cat/pn rather that a full match. | |9785 |Add some docs for the DepcheckCompositeDB class. | |zmedico | | |9786 |Replace the fakdbapi class that is used to track depgraph state with a | |zmedico |similar PackageVirtualDbapi class that uses Package instances internally. | | |This eliminates some redundancy since the Package instances can be reused | | |elsewhere, unlike the internal data structures used by fakedbapi. | |9787 |Improve used of cached Package instances in | |zmedico |depgraph._select_pkg_from_graph(). | |9788 |Make FakeVartree use PackageVirtualDbapi instead of fakedbapi so that it can | |zmedico |populate and utilize a cache of Package instances. | |9789 |* Make depclean/prune use cached Package instances for visibility checks. * | |zmedico |Make FakeVartree wrap dbapi.match() to make sure the metadata in Package | | |instances gets updated for any cpv that is returned from a match() call, | | |since the metadata can be accessed directly from the Package instance instead| | |of via aux_get(). | |9794 |Use cached Package instances in depgraph.display(). | |zmedico | | |9797 |Make sure that everything except Package nodes is ignored when doing the | |zmedico |--buildpkgonly digraph.hasallzeros() check. | |9799 |Iterate over a copy of the digraph nodes so that removal can't break the | |zmedico |iterator. | |9808 |Implement expansion of catgories in DepcheckCompositeDB.match() for old | |zmedico |installed packages that may contain atoms that are not fully qualified. | |9810 |Remove an unused function. | |zmedico | | |9815 |Bug #217122 - When waiting for a parallel-fetch download to complete, show a | |zmedico |more friendly and informative message. | |9817 |Make the CHOST visibility check tolerant of missing CHOST metadata. | |zmedico | | |9819 |Fix "pkg" variable name collisions in depgraph.display(). | |zmedico | | |9821 |Rename variable pkg_cpv to pkg_str. | |zmedico | | |9823 |Nest the DepcheckCompositeDB class inside the depgraph class since it's not | |zmedico |intended for use elsewhere. | |9825 |Tweak --buildpkgonly and fakeroot logic so that --buildpkgonly can be used by| |zmedico |a non-root user to build binary packages with fakeroot. | |9827 |Copy group mode bits from $PKGDIR when creating subdirectories. | |zmedico | | |9832 |In config.setcpv() and load_infodir(), always set known good values for | |zmedico |CATEGORY and PF, since corruption of these can cause problems. | |9834 |Remove all calls to config.load_infodir() since it doesn't seem to server any| |zmedico |purpose now that the complete environment is loaded from environment.bz2. | |9835 |Remove unused infodir variable. | |zmedico | | |9837 |Make doebuild() bail out early with a PermissionDenied error if there is no | |zmedico |write access to $PKGDIR. | |9839 |When dep_check() expands new-style virtuals, use USE flags from aux_get calls| |zmedico |to evaluate any conditionals that the depstrings might contain. This works | | |properly for ebuilds now that aux_get() is backed by Package instances | | |containing the correct USE. | |9840 |Fix the code from the previous commit so that it doesn't try to pull USE from| |zmedico |a portdbapi instance (like when called by repoman) since portdbapi doesn't | | |return USE in aux_get() calls. | |9842 |Fix 'undefined name' errors found by pyflakes. | |zmedico | | |9844 |Make file_get() redirect FETCHCOMMAND output to stdout just like | |zmedico |portage.fetch() does. Thanks to Ramereth for reporting. | |9846 |Rename the undocumented --conistent option to --complete-graph and add some | |zmedico |docs. | |9848 |Add some notes for the parallel-fetch feature and the new --complete-graph | |zmedico |option for emerge. | |9850 |Make binarytree.prevent_collision() adjust permissions on directories and | |zmedico |raise a PermissionDenied error if the required directories is not writable. | |9852 |Bug #215016 - When transforming of USE flags to USE_EXPAND variables, filter | |zmedico |out flags that aren't considered to be part of IUSE or implicit IUSE. This | | |patch moves all IUSE dependent code from config.regenerate() to | | |config.setcpv(). | |9854 |* Optimize config.setcpv() to return early if IUSE has not changed since the | |zmedico |previous setcpv() call. * Add EBUILD_PHASE to the blacklisted variables list.| |9856 |Bug #217444 - Send debug-print() output to stderr so that it can't interfere | |zmedico |with command substitution. Thanks to Fabio Rossi for this| | |patch. | |9858 |Fix the filtering for bug #215016: * fix broken comparison for he iuse | |zmedico |filtering * filter out any duplicates that variable may contain | |9860 |In --buildpkgonly mode, don't discard RDEPEND and PDEPEND if --empty or | |zmedico |--deep are enabled. The makes it possible to run `emerge -eB world` and have | | |every single package rebuilt (without actually installing anything). | |9862 |fix check for other lib copies to properly exclude the current package | |genone | | |9864 |Make movefile() tolerant to EPERM errors that can be raised from utime() | |zmedico |calls. Instead of failing, use stat() to return the mtime if possible. | |9865 |Convert st_mtime to long for movefile() return type. | |zmedico | | |9866 |store sets in a different physical location than normal packages for 'world' | |genone |(makes ferringb a bit happier, and might have other advantages in the future)| |9870 |Make _dep_check_composite_db match() return multiple slots so that it behaves| |zmedico |more like other dbapi instances would, and also make it inherit from dbapi. | |9871 |Fix _dep_check_composite_db.match() so that it doesn't exempt the highest | |zmedico |slot from visibility checks. | |9872 |Fix the _dep_check_composite_db visibility filtering some more. | |zmedico | | |9873 |Improve lookahead for new-style virtuals: * Substitue the graph tree for the | |zmedico |vartree in dep_check() since we want atom selections to be consistent with | | |package selections have already been made. * Add the selected package to the | | |graph as soon as possible so that later dep_check() calls can use it as | | |feedback for making more consistent atom selections. * Expand all slots of | | |new-style virtuals inside _dep_check_composite_db so that lookahead examines | | |a matched slots. This solves some cases of bug #1343, and extends the fix for| | |bug #141118 to work in cases when a virtual is not yet installed but it has | | |been pulled into the graph. | |9874 |To optimize consistency of atom selections, add all of the root packages to | |zmedico |the graph before processing any dependencies. | |9879 |* For optimal atom selection, use PackageVirtualDbapi instances in place of | |zmedico |the vardb for all dep_check() calls. * Replace dep_check_trees in | | |depgraph.validate_blockers() with the equivalent self._graph_trees reference.| |9881 |Fix buggy logic in WorldSet.load() that causes it to discard all of it's | |zmedico |atoms in some cases (leading to loss of the whole world file). | |9882 |Fix some more broken logic inside WorldSet.load(). | |zmedico | | |9883 |s/timetasmp/timestamp/ | |zmedico | | |9884 |Split out a depgraph._add_dep() method. | |zmedico | | |9885 |Call depgraph._add_dep() to add package dependencies to the graph as soon as | |zmedico |possible rather than pushing them onto the stack. | |9886 |Fix some breakage in the allow_unsatisfied handling. | |zmedico | | |9890 |When regenerating USE_EXPAND in config.setcpv(), improve performance by using| |zmedico |regular expression instead of str.startswith(). | |9891 |Revert back to using startwith because I screwed up my benchmark and it turns| |zmedico |out starswith is faster than using regular expressions. | |9895 |Fix issues with an empty string being passed into | |zmedico |PreservedLibsRegistry.register() now that COUNTER is not loaded via | | |config.load_infodir(). Thanks to grobian for reporting. | |9896 |In config.setcpv() and regenerate(), replace str.startswith() calls with | |zmedico |slice comparison. It's not pretty but performance is critical in this section| | |of code and there is a measurable performance difference. | |9898 |Bug #217664 - Fix emerge 'by path' package argument handling so that Package | |zmedico |instances are properly cached (avoiding a KeyError later). | |9900 |Revert part of atom selection consistency improvement from r9873 since it in | |zmedico |some cases it triggers unresolvable direct circular dependencies. For | | |example, this happens with gwydion-dylan which depends on either itself or | | |gwydion-dylan-bin. In case gwydion-dylan is not yet installed, | | |gwydion-dylan-bin needs to be selected in order to avoid a an unresolvable | | |direct circular dependency. | |9901 |Add support to depgraph._select_atoms() to take a "parent" parameter and use | |zmedico |that to try and avoid unresolvable direct circular dependencies when | | |necessary. Also, make atom selection more consistent with the graph to solve | | |some cases of bug #1343. This improves the fix from bug #141118 to work in | | |cases when a virtual is not yet installed but it has been pulled into the | | |graph. For example, see the case of in Bug #163801#c17, where we want kaffe | | |to satisfy virtual/jdk-1.4 without an extra jvm being pulled in | | |unnecessarily. | |9904 |Comment some more on the significance of passing the graph_db and parent into| |zmedico |depgraph._select_atoms() to solve some cases of bug #1343 while avoiding | | |unresolvable direct circular dependencies. | |9906 |The dependency resolver now has a feedback mechanism that helps make atom | |zmedico |selections more consistent with previous selections that have been added to | | |the graph. This solves some common cases of bug #1343. | |9910 |Inside dblink.unmerge(), call self.updateprotect() just in case anything has | |zmedico |changed since the dblink instance was constructed. | |9912 |Handle potential InvalidDependString exceptions from visible(). | |zmedico | | |9914 |Bug #217905 - Fix portdbapi.getfetchlist() to correctly calculate USE when | |zmedico |the useflags parameter is not passed in. | |9916 |If the mysettings parameter is not passed in to portdbapi.getfetchlist() then| |zmedico |substitue self.doebuild_settings since that one is mutable which is necessary| | |in case setcpv() needs to be called. | |9918 |Fix portdbapi.getfetchlist() so that it doesn't unnecessarily calculate USE | |zmedico |when the "all" parameter is True. | |9920 |Remove redundant version sorting in _expand_new_virtuals() since the dbapi | |zmedico |match results are already sorted. | |9922 |Make the ccache userpriv permission check from bug #162542 less sensitive by | |zmedico |skipping permission checks on files and just checking the directories. | |9924 |Bug #218202 - Make sure the spinner is quiet in --nodep mode. | |zmedico | | |9926 |Add a new part for "Dependency Resolution". | |zmedico | | |9928 |Bug #218559 - Make portdbapi automatically add sandbox write access to | |zmedico |self.depcachedir when appropriate. This makes the portageq blanket sandbox | | |exemption unnecessary. | |9930 |* Make portdbapi.aux_get() automatically pull pre-generated metadata directly| |zmedico |from the metadata/cache/ directory when metadata-transfer is not enabled in | | |FEATURES. This makes all cache modules behave similar to existing | | |metadata_overlay module, except when FEATURES="metadata-transfer" has been | | |explicitly enabled. * Remove metadata-transfer from FEATURES in make.globals | | |so that it's no longer enabled by default. Users will be happy about this | | |since the "Updating Portage cache" part of emerge --sync can be more time | | |consuming than the rsync run itself. It's also nicer when when using PORTDIR | | |over nfs or bind mounted in a chroot since there's no need to run emerge | | |--metadata. * Update FEATURES="metadata-transfer" docs to warn users of the | | |rsync tree to modify eclases in PORTDIR_OVERLAY if necessary instead of doing| | |it directly in the rsync tree. * Relevant updates to /etc/portage/modules | | |docs. | |9932 |Fix portage version, should be >=2.1.5. | |zmedico | | |9934 |Document FEATURES="metadata-transfer" changes some more. | |zmedico | | |9936 |In action_metadata(), properly put the source cache in readonly mode. | |zmedico | | |9938 |In show_slot_collision_notice(), refer to the problem as a "slot conflict" | |zmedico |since that's how I'm refering to it in the docs. | |9940 |Bug #218439 - Improve alignment in short emerge --help options output. | |zmedico | | |9941 |Swap --nospinner and --oneshot for alphabetical ordering. | |zmedico | | |9943 |Make dir_get_metadata() retry if a httplib.ResponseNotReady exception occurs.| |zmedico | | |9945 |Bug #172812 - Add an Uninstall class derived from the Package class, for | |zmedico |packages that may need to be uninstalled to avoid conflicts. | |9946 |Bug #172812 - Automatically uninstall packages to avoid blocker conflicts. | |zmedico |The intention is to only uninstall packages that would be removed by | | |--depclean (after the updates) anyway. To prevent automatic uninstallation of| | |packages that the user probably wants to keep, the following types of | | |packages will not be automatically unmerged: * Installed packages that have | | |been pulled into the current dependency graph. Note that this check is not | | |necessarily complete unless the --complete-graph option is enabled, making | | |other sanity checks necessary. * Installed packages matched by atoms from the| | |system set. For safety, these are unmerged after being replaced by another | | |version. * Installed packages matched by atoms from the world set, if there | | |is no matching replacement in the current dependency graph. | |9947 |s/unmerge/uninstall/ for consistency. | |zmedico | | |9948 |Bug #172812 - Document new automatic uninstallation behavior in the "Conflict| |zmedico |Avoidance" section. | |9949 |Bug #172812 - Protect packages from being removed from the world file during | |zmedico |automatic uninstallation. | |9950 |Reset the state variables for leaf node selection in depgraph.altlist() when | |zmedico |appropriate. | |9951 |Split out a _dequeue_uninstall_tasks() method. | |zmedico | | |9952 |Bug #172812 - When automatically uninstalling packages, build the next | |zmedico |package in the merge list before executing scheduled uninstall tasks. | |9953 |Combine --nodeps spinner logic. | |zmedico | | |9954 |Fix broken mtimedb resume list handling for automatic uninstall tasks. | |zmedico | | |9955 |Handle potential InvalidDependString exceptions when match packages to system| |zmedico |and world atoms in depgraph.altlist(). | |9956 |Fix interaction between automatic uninstall and options like --pretend, | |zmedico |--fetchonly, and --buildpkgonly. | |9959 |Add a note about automatic uninstallation to solve blockers. | |zmedico | | |9963 |Rename the "consistent" depgraph parameter to "complete" since what it really| |zmedico |means is that the graph will be complete in the sense that no known | | |dependencies are neglected. | |9964 |Update description of "complete" depgraph param. | |zmedico | | |9965 |Bug #172812 - If any Uninstall tasks need to be executed in order to avoid a | |zmedico |conflict, complete the graph with any dependencies that may have been | | |initially neglected (to ensure that unsafe Uninstall tasks are properly | | |identified and blocked from execution). | |9967 |remove unused function | |genone | | |9968 |Add some more spinner.update() calls in possibly time consuming loops. | |zmedico | | |9970 |as NEEDED files don't conain enough formation for e.g. preserve-libsto work | |genone |properly and we don't want to change the format of existing files create | | |another file including additional information | |9971 |remove debug output | |genone | | |9972 |s/be only/only be/ | |zmedico | | |9976 |Bug #219251 - Fix typo in PORTDIR_OVERLAY when searching for sets.conf files.| |zmedico |Thanks to Manuel Nickschas for fixing this. | |9977 |Refactor the way that depgraph.altlist(), _complete_graph(), and | |zmedico |validate_blockers() interact with eachother. This simplifies things by | | |eliminating the need for recursive calls to validate_blockers(). | |9978 |add LibraryPackageMap replacement using NEEDED.2 files | |genone | | |9979 |* Add a Blocker class to use instead of tuples. * Fix the Task constructor to| |zmedico |properly traverse __slots__ of all inherited classes. | |9980 |Don't assume that altlist() will succeed inside display_problems(). | |zmedico | | |9981 |Use digraphs to clean up blocker reference counting in the depgraph. | |zmedico | | |9982 |Add a PackageVirtualDbapi.copy() method. | |zmedico | | |9983 |Bug #172812 - When a package needs to be uninstalled in advance rather than | |zmedico |through replacement, show the corresponding [blocks] entries in the displayed| | |list. In order to show more structure in the --tree display, expand Package | | |-> Uninstall edges into Package -> Blocker -> Uninstall edges. Also, create | | |edges between a package's own blockers and it's Uninstall task since it's | | |blockers become irrelevant as soon as it's uninstalled. | |9990 |Remove unnecessary "mydbapi" variable in depgraph.display(). | |zmedico | | |9992 |Create a digraph.difference_update() method and use it to amortize the cost | |zmedico |of removing nodes from the digraph.order list. | |9994 |Take the classes that initialize variables in __slots__ with keyword | |zmedico |constructor arguments and make them all derive from a new SlotObject class. | |9996 |some minor code fixes | |genone | | |9997 |actually use rpath for the internal lib check | |genone | | |9998 |fix logic error | |genone | | |10001 |Bug #219369 - Enable automatic upgrage or downgrade to a version with visible| |zmedico |KEYWORDS when the installed version is masked by KEYWORDS, but never | | |reinstall the same exact version only due to a KEYWORDS mask. | |10003 |Never uninstall sys-apps/portage except through replacement. | |zmedico | | |10005 |* Remove the only remaining sys.exit() calls inside the depgraph class. * Fix| |zmedico |_unknown_internal_error() to work with zero arguments. | |10006 |Fix the EbuildQuote check to ignore "echo" and the elog functions since | |zmedico |people might not want quotes in those cases. | |10007 |Bug #218854 - Fix depgraph._iter_atoms_for_pkg() so that argument atoms only | |zmedico |match the highest visible slot. | |10008 |Add missing slot comparison when looking for higher slot in | |zmedico |_iter_atoms_for_pkg(). | |10009 |Bug #211833 - When an ebuild removal phase fails, notify the user that | |zmedico |removal of environment.bz2 file will cause the ebuild to be sourced and | | |eclasses from the current portage tree will be used when necessary. | |10014 |Fix PackageVirtualDbapi.cpv_inject() to make sure packages with duplicate cpv| |zmedico |or slot are handled correctly. | |10016 |Use write_atomic() for manifest updates. | |zmedico | | |10018 |Try to format the elog message better for bug #211833, separating paragraphs | |zmedico |for easier reading. | |10020 |Add comma to ("__weakref__",) so that it's a tuple instead of a string. | |zmedico |Thanks to ferringb. | |10022 |As suggested by Chr. Schaefer in bug #211833, comment #15, note that removal | |zmedico |of the environment.bz2 file is preferred since it may allow the removal | | |phases to execute successfully. | |10024 |For bug #211833, be explicit that the pkg_prerm() and pkg_postrm() removal | |zmedico |phases are the ones that are skipped. | |10026 |Add a Package.pv_split attibute to optimize version comparison operators. | |zmedico | | |10028 |Fix spelling. | |zmedico | | |10030 |When a package scheduled for uninstall isn't installed anymore, move on to | |zmedico |the next task. | |10032 |Handle a potential KeyError in depgraph.display() when in --resume mode and a| |zmedico |package scheduled for uninstall is no longer installed. | |10034 |Prevent some more visible downgrades from possibly being missed (bug | |zmedico |#219369). | |10035 |Prevent some more visible downgrades from possibly being missed (bug | |zmedico |#219369). | |10037 |Make unmerge() group packages by cat/pn when the order doesn't matter, so the| |zmedico |display appears like earlier versions of portage. | |10039 |Fix "deep" logic in depgraph._complete_graph() so that it always properly | |zmedico |recognizes whether or not "deep" was previously enabled. | |10041 |* Fix dep_check() so that it doesn't expand virtual blockers since the | |zmedico |un-expanded virtual atom is more useful for maintaining a cache of blocker | | |atoms. * Expand virtual blockers in depgraph.validate_blockers(), since it's | | |not done by dep_check() anymore. * If blocker data from the graph is | | |available, use it to validate the blocker cache and update the cache if it | | |seems invalid. * Make BlockerCache._load() more tolerant to | | |installs/uninstalls so so that cache isn't rebuilt every time. | |10042 |Fix logic to re-use blockers from the graph when populating the blocker | |zmedico |cache. | |10043 |Fix broken comparison, compare with None instead of nonzero. | |zmedico | | |10045 |Handle a KeyError when validating the blocker cache. | |zmedico | | |10047 |Bug #219837 - Adjust date calculations to improve accuracy. | |zmedico | | |10050 |* Add a Package.operation attribute and use it to distinguish "uninstall" | |zmedico |operations. | |10052 |Don't add blockers to the graph more times than necessary. | |zmedico | | |10054 |Sort blockers when caching them. | |zmedico | | |10056 |Detect an old version of tarsync and use bzip2 compression in that case. | |zmedico | | |10062 |When adding blockers for installed packages to the graph, use cached Package | |zmedico |instances instead of constructing new ones. | |10065 |Fix variable rename breakage: pkg -> pkg.cpv | |zmedico | | |10067 |Bug #219837 - Adjust date calculations some more and show an informative | |zmedico |ewarn message when bailing out due to a newer snapshot being unavailable. | |10069 |check if PORTAGE_TMPDIR is mounted readonly/noexec (bug #219957) | |genone | | |10070 |Skip group/owner tarsync options for tarsync if chown on /usr/portage fails, | |zmedico |since the user might still be able to sync even though the chown call is not | | |permitted. | |10072 |Fix broken variable references found by pyflakes. | |zmedico | | |10073 |remove 'sets/' name-prefix for file-based package sets | |genone | | |10075 |check if a given package set is defined more than once | |genone | | |10077 |add config option for package sets to not be recorded in 'world' | |genone | | |10078 |properly remove sets from 'world' when unmerging | |genone | | |10079 |move cleaning of sets out of package loop | |genone | | |10080 |do not consider sets to be installed that are about to be unmerged | |genone | | |10081 |v2 of FEATURES=preserved-libs, using LinkageMap instead of the now removed | |genone |LibraryPackageMap class | |10082 |use special symlink comparison code (original patch from prefix r9499) | |genone | | |10083 |fix typo | |genone | | |10085 |rename NEEDED.2 to NEEDED.ELF.2 to allow other ABI formats to use a different| |genone |syntax | |10086 |Update documentation for package set configuration. Original patch by | |genone |Arfrever Frehtes Taifersar Arahesis | |10092 |Clean up merge list handling: * In depgraph.loadResumeCommand(), populate | |zmedico |_serialized_tasks_cache so that it can be returned from depgraph.altlist(). *| | |Handle --skipfirst instide depgraph.loadResumeCommand(), and fix it to skip | | |the first "merge" task and never skip "uninstall" tasks. * Always get the | | |merge list from depgraph.altlist() instead of using the mtimedb directly. The| | |list returned from depgraph.altlist() contains Package instances with cached | | |metadata. * Remove obsolete code from depgraph.display() and | | |MergeTask.merge() since the merge list always comes from depgraph.altlist() | | |now, and never directly from the mtimedb. | |10094 |Validate resume list data some more. | |zmedico | | |10096 |In depgraph._complete_graph(), use cached Package instances instead of | |zmedico |constructing new ones. | |10098 |In depgraph._serialize_tasks(), filter "nomerge" nodes at a more appropriate | |zmedico |place. | |10100 |Use Package instance attributes to clean up and simplify | |zmedico |depgraph.validate_blockers(). | |10102 |Use Package.cp attribute instead of calling cpv_getkey(). | |zmedico | | |10104 |When searching for a "sys-apps/portage" installation task, use match_pkgs() | |zmedico |instead of sequential search. | |10106 |In depgraph.validate_blockers(), discard any "uninstall" tasks scheduled by | |zmedico |previous calls, since those tasks may not make sense given the current graph | | |state. | |10108 |Move the blocker cache validation into depgraph.validate_blockers(). | |zmedico | | |10110 |Use match_pkgs() to simplify package comparison. | |zmedico | | |10112 |Add a PackageVirtualDbapi.__iter__() method and use it to iterate over all | |zmedico |installed packages in depgraph.validate_blockers(). | |10114 |* Check for masked packages in the --resume merge list and bail out in that | |zmedico |case (bug #199408). * In depgraph.loadResumeCommand(), create a dependency | | |graph from the resume list. This ensures that the merge list has it's | | |dependencies satisfied. It also enables --tree display together with | | |--resume. | |10115 |Fix --resume mode to check for unsatisfied blockers and bail out when | |zmedico |necessary. | |10116 |Add --nodeps to the parallel-fetch --resume options since recalculation of | |zmedico |deps is a a waste here. | |10117 |Delete the resume list(s) if there is an unsatisfied block. | |zmedico | | |10119 |Fix depgraph.loadResumeCommand() to identify an unsatisfied dependency and | |zmedico |invalidate the resume list in that case. | |10121 |Make --nodepa automatically disable --tree. | |zmedico | | |10123 |Move --resume options handling to the beginning of action_build() so that the| |zmedico |current options are updated with the saved options as soon as possible. | |10124 |Also move mtimedb resume list validation earlier. | |zmedico | | |10126 |Buf #219294 - Fix 'date' and 'cut' arguments for BSD userland. Thanks to RB | |zmedico | for this patch. | |10127 |Use absolute paths for files in ${DISTDIR}. Thanks to RB | |zmedico |for this patch. | |10130 |Similar to the circular dependency display, handle the unsatisfied blocker | |zmedico |display inside _serialize_tasks() since that's a convenient place to bail | | |out. | |10132 |* Move circular deps and blocker displays to depgraph.display_problems(). * | |zmedico |Always call display_problems() since calling it from inside display() can | | |lead to unwanted recursion. | |10134 |Improve --resume handling of saved "favorites" argument atoms: * Save the | |zmedico |favorites in oneshot mode too since they're still useful for restoring state | | |upon --resume. * Add a depgraph._load_favorites() method to resume state from| | |a previous select_files() call. This allows Package instances to be matched | | |with DependencyArg instances during graph creation. | |10136 |Fix logic so display_problems() gets called every time display() does. | |zmedico | | |10137 |Fix display_problems() logic some more. | |zmedico | | |10139 |When loadResumeCommand() rejects a resume list, give a more informative | |zmedico |explanation. | |10141 |Don't clean out old resume lists when in --ask or --pretend mode. | |zmedico | | |10143 |When a --resume list is rejected due to unsatisfied deps, display a list of | |zmedico |missing deps and which packages they belong to. | |10145 |When a resume list is rejected, display the invalid resume list data in case | |zmedico |the user is interested. This is enabled with --verbose or --debug. | |10147 |Validate all the data types inside BlockerCache._load() so that any | |zmedico |corruption is detected as soon as possible. | |10149 |In BlockerData._load(), salvage as much cache as possible when some seems to | |zmedico |be corrupt. | |10151 |Fix spelling of _show_unsatisfied_blockers(). | |zmedico | | |10153 |Remove obsolete tuple() usage inside depgraph.display(). | |zmedico | | |10155 |Fix some unwanted interaction between --tree display and unsatisfied blockers| |zmedico |in depgraph.display(). | |10157 |Fix package counters in depgraph.display() so they're only incremented for | |zmedico |"ordered" display nodes. | |10160 |Fix misplaced variable used as parameter to _load_favorites(). | |zmedico | | |10162 |In order to fix --tree display behave normally in --resume mode, properly add| |zmedico |to the digraph all packages matched by arguments. | |10165 |Do more validation of resume data from the mtimedb. | |zmedico | | |10171 |Similar to the sys-apps/portage protection, also add protection against | |zmedico |inappropriately uninstalling either app-shells/bash or dev-lang/python. | |10179 |remove obsolete class | |genone | | |10180 |remove NEEDED from list of metadata variables (and associated special | |genone |handling) as it's no longer used | |10182 |actually remove libraries that aren't strictly needed from the preservation | |genone |candidate list | |10184 |In the package uninstall sanity check, use RDEPEND from the currently running| |zmedico |'sys-apps/portage' instance to create a set of protected atoms. | |10186 |Fix misplaced variable. | |zmedico | | |10188 |Use a separate digraph to preserve irrelevant blocker relationships that are | |zmedico |removed from depgraph._blocker_parents since the irrelevant blockers are | | |still needed for the blocker cache. | |10190 |Use writemsg() to warn about InvalidDependString exceptions that may occur | |zmedico |for installed packages. | |10192 |Bug #220171 - Filter out 'lost+found' directories in vardbapi.cpv_all() in | |zmedico |order to avoid fatal 'Permission denied' errors. Currently, CVS and names | | |beginning with '.' are also filtered. | |10194 |* Fix --buildpkgonly logic to avoid an unwanted code path. * Remove | |zmedico |unnecessary mtimedb.pop("resume", None) call. | |10195 |Bug #219286 - Whitelist INSTALL_MASK so that it works properly for binary | |zmedico |packages. Also, filter INSTALL_MASK when saving or loading environment.bz2. | | |This also applies to PKG_INSTALL_MASK and DOC_SYMLINKS_DIR, so add them too. | |10198 |Add "package" to EBUILD_PHASES since it's possible for einfo to be called by | |zmedico |install_mask() during that phase. | |10200 |fix preserve_libs logic to properly account for the current package instance | |genone | | |10202 |Handle a potential InvalidData exception in vardbapi.cp_all(). | |zmedico | | |10204 |* In vardbapi.cpv_all() use catpkgsplit() for validation since that's what | |zmedico |with cp_all() uses. * Use the listdir() dirsonly=1 parameter to avoid | | |unnecessary stat calls via os.path.isdir(). | |10206 |Add -MERGING-.* to vardbapi._excluded_dirs. | |zmedico | | |10208 |Use vardbapi._excluded_dirs to filter results inside cp_list(). | |zmedico | | |10210 |Cache results for Task.__hash__() calls. | |zmedico | | |10212 |Use find -path -or -name to match basenames of files in INSTALL_MASK as | |zmedico |suggested by solar in bug #219286, comment #8. | |10214 |Display satisfied blockers in green and show a small "b" instead of a big "B"| |zmedico |(similar to "f" for satisfied fetch restrictions). | |10216 |For consistency with the merge list display, show "block" instead of | |zmedico |"blocker" in the summary. | |10218 |Make satisfied blockers "darkblue" by default. | |zmedico | | |10220 |In install_mask(), discard stderr messages from the 'find' command since some| |zmedico |tokens from INSTALL_MASK can trigger lots of warnings and errors that are | | |irrelevant for our purposes. | |10222 |Fix spelling of "SATISFIED". Thanks to Arfrever. | |zmedico | | |10224 |Tolerate InvalidDependString exceptions when checking visibility of installed| |zmedico |packages. | |10225 |Instead of doing automatic uninstalls in advance, install conflicting | |zmedico |packages first and then do the uninstall afterwards. This requires special | | |handling for file collisions occur, but it's preferred because it ensures | | |that package files remain installed in a usable state whenever possible. When| | |file collisions occur between conflicting packages, the contents entries for | | |those files are removed from the packages that are scheduled for | | |uninstallation. This prevents uninstallation operations from removing | | |overlapping files that have been claimed by conflicting packages. | |10229 |Fix findInstalledBlockers() to check for blockers in both directions. | |zmedico | | |10231 |Don't use try/finally to close atomic_ofstream since we don't want to call | |zmedico |close() on this stream if an error occurs. | |10233 |Bug #220689 - Fix package selection logic so that it doesn't trigger the code| |zmedico |path from bug 219369 in some unwanted cases. | |10235 |Bug #220775 - Source isolated-functions.sh before trying to call vecho. | |zmedico | | |10237 |Bug #220341 - USE=multislot can make an installed package appear as if it | |zmedico |doesn't satisfy a slot dependency. Rebuilding the ebuild won't do any good as| | |long as USE=multislot is enabled since the newly built package still won't | | |have the expected slot. Therefore, assume that such SLOT dependencies are | | |already satisfied rather than forcing a rebuild. | |10239 |Don't save "uninstall" tasks in the resume list since they'll be regenerated | |zmedico |by dependency calculations upon resume. | |10241 |Remove unnecessary BlockerDB and BlockerCache _installed_pkgs attributes. | |zmedico | | |10246 |Remove stale uninstall tasks from scheduled_uninstalls when necessary. | |zmedico | | |10250 |Make some confmem behavior modifications in order to try and make it less | |zmedico |confusing for people who have forgotten about the --noconfmem option or are | | |completely unaware of it. Thanks to Joe Peterson for | | |suggesting these: * Always behave like --noconfmem is enabled for downgrades.| | |* Purge confmem entries when a package is unmerged rather than replaced. | |10252 |Bug #220987 - Fix UnboundLocalError for 'skip' that only occurs when using | |zmedico |alternate ROOT. Thanks to Ryan Tandy . | |10254 |Optimize BlockerDB.findInstalledBlockers() so that it doesn't unnecessarily | |zmedico |try to match packages against an empty set of blocker atoms. | |10256 |Make the fix for bug #220341 better by checking all selected packages for | |zmedico |matching cpv rather than just the last one. | |10258 |Allow scheduled uninstalls to be selected the same way as other leaf nodes. | |zmedico | | |10260 |Use set.instersection() instead of a for loop. | |zmedico | | |10262 |If an uninstall task fails inside MergeTask.merge(), use an UninstallFailure | |zmedico |exception to handle it instead of allowing unmerge() to call exit(). | |10264 |For the "blockers" parameter that's passed into the dblink constructor now, | |zmedico |make it a callable since it really shouldn't be called until the vdb lock has| | |been acquired. | |10266 |Simplify code for derived Package attributes. | |zmedico | | |10269 |Describe how file collisions between blocking packages are resolved when they| |zmedico |are temporarily installed simultaneously. | |10271 |Bug #221107 - Fix depgraph._serialize_tasks() so that it doesn't try to | |zmedico |schedule an uninstall task that's already been scheduled but hasn't been | | |executed yet due to dependence on installation of blocking packages. | |10273 |Bug #221071 - Prevent display_problems() from redundantly displaying the | |zmedico |exact same merge list a second time. | |10275 |Bug #221053 - Save the resume list before verifying the ebuild Manifests | |zmedico |since it might be possible for the user to use --resume --skipfirst get past | | |a non-essential package with a broken digest. | |10277 |Fix another KeyError, reported in Bug #221107, comment #4. There's no need to| |zmedico |remove uninstall tasks from scheduled_uninstalls, so just keep them in there.| |10279 |When selecting leaf nodes, if there is a mix of merge and uninstall nodes, | |zmedico |save the uninstall nodes from later since sometimes a merge node will render | | |an install node unnecessary, and we want to avoid doing a separate uninstall | | |task in that case. | |10281 |Always include satisfied blockers as an indicator that blocking packages will| |zmedico |be temporarily installed simultaneously. | |10284 |eachother -> each other | |zmedico | | |10286 |If the uninstall task did not need to be executed because of an upgrade, | |zmedico |display Blocker -> Upgrade edges since the corresponding Blocker -> Uninstall| | |edges will not be shown. | |10288 |Make the summary more accurate. | |zmedico | | |10289 |Bug #220111 - Update the DISTDIR docs to clarify that it's safe to remove any| |zmedico |and all files from this location after packages are built. | |10290 |Sync make.conf.example with make.conf.5 for bug #220111. | |zmedico | | |10291 |Add back the warning for DISTDIR about storing stuff inside PORTDIR. | |zmedico | | |10293 |Bug #221755 - Enable variable substitution in make.defaults to work accross | |zmedico |multiple files instead of being confined to a single file. This allows | | |profiles to create incremental-like behavior with non-incremental variables | | |when desired. | |10295 |Fix the variable subsitution code from bug #221755 so that variable | |zmedico |assignments from earlier files don't leak into variable assignments from | | |later files (except through substitution). | |10296 |Make the variable substitution code for bug #221755 slightly more efficient | |zmedico |by allowing getconfig() to directly update the map that's used for | | |substitutions. | |10297 |Simplify the code for bug #221755 now that the substitution map is updated | |zmedico |automatically by getconfig(). | svn path=/main/branches/prefix/; revision=10300 --- diff --git a/cnf/make.conf b/cnf/make.conf index d1adefbd2..c9a9d6074 100644 --- a/cnf/make.conf +++ b/cnf/make.conf @@ -88,12 +88,13 @@ #PORTDIR=@DOMAIN_PREFIX@/usr/portage # # DISTDIR is where all of the source code tarballs will be placed for -# emerges. The source code is maintained here unless you delete -# it. The entire repository of tarballs for Gentoo is 9G. This is -# considerably more than any user will ever download. 2-3G is -# a large DISTDIR. Note that locations under /usr/portage are not -# necessarily safe for data storage. See the PORTDIR documentation -# for more information. +# emerges. After packages are built, it is safe to remove any and +# all files from this directory since they will be automatically +# fetched on demand for a given build. If you would like to +# selectively prune obsolete files from this directory, see +# eclean from the gentoolkit package. Note that locations under +# /usr/portage are not necessarily safe for data storage. See the +# PORTDIR documentation for more information. #DISTDIR=@DOMAIN_PREFIX@/usr/portage/distfiles # # PKGDIR is the location of binary packages that you can have created diff --git a/doc/dependency_resolution/package_modeling.docbook b/doc/dependency_resolution/package_modeling.docbook index 84d01a9f2..e82250fab 100644 --- a/doc/dependency_resolution/package_modeling.docbook +++ b/doc/dependency_resolution/package_modeling.docbook @@ -53,7 +53,12 @@ If one package blocks another package, the two packages conflict such that they cannot be installed simultaneously. - These conflicts are often due to file collisions. + These conflicts are often due to file collisions. In some + cases, packages that block each other can be temporarily + installed simultaneously. In order to resolve file collisions + that occur between two blocking packages that are installed + simultaneously, the overlapping files must be removed from + the contents list of the package which was installed first. diff --git a/man/emaint.1 b/man/emaint.1 index 98c33429f..2cf31420f 100644 --- a/man/emaint.1 +++ b/man/emaint.1 @@ -1,6 +1,6 @@ .TH "EMAINT" "1" "Dec 2005" "Portage 2.1" "Portage" .SH NAME -emaint \- updates environment settings automatically +emaint \- performs system health checks and maintenance .SH SYNOPSIS .BR emaint [\fIoptions\fR] diff --git a/man/make.conf.5 b/man/make.conf.5 index 839fd6de7..4309d5067 100644 --- a/man/make.conf.5 +++ b/man/make.conf.5 @@ -98,7 +98,11 @@ This variable is passed by the \fIebuild scripts\fR to the \fIconfigure\fR as \fI\-\-target=${CTARGET}\fR only if it is defined. .TP \fBDISTDIR\fR = \fI[path]\fR -Defines the location of your local source file repository. Note +Defines the location of your local source file repository. After packages +are built, it is safe to remove any and all files from this directory since +they will be automatically fetched on demand for a given build. If you would +like to selectively prune obsolete files from this directory, see +\fBeclean\fR(1) from the gentoolkit package. Note that locations under /usr/portage are not necessarily safe for data storage. See the \fBPORTDIR\fR documentation for more information. .br diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index cacb6bff1..2175df6b9 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -1935,6 +1935,7 @@ class depgraph(object): # blocker validation is only able to account for one package per slot. self._slot_collision_nodes = set() self._serialized_tasks_cache = None + self._displayed_list = None self._pprovided_args = [] self._missing_args = [] self._masked_installed = [] @@ -3736,8 +3737,18 @@ class depgraph(object): if ignore_priority is None and not tree_mode: # Greedily pop all of these nodes since no relationship # has been ignored. This optimization destroys --tree - # output, so it's disabled in reversed mode. - selected_nodes = nodes + # output, so it's disabled in reversed mode. If there + # is a mix of merge and uninstall nodes, save the + # uninstall nodes from later since sometimes a merge + # node will render an install node unnecessary, and + # we want to avoid doing a separate uninstall task in + # that case. + merge_nodes = [node for node in nodes \ + if node.operation == "merge"] + if merge_nodes: + selected_nodes = merge_nodes + else: + selected_nodes = nodes else: # For optimal merge order: # * Only pop one node. @@ -3853,6 +3864,12 @@ class depgraph(object): if task in ignored_uninstall_tasks: continue + if task in scheduled_uninstalls: + # It's been scheduled but it hasn't + # been executed yet due to dependence + # on installation of blocking packages. + continue + root_config = self.roots[task.root] inst_pkg = self._pkg_cache[ ("installed", task.root, task.cpv, "nomerge")] @@ -4023,7 +4040,6 @@ class depgraph(object): "uninstall" == node.operation: have_uninstall_task = True uninst_task = node - scheduled_uninstalls.remove(uninst_task) else: vardb = self.trees[node.root]["vartree"].dbapi previous_cpv = vardb.match(node.slot_atom) @@ -4037,7 +4053,6 @@ class depgraph(object): mygraph.remove(uninst_task) except KeyError: pass - scheduled_uninstalls.discard(uninst_task) if uninst_task is not None and \ uninst_task not in ignored_uninstall_tasks and \ @@ -4052,12 +4067,14 @@ class depgraph(object): retlist.append(node) - if isinstance(node, Package) and \ - "uninstall" == node.operation: - # Include satisfied blockers in the merge list so - # that the user can see why the package had to be - # uninstalled in advance rather than through - # replacement. + if (isinstance(node, Package) and \ + "uninstall" == node.operation) or \ + (uninst_task is not None and \ + uninst_task in scheduled_uninstalls): + # Include satisfied blockers in the merge list + # since the user might be interested and also + # it serves as an indicator that blocking packages + # will be temporarily installed simultaneously. for blocker in solved_blockers: retlist.append(Blocker(atom=blocker.atom, root=blocker.root, satisfied=True)) @@ -4136,7 +4153,8 @@ class depgraph(object): "optional dependencies.\n", noiselevel=-1) def _show_merge_list(self): - if self._serialized_tasks_cache is not None: + if self._serialized_tasks_cache is not None and \ + self._serialized_tasks_cache != self._displayed_list: display_list = self._serialized_tasks_cache[:] if "--tree" in self.myopts: display_list.reverse() @@ -4156,6 +4174,12 @@ class depgraph(object): show_blocker_docs_link() def display(self, mylist, favorites=[], verbosity=None): + + # This is used to prevent display_problems() from + # redundantly displaying this exact same merge list + # again via _show_merge_list(). + self._displayed_list = mylist + if verbosity is None: verbosity = ("--quiet" in self.myopts and 1 or \ "--verbose" in self.myopts and 3 or 2) @@ -4247,6 +4271,10 @@ class depgraph(object): # If there are any Uninstall instances, add the corresponding # blockers to the digraph (useful for --tree display). + + executed_uninstalls = set(node for node in mylist \ + if isinstance(node, Package) and node.operation == "unmerge") + for uninstall in self._blocker_uninstalls.leaf_nodes(): uninstall_parents = \ self._blocker_uninstalls.parent_nodes(uninstall) @@ -4283,6 +4311,16 @@ class depgraph(object): if parent != inst_pkg: mygraph.add(blocker, parent) + # If the uninstall task did not need to be executed because + # of an upgrade, display Blocker -> Upgrade edges since the + # corresponding Blocker -> Uninstall edges will not be shown. + upgrade_node = \ + self._slot_pkg_map[uninstall.root].get(uninstall.slot_atom) + if upgrade_node is not None and \ + uninstall not in executed_uninstalls: + for blocker in uninstall_parents: + mygraph.add(upgrade_node, blocker) + unsatisfied_blockers = [] i = 0 depth = 0 @@ -5628,6 +5666,13 @@ class MergeTask(object): print colorize("GOOD", "*** Resuming merge...") emergelog(xterm_titles, " *** Resuming merge...") + # Do this before verifying the ebuild Manifests since it might + # be possible for the user to use --resume --skipfirst get past + # a non-essential package with a broken digest. + mtimedb["resume"]["mergelist"] = [list(x) for x in mylist \ + if isinstance(x, Package) and x.operation == "merge"] + mtimedb.commit() + # Verify all the manifests now so that the user is notified of failure # as soon as possible. if "--fetchonly" not in self.myopts and \ @@ -5661,10 +5706,6 @@ class MergeTask(object): args_set = InternalPackageSet(favorites) world_set = root_config.sets["world"] - mtimedb["resume"]["mergelist"] = [list(x) for x in mylist \ - if isinstance(x, Package) and x.operation == "merge"] - mtimedb.commit() - mymergelist = mylist myfeat = self.settings.features[:] bad_resume_opts = set(["--ask", "--changelog", "--skipfirst", diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index 82f866277..e78631a23 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -1291,8 +1291,10 @@ class config(object): self.make_defaults_use = [] self.mygcfg = {} if self.profiles: - mygcfg_dlists = [getconfig(os.path.join(x, "make.defaults")) \ - for x in self.profiles] + expand_map = {} + mygcfg_dlists = [getconfig(os.path.join(x, "make.defaults"), + expand=expand_map) for x in self.profiles] + for cfg in mygcfg_dlists: if cfg: self.make_defaults_use.append(cfg.get("USE", "")) diff --git a/pym/portage/util.py b/pym/portage/util.py index b0a786789..f3951b52c 100644 --- a/pym/portage/util.py +++ b/pym/portage/util.py @@ -321,7 +321,14 @@ class _tolerant_shlex(shlex.shlex): return (newfile, StringIO.StringIO()) def getconfig(mycfg, tolerant=0, allow_sourcing=False, expand=True): - mykeys={} + if isinstance(expand, dict): + # Some existing variable definitions have been + # passed in, for use in substitutions. + expand_map = expand + expand = True + else: + expand_map = {} + mykeys = {} try: f=open(mycfg,'r') except IOError, e: @@ -380,7 +387,8 @@ def getconfig(mycfg, tolerant=0, allow_sourcing=False, expand=True): else: return mykeys if expand: - mykeys[key] = varexpand(val, mykeys) + mykeys[key] = varexpand(val, expand_map) + expand_map[key] = mykeys[key] else: mykeys[key] = val except SystemExit, e: