# ChangeLog for Portage; the Gentoo Linux ports system # Copyright 1999-2004 Gentoo Foundation; Distributed under the GPL v2 # $Id: ChangeLog.000,v 1.3 2004/10/04 13:58:57 vapier Exp $ *** THIS IS FOR ARCHIVAL PURPOSES ONLY -- DO NOT MODIFY *** *** THIS IS FOR ARCHIVAL PURPOSES ONLY -- DO NOT MODIFY *** *** THIS IS FOR ARCHIVAL PURPOSES ONLY -- DO NOT MODIFY *** *** THIS IS FOR ARCHIVAL PURPOSES ONLY -- DO NOT MODIFY *** *** THIS IS FOR ARCHIVAL PURPOSES ONLY -- DO NOT MODIFY *** *** THIS IS FOR ARCHIVAL PURPOSES ONLY -- DO NOT MODIFY *** *** THIS IS FOR ARCHIVAL PURPOSES ONLY -- DO NOT MODIFY *** *** THIS IS FOR ARCHIVAL PURPOSES ONLY -- DO NOT MODIFY *** *** THIS IS FOR ARCHIVAL PURPOSES ONLY -- DO NOT MODIFY *** 21 Jan 2004; Nicholas Jones ebuild.sh: TGL's fixes for exec/child/wait problems. Unset GREP_OPTIONS GREP_COLOR. has() and use() no longer attempt to determine if they are to be quiet or noisy -- They default to noisy -- useq() and hasq() are the non-verbose versions. EBUILD_PHASE set to add a hack-ish way around global scope calls in eclasses -- NOTHING SHOULD BE CALLED IN THE GLOBAL SCOPE. Touchup to the inherit() code that should finally allow the removal of the ECLASS and INHERITED settings. Removed tty (use/has) calls. Removed dirname calls -- portage.py handles setting the dbkey filename now. 21 Jan 2004; Nicholas Jones emerge: Ed Catmur's (with a little TGL added in) patch for --ask. Added a 'metadata' target that skips the sync and only updates the cache. FEATURES="getbinpkg" added. TGL's exit code fixes. Fixed match code for -S so it doesn't complain about specific and double versions. Unmerge via dbpath fix. Rewrote rsync's options that supports --verbose and --quiet operation now and can force checksumming all files using --debug. Sort the files in the cache update so it's a little more predictable. 21 Jan 2004; Nicholas Jones prepstrip: changed --strip-debug to --strip-unneeded. 21 Jan 2004; Nicholas Jones getbinpkg.py: Updates to enable HTTP/HTTPS authentication. 21 Jan 2004; Nicholas Jones portage.py: best_from_dict added to grab the best entry from set of dicts using a list of the keys for priority. jstubb's patch to fix listdir -- splits it into a cache and list setup. jstubb's patch for varexpand to handle $VAR better. Latexer's patch for KernelVersion code to use Makefiles instead of the version.h. Modules are loaded from /etc/portage/modules or defaults, whichever works. Fixed the /etc/make.profile-is-missing traceback. Spawn can be given 3 pipes to redirect stdin,stdout,stderr to specific outputs, terminals, or files. TGL's patch for cache functions in portage.py so that they do not cache at inappropriate times. PORTAGE_TMPFS is now used if set as a temporary file operation area -- recommended to actually be a ramfs/tmpfs filesystem for speed. Genone enhanced the deprecated profile patch. 31 Jan 2004; Masatomo Nakano emerge: Fixed --skipfirst bug. This closes #36880. 29 Jan 2004; Masatomo Nakano emerge: TGL's patch for imporving overlay verbose. This closes #39765. 27 Jan 2004; Masatomo Nakano portage.py: Fixed autouse bug. autouse were ignored. 21 Jan 2004; Nicholas Jones emerge: Output failed cache updates during emerge sync. 21 Jan 2004; Nicholas Jones *: VDB_PATH fixes. 21 Jan 2004; Nicholas Jones portage.py: Only use custom profiles when not called by repoman. ROOT never changes profile roots, only custom/system profiles var/cache/edb/virtuals. Sandbox fix where sandbox was creating an invalid logfile (not giving a summary) due to a '/' in SANDBOX_LOG. Turned down the Lockfile output. Double check the INCOMPLETE MERGE identifications as it can be caused by cache. 24 Jan 2004; emerge: Improved timestamp check when 'emerge sync'. Added catching amiguous error when unmerge. This closes #24325. 23 Jan 2004; emerge, portage.py: Fixed 2 bugs. Portage doesn't read local virtuals file, which happens on only cvs version. package is blocked by itself. 21 Jan 2004; Nicholas Jones portage.py, emerge: Fix from genone for emerge's direct reading of packages and his patch that also adds in /etc/portage/profile as a stacked profile. 21 Jan 2004; Nicholas Jones portage.py: Completed inheritence capabilities for portage.config reading some files. Moved a copy of the getvirtuals() function into settings to handle multiple profiles properly. *portage-2.0.50_pre17/18/19 (21 Jan 2004): Modules for DBs and quick fixes 21 Jan 2004; Nicholas Jones *: Moved all references to var/db/pkg to portage.VDB_PATH --- This will change again -- NEED TO BE MOVED INTO A PATH/CONSTANTS SETUP. 21 Jan 2004; Nicholas Jones dosed: Quick fix for the basename missing/misplaced issue. 21 Jan 2004; Nicholas Jones ebuild.sh: Added /dev/console to PREDICT to attempt a workaround for a serial console bug. dbkey is now set through portage.py/doebuild to allow for modular db code. 21 Jan 2004; Nicholas Jones emerge: regen doesn't require root anymore. Edited the timestamp check to be a little more friendly -- delete the portdir timestamp and it won't use the alternate. Fix some permission settings. Added some warnings in for cachedirs that are very likely to ruin your system. Cleaned out some of the eclass code that isnt valid any longer. 21 Jan 2004; Nicholas Jones portageq: Added vdb_path as a target to get the db directory. Quickpkg uses this. 21 Jan 2004; Nicholas Jones portage.py: Added load_mod() -- grabs a class/function from a module and passes it back without loading the module into the global scope. Added unique_array() which eliminates duplicates from an array. grab_stacked() operates like the other grab* and getconfig functions, but takes a filename and a set of paths that it will apply incrementally or clobbers -- for profile inheritance. getconfig no longer exits on non-existance returns None. Class config now should be passed a profile path and a set of incremental values instead of using the globals -- defaults to using the globals presently and print an error message. Adding support for module configs as a set of strings 'class.subclass.objectmodule':'module.to.use.object' for load_mod and the database modules. Profile inheritance started. Killed the eclass() super-function and replaced it with class eclass_cache that is visible and conceptually simpler -- Also uses the plugable modules. Cleaned out the sync calls for the DBs. MASSIVE simplification of the aux_get code -- removed memory-caching in favor of system cache (actually faster in all cases so far -- P100 and P4-2.2G). Lockfile usage around the cachefile. 21 Jan 2004; Nicholas Jones portage_db_*: Updated the API a little but to have permissions set properly. A little more reorganization and removed the keycount checks. 21 Jan 2004; Masatomo Nakano emerge: download size should not be displayed when the package is nomerge with --tree. 20 Jan 2004; Masatomo Nakano portage.py: Reverted ambiguity package fix in cpv_expand(). 20 Jan 2004; Masatomo Nakano emerge: Moved backup timestamp.chk file from portage tree to PORTAGE_TMPDIR. 20 Jan 2004; Masatomo Nakano emerge: Reverted the backing up the timestamp.chk fix. 20 Jan 2004; Masatomo Nakano emerge: Improved the list of --tree by TGL's patch. This should close #38070. 20 Jan 2004; Masatomo Nakano emerge: Removed debug message without --debug. This should close #23840. 19 Jan 2004; Masatomo Nakano emerge: Improved timestamp check of rsync. This should close #37403. 19 Jan 2004; Masatomo Nakano portage.py: Improved regeneration ld.so.cache. This should close #37858. 19 Jan 2004; Masatomo Nakano emerge: Fixed bug which emerge doesn't block same package but different version. (example: DEPEND="! portage.py: Modified cpv_expand() to check package.mask. This should close #38592. 19 Jan 2004; Masatomo Nakano portage.py: Escaped regualar expression for replace entry in fixdbentries(). 18 Jan 2004; Masatomo Nakano portage.py: Fixed AUTOCLEAN delay problem in .50pre* by TGL's patch. This close #38189. Fixed unmerge failture bug when 'ebuild foo-1.0.0 unmerge'. These close #38189, #38366 18 Jan 2004; Masatomo Nakano emerge, portage.py: Fixed "ebuild /foo/bar-1.0.0.ebuild unmerge" and "emerge bar-1.0.0 unmerge" problems. This should close #38420. 17 Jan 2004; Masatomo Nakano portage.py: Fixed "!<=" style block problem. Fixed symlink with absolute path problem in treewalk(). *portage-2.0.50_pre16 (13 Jan 2004): Quick Fixes -- ~arch version 13 Jan 2004; Nicholas Jones portage.py: Removed an unnecessary depend call that double eclass-using ebuild's cache regen time. *portage-2.0.50_pre15 (12 Jan 2004): Quick Fixes -- ~arch version 12 Jan 2004; Nicholas Jones portage.py: Unmerge traceback fix. *portage-2.0.50_pre14 (12 Jan 2004): Quick Fixes -- ~arch version 12 Jan 2004; Nicholas Jones emerge: Fix for traceback on '-S'. 12 Jan 2004; Nicholas Jones repoman: Fix for traceback on --help. 12 Jan 2004; Nicholas Jones sandbox: Fix for sandboxpids.tmp file accesses. 12 Jan 2004; Nicholas Jones portage.py: Sandbox, as above. Catch invalid package names and print a sane message about it. *portage-2.0.50_pre13 (11 Jan 2004): Fixes 11 Jan 2004; Nicholas Jones cnf/*: Updated the Advanced masking section to aid the reduction of user complaints and requests for unreasable usage of ACCEPT_KEYWORDS. 11 Jan 2004; Nicholas Jones portage.py: A counter fix was fixed to actually check the counters of all CP versions to ensure the new counter is higher than all existing ones. Modified the dblink class to have class lockfiles for the db and tmpdb dirs as well as lock other files before editing. Reorganization of the merge code in dblink so that the tmpdb is filled immediately after preinst and prior to the actual FS merging -- COUNTER and CONTENTS go directly into the tmpdb and not into the infodir. *portage-2.0.50_pre11/12 (09 Dec 2003): repoman/binpkg/exit conditions 09 Jan 2004; Nicholas Jones emerge: getbinpkgonly fixes for emerge -G world, should behave properly now instead of using ebuild masks. Only downloads immediately before a merge -- fetchonly now applies to binary packages. 08 Jan 2004; Masatomo Nakano repoman: Ignore other arches check in repoman when --ignore-other-arches(-I). *portage-2.0.50_pre10 (06 Dec 2003): API change + enhancements 06 Jan 2004; Nicholas Jones ebuild.sh: Fix for dyn_preinst being called before IMAGE was set -- IMAGE is now valid in pkg_preinst. Added suidctl for SELinux. 06 Jan 2004; Nicholas Jones emerge: Added -P to initial cvs checkout. 06 Jan 2004; Nicholas Jones quickpkg: Fix for the 'tar up /' problem. 06 Jan 2004; Nicholas Jones portage.py: Caught a traceback generated by bad depend atoms for repoman. Fixes from genone for package.*. Fixed the checks for doebuild calls in treewalk that was ignoring exit conditions for ebuilds. 04 Jan 2004; Masatomo Nakano repoman: Added PDEPEND dependency check. This closes #24796 04 Jan 2004; Masatomo Nakano repoman, portage.py: Added new dependency check to repoman. This closes #36887. 03 Jan 2004; Masatomo Nakano emerge: Modified to specific port number in emerge sync. This closes #36994 02 Jan 2004; Masatomo Nakano portage.py: Fixed a problem that emerge doesn't block package when it's required. It happens in .50_pre*. 02 Jan 2004; Masatomo Nakano portage.py: Fixed issue with getsize() when --debug. 02 Jan 2004; Masatomo Nakano portage.py: Fixed issue with virtual. This closes bug #9050, #22225, #29499. 01 Jan 2004; Masatomo Nakano ebuild, emerge, portage.py: Fixed issue with not cleaning up temp directory. This closes bug #34967. 31 Dec 2003; Masatomo Nakano emerge: Fixed 'emerge sync' issue which continuously connects to same host. 31 Dec 2003; Nicholas Jones emerge: Found the line that was causing the package dir to be printed... It was a spawn call. 31 Dec 2003; Nicholas Jones portage.py: Fix for the symlink corruption in the db from the movefile() bug. 29 Dec 2003; Masatomo Nakano portage.py: Fixed bug which emerge stops when no denpendencies exist in || ( ) by USE flags. This closes #36568. 29 Dec 2003; Masatomo Nakano emerge, portage.py: Added an ambiguity package check when emerge. This closes bug #22700. *portage-2.0.50_pre9 (24 Dec 2003): API change + enhancements 24 Dec 2003; Nicholas Jones ebuild.sh: Added PORTAGE_TMPDIR to SANDBOX_READ/WRITE to ensure it works. SpanKY's patch for use negation added (use !foo). pkg_setup doesn't die on a non-zero exit status. 24 Dec 2003; Nicholas Jones emerge: using os.uname instead of calling out to uname. 24 Dec 2003; Nicholas Jones quickpkg: Added SpanKY's patch for delayed exit/error conditions. 24 Dec 2003; Nicholas Jones xpak.py: chdir's added to the getcwd fix for missing dirs. 24 Dec 2003; Masatomo Nakano emerge: Added OVERLAY directories display for --verbose. *portage-2.0.50_pre8 (24 Dec 2003): API change + enhancements 22 Dec 2003; Nicholas Jones ebuild.sh: Added /proc/self/maps to SANDBOX_PREDICT, and /dev/shm to read/write. 22 Dec 2003; Nicholas Jones emerge: Added automake and autoconf versions to the output of emerge info. 22 Dec 2003; Nicholas Jones etc-update: Added edit merged file option -- defaults to EDITOR var or "nano -w". 22 Dec 2003; Nicholas Jones portage.py: Use os.uname instead of calling out to uname which might not exist. *portage-2.0.50_pre7 (22 Dec 2003): API change + enhancements 22 Dec 2003; Nicholas Jones ebuild.sh: patch to quote most of the path operators that might involve spaces. 22 Dec 2003; Nicholas Jones portage.py: Fix for invalid entries in package.keywords. Character chopping on mirrors fixed again. 21 Dec 2003; Masatomo Nakano bin/ebuild, bin/emerge, pym/portage.py: Changed to show disabled USE flags from use.mask when using emerge -vp. And fixed use.mask issue. 20 Dec 2003; Nicholas Jones portage.py: Rewrote match_from_list -- Simplified and made pkgcmp and match_from_list properly compare package names. 20 Dec 2003; Nicholas Jones repoman: Fix for mysigs traceback when signing. 20 Dec 2003; Nicholas Jones portage.py: Added PYTHONPATH to the specials list -- created a colon_seperated list. Fixed reset() in class config so that you can specify keeping the pkg dictionary when resetting the values. 19 Dec 2003; Masatomo Nakano repoman: Added check whether "ebuild foo.ebuild digest" succeeds. 19 Dec 2003; Nicholas Jones portage.py: Fix for pkg settings being maintained after an unmerge. 19 Dec 2003; Nicholas Jones pym/portage_db_*: Moved to using cPickle instead of marshal. More standardization of the API. 18 Dec 2003; Masatomo Nakano repoman: Added virtual dependency check on each arch. 17 Dec 2003; Nicholas Jones portage.py: Fixed a permission issue involving $T and userpriv. Lockfile touchup. 17 Dec 2003; Nicholas Jones portage_db_*: Added templates and db for cache interfaces. Presently have a anydbm and a flat file interface working. See the test for operations. 15 Dec 2003; Nicholas Jones emerge: Added a call to portageq that causes python to create optimized modules prior to it ending up inside the sandbox. Added more output and logging to sync. 15 Dec 2003; Nicholas Jones prepstrip: 'tree' is not the same as 'true'. 15 Dec 2003; Nicholas Jones portage.py: invalid settings in package.keywords caused a traceback -- fixed with error message. *portage-2.0.50_pre1 (12 Dec 2003): API change + enhancements 10 Dec 2003; Nicholas Jones chkcontents: Uses portage functions to do md5sum calcs. 10 Dec 2003; Nicholas Jones ebuild.sh: Removed try() as it isn't used, and was deprecated for a long while. Genone's fetching size display added for --verbose. License display added. Added a little debug for IUSE so we can figure out the binary package --verbose IUSE issues that are randomly reported. XXXXXXXXXXXXXXXXXXX's 'buildsyspkg' patch for building only system packages into tbz2s. Unmerge fix for new settings instances. RSYNC_RATELIMIT added. 10 Dec 2003; Nicholas Jones portage.py: ADA path variables added to specials for env_update. Error messaeg correction for make.defaults syntax errors. Unmerge now uses the environment file, if it exists, to get the complete environment back to perform unmerge operations. load_infodir() uses pkg settings completely now. Fixed the passing of settings in unmerge and dblink. Fixed an issue regarding unlinking lockfiles while inside of a sandbox. 09 Dec 2003; Nicholas Jones ebuild.sh, *.sh: Moved helper scripts into bin/functions and made them sourceable -- they now will die in cases where sub-parts fail. dodoc and keepdir are now recursive-capable. 09 Dec 2003; Nicholas Jones emerge: emerge.log now set as portage:portage with 0660 perms. --debug now enables tracebacks for dep generation instead of moving code out of the try block. 09 Dec 2003; Nicholas Jones g-cpan.pl: rac's patch to get arch list from portage's list of arches in the profiles. 09 Dec 2003; Nicholas Jones repoman: Moved a bit of the existing gpg code around -- it might work as is, but requires 'sign' in features. Fixed a potential for repoman to miss updates that should get a new manifest and commit. Fixed digest/manifest generation for non-packagedir runs of repoman. 09 Dec 2003; Nicholas Jones emergehelp.py, make.conf, getbinpkg.py: Message touch ups. 09 Dec 2003; Nicholas Jones portage.py: load_infodir() uses pkg settings now instead of env and backup. Genone's custom mirror patch included. Added some missing 'strict' flags for recursion in digest*(). Refixed the invalidentry stuff that was lost across patch merges. Fix for pkg-keywords from genone included. Genone's deprecated profile patch for reporting to a user that their current profile is deprecated. Message about missing arch.list instead of spouting invalid keywords messages. 08 Dec 2003; Masatomo Nakano repoman: Added all arch dependency check. This closes bug #24160. 07 Dec 2003; Masatomo Nakano emerge,portage.py: Fixed bugs. 1.--debug doesn't work 2.Portage breaks files in /var/db/*/*. 3.No stop if dependency problem happens. They are only cvs version problems. 01 Dec 2003; Masatomo Nakano emerge: Fixed bug which always remakes info dir file. 29 Nov 2003; Masatomo Nakano portage.py: Fixed issue with ebuild name rule. Fixed typo with variable name. This closes bug #17172,#34666 29 Nov 2003; Masatomo Nakano emerge: Fixed issue with lacking the "setting" argument for pkgmerge() 29 Nov 2003; Masatomo Nakano emerge: fixed rsync bug. This closes bug #34660. 28 Nov 2003; Nicholas Jones portage.py: Migration to non-global settings started -- class config has new functionality and is locked after portage is finished initializing -- changes cannot be made to the global instance of config 'settings' -- reset() is now functional, setcpv() loads PKGUSE from /etc/portage/package.use, load_infodir() loads all small files (under 4k) from the vardb directory of an installed package so that operations have the same post* settings as they had at merge time. Begin modifications to spawn() to allow for files/pipes to be used for IO instead of using getstatusoutput which does not take an environment parameter like execve(). check_config_instance() ensures that the provided parameter is a 'class config' instance -- for ensuring that everything is being passed properly with the changes. Fix for the local FS mirror issue where it removed the first '/' instead of the last one. doebuild() cleanups for readability and pkguse enhancements -- also remove getstatusoutput() usage for depend so that we don't have to modify the active environment. Fix for symlink mtime values returned from movefile. (Nakano) SLOTMOVE added to global update functionality to fix some issues where a package suddenly must become slotted. portdbapi takes a root parameter instead of using settings. Slightly more useful output from depend. binarytree() now takes a pkgdir instead of using settings. Portage will now die if ebuild.sh exits on a signal. Moved some functions around and renamed them for general use -- derived from match2 in class portagetree: match_to_list() find all atoms in a list that match a given package. best_match_to_list() determines the most specific match. Needs work. match_from_list() find all packages in a list that match a given atom. 28 Nov 2003; Nicholas Jones emerge: Fixed an issue with searchdesc wanting root permissions if run as non-root. Migrated to the non-global config class. EMERGE_FROM added for the dyn_preinst patch -- Indicates if a merge is occuring from an ebuild or from a binary. Patch for rsync timestamp checking from Nakano. 28 Nov 2003; Nicholas Jones ebuild.sh: Save PKGUSE. Pebeneto's patch for dyn_preinst and SELinux added as a fix for binary and ebuild merges. Added a kill for portage during the depend phase so that portage will actually die if you control-C. 28 Nov 2003; Nicholas Jones *: MASSIVE set of changes to start using locally defined 'class config' instances. This allows us to start working on some parallelism among other things. Created this way: mysettings = portage.config(clone=portage.settings) The Following functions now take a 'config' parameter: spawn(), fetch(), digestgen(), digestcheck(), spawnebuild(), doebuild(), merge(), dep_opconvert(), dep_check(), dblink.__init__() package.keywords is now implemented curtasy of genone/max. PKGUSE was rewritten for the global config killing and is also included. X11 man pages now found and zipped correctly. SYS.PATH fixes for the python migration -- issue actually only shows up on 2.2 systems because of how compiled modules are used if found regardless of the original source's existance. 28 Nov 2003; Nicholas Jones tabcheck.py: An easier way to make sure that all the python stuff is correctly using tabs and not mixing spaces. 28 Nov 2003; Nicholas Jones xpak, xpak.py: Fixes to ensure that it works if the current dir is missing and that the python path gets set properly. 22 Nov 2003; Daniel Robbins portage.py: Fixed calls in vartree method to invalidentry().... made them call call self.dbapi.invalidentry() (there were multiple wrong method calls.) 10 Nov 2003; Nicholas Jones md5check.py: Checks all digests and SRC_URIs for filenames and associated MD5s. Reports collisions between versions/packages, missing, and extra lines in digests. *portage-2.0.49-r17/18 (10 Nov 2003): Fixes 10 Nov 2003; Nicholas Jones *: Changed portage to be the first path in sys.path for all python scripts. Also enabled optimizations from the scripts to ensure everything imported is built for speed. ebuild: applied fix for the '//' root breaking the db[]. prepstrip: etdyn quickfix 10 Nov 2003; Nicholas Jones portage.py: fix for RESTRICT=nouserpriv. GENTOO_MIRRORS can have paths set to take files from. Fixes for mishandled cache data regarding *pkgsplit(). Fixes for '*' being returned as part of a package split. An 'invalidentry()' fix for a traceback. Nakano's fixes for virtual removals not working properly, sandbox violations during pkg_nofetch, || depend selection. Genone's fixpackages speedup. 10 Nov 2003; Nicholas Jones ebuild.sh: PORTAGE_TMPDIR fix for distcc. Variable passing bug patch for export_functions. Exit 1 added for nofetch to stop sandbox violation. Nakano's --tree patch added. Improved the unmerge messages to denote what kind of unmerge fails. Info pages regex pattern adjusted to allow most any name for a page. 10 Nov 2003; Nicholas Jones repoman: genone's xml linting additions. 01 Nov 2003; Robin H. Johnson pym/cvstree.py: fix bug #32071, by properly escaping a string to not be a regex. Checked thru entire *.py tree and found this is the only mis-use of strings that need to be escaped. 31 Oct 2003; Daniel Robbins portage.py: /lib/modules now gets "unmerge protection." This is half of the config protection functionality. It means that anything in /lib/modules will not be deleted when a package is unmerged (often automatically when a user merges a kernel module ebuild for a new kernel.) This solves the "my module disappeared!" issue. This closes bug #1477. 31 Oct 2003; Daniel Robbins emerge: Should no longer spit out wacky "!!! no match found" warnings when auto-cleaning. 30 Oct 2003; Daniel Robbins portage.py: Only run depscan.sh if it exists on disk. This allows Portage to run inside a stage1 where /sbin/depscan.sh doesn't exist. 30 Oct 2003; Daniel Robbins portage.py: Applied fix to allow multi-level "use? ( )" in SRC_URI, closing bug #16159. *portage-2.0.49-r15/16 (21 Oct 2003): Fixes 21 Oct 2003; Nicholas Jones fix-db.py: was broken for python2.3 -- fixed now. 21 Oct 2003; Nicholas Jones portage.py: Added lockfiles to prelink md5 checks. Fixed caching bug where cache objects were passed back as pointers instead of copies. Added 'invalidentry' function to handle lockfiles -- It tests/deletes them using unlockfile. Added fix-db.py to the 'databases is broken' messages. 21 Oct 2003; Nicholas Jones ebuild.sh: added CDPATH to unset. SELinux fix for sandbox. *portage-2.0.49-r13/14 (10 Oct 2003): Fixes 10 Oct 2003; Nicholas Jones *: Full adaptations for python2.3 implemented. Installation setup for /usr/lib/portage/pym instead of site-packages. Fix for Old-Instance unmerging which stopped happening due to changed path names. Binaries shouldn't merge under fetchonly. *portage-2.0.49-r11/12 (08 Oct 2003): Internal Only. *portage-2.0.49-r10 (08 Oct 2003): Fixes 08 Oct 2003; Nicholas Jones portage.py: Fixed a seemingly random traceback involving lockfiles -- Categories weren't being created before a lockfile was attempted in the category directory. More enhancements to aid migration to python-2.3. Added writemsg() as a general function for outputting information -- Takes an argument that is interpreted as debug level and prints synchronisly to stderr. Yanked domenu pending a GLEP. *portage-2.0.49-r9 (07 Oct 2003): Fixes 07 Oct 2003; Nicholas Jones portage.py: Atomic lock updates and self.create() fixes. Counter enhancements. *portage-2.0.49-r8 (05 Oct 2003): 05 Oct 2003; Nicholas Jones *: Changed #! line to use /usr/bin/python to aid in migration. 05 Oct 2003; Nicholas Jones ebuild.sh: More use/has output fixups. 05 Oct 2003; Nicholas Jones emerge: General cleanups. Added in baselayout info to emerge info. --skipfirst isn't a persistent option on resume anymore. 05 Oct 2003; Nicholas Jones fix-db.py: New script to aid in diagnosing and eventually fixing /var/db issues. It makes almost no modifications at the moment. 05 Oct 2003; Nicholas Jones prepstrip: Addition of a condition for etdyn binaries -- they list as shared objects but aren't. 05 Oct 2003; Nicholas Jones repoman: Added non-cvs patch -- repoman can be used outside of cvs trees for scanning/checking. Added a masking fix for packages that use 'arch?' dependencies. Permission fix on stats pickle. 05 Oct 2003; Nicholas Jones portage.py: Subversion directories are ignored along with CVS in listdir() when ignorecvs is set. USE_EXPAND is fixed. Global and package counter fixes. ATOMIC VARDB moves are now implemented -- Still need a way to recover broken operations. Counter functions are now implemented in dbapi only. vardbapi now implements aux_get for all possible files listed in the package's info directory. New functions: lockfile()/lockdir(), unlockfile()/unlockdir(). *portage-2.0.49-r7 (26 Sep 2003): Binary package fixes + spacing issues. 26 Sep 2003; Nicholas Jones emerge.sh: Spacing fixes for tab/space mixes. glob fix for getgccversion(). 26 Sep 2003; Nicholas Jones portage.py: Fix for binary use flag tb. 26 Sep 2003; Nicholas Jones xpak.py: Fix for scan() tb when file is invalid or shorter than XPAK header length. *portage-2.0.49-r6 (23 Sep 2003): SELinux, DistCC, and pretend output fixes. 23 Sep 2003; Nicholas Jones ebuild.sh: selinux context fixes -- using ${T} now. DISTCC_DIR added by default and given an addwrite. 23 Sep 2003; Nicholas Jones emerge: gccversion() added to help distcc and the version checking calls that break distcc permissions. Fix for create() and the useflag passing from binary packages. When using pkgs, is_newer_ver_installed() no longer trashes ebuild names. Don't look for fetch restrictions with binary packages. Included a modified patch that shows only in-slot versions for packages during pretend output -- In-slot now shows up exactly as a single-slot package would -- New slots show up as new packages -- proper output. Killed debug for everything except regen which now shows the deps being regenerated. Fixed regen to ignore keywords just like sync does already... should fix a few missing cache entry problems on rsync1 and speed up sync times all around. 23 Sep 2003; Nicholas Jones portage.py: Additions for distcc support. *portage-2.0.49-r5 (19 Sep 2003): Fixes 19 Sep 2003; Nicholas Jones ebuild.sh: Make DISTCC_DIR set if not defined. 19 Sep 2003; Nicholas Jones emerge: Fix for -U introduced bugs with Str+None tracebacks. Mild change to log info -- Added short pkgname before ebuild. Eclassdb changes and flush/save calls. 19 Sep 2003; Nicholas Jones portage.py: Unregister signal handling after receiving the signal and resend the signal we got. Run depscan during env-update. Migrated eclass stuff into it's own pickle. Code for moving /var/cache/edb/dep into a pickle for each category added -- disabled via hardcoded value presently. Removed some try blocks in favor of detecting the cause of an error first -- Hopefully gives a little speed up. Cache fixes and useful output added. A tbz2 moving bug where an error was printed about files the destination existing already is now fixed. The dircache is cleared on every unmerge now, to ensure the cache does not interfere. bzip2 is spawned with the quiet flag now. Update list is sorted for proper year/quarter order now. -arch isn't an invalid keywork anymore. Generic pickle reading and writing functions added. *portage-2.0.49-r4 (10 Sep 2003): Fixes 10 Sep 2003; Nicholas Jones *: Added the facility to incorporate binary package use flags when calculating deps. Changes in -r2 and -r3 included quick fixes to SELinux code and the addition of LINGUAS to USE_EXPAND. *portage-2.0.49-r1 (25 Aug 2003): Fixes 25 Aug 2003; Nicholas Jones emerge: -K traceback fix. Made fetchonly quit traversing the merge code after fetching. 25 Aug 2003; Nicholas Jones portage.py: Removed auxcache saving code -- A few bugs and caching problems need to be resolved. Moved a block of code in aux_get inside of an existing conditional -- Should provide a small speedup. *portage-2.0.49 (22 Aug 2003): GRP downloading, Selinux, General Fixes 22 Aug 2003; Nicholas Jones portage.py: Make auxcache saving more friendly. *portage-2.0.49_pre20/21 (20 Aug 2003): Fixes + security enhancements 20 Aug 2003; Nicholas Jones portage.py: Fix for auxcache saving. *portage-2.0.49_pre19 (20 Aug 2003): Fixes + security enhancements 20 Aug 2003; Nicholas Jones *: Updates to Wayne's modifications on dispatch-conf. 20 Aug 2003; Nicholas Jones ebuild.sh: sfperms added to strip permissions if set in features. selinux context support. Nakano's cleanups for unmerge output. Added distcc and ccache versions into emerge info's output. 'autoaddcvs' FEATURE is documented in make.conf. 20 Aug 2003; Nicholas Jones portage.py: Selinux code added. No longer traceback on cp_list for categories. Added in a patch to use a pickle for auxcache storing. Should help slow IO boxes. *portage-2.0.49_pre18 (15 Aug 2003): Fixes. 15 Aug 2003; Nicholas Jones ebuild.sh: Nakano's fix for a glob expansion bug on a tar call. 15 Aug 2003; Nicholas Jones emerge: Nakano's fixes for exiting on a signal and incorrect output for the unmerge screen. 15 Aug 2003; Nicholas Jones portage.py: Added in patch to shuffle thirdparty mirrors. Nakano's fixes for digests+fetching bugs/messages/errors. Virtual stripping fix. 15 Aug 2003; Nicholas Jones *: Fix to emerge -V and related output. Typo fixes. Parent thread no longer drops root in userpriv. 'autoaddcvs' feature now determines if portage will auto-add files to cvs. Virtuals fix for an empty key line. Added user categories file as /etc/portage/categories. *portage-2.0.49_pre17 (30 Jul 2003): Resuming/wget GRP, Sandbox updates 30 Jul 2003; Nicholas Jones *: GRP updates to use RESUMECOMMAND to determine how to download GRP binaries. Adjustments to the portage.spawn() code to try and speed it up by eliminating the copy phase (copy-on-write forking). Massive messages for corrupt FS issues. Movefile() checks to ensure we actually complete the moves. Killed the broken pipe message for tbz2 extraction. *portage-2.0.49_pre16 (29 Jul 2003): Touchups 29 Jul 2003; Nicholas Jones *: Clean up the debug output and quickfix downloading tbz2s. *portage-2.0.49_pre15 (29 Jul 2003): Fixes 29 Jul 2003; Nicholas Jones repoman: imported time. 29 Jul 2003; Nicholas Jones emerge: Corrected the logic used to determine whether a package or an ebuild is used when given the option. 29 Jul 2003; Nicholas Jones portage.py: Changed a lot of calls using 'print' into sys.stderr.write() calls. Added try/except around the source lstat to catch funky errors where the file doesn't really exist -- Presents descriptions to users about what to do. Added more catches for movefile() calls to ensure it dies on failures. Changed the tbz2 extraction call to stop the 'cat: broken pipe' message. *portage-2.0.49_pre14/48-r7 (24 Jul 2003): Fixes and getbinpkg caching 22 Jul 2003; Nicholas Jones *: Typo fixes for the ECLASS_DEPTH comparisons in ebuild.sh. Traceback fixes for blocking packages in depclean and in pretend. Caching added to getbinpkg code -- generation of cache supported, but cachefile is staticly located. Langs patch from Nakano in bug #9988 included. *portage-2.0.49_pre13 (22 Jul 2003): Fixes 22 Jul 2003; Nicholas Jones doman: Doesn't gzip .keep files now. 22 Jul 2003; Nicholas Jones ebuild.sh: USERLAND fix. ** ECLASS depth tracker and additions to the new depend code. ** 22 Jul 2003; Nicholas Jones emerge: Fetch restriction now adds a red F to the pretend output. Made the blockers message better. Added 'local' to rsync excludes to allow the category to be added for admins. 22 Jul 2003; Nicholas Jones portage.py: Fixed a TB caused by a missing 'strict' reference --- Needs to be fixed better. Fixed a typo in the populate code for bintree/getbinpkg. *portage-2.0.49_pre11 (16 Jul 2003): GRP, General, VIDEO_CARDS/INPUT_DEVICES 16 Jul 2003; Nicholas Jones quickpkg: SpanKY's friendly edition now included. 16 Jul 2003; Nicholas Jones portage.py: USE_EXPAND support for expanding bash variables into USE --- VIDEO_CARDS="blah" USE="video_cards_blah". Added a notice about fetching metadata so you can see that it's happening. 16 Jul 2003; Nicholas Jones make.globals*: Added default CHUNKSIZE for binhosts. Added defaults for USE_EXPAND which is used to expand variables into USE from the give names. 16 Jul 2003; Nicholas Jones *: Debug removal. *portage-2.0.49_pre10 (16 Jul 2003): GRP and General Fixes 16 Jul 2003; Nicholas Jones *: Quick fix for a breakage in the GRP --getbinpkg code. *portage-2.0.49_pre9 (16 Jul 2003): GRP and General Fixes 16 Jul 2003; Nicholas Jones ebuild.sh: add LDFLAGS and ASFLAGS. Exports are only done if vars are already set. 16 Jul 2003; Nicholas Jones emerge: Added support for --getbinpkg and --getbinpkgonly --- GRP complement. Fixes for blocking- not-working bug 16 Jul 2003; Nicholas Jones repoman: Patch to detect incomplete digests. 16 Jul 2003; Nicholas Jones portage.py: ebuild fetch now checks md5sums (run from ebuild). Support for getbinpkg. 16 Jul 2003; Nicholas Jones xpak.py: Added more in- memory operations support. 16 Jul 2003; Nicholas Jones getbinpkg.py: Supporting code for binary package retrieval. *portage-2.0.48-r2 (29 Jun 2003): Fixes and Multiple Overlays 29 Jun 2003; Nicholas Jones ebuild.sh: Fixed the commands for tar. 29 Jun 2003; Nicholas Jones emerge: Mode the chdir to fix the spanky bugs down to post_emerge to fix the "can't merge an ebuild file with an absolute path" bug. 29 Jun 2003; Nicholas Jones portage.py: Added function suffix_array(array,suffix) which takes an array and adds suffix to the end of each element. Added 'cd / ;' into the getstatusoutput() calls to ldconfig. Added a check so that portage doesn't try to add files/dir from a non-cvs directory. Added 'manifest' target to ebuild/portage to only adjust the manifest. Added Multiple overlay support -- Should be fairly thorough -- needs more debug though. Fixed portdbapi::new_protect_filename(). *portage-2.0.48-r2 (29 Jun 2003): Cleanups and Fixes (testing) 29 Jun 2003; Nicholas Jones ebuild.sh: Lots of consistency cleanups. Added more files to the var/db data for future use. Added more die conditions to failure points. Fixed/Hacked a fix into the inherit-not-dieing problem. Set TMPDIR and TMP globally. Added notice for multiple inheritance. Fixed inheritance problem with multiple inheritance clobbering previous list of eclasses. Basic support for multiple overlays added to ebuild.sh. 29 Jun 2003; Nicholas Jones emerge: SRC_URI fix for 'rm /etc/*' problem. Spanky bug: chdir to / to avoid problems when merging from inside a builddir that gets deleted. 29 Jun 2003; Nicholas Jones etc-update: Added notice for symlinks in cfg_prot setups. 29 Jun 2003; Nicholas Jones repoman: complain if FEATURES=cvs not set. 29 Jun 2003; Nicholas Jones portage.py: Added in a work around for the 'USE=+useflag' users. Added support for nouserpriv via RESTRICT. Fix the bug with ROOTs with no previous file causing a TB from counter_tick(). Make symlinks follow config_protect just like normal files. 10 Jun 2003; Daniel Robbins ebuild.sh, portage.py, various commands in bin/, cnf/make.conf.mac, cnf/make.globals.mac: Added preliminary Mac OS X/BSD support. 06 Jun 2003; Daniel Robbins ebuild.sh: new eclass dependency implementation to totally isolate eclass dependency tweaks from in-ebuild dependency tweaks. eclasses now absolutely do not touch DEPEND and RDEPEND. Any dependencies added by eclasses are transferred to another variable and added in to DEPEND and RDEPEND after the entire ebuild has been processed, and after RDEPEND has optionally inherited a value from DEPEND due to it being unset. The result of this change is that inherit statements no longer need to be placed strategically in an ebuild so that they are after the DEPEND and RDEPEND, and fix a host of other eclass mis-use/side-effect bugs. *portage-2.0.48-r1 (29 May 2003): Touchups. 29 May 2003; Nicholas Jones ebuild.sh: Quick fixes to a couple of rare bugs. Added some quoting to $S. Removed the DISTCC hosts variable. Moved build-info's creation around so that it actually works for non-portage-compiled merges. 29 May 2003; Nicholas Jones repoman: Quick fix for the files-dir-not-added lack of notification. Added in a fix for a possible security problem with the repoman commit messages and symlink-attacks. 29 May 2003; Nicholas Jones cnf/*: Added in a diff from 'Danny' that contained a SYNC cleanup and expanded explanation. :) 29 May 2003; Nicholas Jones output.py: Fixed the TitleBar and unset TERM issues. 29 May 2003; Nicholas Jones portage.py: Added new functions to aid in determining virtuals. cpv_all() added to dbapi -- it displays all versions instead of just package names -- cp_all() now calls this function to gain it's data. get_provide() and get_all_provides() added to collect PROVIDE info from vartree packages. getallcpv() added to vartree to reference the dbapi call. Always set ignoring errors on findname now. Cleaned up the virtuals-trimming code. Don't mention the fixpackages script if the user doesn't have any packages. *portage-2.0.48 (20 May 2003): Cleanups Release. 20 May 2003; Nicholas Jones emerge: Tiny cleanups. Fixed the profile information in emerge -V for symlinks that have a trailing '/' in them. Fix 'emerge -s' filesize lookups to use a new function finddigest() from dbapi. 20 May 2003; Nicholas Jones emergehelp.py: Updated. 20 May 2003; Nicholas Jones etc-update: Small fixups for pager issues. Made the nothing-to-do exit message 'happier'. 20 May 2003; Nicholas Jones extra-functions.sh: Beat the debian-utils requirement out of the functions. Prefers them, but falls back to already-existing tools otherwise. 20 May 2003; Nicholas Jones fixpackages: 75% overhaul to match the new handling of update code. 20 May 2003; Nicholas Jones quickpkg: Understands "--help" as an option now. 20 May 2003; Nicholas Jones man/*: Simple updates. 20 May 2003; Nicholas Jones portage.py: fetch() now calculates md5sums when doing a fetchonly. finddigest() added for finding digests -- gets overlay digests if existing. Binary packages are only updated when explicitly requested via fixpackages as a command or a FEATURES setting. Clear the dircache after portage initializes to reduce memory consumption. *portage-2.0.48_pre6 (12 Apr 2003): General cleanups and fixes. 12 May 2003; Nicholas Jones portage.py: Additions to better handle overlay ebuilds with regard to metadata cache. aux_get calls findname2() which returns (location,in_overlay) -- findname() is a wrapper for findname2(). Extra debugging fixes for findname() issues. 12 May 2003; Nicholas Jones ebuild.sh: Code cleanups and a chgrp/chown pass to move all portage-owned files to root ownership -- Two pass to leave specific-group and specific-owner settings alone. 12 May 2003; Nicholas Jones emerge: code cleanups and comment touchups. 12 May 2003; Nicholas Jones emergehelp.py: Updates for --debug, --digest, and --skipfirst. 12 May 2003; Nicholas Jones g-cpan.pl: Added more arches to the KEYWORDS. Made it copy files back to distfiles. 12 May 2003; Nicholas Jones prepstrip: Removed ${D} from the outputted filenames during stripping. 12 May 2003; Nicholas Jones man/* cnf/*: documentation updates. *portage-2.0.48_pre5 (29 Apr 2003): Cleanups and polish. 29 Apr 2003; Nicholas Jones portage.py: Another typo fix. *portage-2.0.48_pre4 (28 Apr 2003): Cleanups and polish. 28 Apr 2003; Nicholas Jones portage.py: Quick fix for a traceback/typo in the 'emerge -C' code. *portage-2.0.48_pre3 (28 Apr 2003): Cleanups and polish. 28 Apr 2003; Nicholas Jones portage.py: listdir() now takes care of non-existance errors instead of propagating them --- can take EmptyOnError=1 as a param to return [] instead of None. All calls to portage's listdir() have been updated to the new conventions. listdir() ignores .# files from cvs now when ignorecvs=1 is set. Fixes for another world-depleting bug. If findname() is passed a virtual, it now informs the user to report a bug, instead of weird tracebacks. Added code in dblink::unmerge() to remove stale virtual entries when set under trimworld. 28 Apr 2003; Nicholas Jones etc-update: enabled the diff pager again. 28 Apr 2003; Nicholas Jones emerge: --changelog implies --pretend. Spelling fixes. Added --skipfirst to allow the first package in a resume operation to be skipped over --- allows -e to rebuild almost everything, even under weird circumstances. Located another missed world-file-depleting bug in unmerge() calls. Included a patch to fix an off-by-one bug in depclean. 27 Apr 2003; Nicholas Jones portage.py: Fix for listdir() running on a non-existant dir -- returns None. Sets generated files to the portage group -- Manifest & digests. Some coloring additions. Handling of 'strict' features added. TEMPORARY addition of 'manifest' USE flag so this can go mainstream now. Fixes in doebuild() to get unmerge working again for ebuild. Debug code added to findname to help figuring out the seemingly random tracebacks -- suspect is pkgsplit(). Unmasking code for package.mask added in -- works just like mask, and can override specific versions or ranges -- One per line: /etc/portage/package.unmask. Security fix for python cPickle code -- mtimedb could create arbitrary execution of code bug. Global update notices/info. Fixes for loops over listdir() that depended upon raised errors to determine code flow. 27 Apr 2003; Nicholas Jones cvstree.py: Added in 'removed' status checks. 27 Apr 2003; Nicholas Jones repoman: Added in more cvs checks. /space/cvsroot is now complained about. 27 Apr 2003; Nicholas Jones emerge: Added in PORTAGE_CALLER support to identify it as a 'do_update()' candidate. 27 Apr 2003; Nicholas Jones dodoc: Check sizes to prevent 0 byte files from being added. *portage-2.0.48_pre2 (10 Apr 2003): Digests & Repoman 16 Apr 2003; Nicholas Jones repoman: Added CVS/Root checks to ensure Manifests will be correct. Fixed local use-flag bug. Commented out the no-stable code, as it can't be implemented well as is. 16 Apr 2003; Nicholas Jones prepstrip: Fixed a problem where files were not being stripped. 16 Apr 2003; Nicholas Jones ebuild.sh: Added in a call to 'make -n' when under the --debug flag. *portage-2.0.48_pre1 (10 Apr 2003): Digests & Repoman 10 Apr 2003; Nicholas Jones prepstrip: fix it so that it actually strips and provides reasonable info. 10 Apr 2003; Nicholas Jones repoman: Added short option for pretend. Added pretend capability to the majority of the commit code. Bug fix for local IUSE code. Added in support for removed cvs files. 10 Apr 2003; Nicholas Jones portage.py: Changed 'manifest' to 'Manifest'. Removed the requirement that Manifests exist -- complain about it, but only die if 'strict' is set. *portage-2.0.47-r15 (09 Apr 2003): New digests/manifests, touchups. 09 Apr 2003; Nicholas Jones bin/*: Fixes for Cross- compiling. 09 Apr 2003; Nicholas Jones repoman: Quick touchups in the category- and repository-level manifest calls. 09 Apr 2003; Nicholas Jones cnf/*: Added/sync'd PORTAGE_NICENESS. 09 Apr 2003; Nicholas Jones portage.py: Fixed hole in the listdir code that occured on cache expiration in the -r14 changes. *portage-2.0.47-r14 (09 Apr 2003): 09 Apr 2003; Nicholas Jones bin/*: Removed DEBUGBUILD in favor of FEATURES/RESTRICT settings of nostrip. 09 Apr 2003; Nicholas Jones ebuild: Removed root restriction so that digests can be made as non-root. 09 Apr 2003; Nicholas Jones emerge: Added niceness 09 Apr 2003; Nicholas Jones repoman: Added the nostable/allmasked check in. Small cleanups. Move to 'manifests' instead of enhanced digests. Added filters on $Id and $Header. Fixed commitmsg and added short options. 09 Apr 2003; Nicholas Jones cvstree.py: More features added. pathdata() provides dir or file info. isadded() gives cvs status. 09 Apr 2003; Nicholas Jones portage.py: listdir() enhancements. Debug removal. Broke up the digest creation functions to make them a little more generic. Added manifest code into the digest calls. Moved code in doebuild() around to allow for non-root calls for devs and repoman. Added 'PORTAGE_CALLER' env var to prevent repeated running of unnecessary functions. *portage-2.0.47-r13 (02 Apr 2003): Fixes & Security -- Repoman+Digests 02 Apr 2003; Nicholas Jones emerge: Added debug to the dep selection code in depgraph. 02 Apr 2003; Nicholas Jones cvstree.py: Added new module to handle cvs information without having to ask 'cvs status' many times to determine file locations. 02 Apr 2003; Nicholas Jones repoman: Major fix ups to ease the introduction of enhanced digests. Intelligent cvs queries and use of the new cvstree module for information about files in the tree. Auto-digests, auto-fetches trivial cvs changes, detects changelogs that exist but have not been added to cvs, and detects '*' in KEYWORDS. 02 Apr 2003; Nicholas Jones *: A typo fix or two. prepstrip: fixup for sed's issues with '\000' (made it \001). *portage-2.0.47-r12 (27 Mar 2003): Fixes & Security -- Repoman+Digests 27 Mar 2003; Nicholas Jones portage.py: Moved all initialization error messages to stderr.write() calls so that the output doesn't get mixed will called data. Added a warning about not being in the portage group. Color touchups. Digest path fixups. 27 Mar 2003; Nicholas Jones repoman: Significant additions to the commit code to nicely handle the changes for enhanced digests. Added --commitmsg and --commitmsgfile flags to allow easier scripting. Added a REPOMAN environment variable to prevent portage from running do_updates(). Added 'grouplist' which makes groupings of subparts from a list of parts. Added do* functions to manage the recursion into the dirs of the repository. 27 Mar 2003; Nicholas Jones xpak.py: Change from lstat to stat... We're not concerned with links. Return 0 on not found. 27 Mar 2003; Nicholas Jones portageq: added new functions: best_visible, mass_best_visible, all_best_visible. 27 Mar 2003; Nicholas Jones emerge: Added '--digest' to force recreation of digests from the command line. Fixed portage version comparisions for the 'update portage please' notices. 27 Mar 2003; Nicholas Jones ebuild.sh: Added an extra rm of the 'successful' file. 26 Mar 2003; Alain Penders portageq: added mass_best_version method to help GUIs resolve best versions. *portage-2.0.47-r11 (22 Mar 2003): Fixes & Security -- Winding up 2.0 series. 22 Mar 2003; Nicholas Jones portage.py: listdir() now is capable of recursive calls and listing only files. Used in new additions to digestgen() and digestcheck() for ebuilds and files/* -- listdir(dir,recursive=0,filesonly=0). Digests now must contain all files from files/ and also the ebuild -- non-archives are prefixed with '/'. Full tbz2 fixes are now implemented... They can take a while to perform so status thingies are provided. update_ents() provides a batch-update as it would take rediculous amounts of time otherwise. 22 Mar 2003; Nicholas Jones : fixpackages calls portageexit() to save the mtimedb state so it actually works. :) 22 Mar 2003; Nicholas Jones emerge: Added 'xtermTitle' calls to emergelog to set the title during phases of merging. Added more emergelog calls to provide more specific information. 22 Mar 2003; Nicholas Jones : Added two scripts to aid portage. 'fixdbentries' takes (old, new, path) and does an inteligent sed on all the db entries that should be changed. Used by global moves and in the tbz2 fixes. 'fixpackages' expires the updates timestamp and reloads portage to force do_updates() to run. Added missing Header lines. 22 Mar 2003; Nicholas Jones xpak.py: Correct off-by-8 bug in last commit. infosize does not contain the full size... Offset begins _after_ the marker -- Added xpaksize for complete offset from EOF. 22 Mar 2003; Nicholas Jones portage.py: Fix for die-on-wheel-group-missing bug. The logfiles don't cause the counter to be incremented and now match the merged package's COUNTER value. get_counter_tick_core(root) does not increment the counter. Sandbox is now working in all enabled cases, instead of just usersandbox. /var/db and binaries (assuming they are RW) are now updated to contain the proper info --- Added a 'fixdbentries' script to perform the updates to the data, and added a 'move_ent' function to class binarytree (not fakedbapi). Added a 'ebuild does not exist' error for the case of ebuilds in a wrongly named directory. Added a notice for invalid tbz2's. Removed the 'make.defaults' missing notice :-/. Duplicated the bintree creation so that it would be available for do_update(). Catch when 'updates' is missing from mtimedb. 22 Mar 2003; Nicholas Jones output.py: Added xterm title bar function to set the titles... xtermTitle(mystring). Only set if using color and terminal is [axE]term. 22 Mar 2003; Nicholas Jones repoman: Additions courtesy of Gerk and Vladamir... Checks all portage variables. Runs a check against invalid (but still parsable) syntax errors in names. Checks for invalid IUSE from use.desc and use.local.desc. Checks that licenses are valid. Checks for legal keywords with a default set or keywords.desc, if available. 'missingvar' tests moved to aux_get() calls. 22 Mar 2003; Nicholas Jones prepstrip: Added test to allow cross-compile-stripping to work properly. Rewrite the script to be whitespace-aware and recursively process directories at level 1. 22 Mar 2003; Nicholas Jones prepallstrip: Removed all code from this script and made it a call to "prepstrip $D". 22 Mar 2003; Nicholas Jones g-cpan.pl: Add in chomps for the portageq calls. 22 Mar 2003; Nicholas Jones emerge: Allow --fetchonly of block'd packages. 22 Mar 2003; Nicholas Jones ebuild.sh: Cleanups and corrections for sandbox which has been disabled and broken for a couple revisions now. use_{enable,with} die messages removed as they are in sub- shells when used and won't kill the merge --- Moved to echo >&2. 21 Mar 2003; Nicholas Jones xpak.py: Updates to make the xpak code self-sustaining. Added basic documentation to the functions and a description of the format in the comments at the top of the module. *portage-2.0.47-r10 (13 Mar 2003): Fixes -- Winding up 2.0 series. 13 Mar 2003; Nicholas Jones portage.py: Less strict check of permissions when fixing permissions for userpriv -- only requires 02070 and group portage instead of 02770 for check. 13 Mar 2003; Nicholas Jones g-cpan.pl: Fix to the call to portageq. 13 Mar 2003; Nicholas Jones etc-update: Fix for deleted files in a CONFIG_PROTECT situation. 13 Mar 2003; Nicholas Jones emerge: fix for keepwork and keeptemp ** MUST ENSURE THAT CLEAN CLEANS BEFORE A FULL MERGE. 12 Mar 2003; Nicholas Jones emerge: Added more conditions on rsync -- Proper error detection. Rsync failures will not cause a cache regeneration. Portage no longer considers masked portages candidates for 'An update to portage'. *portage-2.0.47-r9 (10 Mar 2003): Fixes -- cvs-src, ebuild.sh, repoman 10 Mar 2003; Nicholas Jones make.conf*: Adjusted the LOGDIR message and change the default location to /var/log/portage. 10 Mar 2003; Nicholas Jones repoman: One more fix for the PORTDIR setting -- '/usr/portage' was matching '/usr/portage.cvs'. 10 Mar 2003; Nicholas Jones etc-update: Added the capability to automerge all files in the list -- with out without prompts. 10 Mar 2003; Nicholas Jones emerge: Added messages on failure to create a depgraph -- Helps with bad DEPEND detection. Made 'emerge sync' stop if it fails, and not update cache. 10 Mar 2003; Nicholas Jones ebuild.sh: added an external extra_functions.sh file with extra functions for portage -- it is flag-o-matic and pieces of eutils presently. Removed libdir/incdir from einstall(). Added 'keepwork' to keep the source code after a package is merged. Removed the 'local' declaration of ROOT in dyn_install() -- this fixes has_version in src_install(). Fixed the sourcing of environment so that variables are peristent across stages of a merge. Removed the SANDBOX vars from the environment file, as that upsets SANDBOX. 10 Mar 2003; Nicholas Jones portage.py: Fixes to permission problems with cvs-src and ccache (removed nested try's). Log counter fix -- One log per package now. *portage-2.0.47-r8 (02 Mar 2003): Fixes -- cvs-src, ebuild.sh, repoman 02 Mar 2003; Nicholas Jones *: Fixes to eclass errors and messages -- raise on not found. emerge --debug works for ebuilds with syntax errors now -- needs better implimentation though, debug=0 in params can't be used due to scope limits. 28 Feb 2003; Nicholas Jones *: reorg ebuild.sh again to ensure that aliases are expanded properly. Repoman now determines the proper PORTDIR to set when loading portage to scan the cvs tree. portage.py fixes for cvs-src permission problems with userpriv. *portage-2.0.47-r7 (27 Feb 2003): Quick fix for eerror() problem. *portage-2.0.47-r6 (26 Feb 2003): Drop deprecated warnings for new syntax. 26 Feb 2003; Alain Penders emerge: Drop deprecated warnings for new syntax. Don't make people switch to the new syntax until it's agreed on by everyone. *portage-2.0.47-r5 (26 Feb 2003): Wicked Fast, BugFree v3.1, UserPriv 26 Feb 2003; Nicholas Jones *: Update docs and help again to drop --system and --world, and pull them from emerge's command line. General cleanups. 26 Feb 2003; Nicholas Jones emerge/portage.py: Fixes to the cache directory permissions -- all dirs are properly owned by group portage now. Add CCACHE_SIZE setting so we set a value for ccache. If the dirs are set to the wrong perms, make sure they get changed recursively. 26 Feb 2003; Nicholas Jones ebuild.sh: Rearraged the code blocks so that they are easier to follow -- no more code in between functions. All code follows function definitions now. *portage-2.0.47-r4 (25 Feb 2003): Wicked Fast, BugFree v3, UserPriv 25 Feb 2003; Nicholas Jones *: Update docs and help to match the deprecation of actions without '--' preceding them. 25 Feb 2003; Nicholas Jones portage.py: Message updates. Fix secpass for portage user. Set PORTAGE_GID for ebuild.sh to use regardless of GID in use (wheel/portage). Only try and delete things in PORTAGE_TMPDIR if we have perms to do it... see secpass note. Moved the cachedir creation after settings in created so that we can use spawn instead of system for the calls to 'chown/chmod -R'. Fix the note on make.defaults. Fix for the 404 catcher in the fetch code. 25 Feb 2003; Nicholas Jones emerge: Move all actions into '--action' form -- Notify of deprecated usages. Moved the functions from the top of emerge down below the command line parser for readability. Kill FEATURES=noauto if we're running emerge -- it can break things. Make -U imply -u so people aren't confused. --debug now enables all debug variables in portage. Fix wheel/portage group requirements messages. Get the current portage version when doing rsync via the portage tree's files and not the loaded cache so that it is aware of changes immediately instead of the next run. 25 Feb 2003; Nicholas Jones ebuild.sh: Try to change to good a good path at the start of the ebuild to prevent operations from happening in places like home. After the ebuild's install phase, check to see if any unsafe perm combo's exist and die if they do. Fix permissions on the cachedir as we're changing them to root:portage. &> on environment file prevented it from actually creating the file -- changed to 2>. Change 'true' to 'exit 0' to be a bit more explicit about what we're doing. 24 Feb 2003; Alain Penders repoman: Added nested/sub-shell die testing. 23 Feb 2003; Alain Penders : Added bin/portageq tool to provide access to portage internal information without using APIs that are changing. All tools that currently access portage information by importing portage.py and poking around in it should switch to using this tool instead. Changed some tools in bin/ to use it, so those won't break either. *portage-2.0.47-r3 (17 Feb 2003): Wicked Fast, BugFree v2, UserPriv 22 Feb 2003; Nicholas Jones bin/: added dispatch-conf and db-fix.pl to the bins. Looking at dispatch-conf to replace etc-update written by Jeremy Wohl (bug 14079). db-fix.pl is a rescue tool that Blizzy wrote up to recreate/repair counter files in the DB -- shouldn't be needed anymore as portage fixes the counter at every load of the counter, but we will hang on to it just in case. 22 Feb 2003; Nicholas Jones portage.py: moved the wheelgid references to portage_gid references. Wheel is being deprecated. Added notice to baselayout message that group portage controls everything now. Killed the BASH_ENV settings -- moved the reference to /etc/portage/ in case it's desired in some way -- This fixes AROUND ONE HUNDRED reports on 2.0.47-r2. Try/catch invalid tbz2's -- should fix a couple bad tarball bugs. Make the prelink call spawn'd without sandbox. buildpkg/userpriv fix via actionmap (Jasmin Buchert; bug 16106). 22 Feb 2003; Nicholas Jones emerge: --upgradeonly added from jrray's patch; added some slot handling. --deep got a short flag 'D'. 'info' can be run by non-root. '--quiet' kills all but package names on searches. Basic slot detection added to the pretend output so that it doesn't always say downgrade. Ignore block list when fetching. Can use RSYNC_EXCLUDEFROM to select a from for rsync to --exclude-from; (Michael Sterrett; Bug 15882). 'emerge rsync' deletes the dbcachedir before it begins updates. Catch exceptions during rsync cache regen. 22 Feb 2003; Nicholas Jones ebuild.sh: General fixes to the spelling of things. 'cd $PORT_TMPDIR' corrected to the actual vars name. Stripping distcc from PATH if it is there before portage sets it. Same with ccache. If we try to compile with out unpacking, complain. Make sure to chown files to user portage. 22 Feb 2003; Nicholas Jones cnf/*: CFLAGS notes, pentium4 breaks things. Added more descriptions for FEATURES. Added RSYNC_EXCLUDEFROM description. 22 Feb 2003; Nicholas Jones *: Updates to the copyright headers. *portage-2.0.47-r2 (17 Feb 2003): Wicked Fast, BugFree, UserPriv 18 Feb 2003; Alain Penders portage-2.0.47-r2.ebuild: If $PORTAGE_TEST is set, skip the beeps/delay messages. Needed to make the regression test scripts bearable :-) 17 Feb 2003; Nicholas Jones portage.py: Fixed the depcache code once again -- ebuild and cache were never set to the same mtimes. Removed last os.system() call. 17 Feb 2003; Nicholas Jones repoman: catdir fix. Added 'emerge-webrsync' from gentoolkit so users can use snapshots on initial installs. 17 Feb 2003; Nicholas Jones emergehelp.py: Updated it to the current calls and conventions. Added comments about etc-update and emerge-webrsync. 17 Feb 2003; Nicholas Jones emerge: Changed the search code around to use compiled re's instead of .lower() searches. Trivial touchups in spacing. Only write worldfile if not --pretend. Fix losing-packages-to-be-merged during merge bug. Allow options to change in a --resume call so that --buildpkg and such may be added. 17 Feb 2003; Nicholas Jones ebuild.sh: Added a PREROOTPATH to allow special paths to be added prior to root and ebuild's required pathes. ${S} is now generated prior to sourcing an ebuild so that it is available in the ebuild at source-time, as opposed to in the phases. *portage-2.0.47-r1 (16 Feb 2003): Wicked Fast + UserPriv 16 Feb 2003; Nicholas Jones portage.py: Changed a few os.system calls to spawn calls. Added userpriv in features check to spawn. HOME is now placed in BUILD_PREFIX/homedir when userpriv is enabled. Valid command for doebuild() moved to the top of the function. Reorganized the directory creation code in doebuild(). HOME is cleaned for every merge if in userpriv. LOG_COUNTER fix for the per-ebuild logs -- Only one value is used per $PF now. 16 Feb 2003; Nicholas Jones emerge: Adjusted options to remove --autoclean and make it on-by-default unless killed in FEATURES with 'noclean'. Removed debug for --resume. Added RSYNC_TIMEOUT as some dialup and other users are experiencing problems with rsync never finishing a connection. Added check at the end of an rsync to notify the user when a new version of portage is available. Added --pretend capability/fix to the --resume code. No resume data and a --resume is no longer a failure. 16 Feb 2003; Nicholas Jones ebuild.sh: Updates to logic of ${T}/successful handling to allow proper cleaning. dyn_clean() will do a recursive dir removal after cleaning specific files. Recursive chown removed. CCACHE_DIR handled in portage.py now. Removed a few comments and unnecessary checks. 16 Feb 2003; Nicholas Jones cnf/*: added comments on FEATURES=noclean,noauto,userpriv,usersandbox 15 Feb 2003; Nicholas Jones emerge: Alain changed the .config() call in the search class to a .settings[] -- Speedup. 14 Feb 2003; Nicholas Jones portage.py: Added resume to mtimedbkeys. 14 Feb 2003; Nicholas Jones emerge: --columns flag to support column output in --pretend. --resume support added to restart portage with the package list with which it stopped -- data is stored in mtimedb. Added '--verbose' to 'emerge info' to display all variables in settings. 13 Feb 2003; Nicholas Jones ebuild.sh: Fix to distcc and ccache to prevent them from calling themselves if they catch themselves in the path -- double path problem. 13 Feb 2003; Nicholas Jones portage.py: Fixes to the aux_get() code for metacache updates to eclass deps. Debug output removal. 13 Feb 2003; Nicholas Jones emerge: More fixes to the calls to aux_get() for metacache code. Rearranged the option and action arrays. Added --nospinner flag. 13 Feb 2003; Nicholas Jones emerge: Reorg of flags. Addition of --noconfmem to prevent portage from yanking already-merged config files. Extra message in --version about missing gcc and sourcing /etc/profile to get it. Yanked the majority of the rsync cachedb update code -- Moved it to aux_get. 13 Feb 2003; Nicholas Jones portage.py: Typo fixes. aux_get() now has a metacachedb param for using metadata cache over the initial call to doebuild() -- Should speed up rsync users regen time. Added support for --noconfmem via settings["NOCONFMEM"] in treewalk(). Added sys.exit(1) on failure to move files during merge. Comment realignment. 11 Feb 2003; Nicholas Jones portage.py: Fix the depcache code by adding in a missing stat call after regeneration. Call portageexit() in exithandler() so that mtimedb gets written out on cancelled runs. Add in --quiet option. Currently only kills the processing messages on emerge regen. 11 Feb 2003; Nicholas Jones ebuild.sh: Fix the eclass code to remove the double inherits cause by eclasses managing that on their own. *portage-2.0.46-r12 (07 Feb 2003): Fixups 07 Feb 2003; Nicholas Jones portage.py: Move logdir check/generation code so that it's created before 'clean'. Fix the usemask/archkeys bug and a related bug with the var enabled. Fix to movefile() code to ensure symlinks are handled properly. 07 Feb 2003; Nicholas Jones ebuild.sh: Make per- ebuild logs use the counter to get a chronological list instead of a timestamp based one. 07 Feb 2003; Nicholas Jones emerge: If a package is requested to be updated but is not merged, still add it to world. 07 Feb 2003; Nicholas Jones *: Update to help. Mostly comments on --verbose. Clarification on make.conf* mirrorselect. *portage-2.0.46-r11 (04 Feb 2003): Fixups 04 Feb 2003; Nicholas Jones ebuild.sh: distcc fixups along with ccache fixups from the bug 13897 effort. Added more varaibles to the build data output. Allow CC/CXX to be set if they are not set in environment. 04 Feb 2003; Nicholas Jones portage.py: Removed an unnecessary call to os.unlink() in movefile that resulted in it failing when moving files across devices. HTML 404 catcher -- if the distfile is a reasonable size, and it's got .*(not found|404).* in it it will be deleted and the next mirror persued. *portage-2.0.46-r10 (03 Feb 2003): Feature/Function Cleanups 03 Feb 2003; Nicholas Jones portage.py: Added quotes to fallback checksum code to ensure it works on space-containing filenames. Error message added in writedict. Worldfile-depleeting bug fixed -- 'emerge -e world'+AUTOCLEAN would cause every package in world to be removed from the worldfile to be removed. 03 Feb 2003; Nicholas Jones make.conf: updated the commentary about AUTOCLEAN. 03 Feb 2003; Nicholas Jones etc-update: Added in automerge functionality for trivial changes. Comments and whitespace are just merged without asking when it's enabled. 03 Feb 2003; Nicholas Jones emerge: redundant cmd line flags warning. Show enabled/disabled USE flags on -vp (Masatomo Nakano). Missing changelog fix for --changelog. Added an rsync timeout of 60 seconds and a message on fail due to timeout. 03 Feb 2003; Nicholas Jones ebuild.sh: CC/CXX fix to override profile.env settings. FEATURES=distcc support to get past profile.env's CC settings/lockdown. If CBUILD is defined, it is appended to econf's output in a --build= statement. Added .unpacked marker to the unpack code to ensure a proper unpack phase. 01 Feb 2003; Nicholas Jones portage.py: Adjusted the arch.list code to be a general masking setup. /etc/make.profile/ and /etc/portage/ have use.mask files that are concatenated. On fetch, if downloader reports failure, then check that filesize ebuild.sh/portage.py: eclass fixups for newdepend issues where newdepend operates on RDEPEND prior to it being set to default by ebuild.sh. Repoman fix for multi- arch failures by excluding /usr/portage/profiles/arch.list entries from consideration, excluding $ARCH. *portage-2.0.46-r9 (14 Jan 2003): portage restart fix 15 Jan 2003; Nicholas Jones emerge: fixed the missing tabs from the cvs diff backport. *portage-2.0.46-r8 (14 Jan 2003): touchup KV{,ERS} for public stable *portage-2.0.46-r7 (14 Jan 2003): Backport from cvs and fixes. portage-2.0.46* :: EXCUDES ALL PORTIONS RELATING SPECIFICALLY TO USERPRIV 14 Jan 2003; Nicholas Jones portage.py: Persistant KV and KVERS on depend calls. Sandbox violation of do_upgrade() caught. 14 Jan 2003; Nicholas Jones emerge: --buildpkg touchups and forward porting of some of 2.0.46-r6. Restart on -r0/proper versions of portage due to VERSION not matching pkgsplit output fixed. 14 Jan 2003; Nicholas Jones ebuild.sh: 20% speedup in dep generation by removing all external app calls. Moved KVERS to portage to make it persistent during dep calls. Other code moved into conditionals based on $*!=depend. chmod's swaped with umask. 11 Jan 2003; Jack Morgan cnf/make.conf.sparc: updated make.conf.sparc to add CFLAGS for sparc32 and sparc64 08 Jan 2003; Nicholas Jones bin/g-cpan.pl: Added from bug 3450 -- Creates and merges perl module ebuilds on-the-fly from cpan and merges them. 08 Jan 2003; Mark Guertin cnf/make.conf.ppc: updated make.conf.ppc to remove G3 options for CFLAGS and other small tweaks *portage-2.0.47 (06 Jan 2003): UserPriv 06 Jan 2003; Nicholas Jones portage.py: Forced HOME to BUILD_PREFIX regardless of user. Added in a 'rm -Rf' notice to readonly-fs/Full-Disk notices. Disabled the usepkg on buildpkg function of portage. digraph.hasallzeros() added -- Determines if tree is zero depth. 06 Jan 2003; Nicholas Jones cnf/*: Added in the PORT_LOGDIR option and description. Also added a GENTOO_MIRRORS section back into the make.conf* files so that users are aware that they need to specify ibiblio. Killed the linefeeds in the sparc conf. 06 Jan 2003; Nicholas Jones emerge: options and actions fixup. Added new short options and long options. --buildpkgonly now works and restricts the process to deplists of zero depth. Updated the help for portage, and created a seperate shorthelp function with the terse, options-only, versions of the regular help. Fixed the env_update call after --fetchonly runs. 06 Jan 2003; Nicholas Jones ebuild.sh: touchups to the user priv and logging code to kill the invalid user messages when portage:portage doesn't exist on the system. *portage-2.0.47_pre4 (03 Jan 2003): UserPriv Works + Per-Ebuild logging 04 Jan 2003; Nicholas Jones portage.py: tokenize() fixups to remedy the || reduce problems. 04 Jan 2003; Nicholas Jones prepall: Fixup for '//' problem. 03 Jan 2003; Nicholas Jones ebuild.sh: Support for per-ebuild logging via PORT_LOGDIR variable. ebuild.sh now can do usermode compiles _and_ maintain the enviroment with a few minor restrictions like changing portage variables. *portage-2.0.47_pre3 (02 Jan 2003): Forward port of fixes & New fixes 02 Jan 2003; Nicholas Jones emerge: tbz2 handling improved -- checks current, pkgdir/All/x, pkgdir/x. -r0 removal on current ver to stop people from complaining about it. More info added to 'emerge info' output. 02 Jan 2003; Nicholas Jones portage.py: Spaces in filenames fix for prelink-capable systems. Exception caused by invalid or unsatisfiable '||' dependancies caught and warned about. auxdbkey order fix. dbcachedir now ensures a '/' before the cache dir. 02 Jan 2003; Nicholas Jones prep*: Fixes from Azarah to make the included files more proper. 26 Dec 2002; Phil Bordelon man/emerge.1: Added documentation of the --deep option. *portage-2.0.46-r5 (30 Dec 2002): Touchups and sparc confs 30 Dec 2002; Nicholas Jones *: fix for prelink unmerge problems. small touches to outputs. sparc configs added. Azarah's fixups for the prep* scripts. Changes to 'emerge info' output. tbz2 prefixes PKGDIR/All if the tbz2 doesn't exist in the current dir. *portage-2.0.46-r3 (24 Dec 2002): Backport of fixes in 2.0.47_pre2 *portage-2.0.47_pre2 (24 Dec 2002): Feature: userpriv compiles Tokenizer fixup courtasy of Evgeny Roubinchtein. unalias -a in ebuild.sh. Moved the help() to emergehelp.py. prepallman fixup for missed symlinks. More info provided for portage-user-missing message. FEATURES=sandboxuser not provides sandbox in compile phase along with userpriv. mtimedb exception should actually be caught now. *portage-2.0.47_pre1 (21 Dec 2002): Feature: userpriv compiles 21 Dec 2002; Nicholas Jones *: ebuild.sh: portage user setup. dyn_setup is always run before calls to unpack,compile,install. emerge: infodirs cleanup, traceback on invalid dir fix. Proper regen on info change. portage.py: uid/gid discovery and check code. PRELINK_PATH and PRELINK_PATH_MASK added and renamed. Made HOME set to BUILD_PREFIX when HOME is unset. Patched in UserPriv compile code and checks and complaints to ensure smooth integration. Reorganized chown calls to ensure things get set right for userpriv and not. Sandbox: UID check to prevent non-root errors patched in. *portage-2.0.46-r2 (18 Dec 2002): Feature Stable Release Prelink + Bug Fixes 18 Dec 2002; Nicholas Jones portage.py, emerge: Traceback fix for blocking packages in the restart check in emerge. Added missing import for commands in portage.py. *portage-2.0.46 (18 Dec 2002): Feature Stable Release Prelink + Bug Fixes 18 Dec 2002; Nicholas Jones portage.py: PRELINK_MASK adds ignore paths for prelink.conf. Error message adjustments for appearance/readability. auxdbkey changes. 18 Dec 2002; Nicholas Jones emerge: --changelog displays changelogs of packages on update. gcc version fix for --version. Missing indent in masked output corrected. Some color additions. Prelink code removed -- Users can do it instead. 18 Dec 2002; Nicholas Jones ebuild.sh: use_{enable,with}() work now. Rearranged auxdbkeys again. 17 Dec 2002; Martin Schlemmer bin/ebuild.sh: Regenerate /lib/cpp and /usr/bin/cc in pkg_setup if they are not files to ease the broken pkg_postrm() some gcc have. *portage-2.0.46_pre2 (15 Dec 2002): Feature Prerelease: prelink 15 Dec 2002; Nicholas Jones emerge/portage.py: Fixups. PRELINK_MASK code. 'prelink -af' in post_emerge(). 15 Dec 2002; Mark Guertin cnf.make.conf.ppc: updated incorrect CFLAG option and appended -mabi=altivec info *portage-2.0.46_pre1 (15 Dec 2002): Feature Prerelease: prelink 15 Dec 2002; Nicholas Jones portage.py: Counter fixups. Prelink code. 15 Dec 2002; Nicholas Jones bin/f*: Made them loop over multiple files instead of just doing one. 13 Dec 2002; Nicholas Jones emerge/portage.py: Added disabled prelink code. Needs a little more work. Gave portage the ability to restart on upgrades to the portage version. Ebuilds for prior versions will intentionally die on upgrade. USE=build disables it so bootstrap isn't affected. *portage-2.0.45-r5 (13 Dec 2002): Feature addition: PDEPEND+fixes 13 Dec 2002; Nicholas Jones emerge/portage.py: Added restart on portage upgrade code and adjusted ebuild to accomplish this until version matches -r5. *portage-2.0.45-r4 (11 Dec 2002): Feature addition: PDEPEND 11 Dec 2002; Nicholas Jones ebuild.sh/portage.py: Added [CDEPEND, PDEPEND, REBUILD] to auxdbkeys and updated ebuild.sh. Prevented autoclean on fetchonly. 11 Dec 2002; Nicholas Jones emerge: Added support for PDEPEND. Rewrote some dep handling variables for readability and ease of use. *portage-2.0.45-r3 (09 Dec 2002): Touchups. 09 Dec 2002; Nicholas Jones ebuild.sh: Fixed use_enable() and use_with() so that they actually work -- also don't have to specify 2nd parameter, 1st is assumed. 09 Dec 2002; Nicholas Jones emerge: Added previous version/downgrade messages to --pretend. Extra message to notify of dep calculation failure as bad deps can exit portage without error. 09 Dec 2002; Nicholas Jones portage.py: Attempt at fixing the sandbox-crashes-missing-HOME bug. Added a try/catch around the virts/'del x' code to prevent tracebacks on boxes without a virtuals file. 06 Dec 2002; Nicholas Jones emerge: Fixed 'xfrom' variable-used-before-assignment message on masked ebuilds. 06 Dec 2002; Nicholas Jones portage.py: Disabled writes to DBs when sandbox is enabled. 03 Dec 2002; Nicholas Jones portage.py: Fixed a nice bug where python was writing 'L' at the end of long() types for mtimes. *portage-2.0.45 (02 Dec 2002): More bug fixes for stable. 02 Dec 2002; Nicholas Jones portage.py, output.py: Added several color options and functions to output.py. 'DO NOT EDIT' notices added to .env generated profile settings files. Touchups and nofetch() call for restricted fetches. Moved some file IO code for SLOTs into a try/catch. { mtimedb fixups. Eclass aux_get() error fix. aux_get() error fix via try/catch with magically-missing ebuild when doing stat on it. Enabled full eclass()/inherit code. Added code to flushmtimedb() entries by key name. } <-- aux_get() fixups. Made starttime into a long... time.time() is apparently overflowing int(). 02 Dec 2002; Nicholas Jones bin/*: prep*: Fixed missed man pages and corrected loops to be fairly complete in the included files. quickpkg: Loop to do each in $@ (Peter Sharp). 02 Dec 2002; Nicholas Jones emerge: Yank '++' from searches and make it '\+\+' so that it works. Reformated 'all ebuilds are masked' message to be a little more obvious. env_update() AFTER autoclean... not in autoclean -- Fixes ldconfig issues. Typo fixes. 02 Dec 2002; Nicholas Jones ebuild.sh: Added has(), general use()-like function -- 'has this_thing $VAR' returns shell true or false. Added has_version(), portage call to determine if a specified DEPEND-atom is installed -- 'has_version ">=mozilla-1.2"' returns shell true or false. Added best_version(), portage call to get the best/most-recently-merged version of a DEPEND-atom statement -- 'best_version ">=mozilla-1.0"' prints a string. pkg_nofetch() displays SRC_URIs by default on RESTRICT -- Can be redefined to display custom messages. die() on unpack() failure added. Courtasy of SpanKY: Added use_with() and use_enable() for --with-thing and --enable-thing. 'use_with gd libgd' would print --with-libgd if gd was in USE and --without-libgd if not. 19 Nov 2002; Martin Schlemmer cnf/etc-update.conf: Add 'menu' config item and note about it needing dev-utils/dialog, as a lot of users do not know about this nifty feature. 14 Nov 2002; Phil Bordelon man/emerge.1: Cleaned up the more recent edits to the man page to more closely match the previous format, fix various typos, and so on. Expanded the REPORTING BUGS section, and made the PACKAGE MASKING part of the NOTES a stand-alone section. *portage-2.0.44 (11 Nov 2002): bug fixes and 1.2 rescue/install setup 11 Nov 2002; Nicholas Jones *: bin/*: fixes for spaces-in-filename issues, lots of quotes added. conf/*: touched up comments and warning. Added RSYNC_RETRIES. ebuild.sh: exit now reports the failing ebuild's $CATEGORY/$PF. Added EXTRA_ECONF to econf(). emake: added EXTRA_EMAKE. emerge: RSYNC_RETRIES curtasy of Christopher Sharp. Random comment fixes. portage.py: Random touchups. KV extraction fixup for new ROOTs. ARCH missing in profile fix. Fix for packages/All missing dir traceback. INFOPATH/INFODIR fix. Added INFOPATH to specials. portage.py: Touchups to the mtimedb-touching code. Fixes for the broken os.path.normpath() leading '//' bug. Added a modified chuck of Phoen][x's dist size patch. 09 Nov 2002; Nicholas Jones portage.py: Fixups for KV. 08 Nov 2002; Nicholas Jones emerge: Fix for missing-glibc-bug in --version. 08 Nov 2002; Nicholas Jones portage.py: Fix for cfgdictfile traceback when ROOT != '/'. Fix for missing kernel headers -- checks usr/src/linux, then /usr/include, then if merging from sys-kernel ignore error. 07 Nov 2002; Nicholas Jones portage.py: Fix (part 2) for the USE="-*" arch-missing problem. 03 Nov 2002; Nicholas Jones portage.py: eclass() function uses a caching and cPickle storing method to determine currency of eclass-derived depcache entries. All previous methods are already removed. eclass_save() is called via store() now. Stripped some cruft from aux_get(). Error message touchups. 03 Nov 2002; Nicholas Jones emerge: A couple message touchups. 29 Oct 2002; Nicholas Jones emerge: Moved the autoclean section under the --pretend check so it doesn't flip out when running '-f'. Preliminary support for binary-only methods. --usepkgonly (implies --usepkg) to force errors is binaries don't exist. 27 Oct 2002; Daniel Robbins new*: changed "&&" to "||" to provide even better protection against mis-use of these commands. *portage-2.0.43 (27 Oct 2002): Bug fix release 27 Oct 2002; Nicholas Jones emerge: AUTOCLEAN="yes" on by default. Added in a clean phase after the merge phase so clashing library versions do not remain installed when ldconfig is run. This should close up the symlinks-being-removed bugs. 27 Oct 2002; Nicholas Jones cnf/*: Miscelaneous typo fixes. Added PORTDIR_OVERLAY description in make.conf. 26 Oct 2002; J Robert Ray portage.py: Don't act like the download failed if after successfully downloading a file its size doesn't match the file size in the digest. Treat this as a mismatched digest condition instead. 26 Oct 2002; Nicholas Jones portage.py: Reversed the defaults on env_update() so it does a full ldconfig instead of a non-symlink ldconfig. Fixed the typo in the 'invalid conf' notices. *portage-2.0.42 (24 Oct 2002): Bug fix release 24 Oct 2002; Nicholas Jones make.defaults.5: Removed this file. It is horribly out of date and completely wrong to boot. Users shouldn't be modifying the 3 lines in this file anyway. They are obvious if you understand conf and defaults. 24 Oct 2002; Nicholas Jones emerge: Added missing return statements to select_dep() that caused unmet packages to be ignored. Touchups to 'emerge info' and 'emerge --version' output. Added --delete to --delete-after so that it actually deletes in rsync. 24 Oct 2002; Nicholas Jones portage.py: Warning touchups. Replaced constants (9) to index("INHERITED"). 23 Oct 2002; Nicholas Jones bin/new*: Fix for "running as a root user" bug... code does 'rm -rf /' if variables aren't defined in environment... That's a bad thing. 23 Oct 2002; Nicholas Jones portage.py: Possible fix for the aux_get() issues and IUSE. 22 Oct 2002; Nicholas Jones portage.py: noauto got lost in some weird conflicts of .38, added it back. 22 Oct 2002; Nicholas Jones emerge: Primitive logging via emergelog(). countdown(N,str) function does N second countdowns of the action 'str'. Error messages on dependency traceback via try/except on select_dep(). Removed the 'unavailable' warning. Message updates. Added logging of basic actions to /var/log/emerge.log. Added package/to-go counter. 'emerge info' displays a number of useful variables that is good for bug reports. 22 Oct 2002; Nicholas Jones prepallstrip: Bug 9508, fix for MSB architectures strip. Previous check assumed only LSB objects could/should be stripped. (*LSB -> *SB) [Joky@#gentoo-sparc] *portage-2.0.41 (20 Oct 2002): Bug fix release 20 Oct 2002; Nicholas Jones portage.py: stickies=[] lists the variables that will be kept/used as sticky vars, not yet implimented. Fixed several relative symlink bugs by adding abssymlink() to portage to determine real/absolute targets. env_update() modified to fix bug 9308 symlinks bug. Bug 8348, request for error messages instead of tracebacks/dies on parse errors, now caught on a per file basis for system config files, includes descriptive messages. Fix for missing profile traceback in new prepend'd-arch code. Typo fixes in symlink code. DISABLED 'KEYWORD="" == available' code, DEFAULT IS MASKED NOW. Major update to masking code, CONFIG_PROTECT can be layered with _MASKs, and update_protect() now sets the self.protect* variables. Condensed and reordered the unmerge code, now checks existance, cfgprotect, then mtimes. 20 Oct 2002; Nicholas Jones emerge: Bug 8767: Added 'buildpkg' to FEATURES to specify always-buildpkg. Updated the --version output to display profile and gcc version. Bug 8083: Eliminate spinner when terminal is not a tty. Bug 7688: fixed search vs. searchdesc differences by adding 'cat/pack' split. Bug 9308: Symlinks were being killed by ldconfig, fixed by changing how/when ldconfig was allowed to set symlinks. rsync command touchups, --delete-after so that a failed rsync won't leave a user without/with-few packages in portage. More warnings to depclean. 20 Oct 2002; Nicholas Jones ebuild.sh: Added die to gzip in unpack() 20 Oct 2002; Nicholas Jones make.conf*: Added in useful variables and descriptions+warnings of their uses. 20 Oct 2002; Nicholas Jones make.globals*: Added in large "do not edit" message. 16 Oct 2002; Nicholas Jones portage.py: Fixed an mtimes issue. --update on a package might yank non-cfgprot files during the clean-phase because they didn't have mtimes updated. 15 Oct 2002; Nicholas Jones portage.py: Added 'IUSE' to the auxdbkey list. Fixed random aux_get() errors caused by random empty files in the dep cache. 15 Oct 2002; Nicholas Jones ebuild.sh Actually committed the --host portion of econf. 15 Oct 2002; Martin Schlemmer portage.py, missingos.c: Remove testsandbox.sh, and comment code in portage.py that still used it to no real use. Add another '\' to the 'missingos_mknod__doc__' string in src/python-missingos/missingos.c to fix failure with gcc-3.3. *portage-2.0.40 (13 Sep 2002): Bug fix release 15 Oct 2002; Nicholas Jones portage.py, emerge: emerge depclean -- Removes all packages that are not explicitly or dependency merged. 15 Oct 2002; Nicholas Jones ebuild.sh: depend now prints IUSE. Doesn't do anything with it yet. unpack() -- unzip silently overwrites files (). econf() -- now specifies '--host=${CHOST}' 15 Oct 2002; Nicholas Jones make.globals: Touch ups + warning. 15 Oct 2002; Brandon Low etc-update: Make etc-update find all the same CONFIG_PROTECT files as portage by importing it's settings from portage. *portage-2.0.39 (13 Sep 2002): Bug fix release 13 Oct 2002; Nicholas Jones portage.py: Bug 5926 -- If the fetchonly AND pretend flags are specified, then portage should give a list of all the SRC_URIs so that they can be downloaded or sent into another app. Made sandbox display name in 'ps' as '[$PF] sandbox'. 13 Oct 2002; Nicholas Jones emerge: Bug 5926 -- See portage.py for today. (emerge -pf) Typo fixes. 13 Oct 2002; Nicholas Jones ebuild.sh: Added -q to unzip to make it quiet like the others. Bug 6033 -- Fix for infinate loop in eclasses in portage overlay. 12 Oct 2002; Daniel Robbins portage.py: fix for doebuild() so that our rsync mirror will contain full digests and not just partial digests for x86. 12 Oct 2002; Nicholas Jones emerge: Added --progress to rsync. This puts the file progress meters back on. Users have requested this, and it's not detrimental. Just creates a lot of output, as the man page says: "It gives bored users something to look at." 12 Oct 2002; Nicholas Jones portage.py: Bug 6361 -- Added checking on directories to ensure that we can write to them before we try and traceback. Also added pieces to functions so that return conditions are propagated back to emerge so that it actually dies on errors. Message on condition details restart process. 11 Oct 2002; Nicholas Jones make*globals: Removed the tomcat configs from CONFIG_PROTECT 11 Oct 2002; Nicholas Jones doman: Bug 8208 -- Added flags and auto-location support for 'x' manpages. Added not-an-man-page message. 11 Oct 2002; Nicholas Jones dohtml: Bug 8208 -- Added 'js' to the include list, and added '-A' as an append flag. '-a' was a filter-down-to. 11 Oct 2002; Nicholas Jones portage.py: Bug 8964 -- Fix for read-only traceback in digestgen(). Bug 8949 -- Fix for read-only traceback in doebuild() Bug 8284 -- Prepend ARCH _after_ use order processing. Prevents -* from killing the ARCH flag. Bug 7596 -- Set an mtime of 0 into CONTENTS if the file already exists on the FS. Allows the entry to be in the CONTENTS file. Condensed the protect/protect-mask code into one function in class dblink. Revised code to allow multi-level protects and masks. 10 Oct 2002; Nicholas Jones emerge: Bug 8552 -- typo fixes 10 Oct 2002; Mark Guertin cnf/make.conf.ppc : Fixed type in reccomended CFLAGS for generic ppc (was 02, corrected to O2) 09 Oct 2002; Nicholas Jones portage.py: Fixed a bug where files less than 2 characters in /etc/env.d weren't checked correctly, and tracebacked env_update() 07 Oct 2002; Martin Schlemmer ebuild.sh: Also set $TMP, as MDK among distros sets this, and it causes breakage during bootstrap. This should close bug #8101. 07 Oct 2002; Mark Guertin man/ebuild.5 : Updated the man page to include missing functions in portage 05 Oct 2002; Mark Guertin cnf/make.conf cnf/make.conf.ppc: Fixed typo (missing "/") in make.conf and make.conf.ppc, bug #7944 28 Sep 2002; Daniel Robbins ebuild.sh: remove deprecated "ld.so" from newdepend. *portage-2.0.38 (25 Sep 2002): Bug fix release 25 Sep 2002; Daniel Robbins emerge: now "emerge world" and "emerge system" don't replace packages. This closes bug #8282. 21 Sep 2002; Daniel Robbins portage-2.0.38.ebuild: Added additional perm check for /var/cache/edb/dep dirs and fixed perm settings in the ebuild's pkg_postinst(); this should close bug #7719. 21 Sep 2002; Daniel Robbins portage.py: Added carpaski's patch to add PF to the sandbox's argv[0], closing bug #8141. 19 Sep 2002; Daniel Robbins emerge: tweaked emerge so that "--pretend" displays don't show "N" all the time. 19 Sep 2002; Daniel Robbins ebuild.sh: tweaked help to not list deprecated options. 25 Sep 2002; Maik Schreiber cnf/make.globals, cnf/make.globals.ppc: Added /opt/jakarta/tomcat/conf to CONFIG_PROTECT. Note by drobbins: this will be removed soon when this gets moved to an /etc/env.d file in the tomcat package. *portage-2.0.37 (19 Sep 2002): Gentoo Linux 1.4_rc1 version 10 Sep 2002; Mark Guertin cnf/make.conf.ppc : Backed down CFLAGS from -O3 to -O2 on ppc as -O3 has proven to be unreliable on all PowerPC-based machines 09 Sep 2002; Daniel Robbins emerge: new parameterized create() engine, security pass fixes ("emerge" as non-root doesn't print "root access required" but shows help instead), emerge --pretend output fixes ("to /" lines are dropped and only displayed if installation root != "/".) New (and currently unofficial and undocumented) "--deep" and "--selective" options that correspond to their respective create() parameters. Using "--deep" will enable "deep emerging" -- updating all deps even if the parent doesn't need updating. The new parametrized create() is also much cleaner than the previous incarnation. 09 Sep 2002; Daniel Robbins portage.py: os.chdir() -> chdir() fix, enhanced fetch() digest corruption handling. 06 Sep 2002; Mark Guertin cnf/make.globals.ppc : Updated make.globals.ppc to reflect new CFLAGS for 1.4 release *portage-2.0.36 (04 Sep 2002): Gentoo Linux 1.4_rc1 version 04 Sep 2002; Daniel Robbins emerge: "--onlydeps" was mostly broken since the most recent emerge code restructure. Now fixed, closing bug #7442. 04 Sep 2002: Daniel Robbins etc-update.conf: added missing etc-update config file. 04 Sep 2002: Daniel Robbins portage.py: removed error detection based on return value for pkg_preinst() and friends when called from merge() and unmerge(), since the value can be unreliable due to the && shell construct, depmod -a returning a non-zero value, etc. Also fixed env_update() to treat CONFIG_PROTECT and CONFIG_PROTECT_MASK correctly. *portage-2.0.35 (03 Sep 2002) 03 Sep 2002: Daniel Robbins etc-update, man/etc-update.1: new program for updating config files. 03 Sep 2002; Daniel Robbins ebuild.sh: upgraded inherit() to support $PORTDIR_OVERLAY, closing bug #6033. 03 Sep 2002; Daniel Robbins emerge: calls to "cvs" now use "-z3" compression option, closing bug #5982. 03 Sep 2002; Daniel Robbins ebuild.sh: symlinks to .tbz2's in the $PKGDIR/All directory (from $PKGDIR/$CATEGORY) are now relative, closing bug #6881. 03 Sep 2002; Daniel Robbins ebuild.sh: einstall now sees "GNUmakefile", closing bug #4895. 03 Sep 2002; Daniel Robbins ebuild.sh: typo fixes, closing bug #7263. 03 Sep 2002; Daniel Robbins portage.py: /var/tmp creation now works even if /tmp already exists, closing bug #7376. 02 Sep 2002; Daniel Robbins emerge: fixed a logic error that resulted in non-root emerge failure. This closes bug #7389. *portage-2.0.34 (01 Sep 2002) 01 Sep 2002; Daniel Robbins : portage.py, ebuild.sh: Azarah's ebuildsh() removed, various other little fixes like pkg_preinst and friends not dying on non-zero return codes. 01 Sep 2002; Martin Schlemmer ebuild.sh: add a custom version of the esyslog() function to fix the "Red Star" bug if no logger is running. *portage-2.0.33_p1 (30 Aug 2002): urgent fix 31 Aug 2002; Dan Armak ebuild.sh: comment out the if clause that only executed inherit() conditional on $PORTAGE_RESTORE_ENV. It didn't work and broke portage 2.0.33 as far as inheriting ebuilds goes. *portage-2.0.33 (30 Aug 2002) 30 Aug 2002; Daniel Robbins : some additional clean-ups for the make.conf(.ppc) files. 30 Aug 2002; Daniel Robbins emerge: emerge search would die when aux_get() raised a KeyError; we now catch and handle this exception. This closes bug #7280. 29 Aug 2002; Daniel Robbins portage.py: fixed typo in move_ent() code that messed up moving packages into previously non-existant category directories in /var/db/pkg. 30 Aug 2002; Mark Guertin cnf/make.conf.ppc : Updated cnf/make.conf.ppc with new CFLAGS for 1.4 release *portage-2.0.32 (29 Aug 2002) 29 Aug 2002; Daniel Robbins emerge: favorites weren't working since 2.0.30; they're working again now. This closes bug #7225. 29 Aug 2002; Phil Bordelon emerge.1: Added a small blurb regarding what to do when emerge --update [world|system] fails because of new features such as || and ?. Hopefully this will assuage the fairly common questions regarding this. *portage-2.0.31 (29 Aug 2002) 28 Aug 2002; Daniel Robbins portage.py: fixed a config file protection logic bug detected and identified by Azarah. It basically broke most config file updates and has been broken for around six months. Very surprised no one had encountered this issue before. 28 Aug 2002; Daniel Robbins emerge: improved error messages when an unsatisfiable dependency is encountered. Now lets you know if there are masked packages that would satisfy the dep. 28 Aug 2002; Daniel Robbins emerge: emerging .tbz2 packages and .ebuilds by name now works; this was broken in 2.0.30. *portage-2.0.30 (28 Aug 2002) 28 Aug 2002; Daniel Robbins portage.py, emerge: rewrote gettimeval() as cpv_counter() and updated it to handle corrupt COUNTER files, closing bug #6763. 28 Aug 2002; Daniel Robbins emerge: "emerge search" now displays information for masked packages if possible, closing bug #6823. 28 Aug 2002; Daniel Robbins emerge: fixed an old gbevin bug where "emerge search" wouldn't show packages whose version string was only one character long, ie. "foo-3". This closes bug #6800. 28 Aug 2002; Daniel Robbins portage.py: added a missing call to flatten() in dep_check(), allowing recursive sublists in dependencies and SRC_URI variables to work; this closes bugs #7104, #7116, #7122. 28 Aug 2002; Daniel Robbins doman: fixed some typos, closing bug #7152. 28 Aug 2002; Daniel Robbins portage.py, emerge: major work to emerge: reworked the internal code organization to make depgraph code easier to understand; unified two code paths so that ebuild/.tbz2 choices when "--usepkg" should now be eternally consistent; tweaked portage.py so that dep_expand()'s dbapi argument is optional. In the process of all this, isolated and fixed bug #4508. 27 Aug 2002; Martin Schlemmer portage.py: if the dep cache is stale, it is possible that aux_get() will call doebuild(depend) to regenerate it again. This call will cause $T to be set to "", which will break anything that needs $T to be set to a writable location inside the sandbox, so we need to set $T to a valid value again. 27 Aug 2002; Daniel Robbins portage.py: improved error handling/detection of bad pkgsplit() and catpkgsplit() calls; should close bug #6803, #6853. 26 Aug 2002; Daniel Robbins emerge: fix so that "emerge prune rsync" doesn't complain that you are trying to rsync and prune at the same time. This closes bug #6785. 26 Aug 2002; Daniel Robbins doman fixes; should work for pre-gzipped man-pages and man-pages with multiple "."s in their name. Closes bugs #6770, #6917 25 Aug 2002; Martin Schlemmer emerge: fixed an indentation problem of the 'else:' at line 1304. 20 Aug 2002; Daniel Robbins emerge: removed stray "DEBUG:" output, closing bug #6732. *portage-2.0.29 (18 Aug 2002) 18 Aug 2002; Daniel Robbins emerge, portage.py, ebuild.sh: making some effort to make output cleaner and less cluttered, particularly with error handling. 18 Aug 2002; Daniel Robbins emerge: updated so that "emerge --inject foo-1.0" fails instead of injecting "null/foo-1.0"; fixed error in help; "emerge --inject" and "emerge" with no specified files or package classes prints out a small warning and exits. Closes bug #6353. 18 Aug 2002; Daniel Robbins portage.py: movefile() didn't like bind mounts due to a peculiar quality -- according to their ST_DEV stat() information, they are on the same filesystem, so rename() should work, but it doesn't. We now fall back to copy if rename() doesn't work. Closes bug #6468. 18 Aug 2002; Daniel Robbins ebuild.sh: made significant enhancements and fixes to ebuild.sh's error-handling code. Errors in src_unpack(), src_compile(), src_install() and others should now be correctly detected. Also downgraded our use() function since we are not implementing extended USE functionality. Closes bug #6393. 18 Aug 2002; Daniel Robbins portage.py: portdb's cp_all() now skips "CVS" directories, closing bug #6662. 18 Aug 2002; Daniel Robbins portage.py: aux_get(): exception handler to print informative message when encountering wacky cache entries that we just can't fix (for some reason.) 17 Aug 2002; Daniel Robbins ebuild.sh: removed deprecated "ld.so" dependency from Dan Armak's newdepend() function. 17 Aug 2002; Daniel Robbins portage.py: doebuild() running in "depend" mode will set $T to "" to prevent a parent's $T from being inherited; this is important when we run custom portage code from inside an ebuild (such as pkg_postinst)... it allows dep caching to not break. Closes bug #6484. *portage-2.0.28 (17 Aug 2002) 16 Aug 2002; Daniel Robbins emerge: return errors when two actions like "world" and "system" are specified on the command-line, or when "system" or "world" are combined with package names. Closes bug #6492. 16 Aug 2002; Daniel Robbins portage.py: bad string was causing pkg_prerm() and pkg_postrm() to not be called; now fixed. This closes bug #6493. 16 Aug 2002; Daniel Robbins emerge: now calls env-update() after an unmerge() run (to fix library paths, links, etc.) Closes bug #6511. 16 Aug 2002; Daniel Robbins doman: now handles already- gzipped man pages correctly, closing bug #6544. 16 Aug 2002; Daniel Robbins emerge: fixed a bug where a dep specified on the command-line with --usepkg would use an old package if it happened to match the dep. Now, it will use the ebuild instead, just like how deps of deps are treated. *portage-2.0.27 (06 Aug 2002) 07 Aug 2002; Daniel Robbins portage.py: removed some beta extended USE functionality to speed up regenerate(); as we are likely not going to need extended USE for a good while. 07 Aug 2002; Daniel Robbins portage.py: ebuild.sh now supports "config" (pkg_config) again. 06 Aug 2002; Dan Armak ebuild.sh: change debug-print() to exit if $T is not defined, i.e. if emerge is running in dependency detection mode and isn't actually emerging everything. This fixes bug #4932 (the "eclass-debug.log is created in /" problem). 06 Aug 2002; Nicholas Jones ebuild.sh: Fixed a case-check problem that prevented tar.Z from being un-tar'd. This closes bug #6126. 06 Aug 2002; Martin Schlemmer portage.py, ebuild.sh: Remove "setup" from 'sandboxactive' in portage.py, as we are not running pkg_setup() in a sandbox anymore. Move the restoring of the old env code to be the first thing in ebuild.sh, just to ensure we dont mess anything up when greping/awking during saving it. *portage-2.0.26 (06 Aug 2002) 06 Aug 2002; Daniel Robbins portage.py: on unmerge, entries are now removed from the world file if 1) the dependency refers to the cat/pkg being unmerged, and 2) the dependency matches the current version being unmerged, and 3) unmerging this package will leave no other packages on this system that will match this world entry. This closes bug #3409. 06 Aug 2002; Daniel Robbins portage.py: new global update support. You can now add an entry to a file in /usr/portage/profiles/updates/, something like "move x11-base/xfree x11-base/xfree86". Portage will then update the /var/db/pkg db on user's boxes so that any xfree packages are renamed to xfree86; it will also update the world and virtuals files appropriately. We are naming the update files "3Q-2002", etc. -- for third quarter in 2002. This way, we don't bog Portage down by having it run through all our directives. It will only look at update files whose mtimes have changed. Closes bug #4753, #5463, 06 Aug 2002; Daniel Robbins ebuild.sh: tweaked Azarah's environment-saving patch to not be enabled when $T is not defined -- this closes bug #6070 and should speed up dep calculations too. Also tweaked ebuild.sh so that pkg_setup() is run *outside* of the sandbox. This is important because piping stuff around tends to require temp files to be created; pkg_setup() being in the sandbox prevents this from happening. 06 Aug 2002; Martin Schlemmer ebuild.sh : Unset esave_ebuild_env in esave_ebuild_env(), otherwise the sourced copy messes saving of the environment. 05 Aug 2002; Phil Bordelon emerge.1: Updated the man page to match the current version of 2.0.25. 05 Aug 2002; Phil Bordelon emerge.1: Updated the man page to match the current version of 2.0.25. *portage-2.0.25 (05 Aug 2002) 05 Aug 2002; Daniel Robbins src/sandbox/Makefile: removed -march=i386 added in Azarah's patch; breaks things for PPC, Sparc. 05 Aug 2002; Daniel Robbins emerge: logic error fix for description searching, closing bug #6031. *portage-2.0.24 (04 Aug 2002) 04 Aug 2002; Daniel Robbins output.py, emerge: rewrote our output.py module (it was weird) and tweaked emerge so that colorization will be disabled if NOCOLOR is set to "yes" or "true" *or* if sys.stdout isn't a tty. This means that if you pipe things to "less", colorization will get automatically disabled. Yay! This closes bug #5714, 04 Aug 2002; Daniel Robbins ebuild.sh: default src_compile now properly uses "die" instead of "return 1." This closes bug #2981. 04 Aug 2002; Daniel Robbins portage.py: "=foo/bar-1.0*" now matches "foo/bar-1.0_{alpha|beta|pre|rc}{int}" but not "foo/bar-1.1_{alpha_beta_pre_rc}{int}". This closes bug #5874; gcc-3.2_pre is now considered a "3.2" rather than a very late "3.1" when doing "*" matching. 04 Aug 2002; Daniel Robbins ebuild.sh: Applied carpaski's patch to allow "unpack" to also handle regular .gz or .bz2 files; in which case the unpacked files are placed directly in ${WORKDIR}. Closing bug #5867. 04 Aug 2002; Daniel Robbins portage.py: tweaked exithandler() to only do its sandbox clean-up if we happen to be the root user. Closes bug #5859. 04 Aug 2002; Daniel Robbins emerge: search now lists masked packages correctly. Closes bug #5854 (pending QA verification.) 04 Aug 2002; Phil Bordelon emerge.1: The emerge man page now reflects the fact that emerge sync|rsync always does a --clean now. Also bumped the release number to 2.0.23. 03 Aug 2002; Martin Schlemmer portage.py, emerge.sh, sandbox.c libsandbox.c: Updated sandbox.c and libsandbox.c to use an internal env variable, $SANDBOX_ACTIVE to determine if sandbox should really be active or not. With it only checking $SANDBOX_ON, some instances NOT running in a sandbox, but that set SANDBOX_ON while an actual sandbox was running, caused the sandbox to activate for this process. Added in support for a more phased calls to ebuild.sh again. This is this time done with support to save the current environment of ebuild.sh to the next call that should handle problems with pkg_setup() setting env variables. Closes bugs #5853, #5817, #5950. *portage-2.0.23 (01 Aug 2002) 01 Aug 2002; Daniel Robbins portage.py: ${ROOT}var/cache/edb and friends will get created if they don't exist, closing bug #5813. 01 Aug 2002; Daniel Robbins emerge: rewrote the emerge search code, making it fully API-compliant and much more streamlined and compact. This rewrite should fix the problem where emerge search doesn't support Portage overlays (bug #5783.) 31 Jul 2002; Phil Bordelon emerge.1: Documented the fact that emerge clean does not remove unslotted ebuilds. Bumped the man page revision number to 2.0.22. *portage-2.0.22 (29 Jul 2002) 29 Jul 2002; Daniel Robbins portage.py: fetch() didn't handle resuming downloads properly when the first attempt aborted prematurely. The fall back to the alternate location would not resume the download. This should now be fixed. Closes bug #5655. 29 Jul 2002; Daniel Robbins portage.py, ebuild.sh: I had some code in spawn() from one of Azarah's patches that I forgot to remove; it caused the sandbox to be disabled all the time. I removed this code, and then I tweaked ebuild.sh so that the sandbox runs in a "deny by default" configuration. Before, you could add lines to the main ebuild (outside of a function) and it would bypass the sandbox; no more. Closes bugs #5740, #5744. 29 Jul 2002; Daniel Robbins emerge: --help and --version now work for non-root users as they should. --clean has been deprecated. This closes bug #5658. *portage-2.0.21 (28 Jul 2002) 28 Jul 2002; Daniel Robbins portage.py, emerge: Added beta "Portage tree overlay" support. By setting PORTDIR_OVERLAY to point to a local directory tree, you can cause Portage to look for ebuilds in PORTDIR_OVERLAY first before consulting the regular PORTDIR. Using this feature, it's possible to have your PORTDIR set up to rsync but still be able to have locally-created ebuilds in your PORTDIR_OVERLAY tree. For example, you would place your ebuild in PORTDIR_OVERLAY/sys-apps/foo/. 27 Jul 2002; Daniel Robbins portage.py: another dep_opconvert() USE-handling bug-fix. Working OK for Azarah now. 27 Jul 2002; Daniel Robbins portage.py: small logic error fix in dep_opconvert() to fix up USE handling. 27 Jul 2002; Daniel Robbins emerge: security modes now work correctly; root access now required for merging. The new security pass code was missing a check that is now present. *portage-2.0.20 (27 Jul 2002) 27 Jul 2002; Daniel Robbins portage.py, emerge, repoman: Rewrote a good deal of our dependency-checking code, including all of dep_opconvert(). Results? repoman will now auto-enable all USE variables (even ! use variables will get enabled) resulting in thorough checks of all specified dependencies. DEPEND="foo? bar : oni" and DEPEND="foo? ( bar oni ) : ( meep barf )" now works correctly. DEPEND="|| ( foo bar oni )" now works correctly and will try to satisfy "foo" (the first package) if none are installed. DEPEND="!foo? ( bar )" now works correctly; it was not working before. This should generally mean that our dependency system is now working as expected. 27 Jul 2002; Daniel Robbins portage.py: changed counter_tick() method so that bulk of code is in the counter_tick_code() helper function; then created a new method for fakedbapi that calls counter_tick(). This fixes "--emptytree" issues with emerge, since emerge still expects counter_tick() to exist as a method. 27 Jul 2002; Daniel Robbins portage.py, emerge: removed a DEBUG: print and a stray "raise IndexError" that I used for debugging. *portage-2.0.19 (26 Jul 2002) 26 Jul 2002; Daniel Robbins portage.py: Portage is now eclass-friendly when it comes to regenerating cache entries. This closes bug #4843. 26 Jul 2002; Daniel Robbins portage.py, emerge: Closed bug #5524. Packages "emerge inject"ed will no longer get auto-cleaned indiscriminantly. Injected packages now have an official COUNTER so that emerge clean doesn't get confused and schedule the package for removal. Also modularized and improved the counter-handling functions and changed the counter update method so that systems with XFS filesystems that die unexpectedly will no longer get corrupted COUNTER files. This should solve the an entire class of "my counter is corrupt" issues for XFS users. 26 Jul 2002; Daniel Robbins portage.py: added exception handler to getcontents() so that it will gracefully ignore (with a warning) corrupt CONTENTS file lines. This closes bug #5464. 26 Jul 2002; Daniel Robbins emerge: fixed a single-line indentation error that resulted in "emerge clean" ignoring some files. This closes bug #5597,#4364. 25 Jul 2002; Daniel Robbins emerge: --noreplace is now off by default and works again; --onlydeps appears to be working again; and merge() will merge things as specified in display(), which was not the case before (I rolled 2.0.18 before fixing a few things I forgot about) *portage-2.0.18 (25 Jul 2002) 25 Jul 2002; Daniel Robbins portage.py: Close bug #5580; pkg_setup() now gets called during all build-related stages. 24 Jul 2002; Daniel Robbins portage.py, emerge: rewrote create() function, closing bug #5469. Also added freeze() and melt() methods to portdbapi to enhance performance. create() is now extensively commented and even understandable. 24 Jul 2002; Daniel Robbins emerge: the "rsync --clean" option has been deprecated. Cleaning is now on by default, closing bug #5527. 24 Jul 2002; Daniel Robbins portage.py, make.globals: It should now be safe to do what Spider did in the gconf ebuild and add CONFIG_PROTECT and CONFIG_PROTECT_MASK to /etc/env.d entries. Both variables are now incremental, just like USE, and you can use "-path" to turn a path off, or add CONFIG_PROTECT{_MASK}="path" to *add* a path to the list (this will not overwrite "parent" settings. Also added "/etc/env.d/" to CONFIG_PROTECT_MASK in /etc/make.globals. Also, very importantly, /etc/env.d is now hard-coded into CONFIG_PROTECT_MASK as it was in earlier versions of Portage and cannot be removed. 24 Jul 2002: Daniel Robbins emerge, portage.py: two fixes; first, I removed xcache.p support from portage.py. The code was designed based on the false theory that directory mtimes are updated whenever an object inside that directory is modified. That is not the case -- it happens when the directory listing itself changes. Also fixed overly verbose emerge merging error. 23 Jul 2002; Phil Bordelon emerge.1: Updated the man page to match some changes in the latest version of portage, along with some fixes recommended by drobbins. *portage-2.0.17 (23 Jul 2002) 23 Jul 2002; Daniel Robbins portage.py: fixed a bug pointed out by trance -- dep_nomatch() was still using the old (deleted) match() function. Now it's using a new match() method. *portage-2.0.16 (22 Jul 2002) 22 Jul 2002; Daniel Robbins portage.py: changed xcache behavior so that the cache gets totally thrown away when the masks are updated. Also revamped carpaski's code so we can avoid loading xcache from disk if we simply plan to throw it away. This necessitated the creation of a new file in /var/cache/edb: mtimes. This file stores mtimes for various important filesystem objects. Also added support to not regenerate the GNU info directory index if the mtime on /usr/share/info has not changed since previous invocation. 22 Jul 2002; Daniel Robbins portage.py, emerge: moved security handling code from emerge to portage.py; also moved group "wheel" check to portage.py. Added additional security checks and permissions fixes to the cache handling functions. 22 Jul 2002: Daniel Robbins emerge: fixed a bug reported by woodchip related to merging packages. When using --usepkg, a package wouldn't be used if there was a newer unmasked version of the ebuild available, even if the package in question was the right selection. 22 Jul 2002; Daniel Robbins emerge: fixed create() code and consolidated some functions. My goal is to simplify the emerge code until it's clean, at which point we can begin adding new features to emerge like more SLOT-friendly decision making. 22 Jul 2002; Daniel Robbins portage.py: was able to remove 130 or so lines of code by depreciating the match() function (replaced by the match2() method.) I also rennovated the binarytree code to take advantage of fakedbapi. 22 Jul 2002; Nicholas Jones portage.py: added the xcache.p fix and updated the version to 2.0.16pre (from 2.0.12) -- Also added in a try/except inside the store() (atexit) for xcache.p to give hints instead of tracebacks. 22 Jul 2002; Nicholas Jones emerge: added the description searching code and added a spinner to the search. 21 Jul 2002; Phil Bordelon emerge.1: Finished the rewrite of the emerge man page. 21 Jul 2002; Phil Bordelon emerge: Readded the sync help to the list of help options now that emerge --help sync works again. *portage-2.0.15 (16 Jul 2002) 15 Jul 2002; Daniel Robbins emake: no longer falls back to plain old "make" if parallel make fails. I believe it's best to fix the problem (turn parallel make off in the ebuild) rather than tweak emake to avoid it. 15 Jul 2002; Daniel Robbins emerge: rewrote some code, cleaning things up and removing redundant functions. Starting to de-cruftify. 15 Jul 2002; Daniel Robbins emerge: fix for permissions when updating the cache using server-generated entries. *portage-2.0.14 (15 Jul 2002) 15 Jul 2002; Daniel Robbins ebuild.sh: ccache bug fix; removed extra "!". Ccache should now get enabled properly. Also, INHERITED variable is now getting added to the dep cache entries for future eclass-friendly caching. 15 Jul 2002: Daniel Robbins portage.py: Portage now *persistently* caches xmatch() calculations. This appears to speed things up but we will need to limit the size of the new xcache.p in future versions of Portage. 15 Jul 2002; Daniel Robbins portage.py, emerge: Portage now has keyword-based masking enabled. It also has server-side caching enabled to eliminate "emerge pre-Calculating dependencies... delay" for end-users. There is now an undocumented "regen" option for emerge that tells Portage to ensure that all entries in /var/cache/edb/dep are up-to-date. This is intended mainly for developers, as the server-side caching feature should ensure that all dep cache entries are up-to-date for end-users. 15 Jul 2002; Daniel Robbins repoman: repoman now checks for ebuilds that generate output as well as ebuilds that return a non-zero error code when sourced. For this test to detect all failures, you need to wipe out your /var/cache/edb/dep/* before running repoman. This design quirk is necessary to preserve existing emerge behavior. 13 Jul 2002: Daniel Robbins portage.py: Removed Azarah's ebuildsh() function as it breaks pkg_setup() again. pkg_setup() needs to be called as part of the same process as any other ebuil.sh command so that environment vars set in pkg_setup() are preserved through the rest of the build process. 13 Jul 2002; Daniel Robbins portage.py: changed calling convention for doebuild("depend"). 13 Jul 2002; Daniel Robbins ebuild.sh: removed erroneous "local dbkeys" that was outside of a function. This fixes some cache update problems. Added INHERIT to our cache entries so we can correctly update the cache for eclass ebuilds. 12 Jul 2002; Dan Armak make.globals, make.globals.ppc: remove default KDE2DIR, KDE3DIR settings and comments. The kde eclasses will now handle the case where they are not defined. This will be used with kde 3.1 and later, and the difference between their default value and them not being defined is important. *portage-2.0.13 (11 Jul 2002) 11 Jul 2002; Daniel Robbins tarball.sh: our tarball script didn't clean the src/sandbox directory before creating our distribution tarball. This resulted in src/sandbox/sandbox (the executable) being distributed, and the "make" in the ebuild thinking everything was up-to-date. The result? Everyone in the world got a sandbox compiled with gcc 3.1. This has been fixed, closing bug #4867, #4851. 10 Jul 2002; Daniel Robbins portage.py: removed some bogus code that snuck in. pkg_setup() is no longer called when installing a tbz2. All tbz2 stuff should be done in pkg_pre/postinst(). *portage-2.0.12 (10 Jul 2002) 10 Jul 2002; Daniel Robbins ccache support is now controlled via a "ccache" FEATURES variable, which is enabled in make.globals my default. ccache support can now be turned off by adding a FEATURES="-ccache" to /etc/make.conf. Also, CCACHE_DIR correctly detected and utilized. 10 Jul 2002; Daniel Robbins emerge: "emerge --help rsync" now works correctly and displays rync help rather than rsyncing. This closes bug #4438, #4629. 10 Jul 2002; Daniel Robbins portage.py: Portage now prints a friendly error if PORTAGE_TMPDIR doesn't exist or is not a directory. This effectively closes bug #4360. 10 Jul 2002; Daniel Robbins emerge: the "inject", "sync" and "rsync" actions no longer allow "--pretend" or "-p" to be specified. This closes bug #4352. 10 Jul 2002; Daniel Robbins sandbox.c: use realpath() to expand the PORTAGE_TMPDIR, /var/tmp, /tmp paths. This allows write access to these directories even if /var or /var/tmp is a symlink, for example. Without this fix, access to these directories will be denied by the sandbox, creating a bunch of problems. Closes bugs #4256, #2379, #4625, #2931, #4829. 10 Jul 2002; Daniel Robbins megadigest, megadownload, megatouch, pkgsearch: removed from the bin/ directory; deprecated. 10 Jul 2002; Daniel Robbins emerge, quickpkg: remove hard-coded references to "/usr/portage" in "emerge search", quickpkg. Now correctly uses PORTDIR instead. Closes bug #4836. 10 Jul 2002; Daniel Robbins emerge: emerge now checks to see if the "wheel" group exists before running; if it doesn't, it exits with a polite error message. Closes bug #4736. 08 Jul 2002; Daniel Robbins portage.py: changed the unmerge() code so that it doesn't use mtimes to test whether a symlink should be unmerged, since mtimes and symlinks are weird partners. Instead, we save unmerging of our symlinks until the end of the code, and unmerge them only if their target no longer exists. This closes bug #4491. 08 Jul 2002; Daniel Robbins portage.py: check whether ebuild actually exists immediately before running pkg_postint() and pkg_preinst() from the dblink merge() method. Also change all PKG_TMPDIR references to PORTAGE_TMPDIR plus suffix, closing bug #4447, #4853. *portage-2.0.11 (07 Jul 2002) 07 Jul 2002; Daniel Robbins portage.py: rewrote portdbapi's xmatch() and visible() to fix significant bugs. Logic errors in both methods caused ~ deps to not work correctly. After the rewrite, dependency checking is now 44% faster. 07 Jul 2002; Daniel Robbins repoman, portage.py: Added new DEPEND and RDEPEND.badmasked categories to repoman. repoman now checks dependencies of masked packages using *all* ebuilds, rather than trying to match them against all visible ebuilds. DEPEND.bad and RDEPEND.bad (used to be ".unsolvable") now only tally visible ebuilds, not masked ones. *portage-2.0.10 (06 Jul 2002) 05 Jul 2002; Daniel Robbins portage.py, repoman: Added new capabilities to repoman -- the ability to detect unsolvable DEPEND and RDEPEND variables, missing DESCRIPTION, LICENSE, KEYWORDS and SLOT. Fixed repoman so that adding a comment with quotes in it doesn't break things. Added a few tiny extensions to portage.py to support the new repoman features. 03 Jul 2002; Martin Schlemmer ebuild.sh: some ebuilds like gcc do not use $S to build the package in, and this causes generated .la files (libtool) to contain $WORKDIR in them. We thus export $WORKDIR in ebuild.sh as well, to go along with fixes to the libtool-portage patch. 02 Jul 2002; Daniel Robbins portage.py: pkg_setup() now gets called before a tbz2 is installed, and pkg_preinst() and postinst() get called at the right times as well. 01 Jul 2002; Phil Bordelon emerge: "emerge --help rsync" does an rsync instead of printing help. Until this is fixed, I removed it from the list of detailed help options. *portage-2.0.9 (01 Jul 2002) 01 Jul 2002; Daniel Robbins Added missing .match() method to portdbapi. 01 Jul 2002; Daniel Robbins portage.py: Added new operator for dependencies: DEPEND="foo? bar : oni" will use oni if foo isn't set. Added "||" support back after removing it from my working copy; looks ok. 29 Jun 2002; Daniel Robbins portage.py, make.globals, make.globals.ppc: internalized definitions of BUILDDIR and PKG_TMPDIR in order to make things work as expected when one sets PORTAGE_TMPDIR. The new config file var expansion algorithm made this change necessary. 29 Jun 2002; Daniel Robbins portage.py: fix doebuild() so that pkg_setup() gets called when a .tbz2 package is being built. This closes bug #3673. 29 Jun 2002; Daniel Robbins portage.py: tweaked the aux_get() code to automatically regenerate cache files if they have the incorrect number of entries. Added an additional fix to this code on 01 Jul 2002. 29 Jun 2002; Martin Schlemmer portage.py: merge in some of the missing ld.so.preload fixes again. 29 Jun 2002; Daniel Robbins portage.py: new version with highly-optimized dependency calculation caching, particularly for portdbapi. Includes new three-level caching portdbapi xmatch() method. 27 Jun 2002; Grant Goodyear ebuild.sh: Added keepdir() function so that it no longer has to be hardcoded in ebuilds. *portage-2.0.8 (27 Jun 2002) 27 Jun 2002; Daniel Robbins emerge: in an attempt to provide a predictable release of Portage, I'm reverting the "emerge --pretend" "fix" in Portage-2.0.6. It ignores custom USE settings when calculating child deps, which makes things tricky for users. We'll use the "expected" (old) behavior for now until we have a solution for this USE issue. 27 Jun 2002; Daniel Robbins portage.py: fixed handling of ! deps in match(), closing bug #4219. Thanks Spidler! 27 Jun 2002; Daniel Robbins portage.py: disabled USE regeneration on reset() for performance purposes. *portage-2.0.7 (26 Jun 2002) 26 Jun 2002; Daniel Robbins portage.py: add a friendly error handler for aux_get() so that flaky ebuilds don't cause it to trip up with a cryptic traceback; users will get a friendly error message instead. Also, temporarily disable keyword-based masking, since it currently slows down Portage by quite a bit since it causes a much greater set of ebuilds to be cached. *portage-2.0.6 (25 Jun 2002) 25 Jun 2002; Daniel Robbins portage.py: rewrote the config file code to make things more sane, consistent, and made infinite loops during variable expansion a thing of the past. This closes bug #3952. 25 Jun 2002; Daniel Robbins emerge, portage.py, ebuild.sh: "emerge --pretend" and "emerge search" now work for the root user as well as any users in the "wheel" group. emerge will now gracefully exit if "emerge search" is run by someone not in the "wheel" group. This closes bug #4121. 25 Jun 2002; Martin Schlemmer bin/{dolib.so,preplib.so}: Also change "strip --strip-unneeded" to "strip --strip-debug" for these. Look at bugs #2702,#3929,#4027 for more info. 25 Jun 2002; Daniel Robbins emerge: "emerge -u" now correctly scans dependencies of packages, even if they are up-to-date, to determine if any of their dependencies need updating. Previously, up-to-date packages were not scanned in this way, which was a bug. 24 Jun 2002; Daniel Robbins ebuild.sh: Portage will now automatically take advantage of ccache if the >=dev-util/ccache-1.9 ebuild is installed. Removing /var/cache/ccache hole in the sandbox. *portage-2.0.5 (24 Jun 2002) 23 Jun 2002; Daniel Robbins portage.py: basic keyword- based masking is now active. New support for KEYWORDS in ebuilds and ACCEPT_KEYWORDS in profiles. 23 Jun 2002; Daniel Robbins conf files: removed references to non-functional FTP_PROXY and HTTP_PROXY and added a note about how to use the correct vars (ftp_proxy and http_proxy.) Closes bug #1664. Also added note about RSYNC_PROXY, closing bug #2332. 23 Jun 2002; Daniel Robbins portage.py: removed "dependency too short" checks which weren't working and were causing deps like "mc" and "ed" to be rejected as invalid rather than being expanded. 23 Jun 2002; Daniel Robbins emerge: upgraded "clean" code to be more robust, consistent. Closes bug #3967. *portage-2.0.4 (20 Jun 2002) 20 Jun 2002; Daniel Robbins in the 2.0.4 ebuild itself: added back tbz2tool symlink which was mistakenly removed. Also changed the way we compile portage.py stuff so that we remove the previously compiled files, just in case clock skew cause them to seem more recent than they really are. Python byte-code compilation moved to pkg_postinst() 20 Jun 2002; Daniel Robbins portage.py: fixed up the fetch() code so that invalid digests don't cause a traceback. 20 Jun 2002; Daniel Robbins portage.py: some of the new transplanted virtuals code assumed that profiledir was set, which is not required. This code has now been fixed to not make that assumption. *portage-2.0.3 (20 Jun 2002) 20 Jun 2002; Daniel Robbins portage.py: fixed two typos pointed out by stroke and g2boojum. These fix unmerge and some aspect of virtuals handling, which was previously causing a traceback. 19 Jun 2002; Daniel Robbins emerge: emerge -eup world now will ignore world entries if it isn't really installed locally; in 2.0.1, --emptytree would auto-enable all world entries, leading to inconsistent package lists between --emptytree and without. *portage-2.0.2 (19 Jun 2002) 19 Jun 2002; Daniel Robbins make.conf.ppc, make.globals.ppc: integrated these files into our sources. 19 Jun 2002; Daniel Robbins portage.py: fixed a bug where ROOT="" would not get properly converted to ROOT="/". 18 Jun 2002; Daniel Robbins emerge: Portage 2.0+ has fixed "!" depend matching support, but some code in emerge was designed to anticipate the incorrect behavior. This emerge code has been fixed to work correctly. This closes my part of bug #3834. 18 Jun 2002; Daniel Robbins portage.py, emerge: fixed bug #2444, where emerge fails when "--emptytree" and "--onlydeps" are used at the same time. 18 Jun 2002; Daniel Robbins portage.py, emerge: new fakedbapi for doing emptytree calculations; emptytree upgrades in emerge. "emerge -upe world" now works correctly, accounting for items in the world profile. Yay! Bugs #3832 and #1911 fixed. 18 Jun 2002; Daniel Robbins portage.py, emerge: Integrated new aux_get() method into our portdbapi. aux_get() provides a standardized way to get cached information about ebuilds, and is now fully integrated into Portage and emerge search. 18 Jun 2002; Daniel Robbins portage.py: fixed a bug where dep_nomatch() was testing for None rather than a "zero" condition, causing dep_nomatch() to choke on match()'s [] return value. 17 Jun 2002; Daniel Robbins emerge: added an exception handler to catch invalid regular expressions and avoid a traceback. 17 Jun 2002; Daniel Robbins sandbox.c: added /var/cache/ccache to sandbox "write ok" list, closing bug #3028. *portage-2.0.1 (16 Jun 2002) 16 Jun 2002; Daniel Robbins portage.py, emerge: fixed a virtuals expansion bug that would cause virtuals to be consulted too early. *portage-2.0 (16 Jun 2002) 16 Jun 2002; Daniel Robbins portage.py, ebuild.sh, emerge: turbo-ified Portage, new Portage db API and many other fixes. Unmerging now works again (bug introduced several releases ago.) I originally wanted to hold off on releasing 2.0, but since several major bugs are fixed, we need to get these fixes out to our users ASAP. We will be releasing 2.1 in about a week which should include additional refinements. 16 Jun 2002; Daniel Robbins repoman: New repoman commit/check QA tool for developers. 10 Jun 2002; Dan Armak make.conf: Update the ibiblio mirror path; it is now www.ibiblio.org/pub/Linux/distributions/gentoo. 10 Jun 2002; Martin Schlemmer ebuild.sh : Some users have $TMPDIR to a custom dir in their home ...this will cause sandbox errors with some ./configure scripts or libtool, so set it to $T. 10 Jun 2002; Martin Schlemmer portage.py : Merge in the ld.so.preload changes. Also updated spawn() to only run sandbox if buildphase is one of clean, unpack, compile or install. This should fix the handler not detecting some instances of sandbox running. Updated ebuildsh() to set buildphase="" on spawn exit. 10 Jun 2002; Martin Schlemmer portage.py.ldsopreload,testsandbox.sh : Add support to test if another sandbox is running, if so dont delete /etc/ld.so.preload on kill. I did not commit this to portage.py, as it is a bit more changes than we originally though. 05 Jun 2002; Daniel Robbins portage.py: doebuild() now has proper logic for digest generation. Digest will now get regenerated if "ebuild digest" is run, even if "digest" is in FEATURES. 04 Jun 2002; Daniel Robbins emerge: fixed typo in "inject" documentation. 02 Jun 2002; Martin Schlemmer bin/dosym: changed the command used from "ln -sf" to "ln -snf" as it created a symlink in the target directory if the linkname already existed (only if the target is a directory). Im guessing this should be fixed in the python merged code if symlinks are not unlinked before the new is merged into place .. will add a bug later. *portage-1.9.14 (01 Jun 2002) 01 Jun 2002; Daniel Robbins portage.py: when a file to be merged is identical to the one currently on disk (using the md5 test), we now at least correctly update the target's mtime and atime so that cleaning will work correctly. 27 May 2002; Daniel Robbins bin/do*: changed "return"s to "exit 1". Closes bug #3078. *portage-1.9.13 (21 May 2002) 21 May 2002; Grant Goodyear emerge.1: Updated man page. Thanks to carpaski@twobit.net. 20 May 2002; Daniel Robbins emerge: a fix for dep regeneration; stale dep cache entries should now be properly regenerated. *portage-1.9.12 (16 May 2002) 16 May 2002; Daniel Robbins portage.py: the settings for A and AA were swapped; this has now been fixed, closing bug #1634. 15 May 2002; Daniel Robbins portage.py: fixed up some quirks in the new fetch code which were reported by Wout Mertens. Thanks Wout! *portage-1.9.11 (13 May 2002) 13 May 2002; Daniel Robbins portage.py: addition of third-party mirroring code. "mirror://sourceforge/foo.tar.gz" will use the /usr/portage/profiles/thirdpartymirrors file to define the mirror it will download from. Multiple mirrors for a single keyword can be specified on a single line. This code was based on the good work of Ryan Phillips. 13 May 2002; Daniel Robbins portage.py: (entry on behalf of jnelson) -- we now have new KV detection/setting code that uses /usr/src/linux/include/linux/version.h to determine the kernel version -- the right way of doing things. KV is set to "" if the kernel is not available or not configured. 13 May 2002; Daniel Robbins emerge: "abspath[x]" => "abspath(x)" typo fix. Also added 2-liner to allow for "emerge unmerge" to specify "foo/bar-1.0" rather than requiring "=foo/bar-1.0." Also fixed problems when specifying the names of actual ebuilds in /var/db/pkg to unmerge. *portage-1.9.9 (06 May 2002) ?? 08 May 2002; Daniel Robbins portage.py: An empty USE_ORDER (due to an out-of-date /etc/make.globals) would cause USE to always be empty. I added a reasonable default USE_ORDER if USE_ORDER is not found in any of the config files, fixing this problem. 06 May 2002; Daniel Robbins emerge: post bug #1841 cleanups; converted from .hasnode() to .dep_match() (correct) in getworldlist(). *portage-1.9.8 (06 May 2002) 06 May 2002; Daniel Robbins emerge: 2 fixes that seemed to get fried/zapped: bug #1841 and fixing an emerge sync error code to be more understandable. *portage-1.9.7 (06 May 2002) 06 May 2002; Daniel Robbins portage.py, emerge: initial bunch of robustness/error-handling fixes. Emerge should now report a comprehensible error message for errors in DEPEND and RDEPEND rather than giving a traceback. Fixed dep_depreduce() to catch errors rather than passing them on to dep_bestmatch() (which doesn't check for errors and assumes correct input) 02 May 2002; Daniel Robbins portage.py: typo fix for S_ISFIFO call; thanks woodchip! *portage-1.9.6 (02 May 2002) 02 May 2002; Daniel Robbins make.conf: SYNC variable correctly set to use our DNS round-robin system (rsync.gentoo.org). *portage-1.9.6_pre2 (01 May 2002) 01 May 2002; Daniel Robbins portage.py: config file protection upgrade; we now record md5sums of previously-merged config protect files in /var/cache/edb/config; we use this information to avoid merging files that have been merged by us before (if it is safe to do so). This doesn't solve the problem of rolling back to a previously-merged version of a config file; we need to add cvs headers to every config file to get that to work. *portage-1.9.6_pre1 (01 May 2002) 01 May 2002; Daniel Robbins emerge: added "inject" capability to artificially satisfy a dep -- for situations when you don't want Portage to do it for you because you've taken care of it already. 01 May 2002; Daniel Robbins portage.py, emerge: totally rewrote emerge's unmerge code. The original code (added by Bevin) was a bit too cryptic and "big" for my taste. Also added two new capabilities to portage.py's vartree: .getslot() and .gettimeval(). getslot() returns the slot value of a cat/pkg-v, if any, and gettimeval() returns a "time value" (based on mtime/COUNTER value) that can be used to determine the order in which packages got merged. The purpose of these improvements were to revamp the existing Portage code that could only unmerge a db entry if there was a corresponding ebuild file. This conflicted with the ability to "inject" packages (see above), so it needed to be changed. Also fixed some bugs along the way. 01 May 2002; Daniel Robbins ebuild.sh: einstall now accepts arguments, closing bug #2275. Thanks seemant! :) 01 May 2002; Daniel Robbins make.globals: switch SYNC var from cvs.gentoo.org to rsync.gentoo.org, and gentoo-x86-portage to gentoo-portage. 30 Apr 2002; Daniel Robbins emerge: now checks for errors (caused by bad deps) returned by create() and syscreate(). *portage-1.9.5 (29 Apr 2002) 29 Apr 2002; Daniel Robbins ebuild.sh: added jnelson's KV_extract.awk script which extracts the kernel version from the actual kernel sources Makefile, making our KV setting much more robust! Thanks Jon :) 29 Apr 2002; Daniel Robbins emerge: correctly fixed emerge search examples to use single quotes (to turn off globbing.) This closes bug #1609. 29 Apr 2002; Daniel Robbins portage.py: virtual entries for no-longer-installed packages now get automatically removed on unmerge. This closes bug #2255 and #1891 (Thilo Bangert's comment on #1891 is also fixed.) *portage-1.9.4 (29 Apr 2002) 29 Apr 2002; Daniel Robbins portage.py: Added support for RESTRICT="nomirror". If "mirror" is defined in FEATURES and "nomirror" is defined in RESTRICT, then files will not be fetched. 29 Apr 2002; Daniel Robbins emerge: Fixed docs for "unmerge", added docs for "--oneshot". Closes bugs #2156 and #2182. 29 Apr 2002; Daniel Robbins ebuild.sh: Fix for USE troubles; confirmed by Azarah as working :) Also, we now strip the path from "KV" as we should. *portage-1.9.4_pre1 (26 Apr 2002) 26 Apr 2002; Daniel Robbins tarball.sh: no longer necessary for VERSION to equal "@portage_version@" to get the version auto-set. VERSION can now be set to anything and tarball.sh will get it right. 26 Apr 2002; Daniel Robbins emerge: I've started work on revamping/improving the "blocks" system to get ready to fix bug #1891. Already fixed a bug where "blocks" ("!" deps) print out the wrong blocking package name. This is now fixed. Blocks need additional testing. 26 Apr 2002; Daniel Robbins portage.py, ebuild.sh, use: "use" is now a bash builtin function rather than an external python-based command. This appears to fix the USE inconstencies, as it should, thereby closing bug #2000. *portage-1.9.3 (24 Apr 2002) 24 Apr 2002; Jon Nelson : portage.py, chkcontents: Emulate fchksum's md5 checksum routine. Closes bug #2787. 23 Apr 2002; Daniel Robbins : emerge: invalid short options result in an exit. Closes bug #2025. 22 Apr 2002; Daniel Robbins : emerge: rsync zlib compression enabled by default. *portage-1.9.2 (21 Apr 2002) 21 Apr 2002; Daniel Robbins : portage.py: signal handler now zaps /etc/ld.so.preload if it's there -- this prevents it from hanging around and causing sandbox badness. 21 Apr 2002; Daniel Robbins : emerge: fixed an error where --emptytree mode wouldn't really have a fully empty tree, due to the emptytree.inject() coming before the emptytree.root=None; the inject() caused a recalc of the USE vars, which caused the tree to become partially populated and it wasn't cleared. This closes bug #1897. 21 Apr 2002; Daniel Robbins : portage.py: package building now executes the "setup" stage along with the unpack, compile, install stages so that global variables can be shared. This fixes an issue with woodchip's new apache ebuild and closes bug #1813. *portage-1.9.1 (16 Apr 2002) 16 Apr 2002; Daniel Robbins : tiny (and forgotten) quick fix. *portage-1.9.0 (16 Apr 2002) 16 Apr 2002; Daniel Robbins : portage.py: fetching should now try *all* alternate download locations, closing bug #1544. Yay! 15 Apr 2002; Daniel Robbins : emerge: "emerge R" now works correctly, closing bug #1094. 15 Apr 2002; Daniel Robbins : ebuild.sh: *'s and ?'s in DEPEND and SRC_URI syntax should no longer get glob-expanded to files in /usr/portage. This fixes some cryptic bugs. It also closes bug #1473. 15 Apr 2002; Daniel Robbins : portage.py: emerge --debug now works again. Closes bug #1437. 15 Apr 2002; Daniel Robbins : portage.py: moved argument check to the beginning of the doebuild() function to prevent "ebuild foo.ebuild fart" from causing the md5sums to be checked before recognizing that "fart" is not a valid command. Closes bug #1823. 15 Apr 2002; Daniel Robbins : portage.py: 'USE="-foo" emerge bar' should now work correctly and consistently. Fixes to the config class. Closes bug #1455. 15 Apr 2002; Daniel Robbins : portage.py: applied jnelson's patch to properly kill all children when interrupted with ^C 15 Apr 2002; Donny Davies : make.conf: added a RESUMECOMMAND for lukemftp. 15 Apr 2002; Daniel Robbins : portage.py: fixed up some "zing" logic inside the merge code (fixing variable being used before assignment errors) 15 Apr 2002; Jon Nelson : src/sandbox/Makefile, src/sandbox/problems/Makefile, src/sandbox/problems/sandbox_dev_fd_foo.c, src/sandbox/sandbox.c: Cleaned up Makefiles somewhat to take advantage of GNU Make, added '/dev/zero' and /dev/fd/' (<- note trailing slash) to the list of items accessible safely from the sandbox. Added sandbox_dev_fd_foo.c to test for /dev/fd/. The test is almost verbatim from the autoconf test suite. 13 Apr 2002; Martin Schlemmer : ebuild.sh: Export $S and $D in dyn_compile and dyn_install, as our patched version of libtool uses these to fixup .la files. *portage-1.8.19 (09 Apr 2002) 08 Apr 2002; Geert Bevin : emerge: Removed --all switch to emerge unmerge and clea. Added emerge prune which is the same as old emerge unmerge. Emerge unmerge removes all instances again without any proctedtion, as before. Added reporting of Omitted versions due to dep selectors. Renamed Removing and Keeping to Selected and Protected 08 Apr 2002; Geert Bevin : emerge, portage.py: Better unmerge and clean reporting. Added homepage output to emerge --search. Bugfix when specifying a package without category that doesn't exist. *portage-1.8.18 (07 Apr 2002) 07 Apr 2002; Geert Bevin : make.globals, emerge: Simplified unmerge functionality. Deprecated the CLEANMODE var, emerge clean now removes both revisions and slots automatically, emerge unmerge now removes all versions and revisions by default. Both understand world and system targets, and the --all option which doesn't check which packages are old and outdated. Documentation fixes. AUTOCLEAN var addition and added the autoclean functionality. *portage-1.8.17 (05 Apr 2002) 05 Apr 2002; Daniel Robbins : portage.py: no longer print out the counter number after a merge. This information should not need to be known by end-users. 05 Apr 2002; Daniel Robbins : sandbox.c: patched to allow access to /dev/vc from sandbox, allowing vim and screen to compile correctly from console. 05 Apr 2002; Daniel Robbins : portage.py: fixed a bug that prevented md5 digests from being compared on archives. 04 Apr 2002; Daniel Robbins : portage.py: Parse errors in /etc/env.d files no longer cause a traceback. *portage-1.8.16 (04 Apr 2002) 04 Apr 2002; Geert Bevin portage.py, emerge : Forgot to commit my changes, this is an assembled version of both drobbins's and my changes *portage-1.8.15 (04 Apr 2002) 04 Apr 2002; Daniel Robbins portage.py: Fixed a semi-long standing bug where I was comparing atimes rather than mtimes when seeing if dep caches were stale. This fixes a bug originally reported by Dan Armak. *portage-1.8.14 (04 Apr 2002) 04 Apr 2002; Geert Bevin emerge: Fixed short options for --all, --safe and clean. *portage-1.8.13 (04 Apr 2002) 04 Apr 2002; Geert Bevin portage.py, emerge: Added emerge --all clean and emerge --safe unmerge. Made the counter updates atomic so that multiple merges can happen without risking counter clashes. Updated --help. Fixed short options bug that prevented two seperate short options to be specified successively. *portage-1.8.12 (04 Apr 2002) 04 Apr 2002; Geert Bevin portage.py, emerge: implemented "emerge clean" with oldrevs, oldversions and oldslots options for the make.conf/make.globals CLEANMODE variable. 03 Apr 2002; Daniel Robbins portage.py: Added an indentation fix to prevent merge from dying if a file attempts to install itself on top of an existing directory. Closes bug #1498. *portage-1.8.11.1 (03 Apr 2002) 03 Apr 2002; Geert Bevin portage.py: important fixes for movefile() -- changed the order of ownership / permissions settings since suid/guid bits were overwritten, added support back for 'ebuild config' since it was accidentally left out *portage-1.8.11 (02 Apr 2002) 02 Apr 2002; Daniel Robbins portage.py: important fixes for movefile() -- ownership now preserved across filesystems, mv -f fallback for special files, other optimizations and robustness improvements. Important fixes all-round. 02 Apr 2002; Geert Bevin emerge: fixed bad indentation of a part of the code that made unmerging multiple packages behave badly *portage-1.8.10 (01 Apr 2002) 01 Apr 2002; Daniel Robbins make.globals: removed USE settings from make.globals. 01 Apr 2002; Daniel Robbins portage.py: In trying to fix the glibc merge bug, we rewrote movefile() and it now runs blazingly fast. I also tweaked the code to remove the need for an ">>> Updating mtimes..." stage. This is all done dynamically now. *Much* faster. And hopefully solid for glibc upgraders. *portage-1.8.9.4 (01 Apr 2002) 31 Mar 2002; Daniel Robbins portage.py: adapted movefile() which should preserves timestamps and ownership on files and symlinks it moves. *portage-1.8.9.3 (31 Mar 2002) 31 Mar 2002; Daniel Robbins portage.py: promising rewrite of movefile() not only will probably fix glibc merge bug but also speeds up merging at least 20x! Calling "mv" for every file really make things super-slow! *portage-1.8.9.2 (31 Mar 2002) 31 Mar 2002; Daniel Robbins portage.py: desperate attempt to fix movefile() bug... a hack really. glibc merges still dying. *portage-1.8.9.1 (31 Mar 2002) 31 Mar 2002; Daniel Robbins portage.py: it appears that movefile() (using "/bin/mv") can still die if moving a new symlink on top of an existing library symlink. Upon failure, we now use a fallback mechanism to use "/bin/sln" to create the new symlink safely. *portage-1.8.9 (30 Mar 2002) 30 Mar 2002; Daniel Robbins portage.py: tiny cosmetic fix for digest generation. 30 Mar 2002; Daniel Robbins emerge: entries in the world profile will be ignored if at least one version of the package in question isn't already merged. Prevents "--update world" from remerging packages that have since been unmerged. 30 Mar 2002; Daniel Robbins various: changing all references from /usr/bin/python to /usr/bin/python2.2. 30 Mar 2002; Daniel Robbins db-update.py: moving this script here from FILESDIR. 30 Mar 2002; Daniel Robbins portage.py: stuff doesn't get added to the world profile if it is already an essential ("*") package in the system profile. Keeps things clean and flexible. *portage-1.8.9_pre38 (30 Mar 2002) 30 Mar 2002; Daniel Robbins portage.py: resolve_key() didn't call load() on mapped virtuals, resulting in inconsistent resolution of virtual keys. Now fixed; thanks to woodchip for the bug report. *portage-1.8.9_pre37 (30 Mar 2002) 30 Mar 2002; Daniel Robbins portage.py: specific provides (dev-lang/python-2.2) will be converted to their generic form (dev-lang/python) before being recorded. *portage-1.8.9_pre36 (30 Mar 2002) 30 Mar 2002; Daniel Robbins portage.py, emerge: new virtuals fixes and a db-upgrade.py script in the ebuild to solve another virtuals problem. *portage-1.8.9_pre35 (29 Mar 2002) 29 Mar 2002; Daniel Robbins portage.py, emerge: digest generation fixes; emerge --update will now update dependents even if the main package hasn't been updated. getdict() fix, fixing a traceback. *portage-1.8.9_pre34 (28 Mar 2002) 28 Mar 2002; Daniel Robbins portage.py: Added an indent fix for the new virtuals code, eliminating a traceback. Tweaked digest handling, fixing a cosmetic error. *portage-1.8.9_pre33 (28 Mar 2002) 28 Mar 2002; Daniel Robbins portage.py: tweaked digest creation in doebuild() to hopefully avoid creating digests twice. I hope I didn't break anything in the process. 28 Mar 2002: Daniel Robbins portage.py, emerge: "emerge update" is now "emerge --update"; "world" added back. New world implementation that works like this ... if you type "emerge media-gfx/gimp", media-gfx/gimp will be added to the "world" favorites file in /var/cache/edb/world. This world file is added to the system profile in order to create the set of "world" packages to merge. You can manually put specific deps (for pinning) in /var/cache/edb/world and they won't get overwritten. To prevent a package that you specify on the emerge command-line from being added to the world profile, use the "--oneshot" option, which tells emerge that it should be merged once but not updated. 28 Mar 2002: Daniel Robbins portage.py: New virtuals implementation; new virtual info is recorded in /var/cache/edb/virtuals; virtuals data is created by merging the profile virtual info with the new edb/virtuals file. Note: We no longer add virtual package entries to /var/db/pkg. This change solves the bug where virtual files get auto-updated by pkg-update, and also solves the bug where doing an "emerge --update world" will cause ssmtp to be merged in order to satisfy the virtual/mta dep (which you already have satisfied by postfix, for example). Now, postfix will be updated if necessary, but that's it. :) *portage-1.8.9_pre32 (22 Mar 2002) 22 Mar 2002; Daniel Robbins portage.py: fixed a bug related to scanning for available binary packages, which would cause emerge to die. 21 Mar 2002; Dan Armak portage.py: added ECLASSDIR (=$PORTDIR/eclass) to settings exported by python side to bash side. ebuild.sh: remove ECLASSDIR setting to use the one now provided by portage.py. Also, clean inherit() and make it use debug-print(). *portage-1.8.9_pre31 (21 Mar 2002) 21 Mar 2002; Daniel Robbins ebuild.sh: Added Dan Armak's patch to enable eclasses. :) 21 Mar 2002; Grant Goodyear portage.py: Added a drobbins patch to at line 469. Should fix emerge rsync problem when /etc/make.profile doesn't exist. *portage-1.8.9_pre30 (20 Mar 2002) 20 Mar 2002; Daniel Robbins portage.py, emerge: emerge --emptytree now works again and I added a new --nodeps option to emerge as well. *portage-1.8.9_pre29 (20 Mar 2002) 20 Mar 2002; Daniel Robbins portage.py: CONTENTS files now record the correct path when ROOT!="/". *portage-1.8.9_pre28 (20 Mar 2002) 20 Mar 2002; Daniel Robbins portage.py, emerge: an /etc/make.profile dir is now optional and portage will work if it's missing or is a broken symlink. 20 Mar 2002; Daniel Robbins portage.py: fix load() method in packagetree() class. *portage-1.8.9_pre27 (19 Mar 2002) 19 Mar 2002; Daniel Robbins portage.py: /etc/make.profile/packages wasn't correctly masking core system packages; fixed. *portage-1.8.9_pre26 (18 Mar 2002) 18 Mar 2002; Daniel Robbins portage.py: configuration settings don't get loaded from ${ROOT}/etc anymore, just /etc. This simplifies the creation of a new build image. 18 Mar 2002; Daniel Robbins portage.py: Don't expect a digest file if SRC_URI is set to "" or undefined. 18 Mar 2002; Daniel Robbins : RDEPEND was getting set to DEPEND even if there was an RDEPEND="" in the ebuild. This has now been fixed and RDEPEND will only get to DEPEND if RDEPEND has unset (not "unset or null", as it was before this fix.) 18 Mar 2002; Daniel Robbins : emerge: circular dependencies error will result in the digraph dependencies being printed to stdout, greatly simplifying debugging. 18 Mar 2002; Geert Bevin : src/sandbox/problems: Added several sample implementations to reproduce reported bugs. 18 Mar 2002; Geert Bevin : libsandbox.c: All paths are now checked for multiple successive slashes anywhere, this closes bug 827. Performance should be slightly improved for other apps on the system for who the sandbox is not turned on. 14 Mar 2002; Daniel Robbins : output.py: quick fix to turn off white color output -- not good for terminals with white background. This closes bug #1135. 11 Mar 2002; Daniel Robbins : Applied karltk's version information patch. Portage.py now contains version information, and this info is reported by "emerge --version". Thanks Karl! :) *portage-1.8.9_pre25 (11 Mar 2002) 10 Mar 2002; Daniel Robbins portage.py, emerge: roll back portagetree incremental db optimizations to fix an important bug (no package.mask calculations being done.) Emerge will now abort if a dependency can't be satisfied rather than printing just a warning. *portage-1.8.9_pre24 (09 Mar 2002) 09 Mar 2002; Daniel Robbins emerge: fixed missing "--clean" option so "--clean rsync" should work again. Also converted emerge to work with our new db layout (db objects are in the portage module now). 09 Mar 2002; Daniel Robbins portage.py: Added USE ordering, a concept envisioned by Vitaly Kushneriuk. The idea is to allow customization of how Portage resolves USE variables. The default is "env:conf:auto:defaults" (set in the USE_ORDER variable -- this default is now in make.globals but as always you should set your custom USE_ORDER in make.conf if desired.) So, my default, USE settings will be calculated as follows. The USE variables will be grabbed from the /etc/make.profile/make.defaults file (this is "defaults".) Then, the /etc/make.profile/use.defaults file will be consulted. This file lists (one per line) a USE variable and a corresponding dependency. If the dependency is satisfied, the USE variable is auto-enabled and added to our working list (this is "auto"). Then /etc/make.conf is consulted, so that the user has the option of force-enabling (with USE="foo") or force-disabling (with USE="-foo") any USE variables as desired (this is "conf".) Then, the environment is consulted, allowing easy modifications from the command-line (this is "env"). Also added is the ability for USE settings to be dynamically regenerated in an efficient way as packages are merged. So, right after xfree is emerged, the "X" use variable can be immediately auto-enabled. Thanks to Vitaly for providing the vision for this. *portage-1.8.9_pre23 (08 Mar 2002) 09 Mar 2002; Daniel Robbins portage.py: our portage tree and /var/db/pkg tree now uses incremental caching rather than doing an exhaustive scan on startup. This should speed up this respective code by 2-30x depending on how many packages you're emerging. This involved quite a few changes to the code, and there could be some bugs, although I tried to be very careful. These changes could also break code that access internal .tree[] dictionaries directly. 08 Mar 2002; Daniel Robbins portage.py: SRC_URIs with USE-enabled ( ) clauses in them weren't working because I was iterating through multi-level lists without flatten()ing them. Now fixed. 07 Mar 2002; Daniel Robbins portage.py: We no longer depend upon a file being unmerged. We try to unlink during unmerge() in a "try" clause, with an exception for OSError. If the directory is immutable then Portage continues gracefully. This closes a bug reported by Verwilst -- unmerging an old baselayout would die when it tried to delete /dev/shm. Fixed in Portage to eliminate these kinds of problems in the future. *portage-1.8.9_pre22 (07 Mar 2002) 07 Mar 2002; Daniel Robbins portage.py: I had sys.exit() in doebuild()'s fetch section. Converted to "return 1" and "return 0" to be emerge --fetchonly friendly. Thanks to Dan Armak for the bug report. *portage-1.8.9_pre21 (07 Mar 2002) 07 Mar 2002; Daniel Robbins portage.py: fixed symlink merge bug related to "safe" emerges. This should fix problems of Portage dying when merging certain things. I'm hoping that this fix will give us a solid merge implementation. It should. Thanks to Bart Verwilst for tracking down a merge problem that I could reproduce. *portage-1.8.9_pre20 (06 Mar 2002) 06 Mar 2002; Daniel Robbins ebuild.sh, others: users can now forcefully disable stripping of their ebuild binaries by adding a RESTRICT="nostrip" to their ebuild. Additionally, the DEBUG variable has been renamed to DEBUGBUILD to prevent namespace collisions. This closes bug #868. 06 Mar 2002; Daniel Robbins portage.py : Fixed a long-standing bug where the pkg_preinst() and pkg_postinst() functions being called came from the existing package ebuild in /var/db/pkg rather than the new ebuild being merged. pkg_prerm() and pkg_postrm() still use the ebuild in /var/db/pkg, which is correct. Thanks to Dan Armak for tracking down this bug. *portage-1.8.9_pre19 (05 Mar 2002) 05 Mar 2002; Daniel Robbins portage.py : Fixed two bugs reported by Dan Armak relating to incomplete (not missing) message digests. They should now get regenerated automatically is "digest" is in FEATURES and not confuse the fetch code. *portage-1.8.9_pre18 (04 Mar 2002) 04 Mar 2002; Daniel Robbins portage.py : Bug fix in dep_bestmatch(); rev comparison now works correctly and dep_bestmatch will properly handle 2-digit revisions in particular. This closes bug #952. 04 Mar 2002; Daniel Robbins portage.py : Thanks to a bug report by Bruce Locke, the long-standing bug where symlinks with different mtimes would still get unmerged is now fixed. This allows glibc (of all things) to be unmerged safely. We needed this fix. Closes bug #964. 03 Mar 2002; Daniel Robbins portage.py : KDEDIR -> KDEDIRS (fixing my typo) *portage-1.8.9_pre17 (27 Feb 2002) 27 Feb 2002; Daniel Robbins emerge : --help documentation is now up-to-date; short options tweaked. 26 Feb 2002; Daniel Robbins portage.py : Fixed an unmerge error caused by digests now being recorded in lowercase. unmerge now compensates for 100% backwards compatibility. Moved "continue" outside of "try" block since this is disallowed in Python. This fixes a python warning during fetch. 26 Feb 2002; Geert Bevin bin/dohtml : Added support for installing .gif files too since quite some docs still ship with those instead of .jpg or .png. *portage-1.8.9_pre16 (25 Feb 2002) 25 Feb 2002; Daniel Robbins emerge : emerge syntax changed back to "classic" style; replaced dots with spinner, did a major code cleanup and removed pieces that will be rewritten for 1.8.9 final. emerge documentation isn't up-to-date at all; I'm holding off on the --help rewrite until after 1.8.9 features have been finalized (soon!) 25 Feb 2002; Daniel Robbins : Added RESTRICT variable to ebuilds. If RESTRICT="fetch" is set in the ebuild, it means that the files listed in SRC_URI are simply filenames and that the real files must be downloaded manually. This allows us to deal with realplayer, since overriding dyn_fetch is no longer an option now that we have the fetch code in python. Also added a cosmetic tweak to emerge during info file regeneration. 25 Feb 2002; Daniel Robbins cnf/* : updated ${x} -> ${URI} in $FETCHCOMMAND. 24 Feb 2002; Daniel Robbins Fixed another fetch bug where the download wouldn't cycle to alternate mirrors (it'd get stuck on the first download location) *portage-1.8.9_pre15 (24 Feb 2002) 24 Feb 2002; Daniel Robbins portage.py: some fixing of the merge code; added automatic digest generation when "digest" is in FEATURES; made the fetch() code not depend on a pre-existing digest. This should fix all known digest/fetch issues. *portage-1.8.9_pre14 (23 Feb 2002) 23 Feb 2002; Daniel Robbins portage.py: If you have a file that's hosted directly on our master ibiblio mirror, you can specify it in SRC_URI as "http://mirror/myfile.tar.bz2". "http://mirror" will be expanded to the first mirror defined in GENTOO_MIRRORS, or our master ibiblio mirror if no mirrors are defined. Groovy. This closes bug #627. 23 Feb 2002; Daniel Robbins make.globals, emerge, portage.py: wget is no longer hardcoded; FETCHCOMMAND is enabled again, but uses ${FILE} and ${URI} instead of ${x} and ${y} now. Added download resuming, which requires the definition of RESUMECOMMAND (added to make.globals). Updated spawn() so that when it's called as spawn(foo,free=1) as an argument, sandboxing is turned off. Replaced all calls to os.system(foo) with spawn(foo,free=1), since os.system() messes with signal handling. Added a default SIGINT signal handler to portage.py so that ^C interrupts are handled correctly (portage will immediately exit with a return code of 1). This has been tested and works for ebuild and emerge. These additions should also close bug #407 and #760. 23 Feb 2002; Daniel Robbins emerge: spython -> python fix; resolution of cvs merge conflict. Removed edepend assignment bug reintroduced in Geert's commit; added comment explaining why the new code is needed so it doesn't get removed again ;) 22 Feb 2002; Geert Bevin emerge: removed spurious cvs conflict lines fixed bug in the cleanup code where different slots weren't handled too well *portage-1.8.9_pre13 (22 Feb 2002) 22 Feb 2002; Daniel Robbins various: fix /bin/sh symlink merge problems and massively simplified movefile() code. Added back some emerge code so that "emerge --search rsync" doesn't run rsync. *portage 1.8.9_pre12 (22 Feb 2002) 22 Feb 2002; Daniel Robbins portage.py: everything should now generate *lowercase* md5sums, fixing problems with digest backwards compatibility. 22 Feb 2002; Daniel Robbins portage.py: changed position of digest generation call so that "ebuild digest" now works if the sources have not yet been downloaded. *portage 1.8.9_pre11 (22 Feb 2002) 22 Feb 2002; Daniel Robbins portage.py: unmerging now works correctly. *portage 1.8.9_pre10 (22 Feb 2002) 22 Feb 2002; Daniel Robbins : "emerge" didn't like the new portage.py (fixed); A merge database bug (fixed). Fixing the merge bug should also result in merges happening much faster than before, maybe up to 3 times as fast. We no longer resolve symlinks when testing protection paths. *portage 1.8.9_pre9 (21 Feb 2002) 21 Feb 2002; Daniel Robbins : moved entirety of Portage download/digest code from ebuild.sh (bash) to portage.py (python). No support for custom FETCHCOMMANDs yet, but that's coming soon. Good news is that it appears to work well and allowed some cleanups and optimizations to doebuild(). SYNC support added. See cnf/make.conf for more info -- basically, "emerge rsync" (now callable via "emerge sync" as well) supports a configurable "Portage server" that begins either with "rsync://" or "cvs://". "emerge sync" is now not only a clean front-end, but a configurable front-end to the Portage update process. I also removed dependency checking from 'ebuild'. This allowed me to removed some redundant code from portage.py, and seemed fine to do since 'ebuild' is more and more becoming a low-level developer tool. 21 Feb 2002; Daniel Robbins : rewrite of cumulative USE setting code so that the new FEATURES (what used to be called MAINTAINER) is now cumulative and supports "-" and "-*" options. FEATURES is expanded using all config files, while USE ignores make.globals but uses everything else. Optimization of a couple parts of doebuild(). Upgraded expandpath() and used it in one place where it was removed accidentally (in the new merge code.) Master category list is now stored externally in ${PORTDIR}/profiles/categories for ease of maintenance. 21 Feb 2002; Daniel Robbins emerge: now supports the EMERGE_OPTS make.conf variable for enabling emerge options by default. Closes bug #605. 21 Feb 2002; Daniel Robbins portage.py: dep_match() now works with * deps (again? Looks like the code got ripped out somehow); this closes bug #490. 21 Feb 2002; Daniel Robbins global change from "spython" -> "python", now that Portage is slick enough to update shared libraries correctly. 21 Feb 2002; Grant Goodyear bin/chkcontents, man/chkcontents.1: New script to compare what's in a package's CONTENTS file with what's actually on the filesystem. Useful for discovering that a package "collision" has occurred. 21 Feb 2002; Daniel Robbins ebuild.sh, portage.py: Dependencies should be no longer checked during the "unpack" stage. This closes bug #231. Added the $KV kernel version variable to ebuild.sh so that it's available for all ebuilds. This closes bug #599. 21 Feb 2002; Daniel Robbins ebuild.sh: S now defaults to ${WORKDIR}/${P} if it isn't defined. That's right. Defining S is now optional :) This should eliminate around 1000 lines from our ports tree. 20 Feb 2002; Daniel Robbins portage.py: Fixed some major bugs in the new merge/config protect code. Merging and config protection should now work. 18 Feb 2002; Daniel Robbins portage.py, emerge, ebuild.sh : Rewrote merge code. Should merge symlinks only *after* the target has been merged (needs testing). Added lots of comments. Split dblink.merge() into 2 new functions -- .walktree() and .mergeme(). Cleaned/optimized merging a good deal. Added special "-*" USE variable to unset *all* USE variables defined up until that point. 18 Feb 2002; Daniel Robbins portage.py, emerge, ebuild.sh : Fixed USE bug (config.reset() threw away our cumulative USE), streamlined turbo dep calculations by moving edb cache entry creation to ebuild.sh. Started coding new dblink.merge() method that should be much cleaner, faster and merge symlinks safely. 17 Feb 2002; Daniel Robbins portage.py : Added cumulative USE variable support. The final USE var is calculated cumulatively starting with make.profile, then make.conf, and then the environment. Any "-foo" option in USE will turn off a previously-defined USE setting. So, if you want to use the profile-default USE settings except turn "X" off, you add 'USE="-X"' to /etc/make.conf and that's it. This greatly simplifies USE variable maintenance since developers can now easily add new USE variables that default to 'on'. Simply add the USE variable and then add it to make.profile. It will then be included in everyone's USE variables automatically unless they explicitly "-newvar" in /etc/make.conf or in the local environment. This also enables easy one-shot disabling of USE variables. For example, to merge xchat without GNOME support (when "gnome" is in your /etc/make.conf USE variable), simply type "USE="-gnome" emerge net-irc/xchat". This is a lot easier than temporarily tweaking /etc/make.conf. 17 Feb 2002: Daniel Robbins emerge : Added a quick hack to cache ebuild dependency info using extended attributes on XFS filesystems. Gives a factor of 10 speedup for dependency calculations. Will look into a generic caching solution that should offer similar performance increases on all filesystems. Note: the fact that this hack is on CVS means that emerge is currently in a hyper-experimental state and shouldn't be used right now. 16 Feb 2002; G.Bevin emerge : added support for 'emerge cat/pkg-version' instead of always having to require 'emerge cat/pkg' 15 Feb 2002; G.Bevin emerge : reimplemented the display of cleaned packages to clearly show all versions that are about to be removed and which versions are going to stay 13 Feb 2002; D.Robbins emerge : added --emptytree option 13 Feb 2002; G.Bevin emerge, portage.py : fixed little bug where emerge --clean rsync wasn't correctly handled anymore implemented all new functionalities of emerge --clean, this adds --slots, --versions and --all options together with world and system modes 12 Feb 2002; G.Bevin emerge, portage.py : changed emerge --zap to emerge --clean removed parts of the already implemented slots functionality to be able to fall back to a more flexible implementation. Binary compatible slots will now mostly influence emerge during the --clean operation 12 Feb 2002; G.Bevin emerge : added fallback check in case UNMERGE_DELAY hasn't been defined in make.globals or make.conf *portage 1.8.9_pre8 (18 Feb 2002) 12 Feb 2002; G.Bevin emerge : changed the rebuild code to use depgraph instead, dramatically reducing code duplication 11 Feb 2002; G.Bevin emerge : changed indentation of a code part that wasn't at the right level. It got the count of the non slot packages during --zap completely wrong *portage 1.8.9_pre7 (11 Feb 2002) 11 Feb 2002; G.Bevin portage.py : fixed bug in packagetree.dep_match() where a ~ dependency is returned as a string instead of as a list 11 Feb 2002; G.Bevin emerge : - removed support for --all and world in 'emerge --unmerge', by default now all matching packages are removed since with the new slots functionality old package versions should not exists anymore - colored package name red too when a blocking package is found during pretend operation - changed emerge invocation arguments to be in a new universal interface format this has been decided to be : 'emerge --action --option --option [packageset]' some features however don't respect this, but that's since they are not package installation related and are easier to use as straight commands eg: emerge rsync - added UNMERGE_DELAY var to make.globals and support it in emerge to obtain the number of seconds to wait - support for NOCOLOR="yes" as wel as NOCOLOR="true" - major speedups for emerge -search - added formatted package descriptions of the matches from emerge --search that nicely wrap at 80 chars - rewrote retrieval of package descriptions to support descriptions that are specified on multiple lines - added support for 'noslot' to --zap, --update and --rebuild 11 Feb 2002; G.Bevin sandbox.c, libsandbox.c : added checks to see if the files where information is written to are really regular files and not symlinks *portage 1.8.9_pre6 (10 Feb 2002) 10 Feb 2002; G.Bevin emerge : added support for 'emerge --unmerge world' which removes all old package versions from the system made 'emerge --unmerge' take binary compatibility slots into account, this prevents that packages with different versions but also different slots, are being unmerged added support for "--verbose" in "emerge rebuild" and "emerge world" to provide details about packages that aren't in the local tree anymore and to notify the user about which packages don't support slots 9 Feb 2002; G.Bevin emerge : added support for the rebuild mode which rebuilds all the packages on your system for which a corresponding package could be found in to portage tree 9 Feb 2002; G.Bevin portage.py : renamed getEbuildPaths() or vartree to getebuildpaths() fixed bug in the merging of binary packages 7 Feb 2002; G.Bevin xpack.py : added additional argument to tbz2.getfile() which allows default content to be provided when the requested file couldn't be found in the tbz2 archive 7 Feb 2002; G.Bevin ebuild.sh : added SLOT information as the third entry in the temporary deps file that is generated during ebuild depend, 7 Feb 2002; G.Bevin portage.py : obtain SLOT information from the deps file instead of using the slotgrab() function, removed slotgrab() function, updated some comments 7 Feb 2002; G.Bevin emerge : added SLOT information to the generated edepend var for binary packages *portage 1.8.9_pre5 (6 Feb 2002) 6 Feb 2002; G.Bevin portage.py : fixed bugs where the old instance wasn't unmerged correctly if slots are identical, but ebuild version numbers not 6 Feb 2002; Grant Goodyear cnf/make.conf : Copied proxy lines from make.globals (bug 431). 6 Feb 2002; Vitaly Kushneriuk portage.py : added missing SLOT param to merge(...). *portage 1.8.9_pre4 (6 Feb 2002) 6 Feb 2002; G.Bevin portage.py : fixed some bugs in the handling of PROVIDES and virtual packages together with slots, they used code that wasn't upudated to the new dblink constructor virtuals now use "" as slot, resulting in normally to same behaviour as what has been done before. 5 Feb 2002; G.Bevin emerge : sorted the packages to unmerge since this makes package names with revision endings appear before plain version numbers. This makes the unmerge code first remove the old and non slot aware packages before removing the newer alternative which is in fact exactly the same apart from the revision identifier. *portage 1.8.9_pre3 (5 Feb 2002) 5 Feb 2002; G.Bevin portage.py : only let the backward compatibility algorithm kick in during unmerge since it's impossible to correctly detect is in general. *portage 1.8.9_pre2 (5 Feb 2002) 5 Feb 2002; G.Bevin portage.py : fixed bug in the backward compatibility algorithm *portage 1.8.9_pre1 (5 Feb 2002) 4 Feb 2002; G.Bevin ebuild.sh, emerge, portage.py : added binary compatibility slots, this also contains additional code to keep the unmerging of packages backwards compatible. 4 Feb 2002; G.Bevin portage.py : added back support for the "ebuild help" command which seems to have disappeared somewhere along the updates 4 Feb 2002; G.Bevin make.conf, make.globals : added description and default entry for the imlib USE variable added flag to prozilla to disable prozilla's waiting for a user's keypress when a failure occurs 4 Feb 2002; G.Bevin output.py : bugfix, write read() function instead of red(), doh ! 4 Feb 2002; G.Bevin emerge, portage.py : implemented the ! dependency which prevents incompatible packages to be installed on the same system at the same time 4 Feb 2002; G.Bevin emerge : most emerge invocation options now have alternative short flags 4 Feb 2002; G.Bevin emerge : emerge now doesn't unmerge the last version of an installed version by default anymore, to really remove all instanced of packages the --all flag has to be used, the --safe flag is deprecated 3 Feb 2002; G.Bevin output.py, emerge,make.globals : all output can now be turned to black and white by using the functions in output.py, this determines the mode by checking to NOCOLOR variable in make.conf or make.globals 3 Feb 2002; G.Bevin emerge : made it possible to run emerge --help and --search as non root *portage 1.8.8-r1 (1 Feb 2002) 1 Feb 2002; G.Bevin portage.py, ebuild.sh, ebuild.5 : added support for a pkg_setup() function which is executed before anything else and can be typically used for package configuration actions or required system checks 1 Feb 2002; G.Bevin portage.py : implemented the noauto MAINTAINER flags for all relevant ebuild commands 1 Feb 2002; G.Bevin portage.py : make env-update disregard backup files 1 Feb 2002; G.Bevin emerge : added --pretend support instead of interactively asking to proceed, also added a delay before unmerging though to be sure *portage 1.8.8 (1 Feb 2002) 1 Feb 2002; G.Bevin emerge : added --safe switch to complement the --unmerge option 1 Feb 2002; G.Bevin portage.py : rewrote the packagename without category support to also graceously handle deps specifiers at the beginning, this shouldn't be used in the ebuilds, but are very handy when using emerge --unmerge 1 Feb 2002; G.Bevin emerge : added emerge --unmerge support 1 Feb 2002; G.Bevin portage.py : added packagename without category support in the dep_match function *portage 1.8.7 (30 Jan 2002) 30 Jan 2002; G.Bevin portage.py : integrated and slightly adapted Brent Rahn's code to support package names without category 30 Jan 2002; G.Bevin ebuild.sh : integrated and fixed Azarah's patch to fix the wrongly generated archive size in the digests *portage 1.8.6-r3 (28 Jan 2002) 28 Jan 2002; G.Bevin portage.py : disabled warnings about non existant config file paths 28 Jan 2002; G.Bevin emerge : added verwilst pkgsearch code, which was turned into a seperate class and refactored for clarity and execution speed 28 Jan 2002; G.Bevin portage.py : renamed _xxx vars to _prepart in Vitaly's code addition *portage 1.8.6-r2 (27 Jan 2002) 24 Jan 2002; Vitaly Kushneriuk portage.py : Fixed version compare code Also added test script to test future versions. *portage 1.8.6-r1 (24 Jan 2002) 24 Jan 2002; Karl Trygve Kalleberg dojar: Fixed typos. *portage 1.8.6 (23 Jan 2002) 22 Jan 2002; G.Bevin libsandbox.c : added an additional check for SANDBOX_ON to optimize the speed in the execvp function call. Also removed error messages being printed when the PATH var isn't set. 20 Jan 2002; Karl Trygve Kalleberg dojar : added dojar shell command as a java JAR handler 17 Jan 2002; Daniel Robbins : The package chosen by "emerge sys-apps/shadow" now matches that chosen in an emerge update or emerge system. I forgot to add some "*" dep code to the dep_nomatch() method; this is now fixed. *portage 1.8.5 (13 Jan 2002) 13 Jan 2002; G.Bevin ebuilds.sh, portage.py: added fine grained maintainer settings *portage 1.8.4 (13 Jan 2002) 12 Jan 2002; Daniel Robbins : "emerge sys-apps/bash/" now works. (trailing "/" stripped to make tab-completion users happy) This fixes bug #119 12 Jan 2002; Daniel Robbins : Portage should no longer bomb out if the current working directory doesn't exist (has been deleted from underneath). 12 Jan 2002; Daniel Robbins : added "--world" option for "emerge update". This tells Portage to update the base system *as well as* upgrade any packages that are currently installed but have new versions available. This is your standard full system update command. This fixes bug #122 12 Jan 2002; Daniel Robbins : Added an expandpath() cache which speeds up merging dramatically. *portage 1.8.3 (11 Jan 2002) 11 Jan 2002; Mikael Hallendal ebuild.sh: added functions econf and einstall. Also made src_compile having a default implementation. *portage 1.8.2 (07 Jan 2002) 07 Jan 2002; G.Bevin : sandbox included in portage *portage 1.8.1 (30 Dec 2001) 29 Dec 2001; Daniel Robbins : "emerge update" is now functional! Although the algorithm really should be sound, it is still considered in testing since we may need to tweak some dependencies. 27 Dec 2001; Daniel Robbins : Removed objprelink from the default USE variable. *portage 1.8.0 (22 Dec 2001) 22 Dec 2001; Daniel Robbins : I messed up the "transparent .so library" update. Included is the correct fix, which seems to allow glibc to update on my system without any tricks. I just merged a new glibc while in X, without using any of glibc's old pkg_postinst/pkg_preinst hacks. 21 Dec 2001; Daniel Robbins make.defaults.5, make.conf.5 : Moved make.defaults.5 to make.conf.5 and updated contents. *portage 1.7.8 (21 Dec 2001) 21 Dec 2001; Daniel Robbins portage.py : ebuild install doesn't throw away the compile directory if ebuild has been changed and MAINTAINER is set; we now use mv -f to move files into location on the filesystem, making our library install method even more robust. It should now be totally safe to upgrade glibc while in X and playing music with xmms and surfing the Web and compiling 20 applications at once :) * portage 1.7.7 (14 Dec 2001) 14 Dec 2001; Aron Griffis : portage.py : movefile() now unlink()s the destination file first which solves shared library install problems. * portage 1.7.6 (13 Dec 2001) 10 Dec 2001; Daniel Robbins portage.py : env_update() now generates an /etc/csh.env file in csh shell format. * portage 1.7.5 (13 Dec 2001) 10 Dec 2001; Daniel Robbins portage.py : added a little fix so a ~ dep isn't satisfied by a *much* later installed version; i.e. ~media-libs/freetype-1.3.1 satisfied by media-libs/freetype-2.0.5 being installed. 30 Nov 2001; Daniel Robbins ebuild : added a KeyboardInterrupt handler so ^C'ing a running ebuild process doesn't produce a Python traceback. * portage 1.7.4 (29 Nov 2001) 29 Nov 2001; Daniel Robbins portage.py : removed an unnecessary quirk in the code preventing virtual packages from being in any other category but "virtual". 25 Nov 2001; Daniel Robbins emerge : info file detection code has been improved. * portage 1.7.3 (20 Nov 2001) 20 Nov 2001; Daniel Robbins pdb, pdb.cgi, xpak : used /usr/bin/python instead of /usr/bin/spython. Fixed. * portage 1.7.2 (13 Nov 2001) 13 Nov 2001; Aron Griffis : emake will now try to build in parallel, and if it fails, will retry in non-parallel mode. 13 Nov 2001; Daniel Robbins ebuild.sh : an ebuild that used an archive with a name that was part of another archive would cause Portage to mess up the digest check. No longer. 31 Oct 2001; Donny Davies make.conf, make.globals : comments about merging the fetch programs before trying to use them. * portage 1.7.1 (30 Oct 2001) 30 Oct 2001; Daniel Robbins portage.py : I accidentally broke "=" deps by being sloppy when I added "*" deps. Trivial fix applied. * portage 1.7 (29 Oct 2001) 29 Oct 2001; Daniel Robbins portage.py : strange typo fix in the empty() digraph method. * portage 1.6.12 (29 Oct 2001) 29 Oct 2001; Daniel Robbins portage.py : "*" deps now implemented. "=sys/foo-1*" matches the latest 1.x version/rev of sys/foo, but will not match a 2.x version. 26 Oct 2001; Daniel Robbins portage.py : various new categories added. Portage 1.6.11, released 18 Oct 2001 ==================================== *portage.py; device nodes are now not unmerged at all. Portage 1.6.10, released 18 Oct 2001 =================================== *ebuild.sh: A and AA fix; now any A="foo" lines in the ebuild are ignored, allowing ebuilds with them to continue working. *portage.py: remove gnome-apps, gnome-office, gnome-libs, add gnome-extra categories. *ebuild.sh, portage.py: You can now use USE variables in SRC_URI to conditionally include archives. In MAINTAINER mode, all archives are automatically included so that maintainers can check SRC_URIs and also generate complete digests. A new file-based DEPEND and RDEPEND-passing mechanism has been added. *ebuild.sh Now adds filesize to the digest files Portage 1.6.9, released 15 Sep 2001 =================================== *portage.py unmerge() now does not touch device nodes. Unlinking them or touching them in any way is bad practice. Portage 1.6.8, released 12 Sep 2001 =================================== *portage.py movefile() will now unlink() destfile if it is a symlink. Should fix problems where file gets created at symlink target rather than replacing the symlink. *queryhost.sh (agriffis) Parallel pinging and other fixes. Portage 1.6.7, released 05 Sep 2001 =================================== *portage.py (last-minute fix) CONFIG_PROTECT unmerge protection is now observed for symlinks, fifos and device nodes. *portage.py Fixes for unmerging CONFIG_PROTECTed files. Protected files are now *not* unlinked from the filesystem. Messier but safer, and simplifies package upgrades. *emerge Emerge output cleanups for GNU info directory generation. New --verbose mode; new CONFIG_PROTECT scanning feature to let people know when there are config files to be updated. New "--help config" docs to explain how to do it. Portage 1.6.6, released 01 Sep 2001 ==================================== *portage.py Upgraded directory merging over existing objects. Existing symlinks that point to existing directories will be kept and used as is; directories will be used as-is; any other objects (broken symlinks, files) will be copied to origfilename.backup and a ne directory will be created in its place. Portage 1.6.5, released 31 Aug 2001 ==================================== *emerge Fixes for handling multiple ebuilds, packages and/or dependencies on the command-line. *portage.py An optimization to the digraph class so that the firstzero() method finds matches in close to the order that keys were added to the digraph.