# ChangeLog for Portage; the Gentoo Linux ports system # Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2 # $Id: ChangeLog,v 1.796.2.146 2005/08/20 17:24:30 jstubbs Exp $ MAJOR CHANGES in 2.0.51: 1. /var/cache/edb/virtuals is no longer used at all. It's calculated now. 2. /var/cache/edb/world is now /var/lib/portage/world. 3. /etc/portage/profile/virtuals is _USER_ configs only. 01 Oct 2005; Brian Harring pym/portage.py: selinux_enabled tweak, instead of relying on exception thrown on import, check the actual enabled value (forward compatibility). 01 Oct 2005; Brian Harring bin/repoman: Touch ups to file.name check. 01 Oct 2005; Brian Harring bin/ebuild, pym/portage.py: Fixed ebuild some-ebuild setup unpack so it functions like ebuild some-ebuild unpack does (execute just unpack due to env issues, see comments in ebuild clarifying if curious). 28 Sep 2005; Brian Harring bin/repoman: Fixup of the file.name check so it doesn't catch CVS dirs. 27 Sep 2005; Brian Harring bin/ebuild.sh: No more portageq in the global scope. Instant die. 27 Sep 2005; Brian Harring bin/ebuild.sh, pym/portage.py: Tweak to make EAPI work for existing vdb entries. 24 Sep 2005; Brian Harring pym/portage.py, bin/emerge: Final emerge metadata/cache cleanups; emerge --metadata no longer requires root (we run searches as non root, which can update the cache, so emerge --metadata as root is daft), and silenced auxdb exceptions when doing metadata transfers- preparation for when the default backend is changed. If that weren't in, user would see > 20,0000 lines of pointless cruft output. 24 Sep 2005; Brian Harring pym/portage.py, +pym/portage_db_metadata.py, +pym/portage_db_flat_hash.py, pym/portage_db_flat.py, pym/portage_const.py: EAPI awareness, and support for flat_hash metadata/cache. Later autodetects if the rsync cache is flat_hash, or flat_list, and interprets accordingly. Flat_hash is intended to make it such that rsync cache breakages for older portage versions no longer occur; the container format can hold pretty much anything across EAPI versions. Additionally... EAPI is intended such that additions to the ebuild env/helpers don't puke if you're running to old of a portage version; it allows us to 'version' the ebuild env/funcs, and do masking dependant on that versioning. 23 Sep 2005; Brian Harring bin/emerge: cleanse_cache cleanups, should kill off all remaining issues in bug #100444 . 23 Sep 2005; Brian Harring bin/repoman: bug #106544, glep31 enforcement checks. 20 Sep 2005; Brian Harring pym/portage.py: Cleanup after python, remove module from sys.modules that was a failed import for selinux code- identified by Tudor Alexandru Dragos in bug #106363 . 18 Sep 2005; Mike Frysinger bin/etc-update: Make sure diff works before checking config files #48184. 08 Sep 2005; Brian Harring bin/ebuild.sh: Fixed unpack so that it actually works now. ${tarvars} placement was a bit wrong, which is odd considering it shouldn't have changed. 08 Sep 2005; Jason Stubbs bin/emerge: Only warn on removal of system virtuals if there is only one satisfying package. 21 Aug 2005; Jason Stubbs bin/ebuild.sh: Skip protecting ownership of symlinks. Patch by truedfx #94199 14 Aug 2005; Mike Frysinger bin/prepstrip: Don't try to strip if `file` failed #102499 by Daniel Drake. 10 Aug 2005; Mike Frysinger bin/quickpkg: Call gawk instead of awk so non-GNU systems work #102050 by Stephen Bennett. Also clean up the script a bit. 08 Aug 2005; Brian Harring bin/ebuild.sh: fixed bug #101035 , basically checking pipestatus during unpack for piped unpacks. 07 Aug 2005; Mike Frysinger bin/ebuild.sh: Add support for unpacking rar archives. 04 Aug 2005; Brian Harring bin/emerge: bug 64585, sanity check on cache cleansing. 04 Aug 2005: Brian Harring bin/emerge: It's not perfect, but a fix for bug #96410. A better fix would be to get the categories limiter out of settings... 29 Jul 2005; Mike Frysinger bin/doman: Back port from portage HEAD: Remove old unused options (-x11/-gnome/-kde/etc...) and cleanup. 04 Jul 2005; Mike Frysinger bin/ebuild-default-functions.sh: Fix gnuconfig find expression #93363 by TGL. 23 Jun 2005; Mike Frysinger bin/ebuild-default-functions.sh: Update the scanelf RUNPATH check to abort on null paths. 17 Jun 2005; Mike Frysinger bin/repoman: Report exit status if gpg failed to return with 0. 14 Jun 2005; Marius Mauch man/portage.5: Remove references to non-existant $PORTDIR/profiles/use.mask and revert the "fix" for bug 87173. 13 Jun 2005; Mike Frysinger bin/ebuild.sh: Use the %p output modifier instead of %F so we don't have to update the output by removing all the $D references. 29 May 2005; Jason Stubbs bin/ebuild.sh: Made /etc/profile.env sourced regardless of USERLAND. Made copying of config.sub and config.guess --force'd as they are sometimes u-w. Replaced a if/else of chgrp root/wheel with chgrp 0. 29 May 2005; Jason Stubbs bin/emerge: Moved the system package unmerge check after slots are checked and removed the countdown for when --ask is specified. Added a chdir to the removal of old cache call so that there are no errors due to userpriv and being in a non-portage-readable directory. 29 May 2005; Jason Stubbs bin/etc-update: Moved the temporary work dir from /tmp/$$ to ${PORTAGE_TMPDIR}/$$. 29 May 2005; Jason Stubbs bin/prepinfo bin/prepman: Reordered the -{min,max}depth and -name arguments to find so that warnings are not produced. 29 May 2005; Jason Stubbs pym/portage.py: Added support for FreeBSD's ldconfig. Fixed an incorrect chown of BUILD_PREFIX instead of PORT_LOGDIR. 29 May 2005; Mike Frysinger bin/ebuild.sh bin/prepstrip: Backport scanelf QA checks from HEAD. 25 May 2005; Brian Harring bin/ebuild.sh: Bug 93293, die + stat_perms issues. Tweaked do_stat definition so it's one time instead of ongoing also. 19 May 2005; Jason Stubbs pym/portage.py: Disabled userpriv as a user globally instead of only in fetch. 19 May 2005; Jason Stubbs bin/emake: Made the make command configurable but defaulted to "make". 19 May 2005; Jason Stubbs bin/emerge: Fixed an issue that would cause binary package reinstalls when IUSE disagreed. 19 May 2005; Jason Stubbs bin/repoman: Fixed an issue where the portage version wasn't appended to the commit message when specified on the command line. Fixed the detection of files above the package level during Manifest generation. 19 May 2005; Jason Stubbs pym/portage.py: Renamed the userpriv FEATURE to userfetch for the fetch() phase and fixed a bug where privileges would try to be dropped even as non-root. Fixed a bug where files were attempted to be fetched when only a manifest recreation is requested. 17 May 2005; Jason Stubbs pym/portage.py: Stopped attempting to fetch files when only the manifest is being generated. *portage-2.0.51.22 (15 May 2005): Maintainence Release 15 May 2005; Jason Stubbs bin/dodoc: Removed the dodoc new testing features from head's version of dodoc. 15 May 2005; Jason Stubbs bin/emerge: Made --newuse take priority over --usepkg. 15 May 2005; Jason Stubbs bin/repoman: Added HOMEPAGE to the list of vars that must be defined. Restored detection of the digest.partial check. Made a commit message required. 15 May 2005; Jason Stubbs pym/portage.py: Fixed the definition of PYTHONPATH in env_update(). Fixed the handling of quotes in env_update(). 13 May 2005; Jason Stubbs cnf/dispatch-conf.conf bin/dispatch-conf: Removed the pager config option and made if part of the diff command option. 13 May 2005; Jason Stubbs bin/dodoc: Backported vapier's fix for 0-byte files causing a spurious "file not found" error. 13 May 2005; Jason Stubbs bin/emerge: Remove --verbose and --tree from options when using --resume as the combination is currently broken. 13 May 2005; Jason Stubbs bin/repoman: Added three new checks on ebuild's PROVIDEs. Optimized out a lot of unnecessary aux_get() calls. Modified to commit an unsigned Manifest before committing the signed one to help ensure broken digests don't make it to rsync. 13 May 2005; Jason Stubbs pym/portage.py: Added SCCS to the list of directories to ignore when ignorecvs is set in cacheddir. Drop priveleges during fetch when userpriv is set. Added message display when changing permissions on ccache dirs. 06 May 2005; Brian Harring bin/ebuild: fix portage_util import on osx. 05 May 2005; Jason Stubbs bin/etc-update: Fixed the regex and added locale overrides to the use of cut as per bug #91159. 05 May 2005; Jason Stubbs cnf/make.globals: Made CONFIG_PROTECT default to /etc only as packages are augmenting it via env.d where necessary. 05 May 2005; Jason Stubbs bin/emerge: Reverted deletion of apparently unused code as it was being used in the case of --noreplace. 04 May 2005; Marius Mauch bin/g-cpan.pl, man/g-cpan.pl.1: removed g-cpan.pl as it's now a standalone tool. 02 May 2005; Jason Stubbs pym/portage.py: Added back support for ~* and * in package.keywords as it got dropped at some point. *portage-2.0.51.21 (01 May 2005): Maintainence Release 01 May 2005; Jason Stubbs bin/ebuild.sh: Fixed an inverse logic bug in the setting of ccache size. 01 May 2005; Jason Stubbs : Removed g-cpan.pl as it is now maintained externally. Removed other old and/or unmaintained scripts. 01 May 2005; Jason Stubbs pym/portage.py: Dropped confmem from 16 previous files down to 1 previous file so that upgrading and downgrading behaves in terms of config files. 01 May 2005; Jason Stubbs pym/portage.py: Added checking of overlays for package.mask, categories and others. 01 May 2005; Jason Stubbs bin/ebuild.sh: Skip testing if has already been performed (indicated by .tested) 01 May 2005; Jason Stubbs pym/portage.py: Removed debugging information and added a fix for merging a symlink to a directory over a file. 01 May 2005; Jason Stubbs cnf/make.globals: Added a basic CONFIG_PROTECT setting for those users who use only binary packages and don't have a portage tree. 29 Apr 2005; Jason Stubbs bin/doman: Added Mike's patch to broaden the accepted man pages from [1-8n] to [0-9n](|f|p|pm) 29 Apr 2005; Jason Stubbs bin/emerge pym/portage.py: Added an implementation for the emerge config action and a supporting method findname on the vardbapi class. 29 Apr 2005; Jason Stubbs man/portage.5: Removed invalid example from portage.keywords. 29 Apr 2005; Jason Stubbs bin/emerge: Drop privs when doing cache cleansing after syncing. 29 Apr 2005; Jason Stubbs pym/portage.py: Fixed several issues with userpriv. 29 Apr 2005; Jason Stubbs bin/ebuild.sh: Made the autoconfig feature non-optional. 29 Apr 2005; Jason Stubbs pym/portage.py: Removed running of depscan.sh from env-update. 29 Apr 2005; Jason Stubbs pym/portage.py: Applied solar's patches from bug #90720 that allow most ebuild operations to work as any user in the portage group. 29 Apr 2005; Jason Stubbs pym/portage.py: Fixed a bug that would cause an empty CBUILD to be defined if CHOST is not defined. 29 Apr 2005; Jason Stubbs cnf/make.globals.*: Removed the now deprecated arch-specific make.globals files. 29 Apr 2005; Jason Stubbs bin/dispatch-conf pym/dispatch-conf.py: Fixed a typo with the added merge option. Added hard-coded default merge option so that dispatch-conf can be used to do a line by line of dispatch-conf.conf. 29 Apr 2005; Jason Stubbs bin/ebuild.sh: Updated econf to use LOCAL_EXTRA_ECONF rather than EXTRA_ECONF directly, as noted by eradicator. Removed the forced resizing of ccache when CCACHE_SIZE is undefined. 29 Apr 2005; Jason Stubbs bin/emerge: Fixed bug in --info during sorting when two versions have only differing -r component. Ported Brian's regen method to --metadata for faster updates. 29 Apr 2005; Jason Stubbs bin/repoman: Fixed an off-by-one indexing into a list during scanning for Manfiest commits. 29 Apr 2005; Jason Stubbs pym/portage.py: Fixed a bug in the checking of whether sandbox is usable when usersandbox is enabled. Combined u+w and g+w mods on ccache dir into the one exec. Added missing g+s mods on ccache dir, which was causing mods at each check. Moved mtime check in aux_get so that it applies to updating from the metadata cache as well. Relocated the fix for mynewcat outside of the loop to prevent needless re-calculation. Added debugging code for bug #71787. 24 Apr 2005; Masatomo Nakano pym/portage.py Fixed undefined value causing traceback when moving package in binarytree. *portage-2.0.51.20 (23 Apr 2005): Maintainence Release 23 Apr 2005; Jason Stubbs pym/portage_const.py: Adjusted sandbox path to match the external sandbox. 23 Apr 2005; Jason Stubbs bin/repoman: Added a 3 second delay after a failed Manifest commit. Fixed bug where files at the category level were being treated as packages. 23 Apr 2005; Jason Stubbs pym/portage.py portage_util.py portage_db_cpickle.py: Replaced HIGHEST_PROTOCOL with it's equivalent -1 to ensure python-2.2 compatibility. Added back ChangeLog and metadata.xml to Manifest generation for portage compatibility. 21 Apr 2005; Jason Stubbs pym/portage.py: Adding setting of CBUILD to CHOST if it is not set. Fixed getmaskingstatus to choose an arch-based keyword over -*. 21 Apr 2005; Jason Stubbs bin/ebuild.sh: Removed stale code from dyn_setup. 19 Apr 2005; Brian Harring pym/portage_db_flat.py: Correction for string method name, again, danke to swegener. 19 Apr 2005; Jason Stubbs bin/ebuild: Added a missing import of portage_util. 19 Apr 2005; Jason Stubbs pym/portage.py: Fixed my assumption that ChangeLog and metadata.xml will exist during digest creation. 17 Apr 2005; Brian Harring pym/portage.py: eclass cache touche up, mtime wasn't being properly checked (thanks to swegener for catching it). 17 Apr 2005; Jason Stubbs pym/portage_exec.py pym/portage.py: Added checks to see if the sandbox is executable and disabled when it isn't. 17 Apr 2005; Jason Stubbs bin/dispatch-conf cnf/dispatch-conf.conf pym/dispatch-conf.py: Made the merge command configurable. Fixed a bug that caused conflicts to make their way into the final configuration file. Made the config archive dir automatically created if there is nothing in the way. 17 Apr 2005; Jason Stubbs pym/output.py: Reverted the feature to make use of screen titles. 17 Apr 2005; Jason Stubbs bin/emerge: Made detection of --ask capability use stdin instead of stdout. 15 Apr 2005; Jason Stubbs pym/portage.py: Removed ChangeLog and metadata.xml from Manifest creation and checking. Quietened failed mtimedb writes. Added patch to allow fetching to read-only DISTDIR. Added logic to detect changing between userpriv and non-userpriv and update the ccache permissions at each change. 15 Apr 2005; Jason Stubbs cnf/make.globals*: Removed vars not directly related to portage. Architecture specific ones are going into the relevant profiles. USE_ORDER and CONFIG_PROTECT* will likely be going into base. 14 Apr 2005; Jason Stubbs pym/portage.py: Applied patch from #69763 to allow fetching to a read-only distfiles dir. 13 Apr 2005; Jason Stubbs bin/repoman: Downgraded the nesteddie check to a warning as it sometimes has false positives. 13 Apr 2005; Jason Stubbs cnf/make.conf*: Removed size estimation of PORTDIR. 13 Apr 2005; Jason Stubbs pym/portage.py: Added verification of package.provided contents. Fixed a bug with an incorrect error on binary package category moves. Fixed a small bug that would cause a crash on an invalid PRELINK_PATH_MASK. Added signal handling of SIGPIPE. Added deep fixing of permissions on CCACHE_DIR when changing between userpriv states. 13 Apr 2005; Jason Stubbs bin/emerge: Added sorting to versions listed in emerge info output. 13 Apr 2005; Jason Stubbs man/emerge.1: Removed --inject documentation. 12 Apr 2005; Jason Stubbs bin/emerge: Added --nocolor option courtesy of Jason Cooper on gentoo-user@g.o. 12 Apr 2005; Jason Stubbs bin/repoman: Fixed the date parsing of repoman to allow ranged and single years beginning 1999. #85242 12 Apr 2005; Jason Stubbs pym/portage.py: Added pusedict optimization. #85786 12 Apr 2005; Jason Stubbs bin/emerge: Fixed emerge to always add packages to world unless --oneshot is specified. 12 Apr 2005; Jason Stubbs bin/dispatch-conf: Replaced shutil.movefile() calls for python-2.2 compatibility. 12 Apr 2005; Jason Stubbs bin/portageq pym/portage.py: Utilized PORTAGE_CALLER to only print profile deprecation noticies when emerge first starts up. 12 Apr 2005; Jason Stubbs bin/repoman: Limited digest.assumed and ebuild.allmasked (by default) to scans at the package level only. Removed IUSE from required variables. Fixed duplicate reporting of required variables. Adjusted size limit of files/* to 20480 bytes. Fixed allmasked check. Removed reinitialization of each profile at every usage. 12 Apr 2005; Jason Stubbs pym/portage.py: Fixed spelling error. Removed code from portdbapi.gvisible that was only utilized by repoman's (broken) allmasked check. 03 Apr 2005; Jason Stubbs bin/emerge: Modified to ignore blockers when using --buildpkgonly. 02 Apr 2005; Jason Stubbs pym/portage.py: Made autouse calculated only at import time to ensure that use flags from dep calculation are the same as those used at build time. 02 Apr 2005; Jason Stubbs pym/portage_dep.py: Fixed a bug where a return type was a tuple instead of a list in paren_reduce(). 23 Mar 2005; Jason Stubbs bin/dispatch-conf: Removed the -a argument from all diff usage. 08 Mar 2005; Brian Harring pym/portage.py: Tweak to ensure restrict is dumped to the env, with PORTAGE_RESTRICT being dumped also. 06 Mar 2005; Jason Stubbs bin/emerge: Added a check to make sure the file exists before working with it, when called with an ebuild path. #84102 *portage-2.0.51.19 (04 Mar 2005): Maintainence Release 02 Feb 2005; Jason Stubbs pym/portage.py: Fixing ferringb's fix by adding the full scope of normpath. 02 Mar 2005; Nicholas Jones pemerge.py: Add it back since I seem to have removed it by changing/refreshing dirs at some point. 01 Mar 2005; Brian Harring pym/portage.py: bug 83712, a lovely normalized path bug in eclass_cache resulting in false positives on eclass cache staleness... 01 Mar 2005; Brian Harring bin/prepman: bug 83704, prepman getting stupid about gzip'ing already bzip2'd man pages. 01 Mar 2005; Jason Stubbs bin/emerge: Expanded syslist during the unmerge phase so that all packages listed in system are correctly checked and warned against. #83670 *portage-2.0.51.18 (28 Feb 2005): Maintainence Release 28 Feb 2005; Jason Stubbs pym/portage.py: Added a -* to updated FEATURES before saving back to the env. #79566 27 Feb 2005; Jason Stubbs pym/portage.py: Added back sorting of the final list from portdbapi.cp_all() so that emerge regen is ordered correctly. *portage-2.0.51.17 (26 Feb 2005): Maintainence Release 26 Feb 2005; Nicholas Jones *: Darwin userland patch from Kito (bug 82312). Adjusted a couple bits like the file was installed with message and etc-update's USERLAND check per Jason suggestion. 26 Feb 2005; Nicholas Jones portage_data.py: Added the 'gnu' suffix check for the BSD/GNU people. (bug 80018) 26 Feb 2005; Nicholas Jones pym/xpak.py: Added in a method to get both the data and index segments for use with the other memory based functions. 21 Feb 2005; Brian Harring pym/portage.py: So yeah. Don't fool with the eclass_cache.porttree ordering unless you understand that it -must- match bash's inherit order (where overlays override portdir). 15 Feb 2005; Jason Stubbs emerge: Disabled the cache update output when using --quiet. #81678 15 Feb 2005; Jason Stubbs make.conf*: Added warning with regard to changing CHOST. #81007 13 Feb 2005; Jason Stubbs make.conf*: Added warning with regard to changing PORTDIR and /etc/make.profile. 13 Feb 2005; Jason Stubbs portage.py: Fixed the global features usage in the config class and made sure that any adjustments are propogated back to the env. 13 Feb 2005; Jason Stubbs chflags.c: Replaced stat call with an lstat call in lhasproblems as the calling code expects the function to operate directly on symlinks. *portage-2.0.51.16 (06 Feb 2005): Maintainence Release + BSD chflags 06 Feb 2005; Nicholas Jones portage.py, src/chflags: Addition of BSD chflags support (from spb@gentoo.org). Wrapped all the calls within a check for the modules existance so we can reduce any problems due to a failing or missing module. Internally renamed it bsd_chflags. 06 Feb 2005; Jason Stubbs bin/ebuild.sh: Completed renaming of "maketest" to "test". RESTRICT supports both. #77446 06 Feb 2005; Jason Stubbs pym/output.py: Added checking of whether stderr is a tty before changing xterm titles. #73824 05 Feb 2005; Jason Stubbs bin/emerge: Added removal of --tree and --changelog upon a restart of emerge. Added --ask support to emerge metadata. 05 Feb 2005; Jason Stubbs pym/portage.py: Removed the requisite that a profile must depend on ">=sys-apps/portage-2.0.51" to be able to use package.mask. 05 Feb 2005; Jason Stubbs bin/repoman pym/portage.py: Removed the disabling of PORTDIR_OVERLAY from portage.py and added code to repoman to set PORTDIR to the current directory's repo unless it doesn't contain a profiles directory. If that is the case, PORTDIR is kept and PORTDIR_OVERLAY is set to the current overlay -only-. 03 Feb 2005; Brian Harring pym/portage.py: bug 80506, fixed RESTRICT="(no|)userpriv". 31 Jan 2005; Brian Harring pym/portage.py: Spanky pointed a bug assuming the intermediate directories for WORLD_FILE existed already. 30 Jan 2005; Brian Harring bin/ebuild.sh: Update from eradicator, bug #75420. Multilib stuff. :) 30 Jan 2005; Brian Harring bin/prepman: Fixing bug #79788. Some screwy syntax for a find call was screwing up gzip'ing of man pages for osx boxes. 30 Jan 2005; Jason Stubbs emerge emerge.1: Added short -N option for --newuse. Moved virtuals updating for packages that are about to be installed so that the update happens after the virtuals within that package's direct dependencies are resolved. Made the blocking message slightly easier to understand. Added a suggestion to run emerge with --newuse before running depclean. 30 Jan 2005; Jason Stubbs etc-update: Removed the unsetting of various options that happens when using graphical mode. 30 Jan 2005; Jason Stubbs quickpkg: Added -h and --help options. 30 Jan 2005; Jason Stubbs repoman: Added patch to call xmllint directly on metadata.xml rather than piping it. This prevents the need (and possible failure) to escape quote characters. 30 Jan 2005; Jason Stubbs portage.py: Fixed a bug with calculations using PRELINK_PATH_MASK where paths matching those in PRELINK_PATH_MASK were not removed. 28 Jan 2005; Brian Harring portage_db_flat.py: removed the portage_locks locking that was added, using a different strategy reliant on rename. Basically, for a pull- you open the file. If that fails, then the cache lacks that entry. If it succeeds, you do your stat calls (to get mtime) against the -file handle-, via fstat. You can read from that inode without issue, but do not assume that that inode is the still accessible via another open call (it may've been updated since). Pushes are accomplished via writing everything to a temp file, then renaming that file to the correct name- chmod/chown/utime calls need to be done prior to the rename. So, if a pull is ongoing while a push starts up and finishes, the pull still is accessing the old cache entry- worst case scenario, it goes and reupdates the cache entry. This is acceptable, since the overhead from using a seperate lockfile is much more costly (in some cases, a difference of 3m to 20m). Normal cases, roughly 13% improvement. 24 Jan 2005; Nicholas Jones portage.py: Fixed the fetch/nofetch RESTRICT bug introduced in -r14. Completely disable overlay when calling from repoman. 24 Jan 2005; Nicholas Jones ebuild.sh: Test print out fix. 19 Jan 2005; Brian Harring ebuild.sh: Quick change to features=autoconfig, avoiding an extra subshell. *portage-2.0.51-r14 (15 Jan 2005): Stable Candidate 18 Jan 2005; Nicholas Jones ebuild.sh: Unset IFS after entering the for loop for bashrc's. The IFS setting applies to the source command and messes up the assumptions about bash scripts and IFS. 18 Jan 2005; Jason Stubbs portage.py emerge-webrsync: Fixed the bash syntax error in emerge-webrsync as per #77941. Fixed the blocking virtuals bug as per #78201. Removed the warning about negations and reapplied negations to profile virtuals. 17 Jan 2005; Nicholas Jones portage.py: Prevented negations from applying in virtuals and provided a warning. 16 Jan 2005; Nicholas Jones repoman: Fix to match up to the namespace changes in portage. 16 Jan 2005; Nicholas Jones portage.py: Patch from a bug report on a traceback that occurs when re-digesting a file without any distfiles but with a preexisting digest. 16 Jan 2005; Nicholas Jones *.py: Added a cvs_id_str to each portage module so we can account for them easily. Added printing of those versions on a 'emerge -d info'. Cleaned up the * imports in the modules so there shouldn't be any namespace pollution left. *portage-2.0.51-r13 (15 Jan 2005): Testing for virtuals changes 15 Jan 2005; Nicholas Jones portage.py: Adjusted the virtuals handling into an advanced for of what Jason started using promotion instead of blanket settings. Removed the user_profile dir completely when using repoman via a new user_profile_dir variable that is stored on creation. Split the getvirtuals() call into two pieces so that setinst() can also recreate the virtuals properly when modifying the vartree. 15 Jan 2005; Nicholas Jones portage_util.py: Modified the stack_dictlist function to handle '-*' and do it in the proper order. 13 Jan 2005; Nicholas Jones portage.py, emerge: Adjusted the version handling for portage so that we can use CVS versions and ignore the restarts when using livecvsportage. 13 Jan 2005; Nicholas Jones repoman: Added the portage/repoman version used to the commit messages. 13 Jan 2005; Jason Stubbs pym/portage.py: Fixed the reverse ordering of profile virtuals before installed virtuals stacking. Turn a reference assignment into a copy to fix a bug where digesting would not include files that were already fetched previously. Added information about which package is causing an error to some aux_get() errors. *portage-2.0.51-r11 (13 Jan 2005): Cleanup 13 Jan 2005; Nicholas Jones cnf/*: Updates for the OSUOSL -> distfiles.gentoo.org changeover. Addition of PORTAGE_TMPFS to the config files. 13 Jan 2005; Nicholas Jones portage.py: Fix for a typo in the primaryuri index. *portage-2.0.51-r10 (11 Jan 2005): Cleanup 12 Jan 2005; Nicholas Jones repoman: Fixed the namespace collision in the time module and calls. 11 Jan 2005; Nicholas Jones ebuild.sh: Fixes for the libdir patch -- libtool can't handle "usr//lib". 10 Jan 2005; Nicholas Jones portage.py: Made maketest enable 'test' in features. Marked a couple more negative flags for restrict. Made tmpfs checking a little smarter and let us enable /dev/shm by default. 10 Jan 2005; Nicholas Jones output.py: Fixed the colors and overscore problems. Added a larger section and better code for generating colors and effects -- Unused at the moment. Added a patch that included screen title handling. 10 Jan 2005; Nicholas Jones repoman: Rewrite the datetime code to use time.gmtime() instead so python2.2 works still. 10 Jan 2005; Nicholas Jones regenworld: Made it work with cascade profiles by using the proper system reference. 10 Jan 2005; Nicholas Jones emerge: Fix for the gcc hardened version printing. Moved the stdin close on rsync down below the rsync part to allow --ask to work. 10 Jan 2005; Nicholas Jones ebuild.sh: Die if unpack is not given any files to unpack. Modification for the no_inst stuff to be less crazy with the echo redirection stuff. 08 Dec 2005; Jason Stubbs ebuild.sh: Moved the "true" to the end of the dyn_clean() function. 06 Dec 2005; Jason Stubbs ebuild.sh: Added eradicator's multilib-strict patch, which allows checking and failing if binaries are about to be installed into an incorrect directory. The feature is configured via the MUTLILIB_STRICT_DIRS and MULTILIB_STRICT_DENY and has no effect if either they are not defined or the feature is not enabled. 04 Dec 2005; Jason Stubbs ebuild.sh: Added removal of the .packaged and .tested files to the clean stage. Adjusted cleaning of the temp dir to include the directory as well, rather than only the files therein. Added a check and appropriate removal of the entire scratch dir if it is empty at the end of the clean phase. 04 Dec 2005; Jason Stubbs portage.py: Turned the primaryuri global counter into separate counters per file, so that urls are inserted at the appropriate places. 04 Dec 2005; Jason Stubbs portage.py: Adjusted virtuals stacking so that /etc/portage/virtuals is stacked on top of the profile virtuals (including the custom /etc/portage/profile), reordered the list of installed virtuals to match that of the combined profile virtuals and then stacked the installed virtuals on top of those. Also added back the deprecation notice. 04 Dec 2005; Jason Stubbs emerge: Added code to "emerge info" to summarise variables that aren't set rather than hide them. 02 Dec 2005; Jason Stubbs dolib ebuild.sh preplib: Applied eradicator's libdir patch for multilib support. #75420 02 Dec 2005; Jason Stubbs ebuild.sh: Added support for INSTALL_MASK. #67190 02 Dec 2005; Jason Stubbs portage.py portage_util.py: Added support for the "source" keyword to make.conf. #74842 02 Dec 2005; Jason Stubbs ebuild.sh: Adjusted autoconfig to work on ${WORKDIR} instead of ${S} and modified output. #72360 Added notice on econf failure to include config.log (if it exists) into any bug report. #75268 Don't prepend "/" to CONF_LIBDIR if it already begins with "/" #75523 02 Dec 2005; Jason Stubbs emerge: Don't update info dirs if noinfo FEATURE is enabled. #76378 02 Dec 2005; Jason Stubbs emerge: Set the processing of profiles/info_vars to only include those which have been set to some value. #75920 02 Dec 2005; Jason Stubbs repoman: Modified header check to use the year of the mtime of the ebuild rather than the current year. 24 Dec 2004; Jason Stubbs portage.py: Removed assumption that /etc/make.profile/make.defaults must exist for configdict["defaults"] to be populated (and thus ARCH prepended to USE). 23 Dec 2004; Jason Stubbs portage.py: Adjusted fetching on digest creation such that any preexisting digest entries are used, but fetching and digesting occurs for all SRC_URI entries otherwise. 22 Dec 2004; Jason Stubbs portage.py: Removed the virtuals deprecation notice as the "preferred" location does not yet provide the required behaviour. 14 Dec 2004; Nicholas Jones doins: Fix and notices for $D handling. 14 Dec 2004; Nicholas Jones ebuild.sh: spb's chflags adjustment for dyn_clean. stat_perms() overhaul for bsd and ppc. 14 Dec 2004; Nicholas Jones webrsync: TMPDIR is used properly and a tar-failure fix. 14 Dec 2004; Nicholas Jones portage.py: RESTRICT changes -- nomirror and mirror are now the same (use 'mirror') -- lmirror is a temporary way to sidestep mirror restrictions -- primaryuri makes portage attempt to retrieve from the source mirror before falling back to other mirrors (corrects behavior some impose for 'mirror'). 14 Dec 2004; Nicholas Jones portage_db_flat.py: Do not fail when we're on a readonly FS and we're only reading (lockfiles). 09 Dec 2004; Marius Mauch bin/ebuild.sh: change LDFLAGS to CFLAGS for the setXid check. 05 Dec 2004; Nicholas Jones pym/portage.py: swegener made quite a find in portdbapi.cpv_exists, the comparison on the tuple returned by findname2 always evaluated true. *portage-2.0.51-r8 (03 Dec 2004): Cleanup 03 Dec 2004; Nicholas Jones repoman: A patch to handle stray digests. 03 Dec 2004; Nicholas Jones portage.py: Patches to fix the matching bug #73136 and the '-atom' profile bug #73167. *portage-2.0.51-r7 (01 Dec 2004): Cleanup 01 Dec 2004; Nicholas Jones sandbox: updated with ferringb's code for the pids file overrun issue. 01 Dec 2004; Jason Stubbs repoman: Reverted repoman profile selection to previous behaviour. Kept verbosity, but modified messages according to the behaviour. *portage-2.0.51-r5/6 (30 Nov 2004): Cleanup 29 Nov 2004; Nicholas Jones portage.py: Added a (backport?) missing return to treewalk. 29 Nov 2004; Nicholas Jones cnf/*: Removed the prozilla references. Adjusted the default mirrors to a gentoo round- robin. 29 Nov 2004; Nicholas Jones portage_exec.py: Modified the magic constants to be os.access calls. 29 Nov 2004; Nicholas Jones portage.py: A few XXX comments. Removed 'aumtime' from the global space. Removed the virtuals code that created an empty and unused virtuals file in /var/cache/edb. 29 Nov 2004; Nicholas Jones emerge: Added a few XXX comments to bad code/calls. Adjusted emerge info so that it can read more variables and atoms to print out from the portage tree. 29 Nov 2004; Nicholas Jones ebuild.sh: Fixed/Backport the changes to stat_perms so that it works. Fixed the read commands. 10 Nov 2004; Brian Harring bin/ebuild.sh: dyn_install was attempting to be helpful and chown files owned by portage, resulting in suid/sgid being stripped. bug #56129. 07 Nov 2004; Brian Harring portage.py: buggy logic in listdir w/ ignorecvs, rewrote. (#70170). 07 Nov 2004; Jason Stubbs dispatch-conf: Moved back to the version of dispatch-conf that was released (due to python-2.2 compatibility) and fixed a small type in that version. #70282 *portage-2.0.51-r4 (05 Nov 2004): Internal Release 05 Nov 2004; Jason Stubbs doins: Added vapier's fix for doins changing existing directory permissions. #69896 04 Nov 2004; Jason Stubbs tbz2tool.c: Added vapier's fix for tbz2tool on ia64. #70001 03 Nov 2004; Brian Harring portage_dep.py: Bug in paren_reduce where it was returning a tuple (supposed to return a list). 03 Nov 2004; Jason Stubbs dispatch-conf: Simplified the temp file creation and usage. 03 Nov 2004; Jason Stubbs portage.py: Fixed issues with PROVIDE calculation by flattening the dep array. #32114 02 Nov 2004; Jason Stubbs portage.py: Updated ExtractKernelVersion() to support 2.6.9's new localversion. #67804 Reordered a cache update and a return statement so that the cache is actually updated in ververify. #69523 02 Nov 2004; Jason Stubbs ebuild.sh: Turned off shell option extglob as it interferes with the g++ QA interceptor. #69690 02 Nov 2004; Jason Stubbs portage.py: Fixed a bug where a broken symlink blocking the installation of a regular file would cause a traceback. #69672 02 Nov 2004; Jason Stubbs quickpkg: Applied vapier's fix for processing file names that contain spaces. #36997 Applied vapier's fix for parallel quickpkg's writing to a single log file. #37270 29 Oct 2004; Jason Stubbs emerge: Fixed issue where emerge adds package to world when --onlydeps is specified. #69260 Fixed issue where emerge was adding packages to world when --uprade is specified even if the package is already installed. #69287 Fixed logic in path/to/ebuild check so that symlinks do not cause false positives. 29 Oct 2004; Jason Stubbs dispatch-conf: Added usata's fix for mac-os compatibility. #69304 29 Oct 2004; Jason Stubbs getbinpkg.py: Reversed the logic of ftp passive-mode selection. #69371 29 Oct 2004; Brian Harring portage.py: config.reset was pruning vars out of backupenv on each reset call. #69388 28 Oct 2004; Jason Stubbs emergehelp.py: Fixed up some incorrect descriptions. Added documentation for new and changed functionality. Removed documentation for deprecated options. 28 Oct 2004; Jason Stubbs getbinpkg.py: Added missing substitution of ${FILE} in resume command. #69068 28 Oct 2004; Jason Stubbs repoman: Fixed aux_get error due to calling getfetchlist() when an ebuild no longer exists. #69051 28 Oct 2004; Jason Stubbs emerge: Removed a duplicate loop from the userquery function. #69020 27 Oct 2004; Jason Stubbs dispatch-conf: Moved temp file creation into a safe directory under /tmp. Made the log file a configurable option that is disabled by default. 26 Oct 2004; Jason Stubbs portage.py: Added a check to portdbapi.fetchcheck to account for a missing digest. 26 Oct 2004; Brian Harring portage_exec.py, bin/ebuild: bug with the path lookup code (added find_binary func for upcoming additions), and bin/ebuild was bailing due to a missing portage_util import. 25 Oct 2004; Jason Stubbs portage.py: Wrapped entire lock-holding section of fetch() in a try-finally to ensure that the lock file gets released regardless of exception. 25 Oct 2004; Jason Stubbs etc-update: Added patch from #48218 to continue on to next file when answering "no" to the interactive replace prompt of menu option -3. 25 Oct 2004; Jason Stubbs emerge: Fixed the space/tab usage through the spinner_msgs definition. Removed COMPILER from emerge info output. 25 Oct 2004; Jason Stubbs portage.py: Converted config.pkeywordsdict from {atom:[keyword]} to {cp:{atom:[keyword]}} to prevent a lot of unnecessary calculation. 24 Oct 2004; Jason Stubbs emerge: Added a percentage counter to the cache update phase based on patch from #68694 24 Oct 2004; Jason Stubbs portage.py: s/macos/ppc-macos/ change. 24 Oct 2004; Jason Stubbs portage_locks.py portage_db_flat.py: Fixed a couple of race conditions with regard to stating files. 23 Oct 2004; Jason Stubbs portage.py portage_util.py: Added syntax checking for package.mask, package.unmask and packages files. 23 Oct 2004; Jason Stubbs dohtml: Reimplemented the option processing to remove the dependency on optparse. 23 Oct 2004; Jason Stubbs repoman: Made the invalid profile slightly more intelligable and got rid of the duplicate. Moved the profile KEYWORDS.invalid failure so that it only occurs if the corresponding KEYWORD is valid. 23 Oct 2004; Jason Stubbs portage.py: Added settings parameter to dep_virtual as the virtuals can now change during dep graph creation. #68220 23 Oct 2004; Jason Stubbs repoman: Changed repoman to use the first stable profile found for each arch listed in profiles.desc rather than the last profile listed. Added notification on any invalid profile in profiles.desc. Made exception into a repoman error where a ebuild is using a keyword for which no profile can be found. 23 Oct 2004; Jason Stubbs repoman: Fixed traceback in repoman on invalid LICENSE syntax. 22 Oct 2004; Brian Harring ebuild.sh: silencing use/has. 22 Oct 2004; Jason Stubbs emerge: Added python version to "emerge info" output. *portage-2.0.51-r2 (20 Oct 2004): Everyone loves finding bugs in stable! 20 Oct 2004; Nicholas Jones emerge: Fixed the result checking when ebuilds are called -- this removes the continuing-after failure big discovered by AMD64 today. 20 Oct 2004; Jason Stubbs emerge: Fixed a bug where users were warned against emerging by path when a file/dir exists of the same name of the package to be merged. #68372 Added an warning with delay when emerging an ebuild that is masked. Added a check on PORTAGE_GPG_DIR which removes "gpg" from FEATURES on an invalid settings. #68387 *portage-2.0.51 (20 Oct 2004): Everyone loves stable! 19 Oct 2004; Nicholas Jones portage.5: patch included to fix a few typos. 19 Oct 2004; Nicholas Jones g-cpan.pl patch included that doesn't recreate inherently-created ebuilds. 20 Oct 2004; Jason Stubbs repoman: Added check for digest entries that aren't used within the corresponding ebuild's SRC_URI. 20 Oct 2004; Jason Stubbs emerge: Added support for EMERGE_WARNING_DELAY defaulting it to 10. Changed all the hardcoded delays to use it. Needed for the catalyst guys as it includes a number of unmerges of system packages. 20 Oct 2004; Jason Stubbs emerge: Changed the /path/to/ebuild warning. Added a check on what ebuild is chosen and a failure if it doesn't match what was specified. Added the same for /path/to/tbz2. *portage-2.0.51_rc10 (19 Oct 2004): Potential Final #1. 19 Oct 2004; Nicholas Jones emerge: Visual acuity enhancements. Fixed all the spaces in the option handling. 19 Oct 2004; Nicholas Jones emerge.1: Updated for 'f' and 'S'. 19 Oct 2004; Nicholas Jones getbinpkg.py: Potential fix for a missing dict key. 19 Oct 2004; Nicholas Jones portage.py: Prelink tempfile per pid. 18 Oct 2004; Nicholas Jones *.py: Added a protocol change for cPickles to make them more efficient (binary). 18 Oct 2004; Nicholas Jones sandbox: Fixes for some incorrect indexes that cause some boxes to have very random issues. 18 Oct 2004; Nicholas Jones portage_locks.py: Reverted the lock code to the lockf()+hardlock version as the new code has some inexplicable incompatibility with NFS. 18 Oct 2004; Nicholas Jones portage_exception.py: Added a couple exceptions pretaining specifically to packages and digests. 18 Oct 2004; Nicholas Jones portage_checksum.py: Now takes care of missing files better for the partial-digest handling. 18 Oct 2004; Nicholas Jones portage.py: Fixed up some of the output lines to use writemsg instead of print. Adjusted the fetch code to handle partial-digests. digestCreate can substitute in old digest entries now for missing files -- the assumption is that they are correct. Portage no longer downloads all parts when FEATURES=cvs is enabled, but does require a complete digest to commit, whether it was created piecewise or en masse. Added 'fetch_check' to portdbapi which helps with with emerge's pretend output for Fetch-Restriction. 18 Oct 2004; Nicholas Jones repoman: Added in support for partial-digests -- It complains, downloads, and adjusts. Sorted the QA categories to make them easier to scan. 18 Oct 2004; Nicholas Jones emerge: Added -F to force all URIs to be downloaded. Added in a green, lowercase 'f' when the fetch restriction is satisfied for pretend. Added Kevin Quinn's patch for some prepstrip sanity and friendliness regarding TEXTRELs. 18 Oct 2004; Nicholas Jones ebuild.sh: Added a message about use/useq/usev. CCACHE_DIR and CCACHE_SIZE are now properly exported. 17 Oct 2004; pym/portage.py: Added a followSymlinks parameter to listdir() as otherwise it gets stuck in an infinite loop when it encounters self-referencing symlinks, this behavior was exhibited by the collision-protect feature. 17 Oct 2004; Brian Harring portage-locks.py: Tweaked unlockfile, no point in attempting to relock the file for deletion, if you're not deleting the lockfile (basically moved locking w/in if unlinkfile). 17 Oct 2004; Jason Stubbs emerge portage_locks.py: Added more information to the --inject deprecation notice. Removed the sleep call from unlockfile as it severely affects performance (apparently only under some schedulers) 16 Oct 2004; Brian Harring portage_locks.py: Corrected a bug involving unlocking + lockf. 12 Oct 2004; Brian Harring portage_exec.py: spawn_sandbox wasn't passing the opt_name down to spawn, it now does. 11 Oct 2004; Jason Stubbs; emerge: Reverted back to previous command line parsing code as --search options were being mishandled. 11 Oct 2004; Nicholas Jones portage.py: Fix for the SHA1 digest slipout and the exec missing/broken binary traceback. 11 Oct 2004; Nicholas Jones pym/*: See below. 11 Oct 2004; Jason Stubbs bin/*: Added catching and propogating of SystemExit exception to all blanket exception handlers. 11 Oct 2004; Jason Stubbs repoman: Fixed repoman LICENSE check to accept || () conditions. *portage-2.0.51_rc8 (10 Oct 2004): RC + Lock cleanup, Happy RC #4 10 Oct 2004; Nicholas Jones emerge: Added in close() calls to ensure that control-C gets intercepted by portage instead of the children. Added in a re-raise for the SysExit exception inside of the regen and metadata targets. 10 Oct 2004; Nicholas Jones cnf/make.conf*: benno@nietvergeten.nl's touchups to make.conf files. 10 Oct 2004; Nicholas Jones sandbox/*: Includes one of solar's patches to fix up potential holes in sandbox. 10 Oct 2004; Nicholas Jones portage_exec.py: Added a cleanup routine. 10 Oct 2004; Nicholas Jones portage.py: A could cwd fixes and removed the compat-writing for digests. 10 Oct 2004; Nicholas Jones md5check/mirror: brought them more up to date for the digest changes. 10 Oct 2004; Nicholas Jones emerge: Moved the imports around to ensure that portage.py gives output on failure instead of emerge just dying. Added '-1' as a short for oneshot. Added shorter messages for the titlebar. Fixed signal handling more -- Emerge sets up a handler that calls to portageexit() before quitting normally. 10 Oct 2004; Nicholas Jones ebuild.sh: Changed around the tarvars to make them STAR friendly. Added ECONF_SOURCE as a way to move econf out of the source directory and into a new build directory -- it defines the path to configure, not the command. Added CTARGET support. Added an rm for the infodir entries installed by autoconf so they don't kill what portage regens and vice versa. 10 Oct 2004; Nicholas Jones doins: Added Spanky's recursion patch. 10 Oct 2004; Nicholas Jones dolib: Added Spanky's symlink fix and condensed dolib*. 10 Oct 2004; Nicholas Jones doman: Added Spanky's i18n patch. 08 Oct 2004; Brian Harring portage_exec.py: Removed the portage_exec.spawn_bash call for tee logging- instead, transferred in some code that does path lookups (closer to the older portage.spawn call). Path lookup by default is on, but can be disabled via path_lookup=False. 08 Oct 2004; Brian Harring portage_locks.py: Reverted to using flock by default- if it fails (unavailable), -then- use lockf, then hardlink. 07 Oct 2004; Jason Stubbs portage.py: Updated portdbapi.getfetchsizes function for new digestParseFile return values. 05 Oct 2004; Jason Stubbs quickpkg: Fixed bug whereby creating a package from within /var/db/pkg/cat and specifying pkg would create a broken package. 05 Oct 2004; Jason Stubbs emerge: Modified output for slotted installations. #26139 05 Oct 2004; Jason Stubbs emerge: Refactored argv processing a little bit and made "emerge rsync" to emerge rsync with notice and "emerge --rsync" to emerge --sync with notice. 05 Oct 2004; Nicholas Jones portage_util.py: grabfile now handles a compat_level option for comment-based compatability changes -- This feature is for migration only and is thus transitory. 05 Oct 2004; Nicholas Jones portage_exception: Added a DigestException which is a SignatureException. 05 Oct 2004; Nicholas Jones perform_checksum.py: Added a perform_all() and verify_all() functions that handle the new dict of hashes that digestParse returns -- It creates hashes for all the listed/known formats or verifies them all returning a tuple of ok,reason. 05 Oct 2004; Nicholas Jones portage.py: Cleared up a few system-package import-alls (stat,commands) -- If it breaks something, they can fix their code -- They are standard modules. Removed the import for select, as it appears nowhere in usage. Changed the portage_data import. Added exithandler() back into usage, it was disabled -- Also corrected it's handling. Unified the digest-parsing code and made it into an intelligable dict instead of the fixed format. Merged digest functions and added SHA1 (arbitrary) handling in a new COMPAT mode using comments until we get the handling transitioned into common usage. digestCreateLines() handles the compatibility line values, and grabfile() has a compat-level handler. 05 Oct 2004; Nicholas Jones man/*: Random touchups. 04 Oct 2004; pym/portage.py: Added fix for config protection failure when destination is a symlink. #13007 04 Oct 2004; bin/repoman: Added detection of multiple overlays to repoman. 04 Oct 2004; bin/repoman: Added repoman check for DEPEND-syntax following LICENSEs. 03 Oct 2004; pym/emergehelp.py: Add --metadata documentation to --help output. 03 Oct 2004; cnf/*, man/emerge.1, man/make.conf.5, man/portage.5, pym/emergehelp.py: Changed documentation to use --action instead of action (bug #2365). Also changed ufed references in make.conf to use the correct category. *portage-2.0.51_rc7 (30 Sep 2004): RC + Lock cleanup, Happy RC #3 30 Sep 2004; Nicholas Jones emerge: Rsync fix part 2 for the distfiles, local, and packages directory unlinks. 30 Sep 2004; Nicholas Jones emerge-webrsync: Fix for the missing md5sum causing failure to download. Fixed up a couple messages. Modified the local rsync line. 30 Sep 2004; Nicholas Jones portage.py: Make more of the chown calls friendly. More output on strange exceptions in aux_get. 30 Sep 2004; Nicholas Jones portage_db_template.py: Added some more putput to the corruption message. 29 Sep 2004; Jason Stubbs output.py: Added unicode-rxvt to the list of legal term types. #65762 28 Sep 2004; Jason Stubbs etc-update: Added patch to use gsed on BSD from bug 60721. *portage-2.0.51_rc6 (26 Sep 2004): RC + Lock cleanup, Happy RC #2 26 Sep 2004; Nicholas Jones emerge: Restart fix for the -a into execv code. 26 Sep 2004; Nicholas Jones portage_locks.py: Fixed a traceback for Fat32 users. *portage-2.0.51_rc5 (26 Sep 2004): RC + Lock cleanup, Happy RC #1 26 Sep 2004; Nicholas Jones portage_data.py: Fixed the BSD lchown issues. 26 Sep 2004; Nicholas Jones portage.py: Added the selinux secure dirs patch. 26 Sep 2004; Nicholas Jones emerge: Modified the spinner again, --nospinner provides a basic ticker of one '.' per 100, normal spinner is the twirly one, and the FEATURES=candy spinner is a scrolly message. 26 Sep 2004; Nicholas Jones portage_locks.py: Fixed it. Discovered that the hardlocks were failing due to the creation of the lock prior to the link operation which was due to the NFS fcntl lock failure. 26 Sep 2004; Jason Stubbs pym/portage.py: Added support for per profile package.mask. Included check of packages file to ensure that the profile depends on an adequate portage version. *portage-2.0.51_rc4 (26 Sep 2004): RC + Lock cleanup 26 Sep 2004; Nicholas Jones bin/clean_locks: A new tool to aid in the maintainence of hardlock-based locks. It can clean all locks from a directory or just the ones pertinent to the running host. 26 Sep 2004; Nicholas Jones emerge: Updated the spinner. 26 Sep 2004; Nicholas Jones cnf/*: Added distlocks as a default feature. Added comments on distlocks and maketest and gpg. 26 Sep 2004; Nicholas Jones portage_locks.py: Lots of changes. Corrected the lockfile code to be an IOError. Added some helper functions to reduce duplication in the hardlink code. Added a callback to a cleanup function registered with atexit to ensure we clean locks up on normal terminations. Fixed the code to actually work on most NFS systems and hopefully have the fallback (INODE test) working on very broken systems. Added a cleanup function that is interfaced through the clean_locks script and the registered atexit call. *portage-2.0.51_rc3 (26 Sep 2004): And we have another Release Candidate! 26 Sep 2004; Nicholas Jones emerge: Modified the spinner. 26 Sep 2004; Nicholas Jones portage_db_flat.py: Fixed a lockfile descriptor leak due to duplicated lock calls. 26 Sep 2004; Nicholas Jones portage_lock.py: Added more cleanup to the lockfile descriptors. *portage-2.0.51_rc2 (25 Sep 2004): And we have another Release Candidate! 25 Sep 2004; Nicholas Jones portage_db_flat.py: Fix for typos. 25 Sep 2004; Nicholas Jones portage_locks.py: Changed all the calls to lockf which wraps fcntl. Made the chown on the locks optional -- if it fails, it'll be annoying, but there's a message. Added code to perform the hardlink-shuffle which uses hardlinks as a locking mechanism (NFSv2 needs this). 25 Sep 2004; Nicholas Jones portage_db_flat.py: Added locking around the file creation to ensure atomicity. 25 Sep 2004; Nicholas Jones portage_localization.py: A little spot to provide the '_' function and examples and future code. 25 Sep 2004; Nicholas Jones portage_file.py: Added the module to contain file/directory functions that are useful. Additional function 'makedirs' handles creation of directories with recursive perms. 25 Sep 2004; Nicholas Jones getbinpkg.py: Fixed the exception handling to not traceback. 25 Sep 2004; Nicholas Jones etc-update: Typo fix. 25 Sep 2004; Nicholas Jones emerge: Caused the binary metadata downloading to be a little more verbose. Fixed the sync command's arguments so that it deletes top level files. 25 Sep 2004; Nicholas Jones portage.py: Added Cretin's patch for prelink blacklists. Increased the verbosity of the 'mylines' output to let people know what files are affected with nulls. Added a workaround for a race condition that somehow exists inside of auxget when there is heavy lockfile contention -- Must be a lockfile cleanup issue. 25 Sep 2004; Jason Stubbs emerge: Modified env_update to always run ldconfig if makelinks is True, in order to ensure that missing symlinks are created. Added logic to treewalk to check if package is being downgraded and only run env_update with makelinks=False in that case. (#54655) 24 Sep 2004; Jason Stubbs emerge: Added the removal of --ask from argv when restarting after an emerge of portage. (#47379) 21 Sep 2004; Jason Stubbs portage_util.py: Changed varexpand to convert '\'-prepended newline chars to space rather than '\n'. 21 Sep 2004; Nicholas Jones portage.py: Fixed the bintree ebuild locating. Removed the virts_p debug/bug statements. 21 Sep 2004; Nicholas Jones portage_checksum: Added a fix for checksum tracebacks that tracebacked. 21 Sep 2004; Nicholas Jones ebuild.sh: Added more variables to vardb. 21 Sep 2004; Jason Stubbs emerge: Added (slightly modified) patch from bug 64682. 16 Sep 2004; Jason Stubbs portage.py: Modified getmaskingstatus() to use settings.prevmaskdict rather than reading packages directly in support of cascading profiles. *portage-2.0.51_rc1 (25 Sep 2004): And we have a Release Candidate! 15 Sep 2004; Nicholas Jones ebuild: On merge, disable the noauto feature explicitly. 15 Sep 2004; Nicholas Jones portage.py: Fixed the 'missing ebuild' for uninstalls of packages not in the tree. 15 Sep 2004; Nicholas Jones man/*: Started adding to the documentation in order to break it an make it look funny. Added a couple entries for missing concepts like 'inherit' and 'useq' and 'hasq'. Cleared up a few things here and there with usage. Added in the metadata target for emerge. *portage-2.0.51_pre24 (14 Sep 2004): Last _pre before docs and rc/stable. 14 Sep 2004; Nicholas Jones repoman: Extra handling for weird CVS/Repository info on OSX. 14 Sep 2004; Nicholas Jones emerge: Fixed a traceback in traceback handling where a value was trying to be extracted from an exception. Handled the case where a binary package does not have an ebuild in a tree or overlay and the verbose overlay output requires it. Change to the CVS checkouts for emerge sync, moved the -P immediately after the co. 14 Sep 2004; Nicholas Jones portage_exception.py: Added in some spacing between related exception groups. 14 Sep 2004; Nicholas Jones portage.py: Changed a bunch of lines unnecessarily to start getting the locale strings ready -- I'll probably have bugs due to this because I've been doing dumb things like that recently. 14 Sep 2004; Nicholas Jones man/*: Fixed ka0ttic's email address. 14 Sep 2004; Brian Harring bin/ebuild.sh: Removed the ${T}/successful logic, it's no longer needed. Existed only for the $0 "$@" 2>&1 | tee $PORTAGE_LOG trickery, which is now handled via portage_exec.spawn. 13 Sep 2004; Nicholas Jones portage.py: Fix for empty categories/portage-tree causing a traceback. *portage-2.0.51_pre23 (11 Sep 2004): Fixes and stuff. 11 Sep 2004; Nicholas Jones portage.py: Another fix to the virtuals/use code -- It wasn't using treeVirtuals. *portage-2.0.51_pre22 (11 Sep 2004): Fixes and stuff. 11 Sep 2004; Jason Stubbs portage.py: Fixed breakage in cacheddir changes upon stat'ing a broken symlink. 11 Sep 2004; Jason Stubbs portage.py: Fixed missing check in autouse function. Fixed out-of-bounds exception on catpkgsplit tuple access in vardbapi.move_ent. Changed to manual stat calls in cacheddir. 10 Sep 2004; Nicholas Jones portage.py: Removed the circular deps of vardbapi and config. *portage-2.0.51_pre21 (09 Sep 2004): Fixes and stuff. 09 Sep 2004; Nicholas Jones portage.py: Possible fix for autouse() that will prevent recursion and locks. *portage-2.0.51_pre210 (09 Sep 2004): (pre-pre release for 21) 09 Sep 2004; Nicholas Jones archive-conf: Added patch so that it runs. 09 Sep 2004; Nicholas Jones dispatch-conf: Added patch to die when rcs isn't installed but is required by options. 09 Sep 2004; Nicholas Jones ebuild.sh: Solar's checks for suid bind issues. 09 Sep 2004; Nicholas Jones fixvardbentries: Updated to Jason's current script. 09 Sep 2004; Nicholas Jones g-cpan.pl: Added a fix to store the ebuilds in a defined overlay. 09 Sep 2004; Nicholas Jones output.py: Added all xterm* terms to the title-list. 09 Sep 2004; Nicholas Jones portage.py: Fixed the cascade/stack functions -- use.defaults is fully line-incremental now. Removed a lot of cruft commented-code. Added an ebuild-mover into the entry move functions. 09 Sep 2004; Nicholas Jones portage_util.py: Placed the lex code into a try/except so we can add the filename into the error that is passed back from shlex. 08 Sep 2004; Brian Harring portage.py: Modified config.__init__(clone=1) so that profiles list is preserved, allowing for all profile's bashrc's to be sourced. 06 Sep 2004; Brian Harring portage.py: Fixed fetch logic for when DISTDIR isn't writable, but the file is fully fetched already (#62985). 05 Sep 2004; Brian Harring portage.py ebuild.sh: Added use flag support to RESTRICT; usual syntax. 04 Sep 2004; Nicholas Jones portage_data.py: Added FreeBSD as a BSD-type OS and merged the Darwin branch with them. 04 Sep 2004; Nicholas Jones portage_contents.py: The parsing portion of a persistent contents file parser that can return the owner of a particular file or directory by parsing (and storing) data from the contents files. 04 Sep 2004; Nicholas Jones portage_const.py: Added LOCALE_DATA_PATH to the constants for future gettext (internal) support. 04 Sep 2004; Nicholas Jones output.py: Fixed the title changes to no clear the icon title. 04 Sep 2004; Nicholas Jones prepman: No longer gzip's symlinks -- This needs to gain 'target changed' logic. 01 Sep 2004; Brian Harring pym/portage.py: Cleaned up the imports, cutting down on from blah import *, instead importing only what is strictly needed for backards compatability. 01 Sep 2004; Brian Harring pym/portage_exec.py: Nick caught this- changed setgid/setuid order so it works. 01 Sep 2004; Brian Harring pym/portage.py: Added Michael Stewart's patch correcting optional args being specified via position- bug #61881. 01 Sep 2004; Brian Harring pym/portage.py, pym/portage_exec.py, pym/portage_checksum.py: Restructured spawn so that we don't have two versions; all spawn calls trace back to portage_exec.spawn, either through spawn_bash or spawn_sandbox. portage_exec.spawn is strictly an os.execve wrapper now, so bash doesn't have to be involved unless desired (if desired use spawn_bash). 31 Aug 2004; Brian Harring bin/emerge: Debug print statement left in global scope, corrected it. 31 Aug 2004; Nicholas Jones portage_checksum.py: Solar's patch to check if prelink binary exists prior to executing it. 31 Aug 2004; Nicholas Jones portage_checksum.py: Only prelink-check when requested -- This is only valid for merge/unmerge operations -- Also happens to fix the access violations in portageq. 31 Aug 2004; Nicholas Jones portage.py: Adjustments for the prelink-check changes. 31 Aug 2004; Nicholas Jones portage_exception.py: Made the exceptions more hierarchial. Yes, I'm aware I can't speel. 30 Aug 2004; Brian Harring bin/repoman: Added solar's patch to make the file.size check display the size of the offender. 30 Aug 2004; Brian Harring pym/portage.py, pym/portage_util.py: Removed -all- duplicate function definitions between portage_util and portage. This is just -begging- for a bug where portage.py's definitions are fixed, but portage_util isn't. If you're moving code out of portage.py (good thing) please yank the def from portage.py. Especially if you're importing everything from new home of the module. 30 Aug 2004; Jason Stubbs pym/emerge: Added python 2.2 compatibility fix. (#62128) Added fix to fail nicely on missing /etc/gentoo-release. (#62149) 30 Aug 2004; Jason Stubbs pym/portage.py: Fixed two bugs in bindbapi.aux_get() preventing retrieval of information about tbz2s. 26 Aug 2004; Brian Harring bin/etc-update: minor tweak to etc-update to support single quotes in /etc/etc-update.conf bug (#56785). Added Mamoru Komachi (usata)'s fix for osx (#60721). 26 Aug 2004; Brian Harring pym/portage.py, pym/portage_exec.py, bin/ebuild.sh: Removed the PORT_LOGDIR $0 $* | tee hack, and re-implemented it using spawn. Spawn has been extended so that fd_pipes can receive a dict of fd # -> fd, and optionally be nonblocking via returnpid. portage.spawn has support for a logfile optional arg- if specified, spawn logs stdout/stderr via tee -i -a to the specified file. Note portage_exec.spawn doesn't currently support this option. 25 Aug 2004; pym/portage.py, +pym/portage_checksum.py, pym/portage_gpg.py, -pym/portage_md5.py: renamed portage_md5 to portage_checksum which includes support for sha1. 24 Aug 2004; Brian Harring bin/ebuild.sh: Tweak to dyn_test to check if $S exists prior to cd'ing to it. 24 Aug 2004; Brian Harring pym/portage.py: Fixed a traceback issues in dblink.treewalk when collision-protect is active. Also added specific check/complaint for PORT_LOGDIR='' to the config class, since it should either not be set, or something non-null- a null PORT_LOGDIR triggers a traceback in doebuild do to an attempted chmod. 23 Aug 2004; Brian Harring pym/portage.py: Added a macos ranlib hack; dblink.mergeme by default resets each files mtime, which makes static archives merged to the fs worthless (linker notes the files mtime differs from an internal mtime, and bails). This closes out bug (#58848), and will be obsoleted when refcounts are used instead of mtime + md5. 21 Aug 2004; Brian Harring bin/ebuild.sh: Expanded CONF_LIBDIR support, so it honors --prefix set values. (#61060) 19 Aug 2004; Marius Mauch bin/repoman: Added FEATURES and USE to the readonly variable check. 17 Aug 2004; Brian Harring pym/portage_data.pym: Adding missing imports. 17 Aug 2004; Brian Harring bin/repoman: Minor tweak to make repoman detect the repolevel correctly in overlays. (#60298). *portage-2.0.51_pre20 (16 Aug 2004): Fixes and Public Readiness & GPG 16 Aug 2004; Nicholas Jones portage.py: Fixed the imports and new modules so that the API remains constant. 16 Aug 2004; Nicholas Jones portage_exec.py: Created for external operations and calls. Presently contains spawn. Mostly for prevention of circular imports. 16 Aug 2004; Nicholas Jones portage_md5.py: using the spawn call from portage_exec.py to avoid the circular import. 16 Aug 2004; Brian Harring bin/repoman: Fixed a traceback related to file.size and --fix, added compatability tweaks for xmllint. 16 Aug 2004; Nicholas Jones emerge: Fixed the lock handling and unique_array calls. *portage-2.0.51_pre19 (16 Aug 2004): Fixes and Public Readiness & GPG 16 Aug 2004; Nicholas Jones ebuild.sh: Add predict for gpg verification. 16 Aug 2004; Nicholas Jones portage.py: Fixed the lock code to use the external module. 16 Aug 2004; Nicholas Jones portage_gpg.py: Fixed the writing operations and access violations. 16 Aug 2004; Nicholas Jones portage_locks.py: Fixed the code so it acutally works and is used. 16 Aug 2004; Nicholas Jones portage_md5.py: Fixed the lock calls. *portage-2.0.51_pre18 (16 Aug 2004): Fixes and Public Readiness & GPG 16 Aug 2004; Nicholas Jones dolib*: Added LV's CONF_LIBDIR patch to help out the 32/64 bit lib migrations. 16 Aug 2004; Nicholas Jones ebuild.sh: CONF_LIBDIR patch updates. Added a possible fix for the export issues in environment. 16 Aug 2004; Nicholas Jones prepall/lib: CONF_LIBDIR 16 Aug 2004; Nicholas Jones portage.py: Adjusted the manifest/gpg code to reduce the output on missing sigs. Changed the GPG homedir to the PORTAGE_GPG_DIR instead of using rsync for the keyring -- This requires manual intervention. 16 Aug 2004; Nicholas Jones sandbox: Added the 32/64 paths in for 32/64 lib migrations. 16 Aug 2004; Brian Harring pym/cvstree.py pym/portage.py: Round #2 of ignorecvs, now w/ sane regex goodness and an addition to digest(gen|check) to use the same cvs filter for Manifests. (#46070). 15 Aug 2004; Nicholas Jones emerge: message fix for packages.provided. 15 Aug 2004; Nicholas Jones repoman: Made file.size a warning for the time being. 15 Aug 2004; Nicholas Jones cvstree.py: Removed the auto-ignore regex as it is broken AND it breaks Manifests due to excess files allowed into them. 15 Aug 2004; Nicholas Jones emerge: A couple changes to the select_dep exception handling for the signing code. 15 Aug 2004; Nicholas Jones env-update.sh: Added Spanky's env-update shell script version. 15 Aug 2004; Nicholas Jones portage.py: Moved more code into seperate modules. Added support for Manifest verification and usage of 'gpg' 'strict' 'severe' to enable various condition responses. 15 Aug 2004; Nicholas Jones portage_const.py: Moved all constants to this module. (All uppercase defines) 15 Aug 2004; Nicholas Jones portage_data.py: Contains all calculated information. uid/gid info. system-specific values. All probed information should go here. 15 Aug 2004; Nicholas Jones portage_exception.py: Added many exceptions for the GPG verification code. Added many general exceptions to help differentiate from explicit portage exceptions and those issued by python. 15 Aug 2004; Nicholas Jones portage_gpg.py: Handling of gpg verification code and keyring management/trust. 15 Aug 2004; Nicholas Jones portage_locks.py: Moved the lock code out of portage.py. 15 Aug 2004; Nicholas Jones portage_md5.py: Moved the MD5 calculation code out of portage.py. 15 Aug 2004; Nicholas Jones portage_util.py: Moved writemsg and unique_array into portage_util. 13 Aug 2004; Brian Harring bin/ebuild.sh: Added support for ECONF_LIBDIR; if it isn't defined, then --libdir isn't passed to the configure script. If it is defined, then the configure script gets --libdir=/usr/${ECONF_LIBDIR}. 13 Aug 2004; Brian Harring pym/cvstree.py: Added robbat2's patch to ignore files that cvs ignores. (#46070). 13 Aug 2004; Brian Harring bin/ebuild.sh: Shifted the add* sandbox function definitions to before profile.bashrc srcing. As bug #60147 demonstrated, profiles occasionally need to adjust SANDBOX_WRITE (current case being for /usr/lib64/{conftest,cf}). 13 Aug 2004; Brian Harring bin/emerge: Related to bug #60256, adjusted format_size so that is always returns a string. 13 Aug 2004; Jason Stubbs bin/emerge: Relocated blocker checking code to before pkgsettings.setcpv() is called on it in depgraph.create() 13 Aug 2004; Brian Harring pym/portage.py: Tweaked lockfile, so it attempts a non-blocking lock_ex first, then states it's waiting on lock blar, then attempts a blocking lock. This will be useful for informing the user why portage seems to have hung, and good for debugging. 13 Aug 2004; Brian Harring bin/emerge-webrsync: Added support for snapshot md5sum's (mirrors now carry them). This is used to ensure the fetched snapshot is sane; if it's sane, then we reuse it for sync'ing. This nulls the -n option, so it's been removed. Closes out #15990, but no longer automatically forcing a refetch. Refetches are only forced if the md5 is invalid. 12 Aug 2004; Brian Harring pym/portage.py: Cleaned up fetch a bit more, saner error messages when unable to write to DISTDIR. 12 Aug 2004; Jason Stubbs bin/emerge: Fixed the fix for the earlier traceback on installed package not being in PORTDIR to remove duplicate work. 11 Aug 2004; Brian Harring bin/ebuild.sh: Added FEATURES="autoconfig" support. (#55476) 11 Aug 2004; Brian Harring pym/portage.py: Added check to lockfile and fetch, if file already is owned by portage group, don't try and chown it. This will close #60079. 10 Aug 2004; Brian Harring bin/emerge: Fixed a traceback issue, an ebuild is no longer in the tree, but is installed and needs to be used in the depgraph- the problem was, emerge assumed the ebuild was in porttree's db, when vartree should be used if the package is known to be installed. 10 Aug 2004; Brian Harring pym/portage.py: Killed a couple of corner cases for non-root fetch and lockfile calls. 10 Aug 2004; Brian Harring pym/portage.py bin/ebuild.sh: Add check to ensure that install phase has been ran prior to qmerge phase being attempted. This can happen when the user is using ebuild to step through the phases. Corrected bug in listdir where it would return None, rather then []- all callee's expect a returned list, not None. Same for ftype, cause's a tb if you just haphazardly rely on cachedir's return. 09 Aug 2004; Brian Harring pym/portage.py: Leave /var/tmp with it's own permissions, chowning/chmoding just /var/tmp/portage (#37521). 09 Aug 2004; Brian Harring bin/ebuild.sh pym/portage.py: Corrected bug in profile.bashrc support, added aliases for saving/restoring IFS (remove_path_entry and profile.bashrc loop adjust IFS temporarily). Closes #59749. 08 Aug 2004; Brian Harring dispatch-conf: Converted os.rename calls to shutil.move; the former can't cross fs's, the latter can. (#46148) 07 Aug 2004; Nicholas Jones portage.py: Fixed the cache updates so that an env-update forces ld updating. 07 Aug 2004; Jason Stubbs pym/portage.py pym/portage_dep.py: Added a new parameter to use_reduce so that !arch? checks can be adhered to even when matchall=1 and arch is not is masklist. 07 Aug 2004; Jason Stubbs pym/portage.py pym/portage_dep.py: Added profile masked use flags to repoman check. Moved || refactoring to a separate function. Reworked use_reduce logic into simpler sections. 05 Aug 2004; Brian Harring pym/portage_dep.py: What can I say, I can't get enough of bug (#59574). I'm operating under the assumption there still is a bug in the use_reduce logic, soo I've left a fairly massive amount of debugging code in place that's currently disabled. It's *very* useful for tracking exactly what/how use_reduce decides on a operator node. 05 Aug 2004; Brian Harring pym/portage.py: I introduced a bug in the previous commit, basically portage.settings.archlist list of arch keywords was being actively pruned by repoman as it stepped through arches for dep checking. Basically, needed to make a copy of archlist rather then using the actual archlist object. Should be the final issue for (#59574). 05 Aug 2004; Brian Harring pym/portage.py: Fix in the same area, if use="all" (repoman wants -every use flag- checked), it should call use_reduce w/ matchall set appropriately. (#59574) 05 Aug 2004; Brian Harring pym/portage.py: And... repoman's arch check got hosed again. The code in dep_check for building a masklist was incorrect, 3 line fix. (#59574) *portage-2.0.51_pre17 (03 Aug 2004): Fixes and Public Readiness 03 Aug 2004; Nicholas Jones portage_dep.py: Again fixed the || exceptions to understand nested legal || statements. *portage-2.0.51_pre16 (03 Aug 2004): Fixes and Public Readiness 04 Aug 2004; Nicholas Jones ebuild.sh: Changed the virtual/glibc references to virtual/libc. 04 Aug 2004; Nicholas Jones prepman: No longer runs gzip on .keep files. 04 Aug 2004; Nicholas Jones getbinpkg.py: Added in an active/passive option for FTP connections -- Requires the appending of an asterisk to the HOST portion of the ftp string to use active connections. 04 Aug 2004; Nicholas Jones make.conf*: Updates for the active-connection ftp option. 04 Aug 2004; Nicholas Jones emergehelp.py: Removed the bin/ version and replaced it with a duplicated pym/ version. 03 Aug 2004; Brian Harring pym/portage.py: Added check to ensure /var/tmp/portage's permissions were sane. (#56665) 03 Aug 2004; Brian Harring bin/repoman: Added explicit check for missing files directory, rather then ignoring it. Also added an explicit commit-time check for CVS/Entries being sane. (#57141). 03 Aug 2004; Brian Harring bin/repoman: reworked the qacats definition so that the type of bug that borked emerge help is no longer possible. 03 Aug 2004; Brian Harring pym/portage.py, bin/emerge: Corrected emerge --fetch-all-uri issues, now works. Basically, FEATURES="cvs" emerge -f blar == emerge --fetch-all-uri blar. The fetch option handling in emerge could use some cleanup. 03 Aug 2004; Brian Harring pym/portage.py: Ongoing cleanup in emerge -fp; this corrects a minor naggle affecting previous releases, where emerge -fp would still attempt to do md5 checks on files. 03 Aug 2004; Brian Harring pym/portage.py: Corrected logic for fetch(..., ..., use_locks=1,listonly=1) attempting to use locks, when fetch is just printing the src_uri's. (#59394). 03 Aug 2004; Brian Harring bin/repoman: Corrected the borkage I introduced into repoman's help option- it was throwing a traceback due to file.executable's key name being typoed. 03 Aug 2004; Nicholas Jones portage_dep.py: Enhanced the invalid depend string identification for || (and &&) strings. *portage-2.0.51_pre15 (03 Aug 2003): Fixes and Public Readiness 03 Aug 2004; Brian Harring bin/repoman: Corrected typo, trying to remove .backup_metadata.dtd rather then metadata.dtd. 03 Aug 2004; Nicholas Jones portage_dep.py: Changing from dep_opconvert to use_reduce introduced a bug due to how OR'd lists are managed by the remaining dep handling functions -- Fixed by emulating the format in use_reduce. 02 Aug 2004; Brian Harring bin/repoman, pym/portage.py: Added local caching of metadata.dtd, to prevent flaky connections from flagging a packages metadata.xml as invalid due to xmllint failing to fetch metadata.dtd. Simplified version of patch in (#57210). 02 Aug 2004; Brian Harring bin/ebuild.sh, pym/portage.py: Added support for src'ing a profile bashrc. Fex, if /etc/make.profile/profile.bashrc exists, it is sourced prior to ebuild.sh defining any of it's functions. (#58415). 02 Aug 2004; Brian Harring bin/emerge-webrsync: General cleanup; uses the make.conf defined FETCHCOMMAND for fetching (fixing #57887), runs emerge metadata after a successful sync also. *portage-2.0.51_pre14 (02 Aug 2003): Fixes and Public Readiness 02 Aug 2004; Nicholas Jones do*: Added exit calls on failures and changed the install to use short options for BSD compat. 02 Aug 2004; Nicholas Jones ebuild.sh: unset GLOBIGNORE added. Echo out the confingure command from econf. Moved the maketest code to dyn_preinst so it didn't force-run maketest. Added a patch for keyword expansion (requires portage-2.0.51 for use). 02 Aug 2004; Nicholas Jones emerge: --fetch-all-uri added to force all URIs to be downloaded (works like features=cvs). libc version printing enhancements. Fixed the binary package selection in an alt ROOT. Headers and libtool added to info. --ask removed on a resume. 02 Aug 2004; Nicholas Jones prepstrip: Change ewarn to echos to stderr with beeps. 02 Aug 2004; Nicholas Jones repoman: Added to the OK message output for issues that fail. 02 Aug 2004; Nicholas Jones make.conf: Typo correction patch added. 02 Aug 2004; Nicholas Jones output.py: Added kterm to the titlebar terminals. 02 Aug 2004; Nicholas Jones portage.py: Added a message regarding the location of the virtuals file (move to /etc/portage/profile). Added a invalid-mirror message and a missing URI message for fetching. Added the selinux sandbox patch. Removed the old dep_opconvert call as all ?: syntax is gone. 02 Aug 2004; Nicholas Jones portage_dep.py: Fixed the use_reduce code to properly handle negative requirements on masked flags. 02 Aug 2004; Nicholas Jones tbz2tool.c: Made all the comments to C style. 02 Aug 2004; Nicholas Jones libsandbox: Code from Seth Robertson that tracked down all adjuct flags for read operations that did not invoke a write operation. 01 Aug 2004; Masatomo Nakano bin/emerge: Added message about ._cfg* files after emerge sync. 01 Aug 2004; Masatomo Nakano pym/portage.py: Modified updating /etc/portage/package.* logic to see CONFIG_PROTECT and CONFIG_PROTECT_MASK. 01 Aug 2004; Marius Mauch bin/emerge: Added a warning for `emerge /path/to/ebuild` 01 Aug 2004; Marius Mauch bin/emerge: Fixing broken logic for the `emerge rsync` deprecation notice (it only showed up on `emerge --rsync`). 01 Aug 2004; Brian Harring pym/portage.py bin/emerge: Fixed the lockfile/unlockfile functions so that they correctly support having an int passed in (the fd #), or having a file object passed in. Corrected lockfile so that the lock is owned by portage group, with g+w permissions (this is needed since sudo emerge blar can bail, leaving a stale lock that non-root usage cannot remove). Added locking to emerge's emergelog function, preventing log messages from potentially getting mixed together. Added check to fetch function to complain if unable to write to DISTDIR (previously the fetcher just bailed, stepping through each src_uri). Added lockfiles for fetching/md5ing of the src- these lockfiles are stored in a subdirectory (locks_in_subdir=".locks") if specified, and locking is controlled via use_locks (defaults to on). emerge -f no longer requires root/sudo to run (ebuild never had this restriction). (#42969) 31 Jul 2004; Jason Stubbs pym/portage.py bin/emerge: Removed USE-based SLOT support. Removed uselist from getslot methods. 29 Jul 2004; Brian Harring bin/repoman: Added check for files over 20k in a packages files directory. file.size, repoman treats it as a a failure. Added the repoman manpage entries for file.size, and file.executable (I missed file.executable earlier). 28 Jul 2004; Masatomo Nakano pym/portage.py: Fixed a bug emerge doesn't pkg_setup() with -k/-K option. (#25152) 28 Jul 2004; Masatomo Nakano pym/portage.py: Added ._cfg* file for updating /etc/portage/packages.* during global update. 28 Jul 2004; Masatomo Nakano bin/emergehelp.py, man/emerge.1: Added explanation of --newuse to manpage/help. Added information of --verbose to manpage. 27 Jul 2004; Jason Stubbs pym/portage.py: Reversed the order of profile virtuals (dirVirtuals) so that a cascading profile's virtuals are stacked in the correct order. 26 Jul 2004; Brian Harring bin/emerge: Removed the `which blah` calls- A) stage1 lacks which, B) which searches $PATH- all sane shells do this already when handed a command that isn't absolute path. These which calls were used in commands.getstatusoutput() calls, which starts up a shell with the arg passed to the shell, so "`which blar` args" isn't needed. 26 Jul 2004; Brian Harring bin/repoman: Added file.executable check- ebuilds, digests, Manifest, ChangeLog, and metadata.xml don't need the executable bit set. CVS preserves it upon commit, so we do the check prior to commit. (#55647) 26 Jul 2004; Brian Harring bin/emerge: Removed the hardcoding of uname for emerge info, using which to find it instead. 26 Jul 2004; Brian Harring bin/repoman: Added check to ensure manifest recommit is at least possible when committing, and corrected handling of CVS/Root files for OSX machines. Removed readline import, doesn't seem to be used at all. 26 Jul 2004; Jason Stubbs bin/emerge pym/portage.py: Refactored slot code into portage.py to remove usage off portage_dep. 25 Jul 2004; Brian Harring bin/dohtml: Corrected a bug in dohtml where it was unable to install files with a space in their name (#58258) 25 Jul 2004; Jason Stubbs bin/emerge pym/portage.py: Deprecated --inject and added support for package.provided in both the profiles and /etc/portage/profile directory. 24 Jul 2004; Jason Stubbs bin/emerge pym/portage.py: Added USE flag based SLOT support. 24 Jul 2004; Jason Stubbs bin/emerge pym/portage.py: Added USE flag based PROVIDE support. (#32114) 24 Jul 2004; Jason Stubbs src/sandbox-1.1/libsandbox.c: Fixed lchown sandbox bug. (#58084) 23 Jul 2004; Brian Harring bin/repoman: Corrected a false positive on the ebuild.nesteddie check. Basically it wasn't looking to see if the line was active or not (fex # (die), bash skips, but repoman caught). Aside from that, that check is still capable of missing multiline ebuild.nesteddie instances. (#33011) 22 Jul 2004; Brian Harring bin/ebuild.sh: Re-enabled binary QA interceptors, with a minor twist- the QA_INTERCEPTORS is used to specify what QA interceptors will be defined. These functions are no longer saved in the ebuild's stored env (exist *only* in depend phase), and have been expanded to identify if it's the ebuild, or eclass that's triggering the QA Notice (#54652). The interceptors behaviour when the binary is missing has been corrected to correctly output "missing command $bin: args". 21 Jul 2004; Masatomo Nakano bin/emerge: Fixed bug which blocks a package itself with -U option. 20 Jul 2004; Masatomo Nakano bin/repoman: Fixed profile cache problem. (#43601, #56170) 20 Jul 2004; Marius Mauch bin/ebuild.sh: added usev() and hasv() as complement to useq() and hasq(). 18 Jul 2004; Brian Harring bin/repoman: Corrected ebuild.allmasked check, so that it checks for an available version across all arches, rather then the last arch processed. Typo fixed also- bugs #57356 and #57068. 17 Jul 2004; Jason Stubbs bin/repoman: Added patch from #49126 that makes repoman check that a USE flag from use.local.desc applies to the packages that make use of it. 14 Jul 2004; Marius Mauch bin/emerge: added a deprecation warning for --upgradeonly 14 Jul 2004; Marius Mauch bin/etc-update: Added a hint to etc-update so people that don't know what to do don't use -3 or -5 by accident. 12 Jul 2004; Jason Stubbs bin/emerge: Adjusted masked binary checking code to exclude --usepkgonly. 10 Jul 2004; Jason Stubbs man/portage.5: Adjusted documentation for user use.mask to match implementation. *portage-2.0.51_pre13 (09 Jul 2004): Fixes and Public Readiness 21 Jun 2004; Nicholas Jones portage.py: Included ferringb's logic fix for the repoman code. Fix that prevents vardb from using all files and directories in the vardb as keys instead of only the proper ones. Code touchups. 21 Jun 2004; Nicholas Jones prepstrip: Fixes that result in BSD compat and split the regex -- find doesn't do extended. 21 Jun 2004; Nicholas Jones emerge: included a uname fix for bsd. Added --fetch-all-uri as a way to get all URIs downloaded for a package regardless of conditionals. 21 Jun 2004; Nicholas Jones ebuild.sh: Moved the declaration of ebuild_phase toward the top. 09 Jul 2004; Jason Stubbs bin/emerge: Fixed incorrect assignment of depgraph.mydbapi[] objects. 07 Jul 2004; Marius Mauch bin/repoman: Solved a big memory problem in repoman where a full scan required several gigabytes, caused by apparently unused objects. 04 Jul 2004; Jason Stubbs bin/emerge pym/portage.py: Fixed issue that allowed installed virtuals to overide user virtuals. 03 Jul 2004; Jason Stubbs bin/emerge: Added masked package removal to binpkg candidates before getting the best. (#55871) 01 Jul 2004; Jason Stubbs pym/portage.py: Fixed exception catching on module import. 27 Jun 2004; Jason Stubbs bin/repoman: Fixed year (2003 -> 2004) in copyright lines. 27 Jun 2004; Marius Mauch pym/portage.py: Added a check for symlinked dirs to the collision-protect code so it doesn't double-check files in symlinked dirs with wrong pathnames. 26 Jun 2004; Masatomo Nakano bin/regenworld: Fixed regenworld. It always failed without -h or --help. 26 Jun 2004; Masatomo Nakano bin/emerge: Added more messages when emerge fails due to masked package. 26 Jun 2004; Jason Stubbs portage.py: Added pkgsplit check on values returned by vardbapi.cpv_all() 26 Jun 2004; Jason Stubbs repoman: Removed a stray dot. 25 Jun 2004; Jason Stubbs repoman: Changed CVS header regex to "Gentoo Foundation" *portage-2.0.51_pre12 (21 Jun 2003): Fixes 21 Jun 2004; Nicholas Jones emerge: Removed the extra spawn of portageq as sandbox handles the python pyo's accesses now. 21 Jun 2004; Nicholas Jones portage.py: Fixes for the HOME issues. Correction of permissions from 6770 to 2770. 21 Jun 2004; Masatomo Nakano pym/portage.py: Fixed problem that 'emerge something' would install all depeneded pkgs even if they are already installed. *portage-2.0.51_pre11 (21 Jun 2004): Fixes 21 Jun 2004; Nicholas Jones portage.py: Disabled the URL encoding for BINHOST as it will take a lot of work to get it right. Execve try/except added to handle missing binaries and such. Changed the default HOME to be TMPDIR/homedir. Try/except on db close operations. Add in missing unlocks. Hacked in the /var/lib/portage in a chroot fix. 21 Jun 2004; Nicholas Jones emerge: Added more info into the profile for the stacked profiles. 21 Jun 2004; Nicholas Jones ebuild.sh: The userland fixes for *BSD. QA Notice fix for IUSE verbosity on global scope stuff. Missing quote fix for QA intercepters. Return 0 in the use_* functions. Removed AA from the readonly list. 21 Jun 2004; Nicholas Jones dohtml: Karl's update which is mostly a rewrite. 21 Jun 2004; Jason Stubbs bin/emerge: Modified emerge to build up a fakedb regardless of 'empty' in params, and to incrementally add any packages added to the dep graph. (#1343, #8810, #54608) 20 Jun 2004; Masatomo Nakano bin/repoman: Fixed problem which fails to detect IUSE value. (#21544) 20 Jun 2004; Masatomo Nakano bin/emerge: Added an exception code for broken timestamp.chk. (#54380) 20 Jun 2004; Jason Stubbs pym/ebuild.sh: Adjusted returns for use_with and use_enable to only return 1 on invalid usage. 20 Jun 2004; Masatomo Nakano pym/portage.py: Fixed problems that portage doesn't block with --update option(#52377) and fail to block virual packages(#52506). 20 Jun 2004; Masatomo Nakano pym/portage.py: Fixed CONFIG_PROTECT/CONFIG_PROTECT_MASK in /etc/csv.env(#51646). 20 Jun 2004; Masatomo Nakano bin/ebuild.sh: Added error message when pkg_config is not defined. (#51167) 14 Jun 2004; Jason Stubbs pym/portage.py: Fixed bug in portdbapi.aux_get where a problem ebuild would cause a lock to not be released. 09 Jun 2004; Marius Mauch bin/emerge: Changed emerge --info to reflect libc versions other than glibc. 08 Jun 2004; Marius Mauch pym/portage.py: Added the collision-protect feature that prevents packages from overwriting files they don't own. Has to be enabled with FEATURES=collision-protect as it needs more testing before it can be enabled by default (bug #28228). 05 Jun 2004; Marius Mauch bin/ebuild.sh: Fix rpm support by changing rpm to rpmbuild (bug #13508). 05 Jun 2004; Marius Mauch bin/regenworld: Added a --help message ro regenworld (bug #37539). 03 Jun 2004; Jason Stubbs portage.py: Fixed bug #52720 and restored patch for a 35% drop in dep calc time. *portage-2.0.51_pre10 (02 Jun 2003): Fixes 02 Jun 2004; Nicholas Jones portage.py: Added MANPATH to the colon_seperated list -- parsing code NEEDS TO BE FIXED. * and ~* matches allowed for package.use for arch-development -- ~* implies *. 02 Jun 2004; Nicholas Jones emerge: Fix for a new typo in the logger function that prevented emerge.log from being written. 02 Jun 2004; Nicholas Jones ebuild.sh: make test only occurs when enabled in FEATURES and not in RESTRICT -- defaults OFF. Added ferringb's local B_* fix for eclasses. Made db vars readonly via bash for non-depend phases after the global scope. 02 Jun 2004; Jason Stubbs pym/portage.py: Reverted adjusted made to config.setcpv on 18 May 2004 due to bug #52720. 01 Jun 2004; Marius Mauch bin/repoman,bin/regenworld: only messages about broken log entries in regenworld when called with --debug. Fix signing stuff in repoman. *portage-2.0.51_pre9 (22 May 2003): Speedups and bug fixes 22 May 2004; Nicholas Jones portage_db_template.py: Added in last-three caching for db modules. Ensuring that keys are strings. 22 May 2004; Nicholas Jones portage_db_cpickle.py: Fix that ensures the Unpickler works properly. 22 May 2004; Nicholas Jones portage.py: Updates for environment files ordering in ebuild.sh. Added in normalize_path to handle the really annoying "'//' is a legal prefix" issue with os.path.normpath. Applied normalize_path to cacheddir() so that the keys match and we have more cache hits and better performance. Added statistics to to cacheddir available with noise=2. Do not return a blocker when doing a zerolist. Fixed the stacking functions to properly order the incrementals and apply the removals forward. Changed all string.atoi() to int(). Added in the selinux changes for spawning the fetch command. Added a patch that allows ebuild.sh to display 'validcommands'. close_caches() added to allow atexit to close all the DB connections. close_portdbapi_cache() handles the global that has all db instances -- This avoids problems with the API nulling the internal links. Adjusted the db handling for sync() calls and removed some object duplication db calls. 22 May 2004; Nicholas Jones getbinpkg.py: Fix for HTTP redirects (301 and 302) so that the redirect opens a new connection to the move-location server -- This allows us to redirect to a different machine. 22 May 2004; Nicholas Jones emerge: For iuse output we now ensure that the correct db is referenced. The worldfile additions do not occur when a packages is new and updates are not being performed. Patch to add binutils to the emerge info. 22 May 2004; Nicholas Jones ebuild.sh: Rearranged the sourcing of the profiles and the special environment files. Added src_test as an optional test method -- Some packages are extremely dumb and need to be prevented from using this via RESTRICT. 18 May 2004; Jason Stubbs portage.py: Minor speed improvement in config.setcpv preventing a useless regenerate 18 May 2004; Jason Stubbs portage.py: Reversed the order of config.getvirtuals' stack_dictlist call for correct ordering. *portage-2.0.51_pre8 (16 May 2003): Big cleanups & Ebuild QA Stuff. 16 May 2004; Nicholas Jones portage_exception.py: New file containing portage exceptions. Added 'CorruptionError' for the db code. 16 May 2004; Nicholas Jones portage_util.py: New file that contains utility functions. Allows db_modules to use portage functions without a circular dependency. CODE IS DUPLICATED and needs to be fixed in portage.py to use this new module. grab*, getconfig, varexpand, pickle_*, ReadOnlyConfig 16 May 2004; Nicholas Jones portage_db_*: Modules do not have an __init__ any longer -- module_init() is called by the template after loading the config and setting the 5 variables inside of the class. self.config is a ReadOnlyConfig object which is just a dict that you can't write to. Throws CorruptionError when the read functions return exceptions. 16 May 2004; Nicholas Jones portage.py: Reversed the virtuals order so it matches the documented format. When an ebuild does not exist, we now raise a KeyError with a useful string. 'couple minutes' changed to 'couple of minutes' for Seemant. ;) 16 May 2004; Nicholas Jones prepstrip, ebuild.5, repoman.1: Typo corrections/text replacements. 16 May 2004; Nicholas Jones emerge: Added deprecation notice to 'emerge rsync' to favor 'emerge sync'. Modified the emerge.log code to not change permissions on the files beyond what is necessary -- NEEDS TO BECOME AN ADDITIVE FUNCTION. Produce a warning instead of a traceback when an ebuild does not exist for -U. 16 May 2004; Nicholas Jones ebuild.sh: Touched up the logging stuff at the top. Removed extra_functions.sh. src_compile additions so that it can run make without having a config file requirement. 16 May 2004; Nicholas Jones dobin,dosbin: Removed the duplicated stripping from the helper tools. 09 May 2004; Jason Stubbs pym/portage_dep.py: fixed bug in use_reduce that caused returned list to be flattened. 30 Apr 2004; Marius Mauch bin/ebuild.sh: modified ebuild.sh error message on seemants and roger55s request. *portage-2.0.51_pre7 (26 Apr 2003): Big cleanups & Ebuild QA Stuff. 25 Apr 2004; Nicholas Jones portage.py: Fixed masking problems due to the new stacking functions and empty-value stripping. *portage-2.0.51_pre6 (25 Apr 2003): Big cleanups & Ebuild QA Stuff. 25 Apr 2004; Nicholas Jones ebuild.sh: Dropped selinux from the IUSE complainer list. 25 Apr 2004; Nicholas Jones repoman: Made it use the constants defined in portage.py for the world file. 25 Apr 2004; Nicholas Jones portage.py: Modifications so that the virtuals are incremented in the proper order and reversed the final values so that the first virtual is the 'best' one. Try to put the INHERITED variable back into the environment before calling out to portage. This makes the ECLASS QA notices actually valid. *portage-2.0.51_pre5 (25 Apr 2003): Big cleanups & Ebuild QA Stuff. 25 Apr 2004; Nicholas Jones portage.py: Fixed name of the world file constant. Fixed the virtuals loading and vartree creation circular dep with a repitition hack. Fixed the virtuals loading function so that it doesn't destroy the virtuals before saving them. 25 Apr 2004; Nicholas Jones emerge: Fixed all the references to the world file to use portage constants. Made the verbose output for use flags call unique array to make sure values aren't duped. 25 Apr 2004; Nicholas Jones ebuild.sh: Typo fix for inherited, and removed the delay. *portage-2.0.51_pre4 (25 Apr 2003): Big cleanups & Ebuild QA Stuff. 25 Apr 2004; Nicholas Jones portage.py: Creation of a great number of 'constants' that were hard coded in various places and now are created in a cascaded style, for the most part. Exception handling for the loading of modules added along with verbose messages about the exception being handled for user info. PRIVATE_PATH is a new constant that points to the new directory we will be using for portage internal data -- It is a secure directory that only group portage may write, read, and scan. PORTAGE_CACHEDIR is deprecated -- The real cache directory is FHS and is a constant -- The dep cache is named specifically now as 'PORTAGE_DEPCACHEDIR'. **Changed the stacking functions** so they are quite a bit more sane -- They still need a little help though -- stack_* functions are now used to stack specific types instead of using grab_stacked "super functions" -- The naming is a little rough but intelligable. **VIRTUALS modification** The /var/cache/edb/virtuals file is unnecessary as portage now loads the provides from the vartree itself. /etc/portage may have a virtuals file that stacks on top of the var and profile virtuals. This also entails the removal of the virtual-file handling code (yay!). 25 Apr 2004; Nicholas Jones emerge: Fix for the name change for PORTAGE_CACHEDIR to PORTAGE_DEPCACHEDIR. 25 Apr 2004; Nicholas Jones ebuild.sh: Added checks to ensure that use flags are properly mentioned in IUSE. Adjusted the QA Interceptors (function overrides for common app names) to make sure they don't interfere in weird cases -- Relying on 'type -p' now. Eclasses are checked for illegal inheritance modes (conditional-based). Increased the cache lines for an entry -- Added 'PROVIDE' and 8 empties. 22 Apr 2004; Marius Mauch bin/repoman: added a CVS Header check to repoman 20 Apr 2004; Marius Mauch pym/portage.py: fix for getmaskingreason if the mask isn't in PORTDIR's package.mask (#48447) 17 Apr 2004; Masatomo Nakano repoman: Fixed for python-2.2 compatibility. *portage-2.0.51_pre3 (13 Apr 2003): Cleanups and small features. 13 Apr 2004; Nicholas Jones portage_db_*: Fixed the permissions issues regarding the umask problems with DB vars. 13 Apr 2004; Nicholas Jones portage.py: Fix for the import urllib call that was misspelled for PORTAGE_BINHOST. Genone's patch that allows FETCHCOMMAND_${PROTOCOL}. getmaskingreadon() from genone's package.mask display patch. 13 Apr 2004; Nicholas Jones output.py: For some reason people have a problem with my bad spelling of semi-common colors, so I added in requested changes for the color 'fuchsia'. 13 Apr 2004; Nicholas Jones cnf/make.conf: Comment fixes for the CHOST line. FEATURES modification. 13 Apr 2004; Nicholas Jones dispatch-conf.conf: Removed the 'a' option. 13 Apr 2004; Nicholas Jones emerge: Catagory searches added if search is prefixed with '@'. jstubbs/spider's fix for binary use flag passing problems worked in. Genone's patch for package.mask comment display. Patch to display warnings when unmerging system packages worked in. 13 Apr 2004; Nicholas Jones ebuild.sh: Quieted up some output for use/has internally. Added a patch for the help output. Added functionality to pass down IUSE from eclasses. Made several variables readonly inside of ebuilds: P PN PV PVR PR A AA D EBUILD EMERGE_FROM O PPID FILESDIR EBUILD_PHASE *portage-2.0.51_pre2 (11 Apr 2003): Release Fixes 11 Apr 2004; Nicholas Jones emerge: Portage can now match categories if the search is prefixed with an '@' -- @app-portage will list all packages in app-portage... '@portage' will match all in app-portage and will match anything with portage in the title -- It's still a regex. 11 Apr 2004; Nicholas Jones ebuild.sh: nostrip in RESTRICT now enables DEBUGBUILD -- stripping and related functionality needs to get cleaned up better. 11 Apr 2004; Masatomo Nakano etc-update, ebuild.sh: Fixed infinity loop in etc-update(#19144). Fixed glob problem in ebuild.sh(#37066). Fixed deleting build-info problem with FEATURES="keepwork"(#29044). 10 Apr 2004; Nicholas Jones portage.py: Includes the deadlock breaks marked with 'XXX:' to indicate where fixes are needed. Added HTTP encoding to PORTAGE_BINHOST with checks and fallbacks. Fallback for dbkey settings spawned from ebuild. Exception handling for db classes in the case of random corruption. jstubb's fix for the dep code to handle empty lists, added a notice about that being rude. 10 Apr 2004; Nicholas Jones ebuild.sh: Made more QA notices and made them slightly more pretty 'QA Notice:'. Made the depend phase trap less violent -TERM not -KILL. 10 Apr 2004; Masatomo Nakano repoman: Added IUSE missings a check(#21544). 10 Apr 2004; Marius Mauch tarball.sh, pym/portage.py: Fixing broken regexp in fixdbentries() (bug 46096), changing version number. 10 Apr 2004; Masatomo Nakano repoman: Fixed unsafety temporary file name(#44455). 09 Apr 2004; Masatomo Nakano portage.py: Fixed reorder ld.so.conf bug(#44028). Portage should skip not existing DIR during unmerge(#25339). 09 Apr 2004; Masatomo Nakano repoman: Added jstubbs's patch to add a check invalid DEPEND format to repoman. This should fix #36857. 09 Apr 2004; Masatomo Nakano emerge, portage.py, output.py: Fixed some bugs. See #45164, #24299, #34967. 01 Apr 2004; Masatomo Nakano portage.py: Fixed virtuals in reverse order(jstubbs's patch and my fix). This should close #45468. 20 Mar 2004; Nicholas Jones portage_db_*: Updated all the db modules to be current and correct and updated the testing code to make sure everything is working properly. 20 Mar 2004; Nicholas Jones ebuild: Fix for traceback and incorrent ROOT variable when using an alternate root and hand-merging. 20 Mar 2004; Nicholas Jones ebuild.sh: Exported the sandbox variables so that they work. 20 Mar 2004; Nicholas Jones emerge: Enhancements for binary downloads -- proper selection for virtuals, etc... Proper slot handling for pretend output with binaries. 20 Mar 2004; Nicholas Jones prepman: symlink fix. 20 Mar 2004; Nicholas Jones prepstrip: Added the readelf PIC code for the TEXTREL stuff. 20 Mar 2004; Nicholas Jones portage.py: Removed some functions: evaluate, dep_listcleanup, dep_getjiggy. Made inheritance for profiles relative from the profile's directory instead of from the profile's base directory. OBSOLETING two functions dep_parenreduce and dep_opreduce in favor of the new code in portage_dep paren_reduce and use_reduce. dep_zapdeps got an overhaul for much more intelligent selection of packages and virtual handling during depgraph generation. Binary tree enhancements and selection enhancements. bindbapi created to do aux_get on binaries. isInjected added to vardbapi to get injected status. SRC_URI uses the new portage_dep code to handle strings now -- nesting should would flawlessly and FEATURES=cvs should get _all_ files. 20 Mar 2004; Nicholas Jones portage_db_cpickle.py: Added pickle loading safety. 20 Mar 2004; Nicholas Jones portage_dep: Temp home for the dep resolution code that will be moving from portage.py and emerge until we get the modular structure set up. 17 Mar 2004; Masatomo Nakano ebuild.sh, emerge, portage.py, portage_db_anydbm.py, portage_db_cpickle.py, portage_db_flat.py, portage_db_template.py: Improved handling cache files on multi portage trees. Fixed 'BAD COUNTER' error when emerge --inject. (#41062) Added ferringb's patch to avoid sed command. (#40819) 12 Mar 2004; Marius Mauch bin/repoman: repoman: Added a readonly-variable-assignment check (#44424) 06 Mar 2004; Masatomo Nakano repoman, portage.py: Fixed some repoman/portage bugs. repoman shouldn't use /etc/portage/* files. repoman shouldn't use PORTDIR_OVERLAY(#11335). repoman should use each arch profile dir(#43601). portage didn't handle virtual dependency with version (>=virtual/package-1.0) in some places. 05 Mar 2004; Marius Mauch bin/emerge: Trivial fix for emerge -pv if the download size is a long. 03 Mar 2004; Marius Mauch bin/repoman, pym/portage.py: Fixing the "letter before endversion" bug (#17172). Replacing keywords.desc with arch.list in repoman (#35398). FEATURES=strict is now sufficient for Manifest validation (#41292). 01 Mar 2004; Marius Mauch bin/emerge, bin/emergehelp.py, man/emerge.1: Updated docs for --update and removed the "help" action (wasn't working anyway). 29 Feb 2004; Masatomo Nakano portage.py: Fixed wrong USE in 'emerge info'. This should fix #34260. 27 Feb 2004; Masatomo Nakano emerge: Fixed info dir regeneration produces errors with a non-C locale and misleading error message. This should fix #41872,#24299. 27 Feb 2004; Masatomo Nakano emerge, emergehelp.py, emerge.1: Added genone's patch for man/help of --tree option. 27 Feb 2004; Masatomo Nakano ebuild.sh: Removed /usr/share directory in ${D} when it's empty. This should close #42312. 26 Feb 2004; Masatomo Nakano emerge: Added new option --newuse. This option is to rebuild a package whose USE has been changed. 22 Feb 2004; Masatomo Nakano emerge, portage.py: speedup when /etc/portage/package.keywords is defined. Moved loading /etc/portage/package.* processs to config class. This should fix #41520. 19 Feb 2004; Masatomo Nakano portage.py: Fixed CATEGORY value after preinst phase. This should close #6414. Fixed nested dependency problem and cleaned up dep_zapdeps function. This bug happened with DEPEND='|| ( cat_a/pkg_a flag? ( cat_b/pkg_b ) )'. This should close #41869. 13 Feb 2004; Masatomo Nakano portage.py: Fixed parsing SRC_URI bug when FEATURES="cvs". This should close #16159. 12 Feb 2004; Masatomo Nakano emerge, pym/portage.py: TGL's patch for correction package size when emerge -v. -- Fixed use.default bug. It occurs when package in use.default exists in system and it's virtual package. This should close #40831. 12 Feb 2004; Masatomo Nakano emerge: Fixed --ask bugs. It breaks with "--clean". It also breaks when blocker exists. This should close #39865. 12 Feb 2004; Masatomo Nakano emerge: Fixed --ask bug with --changelog. This should close #41293. 11 Feb 2004; Masatomo Nakano emergehelp.py: Added help of F flag with emerge --pretend. This should close #28253. 11 Feb 2004; Masatomo Nakano pym/portage.py: Fixed ccache dir permission problem with FEATURES="userpriv". This should fix #22125. *portage-2.0.50-r1 (09 Feb 2003): Release Fixes 09 Jan 2004; Nicholas Jones portage.py: Fix the config code so that it doesn't fail when the profile does not exist -- allows sync'ing without a tree like it should. Parser returns an exception with the parse error now for getconfig(). TGL's patch for another cache issue in class config. Modified the /etc/make.profile message. Fix for the "eclass does not exist" messages on sync. 09 Jan 2004; Nicholas Jones repoman: Fix the repopath so that it cna be run outside of cvs repos. 09 Jan 2004; Nicholas Jones ebuild.sh: Add portage's pym path to SANDBOX_PREDICT to stunt any further .pyc/.pyo problems. Add nofetch to the 'successful' kill list to stop the $T definition woes. 08 Feb 2004; Masatomo Nakano repoman: repoman should read each arch virtual file. This should close #40813. 08 Feb 2004; Masatomo Nakano emerge: Fixed -s/-S bug. "Latest version installed:" was incorrect. This should fix #40847 08 Feb 2004; Masatomo Nakano portage.py: Fixed ldconfig bug. emerge didn't ldconfig after removing library directory. This should fix #40694. *portage-2.0.50 (06 Feb 2003): Release -- API change, cleanups, speedups 06 Jan 2004; Nicholas Jones *: repoman got a quick fix from genone. Ed's fix for ask/pretend. Made sure that emerge force-updated the eclass cache before trying to update all the metadata. masking type patch from Genone. masking info patch and regenworld patch added. *portage-2.0.50_pre22 (04 Feb 2003): Cleanups and stablizing 04 Feb 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. 04 Feb 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. 04 Feb 2004; Nicholas Jones prepstrip: changed --strip-debug to --strip-unneeded. 04 Feb 2004; Nicholas Jones getbinpkg.py: Updates to enable HTTP/HTTPS authentication. 04 Feb 04; 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.