]> git.saurik.com Git - apt.git/log
apt.git
14 years ago* apt-pkg/contrib/strutl.cc:
David Kalnischkies [Mon, 16 Aug 2010 09:38:20 +0000 (11:38 +0200)] 
* apt-pkg/contrib/strutl.cc:
  - fix error checking for vsnprintf in its safe variant

Spotted by -Wextra:
contrib/strutl.cc: In function 'char* safe_snprintf(char*, char*, const char*, ...)':
contrib/strutl.cc:1172:14: warning: comparison of unsigned expression < 0 is always false

14 years agoadd finally my very small testcase for the conkeror problem resulting
David Kalnischkies [Sun, 15 Aug 2010 17:12:35 +0000 (19:12 +0200)] 
add finally my very small testcase for the conkeror problem resulting
in the FixByInstall code we currently "experiment" with

14 years agodo not unconditional print the new debugoutput for "FixByInstall"
David Kalnischkies [Fri, 13 Aug 2010 23:21:50 +0000 (01:21 +0200)] 
do not unconditional print the new debugoutput for "FixByInstall"

14 years agofix testcase framework to test correctly for virtual packages
David Kalnischkies [Fri, 13 Aug 2010 23:18:11 +0000 (01:18 +0200)] 
fix testcase framework to test correctly for virtual packages

14 years agoadd a small script to automate the task of creating Packages and status
David Kalnischkies [Fri, 13 Aug 2010 22:25:57 +0000 (00:25 +0200)] 
add a small script to automate the task of creating Packages and status
files for tests with "real" problems

14 years agoreleasing version 0.8.0~pre1
Michael Vogt [Fri, 13 Aug 2010 15:35:25 +0000 (17:35 +0200)] 
releasing version 0.8.0~pre1

14 years ago* apt-pkg/pkgcache.cc:
Michael Vogt [Fri, 13 Aug 2010 14:48:32 +0000 (16:48 +0200)] 
* apt-pkg/pkgcache.cc:
  - fix LongDesc handling in LANG=C environment

14 years ago* apt-pkg/pkgcache.cc:
David Kalnischkies [Fri, 13 Aug 2010 14:42:38 +0000 (16:42 +0200)] 
* apt-pkg/pkgcache.cc:
  - fix LongDesc handling in LANG=C environment

14 years ago - let the problem resolver install packages to fix or-groups
Michael Vogt [Fri, 13 Aug 2010 14:09:25 +0000 (16:09 +0200)] 
  - let the problem resolver install packages to fix or-groups
    as a needed remove nuked another or-member (helps for #591882)
  - purge packages in 'rc' state, thanks Rogier! (Closes: #150831)

14 years ago* apt-pkg/algorithms.cc:
David Kalnischkies [Fri, 13 Aug 2010 12:41:55 +0000 (14:41 +0200)] 
* apt-pkg/algorithms.cc:
  - let the problem resolver install packages to fix or-groups
    as a needed remove nuked another or-member (helps for #591882)

The resolver sometimes need to break or-groups because he need to
remove the previous satisfier as a result of a breaks/conflicts.
In such broken or-groups he now tries to install a non-installed
non-deleted member of the or-group to statisfy it again.
This move is dangerous as it introduces the possibility of a
bunch of "new" broken breaks/conflicts on the new statisfier or
its dependencies and we don't know about them beforehand.
We also don't have the infrastructure to undo the decision later,
so we just do it and pray!

For now a test option is provided to disable this behavior on the
fly to test if the situation is worse: pkgProblemResolver::FixByInstall

14 years agopurge packages in 'rc' state, thanks Rogier! (Closes: #150831)
David Kalnischkies [Thu, 12 Aug 2010 14:45:41 +0000 (16:45 +0200)] 
purge packages in 'rc' state, thanks Rogier! (Closes: #150831)

14 years ago* Swedish translation update. Closes: #592366
Michael Vogt [Thu, 12 Aug 2010 11:51:31 +0000 (13:51 +0200)] 
* Swedish translation update. Closes: #592366
* merge of the debian-expermental-ma branch
* refresh po/pot files in doc/ and po/
* apt-pkg/algorithms.cc:
  - change the debug outputs to display also arch of the
    package and version dependencies information
* cmdline/apt-get.cc:
  - let APT::Get::Arch-Only in build-dep default to false again
    (Closes: #592628) Thanks Mohamed Amine IL Idrissi for report!
* Swedish translation update. Closes: #592366

14 years ago* cmdline/apt-get.cc:
David Kalnischkies [Wed, 11 Aug 2010 17:39:44 +0000 (19:39 +0200)] 
* cmdline/apt-get.cc:
  - let APT::Get::Arch-Only in build-dep default to false again
    (Closes: #592628) Thanks Mohamed Amine IL Idrissi for report!

14 years agomerge with debian-experimental-ma
David Kalnischkies [Tue, 10 Aug 2010 14:04:17 +0000 (16:04 +0200)] 
merge with debian-experimental-ma

* Swedish translation update. Closes: #592366
* apt-pkg/pkgcache.cc:
  - re-evaluate the architectures cache when the cache is (re)opened
* apt-pkg/cdrom.cc:
  - fix off-by-one error in DropBinaryArch
* apt-pkg/contrib/fileutl.cc:
  - Add WriteAtomic mode.
  - Revert WriteEmpty to old behavior (LP: #613211)
* apt-pkg, methods:
  - Convert users of WriteEmpty to WriteAtomic.
* apt-pkg/depcache.cc:
  - Only try upgrade for Breaks if there is a newer version, otherwise
    handle it as Conflicts (by removing it) (helps for #591882).
* debian/control:
  - Add dependency on gnupg to apt, apt-key uses it.

14 years ago* apt-pkg/algorithms.cc:
David Kalnischkies [Tue, 10 Aug 2010 13:58:09 +0000 (15:58 +0200)] 
* apt-pkg/algorithms.cc:
  - change the debug outputs to display also arch of the
    package and version dependencies information

14 years agoapt-pkg, methods: Convert users of WriteEmpty to WriteAtomic.
Julian Andres Klode [Tue, 10 Aug 2010 12:59:56 +0000 (14:59 +0200)] 
apt-pkg, methods: Convert users of WriteEmpty to WriteAtomic.

14 years agoapt-pkg/contrib/fileutl.cc: Revert WriteEmpty to old behavior (LP: #613211)
Julian Andres Klode [Tue, 10 Aug 2010 12:55:36 +0000 (14:55 +0200)] 
apt-pkg/contrib/fileutl.cc: Revert WriteEmpty to old behavior (LP: #613211)

14 years agoapt-pkg/contrib/fileutl.cc: Add WriteAtomic mode.
Julian Andres Klode [Tue, 10 Aug 2010 12:53:12 +0000 (14:53 +0200)] 
apt-pkg/contrib/fileutl.cc: Add WriteAtomic mode.

14 years ago* Swedish translation update. Closes: #592366
bubulle@debian.org [Tue, 10 Aug 2010 00:28:00 +0000 (20:28 -0400)] 
* Swedish translation update. Closes: #592366
* Swedish translation update. Closes: #592366

14 years ago* debian/control:
Julian Andres Klode [Sat, 7 Aug 2010 14:16:12 +0000 (16:16 +0200)] 
* debian/control:
  - Add dependency on gnupg to apt, apt-key uses it.

14 years agoFix changelog.
Julian Andres Klode [Fri, 6 Aug 2010 22:34:49 +0000 (00:34 +0200)] 
Fix changelog.

14 years ago* apt-pkg/depcache.cc:
Julian Andres Klode [Fri, 6 Aug 2010 21:33:55 +0000 (23:33 +0200)] 
* apt-pkg/depcache.cc:
  - Only try upgrade for Breaks if there is a newer version, otherwise
    handle it as Conflicts (by removing it) (helps for #591881).

14 years ago* apt-pkg/cdrom.cc:
Michael Vogt [Mon, 2 Aug 2010 19:02:01 +0000 (21:02 +0200)] 
* apt-pkg/cdrom.cc:
  - fix off-by-one error in DropBinaryArch

14 years agoset to UNRELEASED
Michael Vogt [Fri, 30 Jul 2010 16:24:51 +0000 (18:24 +0200)] 
set to UNRELEASED

14 years ago* apt-pkg/pkgcache.cc:
Michael Vogt [Fri, 30 Jul 2010 15:40:01 +0000 (17:40 +0200)] 
* apt-pkg/pkgcache.cc:
  - re-evaluate the architectures cache when the cache is (re)opened

14 years agorefresh po/pot files in doc/ and po/
Michael Vogt [Fri, 30 Jul 2010 10:48:15 +0000 (12:48 +0200)] 
refresh po/pot files in doc/ and po/

14 years ago* merge of the debian-expermental-ma branch
Michael Vogt [Fri, 30 Jul 2010 10:45:00 +0000 (12:45 +0200)] 
* merge of the debian-expermental-ma branch

* debian/control:
  - add dependency on zlib-dev for libapt-pkg-dev
* apt-pkg/cacheset.cc:
  - [ABI BREAK] add an ErrorType option to CacheSetHelper
* cmdline/apt-cache.cc:
  - use Notice instead of Error in the CacheSetHelper messages
    for compat reasons. Otherwise tools like sbuild blow up
  - return success in show if a virtual package was given
* debian/control:
  - remove libcurl3-gnutls-dev alternative as the package is gone
  - increase needed version of libcurl4-gnutls-dev to >= 7.19.0
    as we use CURLOPT_{ISSUERCERT,CRLFILE} (Closes: #589642)
* apt-pkg/deb/dpkgpm.cc:
  - Write architecture information to history file.
  - Add to history whether a change was automatic or not.
* apt-pkg/contrib/fileutl.cc:
  - Add FileFd::OpenDescriptor() (needed for python-apt's #383617).
* cmdline/apt-get.cc:
  - Support large filesystems by using statvfs64() instead of statvfs()
    and statfs64() instead of statfs() (Closes: #590513).
* apt-pkg/cdrom.cc:
  - Use link() instead of rename() for creating the CD database backup;
    otherwise there would be a short time without any database.
* apt-pkg/depcache.cc:
  - handle "circular" conflicts for "all" packages correctly
* cmdline/apt-cache.cc:
  - be able to omit dependency types in (r)depends (Closes: #319006)
  - show in (r)depends the canidate per default instead of newest
  - share the (r)depends code instead of codecopy
* apt-pkg/cacheset.cc:
  - move them back to the library as they look stable now
  - add a 'newest' pseudo target release as in pkg/newest
* apt-pkg/pkgcache.cc:
  - prefer non-virtual packages in FindPreferredPkg (Closes: #590041)
* test/integration/*:
  - add with bug#590041 testcase a small test "framework"
* apt-pkg/orderlist.cc:
  - try to install another or-group member in DepRemove before
    breaking the or group (Closes: #590438)
  - configure also the replacement before remove by adding Immediate flag

* apt-pkg/contrib/error.{cc,h}
  - docstring cleanup
  - add inline DumpError() to avoid subtle API break
* apt-pkg/contrib/error.{cc,h}:
  - remove constness of va_list parameter to fix build on amd64 and co
    Thanks Eric Valette! (Closes: #588610)
* apt-pkg/deb/debmetaindex.cc:
  - do not query each architecture for flat file archives
  - fix typo preventing display of architecture in Info()
* methods/bzip2.cc:
  - add a copycat of the old gzip.cc as we need it for bzip2 and lzma
* debian/rules:
  - Make DEB_BUILD_OPTIONS=noopt actually work by passing the right
    CXXFLAGS.
* apt-pkg/contrib/fileutl.{h,cc}:
  - Add support for reading of gzipped files with the new "ReadOnlyGzip"
    OpenMode. (Closes: #188407)
  - Link against zlib (in apt-pkg/makefile) and add zlib build dependency.
  - [ABI BREAK] This adds a new private member to FileFd, but its
    initialization is in the public header file.
* configure.in:
  - Check for zlib library and headers.
* apt-pkg/acquire-item.cc, apt-pkg/deb/debindexfile.cc,
  apt-pkg/deb/debrecords.cc, apt-pkg/deb/debsrcrecords.h,
  cmdline/apt-cache.cc:
  - Open Packages, Sources, and Translations indexes in "ReadOnlyGzip" mode.
* apt-pkg/deb/debindexfile.cc:
  - If we do not find uncompressed package/source/translation indexes, look
    for gzip compressed ones.
* apt-pkg/acquire-item.cc:
  - If the Acquire::GzipIndexes option is true and we download a gzipped
    index file, keep it as it is (and rename to .gz) instead of
    uncompressing it.
* doc/apt.conf.5.xml:
  - Document the new Acquire::GzipIndexes option.
* doc/po/apt-doc.pot, doc/po/de.po:
  - German translation of new Acquire::GzipIndexes option.
* Add test/test-indexes.sh:
  - Test behaviour of index retrieval and usage, in particular with
    uncompressed and gzip compressed indexes.
* methods/gzip.cc: With FileFd now being able to read gzipped files, there
  is no need for the gzip method any more to spawn an external gzip process.
  Rewrite it to use FileFd directly, which makes the code a lot simpler, and
  also using less memory and overhead.
* doc/apt.conf.5.xml:
  - add and document APT::Cache-{Start,Grow,Limit} options for mmap control
* apt-pkg/contrib/fileutl.cc:
  - do not fail von double close()
* cmdline/cacheset.cc:
  - doesn't include it in the library for now as it is too volatile
  - get the candidate either from an already built depcache
    or use the policy which is a bit faster than depcache generation
  - get packages by task^ with FromTask()
  - only print errors if all tries to get a package by string failed
  - factor out code to get a single package FromName()
  - check in Grouped* first without modifier interpretation
* cmdline/apt-get.cc:
  - use the cachsets in the install commands
  - make the specify order of packages irrelevant (Closes: #196021)
* apt-pkg/orderlist.cc:
  - untouched packages are never missing
* apt-pkg/packagemanager.cc:
  - packages that are not touched doesn't need to be unpacked
* debian/control:
  - remove intltool's dependency as it is an ubuntu artefact
* apt-pkg/depcache.cc:
  - SetCandidateVer for all pseudo packages
  - SetReInstall for the "all" package of a pseudo package
  - use the new MatchAgainstConfig for the DefaultRootSetFunc
  - always mark the all package if a pseudo package is marked for install
* apt-pkg/contrib/error.{cc,h}:
  - complete rewrite but use the same API
  - add NOTICE and DEBUG as new types of a message
  - add a simple stack handling to be able to delay error handling
* apt-pkg/aptconfiguration.cc:
  - show a deprecation notice for APT::Acquire::Translation
* apt-pkg/contrib/configuration.{cc,h}:
  - add a wrapper to match strings against configurable regex patterns
* apt-pkg/contrib/fileutl.cc:
  - show notice about ignored file instead of being always silent
  - add a Dir::Ignore-Files-Silently list option to control the notice
* apt-pkg/policy.h:
  - add another round of const& madness as the previous round accidentally
    NOT overrides the virtual GetCandidateVer() method (Closes: #587725)
* apt-pkg/pkgcachegen.{cc,h}:
  - make the used MMap moveable (and therefore dynamic resizeable) by
    applying (some) mad pointer magic (Closes: #195018)
* apt-pkg/deb/dpkgpm.cc:
  - make the apt/term.log output unbuffered (thanks to Matt Zimmerman)
* methods/ftp.h:
  - Handle different logins on the same server (Closes: #586904).
* apt-pkg/deb/deblistparser.cc:
  - Handle architecture wildcards (Closes: #547724).
* apt-pkg/versionmatch.cc:
  - Support matching pins by regular expressions or glob() like patterns,
    regular expressions have to be put between to slashes; for example,
    /.*/.
* apt-pkg/contrib/fileutl.cc:
  - Make FileFd replace files atomically in WriteTemp mode (for cache, etc).
* debian/control:
  - Set Standards-Version to 3.9.0
* apt-pkg/cachefile.h:
  - make pkgPolicy public again, libapt-pkg-perl (and probably
    others) get unhappy without that
* merge the remaining Ubuntu change:
  - on gpg verification failure warn and restore the last known
    good state
  - on failure display the IP of the server (useful for servers
    that use round robin DNS)
  - support Original-Maintainer in RewritePackageOrder
  - enable cdrom autodetection via libudev by default
  - show message about Vcs in use when apt-get source is run for
    packages maintained in a Vcs
  - better support transitional packages with mark auto-installed.
    when the transitional package is in "oldlibs" the new package
    is not marked auto installed (same is true for section
    metapackages)
  - provide new "deb mirror://archive.foo/mirrors.list sid main"
    method expects a list of mirrors (generated on the server e.g.
    via geoip) and will use that, including cycle on failure
  - write apport crash file on package failure (disabled by default
    on debian until apport is available)
  - support mirror failure reporting (disabled by default on debian)

* apt-pkg/deb/dpkgpm.cc:
  - write Disappeared also to the history.log
  - forward manual-installed bit on package disappearance
* apt-pkg/deb/debsystem.cc:
  - add better config item for extended_states file
* apt-pkg/pkgcache.h:
  - switch {,Install-}Size to unsigned long long
* apt-pkg/depcache.cc:
  - do the autoremove mark process also for required packages to handle
    these illegally depending on lower priority packages (Closes: #583517)
  - try harder to find the other pseudo versions for autoremove multiarch
  - correct "Dangerous iterator usage" pointed out by cppcheck
  - deal with long long, not with int to remove 2GB Limit (LP: #250909)
  - deprecate AddSize with Multiplier as it is unused and switch to
    boolean instead to handle the sizes more gracefully.
  - switch i{Download,Usr}Size from double to (un)signed long long
* apt-pkg/aptconfiguration.cc:
  - remove duplicate architectures in getArchitectures()
* apt-pkg/indexrecords.{cc,h}:
  - backport forgotten Valid-Until patch from the obsolete experimental
    branch to prevent replay attacks better, thanks to Thomas Viehmann
    for the initial patch! (Closes: #499897)
  - add a constant Exists check for MetaKeys
* apt-pkg/acquire-item.cc:
  - do not try PDiff if it is not listed in the Meta file
  - sent Last-Modified header also for Translation files
* apt-pkg/cacheiterator.h:
  - let pkgCache::Iterator inherent std::iterator
* ftparchive/writer.h:
  - add a virtual destructor to FTWScanner class (for cppcheck)
* apt-pkg/cacheset.{cc,h}:
  - add simple wrapper around std::set for cache structures
  - move regex magic from apt-get to new FromRegEx method
  - move cmdline parsing from apt-cache to new FromCommandLine method
  - support special release-modifier 'installed' and 'candidate'
* apt-pkg/contrib/cmdline.cc:
  - fix segfault in SaveInConfig caused by writing over char[] sizes
* apt-pkg/pkgcache.cc:
  - get the best matching arch package from a group with FindPreferredPkg
* cmdline/apt-cache.cc:
  - make the search multiarch compatible by using GrpIterator instead
  - use pkgCacheFile and the new CacheSets all over the place
  - add --target-release option (Closes: #115520)
  - accept pkg/release and pkg=version in show and co. (Closes: #236270)
  - accept package versions in the unmet command
* cmdline/apt-get.cc:
  - use unsigned long long instead of double to store values it gets
* apt-pkg/cachefile.{cc,h}:
  - split Open() into submethods to be able to build only parts
  - make the OpProgress optional in the Cache buildprocess
  - store also the SourceList we use internally for export
* doc/apt.conf.5.xml:
  - document the new Valid-Until related options
* apt-pkg/contrib/strutl.cc:
  - split StrToTime() into HTTP1.1 and FTP date parser methods and
    use strptime() instead of some self-made scanf mangling
  - use the portable timegm shown in his manpage instead of a strange
    looking code copycat from wget
* ftparchive/writer.cc:
  - add ValidTime option to generate a Valid-Until header in Release file
* apt-pkg/policy.cc:
  - get the candidate right for a not-installed pseudo package if
    his non-pseudo friend is installed
* apt-pkg/indexcopy.cc:
  - move the gpg codecopy to a new method and use it also in methods/gpgv.cc
* cmdline/apt-get.cc:
  - rerun dpkg-source in source if --fix-broken is given (Closes: #576752)
  - don't suggest held packages as they are installed (Closes: #578135)
  - handle multiple --{tar,diff,dsc}-only options correctly
  - show at the end of the install process a list of disappeared packages
* cmdline/apt-cache.cc:
  - use GroupCount for package names in stats and add a package struct line
* methods/rred.cc:
  - use the patchfile modification time instead of the one from the
    "old" file - thanks to Philipp Weis for noticing! (Closes: #571541)
* debian/rules:
  - remove targets referring to CVS or arch as they are useless
  - use $(CURDIR) instead of $(pwd)
  - use dpkg-buildflags if available for CXXFLAGS
* README.arch:
  - remove the file completely as it has no use nowadays
* apt-pkg/depcache.cc:
  - be doublesure that the killer query is empty before starting reinstall
* methods/gpgv.cc:
  - remove the keyrings count limit by using vector magic
* contrib/mmap.cc:
  - clarify "MMap reached size limit" error message, thanks Ivan Masár!
* doc/apt.ent
  - add entities for the current oldstable/stable/testing codenames
* doc/sources.list.5.xml:
  - use stable-codename instead of stable in the examples (Closes: #531492)
* doc/apt_preferences.5.xml:
  - adapt some examples here to use current codenames as well
  - add "NotAutomatic: yes" handling, thanks Osamu Aoki (Closes: #490347)
* debian/libapt-pkg-doc.doc-base.cache:
  - remove yet another reference to the removed cache.sgml
* doc/apt-get.8.xml:
  - do not say explicit target_release_{name,version,codename}, it should
    be clear by itself and 'man' can break lines again (Closes: #566166)
  - remove the gnome-apt reference as it is removed from unstable
* apt-pkg/deb/dpkgpm.cc:
  - add 'disappear' to the known processing states, thanks Jonathan Nieder
* apt-pkg/packagemanager.h:
  - export info about disappeared packages with GetDisappearedPackages()
* methods/http.{cc,h}:
  - code cleanup, use enums instead of magic ints

* debian/rules:
  - spell out some less known options to reduce manpage consultation-rate
  - Use POSIX command substitution: $(<command sequence>)
  - Remove EOL whitespace (Closes: #577804)
* apt-pkg/acquire-item.cc:
  - Fix pkgAcqFile::Custom600Headers() to always return something.

* apt-pkg/depcache.cc:
  - rewrite the pseudo package reinstaller to be more intelligent
    in his package choices
* apt-pkg/packagemanager.cc:
  - don't try to "unpack" pseudo packages twice
* apt-pkg/contrib/fileutl.cc:
  - add a parent-guarded "mkdir -p" as CreateDirectory()
* apt-pkg/acquire.{cc,h}:
  - add a delayed constructor with Setup() for success reporting
  - check for and create directories in Setup if needed instead of
    error out unfriendly in the Constructor (Closes: #523920, #525783)
  - optional handle a lock file in Setup()
* apt-pkg/acquire-item.cc:
  - Acquire::ForceHash to force method for expected hash
* cmdline/apt-get.cc:
  - remove the lock file handling and let Acquire take care of it instead
  - display MD5Sum in --print-uris if not forced to use another method
    instead of displaying the strongest available (Closes: #576420)
  - regex for package names executed on Grp- not PkgIterator
  - show non-candidates as fallback for virtual packages (Closes: #578385)
  - set also "all" to this version for pseudo packages in TryToChangeVer
* apt-pkg/deb/dpkgpm.cc:
  - remove Chroot-Directory from files passed to install commands.
    Thanks to Kel Modderman for report & patch! (Closes: #577226)
* ftparchive/writer.cc:
  - remove 999 chars Files and Checksums rewrite limit (Closes: #577759)
* cmdline/apt-cache.cc:
  - align Installed and Candidate Version in policy so they can be compared
    easier, thanks Ralf Gesellensetter for the pointer! (Closes: #578657)
* doc/apt.ent:
  - Add a note about APT_CONFIG in the -c description (Closes: #578267)
* doc/po/de.po:
  - correct typos in german apt_preferences manpage, thanks Chris Leick!
* apt-pkg/sourcelist.cc:
  - be less strict and accept [option=value] as well
* apt-pkg/contrib/configuration.cc:
  - error out if #clear directive has no argument
* doc/files.sgml:
  - sync documentation with status quo, regarding files/directories in
    use, extended_states and uri schemes.
* doc/cache.sgml:
  - drop the file in favor of inplace documentation with doxygen
* apt-pkg/pkgcache.h:
  - enhance the Groups ABI by providing a ID as the other structs does
  - check also the size of the Group struct then checking for the others
* cmdline/apt-get.cc:
  - replace backticks with single quotes around fix-broken command
    in the broken packages message. (Closes: #577168)
* dselect/install:
  - modernize if-statements not to use 'x' (Closes: #577117)
  - replace backticks with POSIX $() (Closes: #577116)
* cmdline/apt-get.cc:
  - fix crash when pkg.VersionList() is empty
  - install html doxygen in libapt-pkg-doc
* debian/control:
  - build-depend on doxygen
* apt-pkg/contrib/weakptr.h:
  - add a class WeakPointable which allows one to register weak pointers to
    an object which will be set to NULL when the object is deallocated.
* [ABI break] apt-pkg/acquire{-worker,-item,}.h:
  - subclass pkgAcquire::{Worker,Item,ItemDesc} from WeakPointable.
* apt-pkg/pkgcache.cc:
  - Merge fix from David to correct handling in single-arch environments.
* cmdline/apt-cache.cc:
  - Add a showauto command to apt-cache.
* cmdline/apt-get.cc:
  - Add apt-get markauto and unmarkauto commands.
* [BREAK] merge MultiArch-ABI. We don't support MultiArch,
  but we support the usage of the new ABI so libapt users
  can start to prepare for MultiArch (Closes: #536029)
* Ignore :qualifiers after package name in build dependencies
  in the library by default, but try to honour them in apt-get
  as we have some sort of MultiArch support ready (Closes: #558103)
* add translation of the manpages to PT (portuguese)
  Thanks to Américo Monteiro!
* Switch to dpkg-source 3.0 (native) format
* apt-pkg/depcache.cc:
  - remove Auto-Installed information from extended_states
    together with the package itself (Closes: #572364)
* cmdline/apt-mark:
  - don't crash if no arguments are given (Closes: #570962)
* debian/control:
  - remove some years old and obsolete Replaces
  - add automake/conf build-depends/conflicts as recommend by
    the autotools-dev README (Closes: #572615)
* apt-pkg/contrib/mmap.{h,cc}:
  - add char[] fallback for filesystems without shared writable
    mmap() like JFFS2. Thanks to Marius Vollmer for writing
    and to Loïc Minier for pointing to the patch! (Closes: #314334)
* doc/apt_preferences.5.xml:
  - fix two typos and be more verbose in the novice warning.
    Thanks to Osamu Aoki for pointing it out! (Closes: #567669)
  - fix a=sid vs. n=sid typo, thanks Ansgar Burchardt!
  - origin can be used to match a hostname (Closes: #352667)
  - remove wrong pin-priority is optional remark (Closes: #574944)
* apt-pkg/deb/dpkgpm.cc:
  - fix error message construction in OpenLog()
  - if available store the Commandline in the history
* cmdline/apt-get.cc:
  - add a --only-upgrade flag to install command (Closes: #572259)
  - fix memory leaks in error conditions in DoSource()
  - try version match in FindSrc first exact than fuzzy (LP: #551178)
* apt-pkg/contrib/cmndline.cc:
  - save Commandline in Commandline::AsString for logging
* apt-pkg/deb/debversion.cc:
  - consider absent of debian revision equivalent to 0 (Closes: #573592)
* doc/makefile, doc/*:
  - generate subdirectories for building the manpages in on the fly
    depending on the po files we have.
* apt-pkg/pkgcachegen.cc:
  - merge versions correctly even if multiple different versions
    with the same version number are available.
    Thanks to Magnus Holmgren for the patch! (Closes: #351056)
* ftparchive/writer.cc:
  - write LongDescriptions if they shouldn't be included in Packages
    file into i18n/Translation-en by default.
* doc/po/de.po:
  - correct a few typos in the german manpage translation.
    Thanks to Chris Leick and Georg Koppen! (Closes: #574962)
* apt-pkg/contrib/strutl.cc:
  - convert all toupper calls to tolower_ascii for a little speedup
* apt-pkg/contrib/strutl.cc:
  - always escape '%' (LP: #130289) (Closes: #500560)
  - unescape '%' sequence only if followed by 2 hex digit
  - username/password are urlencoded in proxy string (RFC 3986)

14 years agoreleasing version 0.7.26~exp12
Michael Vogt [Fri, 30 Jul 2010 10:40:54 +0000 (12:40 +0200)] 
releasing version 0.7.26~exp12

14 years ago - return success in show if a virtual package was given
Michael Vogt [Fri, 30 Jul 2010 09:11:39 +0000 (11:11 +0200)] 
  - return success in show if a virtual package was given
*

14 years ago - return success in show if a virtual package was given
David Kalnischkies [Fri, 30 Jul 2010 09:02:24 +0000 (11:02 +0200)] 
  - return success in show if a virtual package was given
*

14 years ago - [ABI BREAK] add an ErrorType option to CacheSetHelper
Michael Vogt [Fri, 30 Jul 2010 08:33:01 +0000 (10:33 +0200)] 
  - [ABI BREAK] add an ErrorType option to CacheSetHelper
* cmdline/apt-cache.cc:
  - use Notice instead of Error in the CacheSetHelper messages
    for compat reasons. Otherwise tools like sbuild blow up
* debian/control:
  - remove libcurl3-gnutls-dev alternative as the package is gone
  - increase needed version of libcurl4-gnutls-dev to >= 7.19.0
    as we use CURLOPT_{ISSUERCERT,CRLFILE} (Closes: #589642)

14 years ago* debian/control:
David Kalnischkies [Fri, 30 Jul 2010 08:09:57 +0000 (10:09 +0200)] 
* debian/control:
  - remove libcurl3-gnutls-dev alternative as the package is gone
  - increase needed version of libcurl4-gnutls-dev to >= 7.19.0
    as we use CURLOPT_{ISSUERCERT,CRLFILE} (Closes: #589642)

14 years ago - [ABI BREAK] add an ErrorType option to CacheSetHelper
David Kalnischkies [Fri, 30 Jul 2010 07:51:42 +0000 (09:51 +0200)] 
  - [ABI BREAK] add an ErrorType option to CacheSetHelper
* cmdline/apt-cache.cc:
  - use Notice instead of Error in the CacheSetHelper messages
    for compat reasons. Otherwise tools like sbuild blow up

14 years ago * apt-pkg/cacheset.cc:
Michael Vogt [Thu, 29 Jul 2010 22:17:16 +0000 (00:17 +0200)] 
 * apt-pkg/cacheset.cc:
   - make CacheSetHelper::canNotFindAllVer display a notice
     only (for compat reasons). Otherwise tools like sbuild
     blow up

14 years ago* debian/control:
Michael Vogt [Thu, 29 Jul 2010 22:15:12 +0000 (00:15 +0200)] 
* debian/control:
  - add dependency on zlib-dev for libapt-pkg-dev

14 years agoreleasing version 0.7.26~exp11
Michael Vogt [Thu, 29 Jul 2010 15:02:30 +0000 (17:02 +0200)] 
releasing version 0.7.26~exp11

14 years agomerge from lp:~donkult/apt/sid
Michael Vogt [Thu, 29 Jul 2010 14:31:40 +0000 (16:31 +0200)] 
merge from lp:~donkult/apt/sid

14 years agoapt-pkg/init.h: update MAPT_PKG_MINOR because 9 was used in experimental for some...
Michael Vogt [Thu, 29 Jul 2010 14:28:33 +0000 (16:28 +0200)] 
apt-pkg/init.h: update MAPT_PKG_MINOR because 9 was used in experimental for some time and there was quite a bit of churn

14 years agoremove the temporary compare files we create
David Kalnischkies [Thu, 29 Jul 2010 13:09:18 +0000 (15:09 +0200)] 
remove the temporary compare files we create

14 years agoadd inline DumpError() to avoid subtle API break
Michael Vogt [Thu, 29 Jul 2010 12:51:05 +0000 (14:51 +0200)] 
add inline DumpError() to avoid subtle API break

14 years ago* apt-pkg/contrib/error.{cc,h}
Michael Vogt [Thu, 29 Jul 2010 12:37:36 +0000 (14:37 +0200)] 
* apt-pkg/contrib/error.{cc,h}
  - docstring cleanup

14 years ago* apt-pkg/orderlist.cc:
Michael Vogt [Thu, 29 Jul 2010 12:29:26 +0000 (14:29 +0200)] 
* apt-pkg/orderlist.cc:
  - try to install another or-group member in DepRemove before
    breaking the or group (Closes: #590438)
  - configure also the replacement before remove by adding Immediate flag

14 years agoconfigure also the replacement before remove by adding Immediate flag
David Kalnischkies [Thu, 29 Jul 2010 10:26:26 +0000 (12:26 +0200)] 
configure also the replacement before remove by adding Immediate flag

14 years agomerged lp:~donkult/apt/sid
Michael Vogt [Thu, 29 Jul 2010 09:37:05 +0000 (11:37 +0200)] 
merged lp:~donkult/apt/sid

14 years ago* apt-pkg/orderlist.cc:
David Kalnischkies [Wed, 28 Jul 2010 19:53:17 +0000 (21:53 +0200)] 
* apt-pkg/orderlist.cc:
  - try to install another or-group member in DepRemove before
    breaking the or group (Closes: #590438)

14 years agoauto-install Packages and status file of the testcase
David Kalnischkies [Wed, 28 Jul 2010 19:47:42 +0000 (21:47 +0200)] 
auto-install Packages and status file of the testcase

14 years ago* apt-pkg/cdrom.cc:
Julian Andres Klode [Tue, 27 Jul 2010 11:57:42 +0000 (13:57 +0200)] 
* apt-pkg/cdrom.cc:
  - Use link() instead of rename() for creating the CD database backup;
    otherwise there would be a short time without any database.

14 years ago* cmdline/apt-get.cc:
Julian Andres Klode [Tue, 27 Jul 2010 11:27:26 +0000 (13:27 +0200)] 
* cmdline/apt-get.cc:
  - Support large filesystems by using statvfs64() instead of statvfs()
    and statfs64() instead of statfs() (Closes: #590513).

14 years ago - show in (r)depends the canidate per default instead of newest
David Kalnischkies [Mon, 26 Jul 2010 10:43:25 +0000 (12:43 +0200)] 
  - show in (r)depends the canidate per default instead of newest
  - share the (r)depends code instead of codecopy

14 years ago - add a 'newest' pseudo target release as in pkg/newest
David Kalnischkies [Mon, 26 Jul 2010 08:53:32 +0000 (10:53 +0200)] 
  - add a 'newest' pseudo target release as in pkg/newest
*

14 years agoadd APT::Cache::ShowOnlyFirstOr option to print only the first
David Kalnischkies [Mon, 26 Jul 2010 07:22:53 +0000 (09:22 +0200)] 
add APT::Cache::ShowOnlyFirstOr option to print only the first
alternative in the apt-cache (r)depends commands

14 years agoStrip the .sh extension from the libapt testrunner and
David Kalnischkies [Sun, 25 Jul 2010 18:04:16 +0000 (20:04 +0200)] 
Strip the .sh extension from the libapt testrunner and
make it a bit more robust against calling from outside

14 years ago - prefer non-virtual packages in FindPreferredPkg (Closes: #590041)
David Kalnischkies [Sun, 25 Jul 2010 17:51:53 +0000 (19:51 +0200)] 
  - prefer non-virtual packages in FindPreferredPkg (Closes: #590041)
* test/integration/*:
  - add with bug#590041 testcase a small test "framework"

14 years ago* apt-pkg/pkgcache.cc:
David Kalnischkies [Sun, 25 Jul 2010 06:24:03 +0000 (08:24 +0200)] 
* apt-pkg/pkgcache.cc:
  - prefer non-virtual packages in FindPreferredPkg

14 years ago* apt-pkg/contrib/fileutl.cc:
Julian Andres Klode [Fri, 23 Jul 2010 14:13:15 +0000 (16:13 +0200)] 
* apt-pkg/contrib/fileutl.cc:
  - Add FileFd::OpenDescriptor() (needed for python-apt's #383617).

14 years agoAdd to history whether a change was automatic or not.
Julian Andres Klode [Wed, 21 Jul 2010 15:19:16 +0000 (17:19 +0200)] 
Add to history whether a change was automatic or not.

14 years ago* apt-pkg/deb/dpkgpm.cc:
Julian Andres Klode [Wed, 21 Jul 2010 15:14:53 +0000 (17:14 +0200)] 
* apt-pkg/deb/dpkgpm.cc:
  - Write architecture information to history file.

14 years ago* apt-pkg/cacheset.cc:
David Kalnischkies [Sat, 17 Jul 2010 18:04:44 +0000 (20:04 +0200)] 
* apt-pkg/cacheset.cc:
  - move them back to the library as they look stable now

14 years agofactor regex package name matches into newly created cachefilter classes
David Kalnischkies [Sat, 17 Jul 2010 17:07:00 +0000 (19:07 +0200)] 
factor regex package name matches into newly created cachefilter classes

14 years ago* cmdline/apt-cache.cc:
David Kalnischkies [Fri, 16 Jul 2010 15:42:54 +0000 (17:42 +0200)] 
* cmdline/apt-cache.cc:
  - be able to omit dependency types in (r)depends (Closes: #319006)

14 years ago* apt-pkg/depcache.cc:
David Kalnischkies [Wed, 14 Jul 2010 20:59:43 +0000 (22:59 +0200)] 
* apt-pkg/depcache.cc:
  - handle "circular" conflicts for "all" packages correctly

14 years agomerged from lp:~donkult/apt/sid
Michael Vogt [Mon, 12 Jul 2010 11:26:10 +0000 (13:26 +0200)] 
merged from lp:~donkult/apt/sid

14 years agoaccidently prefilling the vectors results in segfaults
David Kalnischkies [Sun, 11 Jul 2010 21:07:58 +0000 (23:07 +0200)] 
accidently prefilling the vectors results in segfaults

14 years ago* methods/bzip2.cc:
David Kalnischkies [Sun, 11 Jul 2010 19:57:51 +0000 (21:57 +0200)] 
* methods/bzip2.cc:
  - add a copycat of the old gzip.cc as we need it for bzip2 and lzma

14 years agomark all "Hash Sum mismatch" strings as translateable
David Kalnischkies [Sun, 11 Jul 2010 17:44:14 +0000 (19:44 +0200)] 
mark all "Hash Sum mismatch" strings as translateable

14 years agorename ReOwn to ReMap in the cacheiterators
David Kalnischkies [Sun, 11 Jul 2010 17:19:35 +0000 (19:19 +0200)] 
rename ReOwn to ReMap in the cacheiterators

14 years agofix typo preventing display of architecture in Info()
David Kalnischkies [Sun, 11 Jul 2010 16:58:54 +0000 (18:58 +0200)] 
fix typo preventing display of architecture in Info()

14 years ago* apt-pkg/deb/debmetaindex.cc:
David Kalnischkies [Sun, 11 Jul 2010 16:50:41 +0000 (18:50 +0200)] 
* apt-pkg/deb/debmetaindex.cc:
  - do not query each architecture for flat file archives

14 years ago[ Martin Pitt ]
David Kalnischkies [Sun, 11 Jul 2010 10:55:51 +0000 (12:55 +0200)] 
[ Martin Pitt ]
* debian/rules:
  - Make DEB_BUILD_OPTIONS=noopt actually work by passing the right
    CXXFLAGS.
* apt-pkg/contrib/fileutl.{h,cc}:
  - Add support for reading of gzipped files with the new "ReadOnlyGzip"
    OpenMode. (Closes: #188407)
  - Link against zlib (in apt-pkg/makefile) and add zlib build dependency.
  - [ABI BREAK] This adds a new private member to FileFd, but its
    initialization is in the public header file.
* configure.in:
  - Check for zlib library and headers.
* apt-pkg/acquire-item.cc, apt-pkg/deb/debindexfile.cc,
  apt-pkg/deb/debrecords.cc, apt-pkg/deb/debsrcrecords.h,
  cmdline/apt-cache.cc:
  - Open Packages, Sources, and Translations indexes in "ReadOnlyGzip" mode.
* apt-pkg/deb/debindexfile.cc:
  - If we do not find uncompressed package/source/translation indexes, look
    for gzip compressed ones.
* apt-pkg/acquire-item.cc:
  - If the Acquire::GzipIndexes option is true and we download a gzipped
    index file, keep it as it is (and rename to .gz) instead of
    uncompressing it.
* doc/apt.conf.5.xml:
  - Document the new Acquire::GzipIndexes option.
* doc/po/apt-doc.pot, doc/po/de.po:
  - German translation of new Acquire::GzipIndexes option.
* Add test/test-indexes.sh:
  - Test behaviour of index retrieval and usage, in particular with
    uncompressed and gzip compressed indexes.
* methods/gzip.cc: With FileFd now being able to read gzipped files, there
  is no need for the gzip method any more to spawn an external gzip process.
  Rewrite it to use FileFd directly, which makes the code a lot simpler, and
  also using less memory and overhead.

14 years ago* apt-pkg/contrib/error.{cc,h}:
David Kalnischkies [Sat, 10 Jul 2010 11:51:47 +0000 (13:51 +0200)] 
* apt-pkg/contrib/error.{cc,h}:
  - remove constness of va_list parameter to fix build on amd64 and co
    Thanks Eric Valette! (Closes: #588610)

14 years agoreleasing version 0.7.26~exp9
Michael Vogt [Fri, 9 Jul 2010 20:53:15 +0000 (22:53 +0200)] 
releasing version 0.7.26~exp9

14 years ago* doc/apt.conf.5.xml:
Michael Vogt [Fri, 9 Jul 2010 19:54:02 +0000 (21:54 +0200)] 
* doc/apt.conf.5.xml:
  - add and document APT::Cache-{Start,Grow,Limit} options for mmap control

14 years agocheck the state of the FileFd before renaming as otherwise the rename
David Kalnischkies [Fri, 9 Jul 2010 19:46:42 +0000 (21:46 +0200)] 
check the state of the FileFd before renaming as otherwise the rename
will be tried twice e.g. in an "apt-get update" run and every other piece
of code closing the FileFd manual before the destructor will do it again.

14 years agoreleasing version 0.7.26~exp8
Michael Vogt [Fri, 9 Jul 2010 19:16:01 +0000 (21:16 +0200)] 
releasing version 0.7.26~exp8

14 years agoswitch from std::set to std::vector as it is way more simple, a bit
David Kalnischkies [Fri, 9 Jul 2010 17:51:19 +0000 (19:51 +0200)] 
switch from std::set to std::vector as it is way more simple, a bit
faster and still provides everything we need for the Cache generator

14 years ago* apt-pkg/deb/dpkgpm.cc:
Michael Vogt [Fri, 9 Jul 2010 17:14:44 +0000 (19:14 +0200)] 
* apt-pkg/deb/dpkgpm.cc:
  - make the apt/term.log output unbuffered (thanks to Matt Zimmerman)

14 years agomerged from donkult
Michael Vogt [Fri, 9 Jul 2010 17:10:28 +0000 (19:10 +0200)] 
merged from donkult

14 years ago* doc/apt.conf.5.xml:
David Kalnischkies [Fri, 9 Jul 2010 15:00:28 +0000 (17:00 +0200)] 
* doc/apt.conf.5.xml:
  - add and document APT::Cache-{Start,Grow,Limit} options for mmap control

14 years ago* apt-pkg/pkgcachegen.{cc,h}:
David Kalnischkies [Thu, 8 Jul 2010 13:28:53 +0000 (15:28 +0200)] 
* apt-pkg/pkgcachegen.{cc,h}:
  - make the used MMap moveable (and therefore dynamic resizeable) by
    applying (some) mad pointer magic (Closes: #195018)

14 years agouse references instead of copies in the Cache generation methods
David Kalnischkies [Thu, 8 Jul 2010 09:10:46 +0000 (11:10 +0200)] 
use references instead of copies in the Cache generation methods

14 years ago* apt-pkg/deb/dpkgpm.cc:
Michael Vogt [Wed, 7 Jul 2010 14:47:09 +0000 (16:47 +0200)] 
* apt-pkg/deb/dpkgpm.cc:
  - make the apt/term.log output unbuffered (thanks to Matt Zimmerman)

14 years agomethods/gzip.cc: With FileFd now being able to read gzipped files, there
martin@piware.de [Tue, 6 Jul 2010 11:14:57 +0000 (13:14 +0200)] 
methods/gzip.cc: With FileFd now being able to read gzipped files, there
is no need for the gzip method any more to spawn an external gzip process.
Rewrite it to use FileFd directly, which makes the code a lot simpler, and
also using less memory and overhead.

14 years agoFileFd(): Drop file name extension check in ReadOnlyGzip mode
martin@piware.de [Tue, 6 Jul 2010 10:48:06 +0000 (12:48 +0200)] 
FileFd(): Drop file name extension check in ReadOnlyGzip mode

Drop the ".gz" extension check in FileFd::Open() in ReadOnlyGzip mode, to not
depend on a particular file extension. This allows rewriting the gzip method
using internal decompression (on ".decomp" files).

This requires a zlib bug workaround in FileFd::Close(): When opening an empty
file with gzdopen(), gzclose() fails with Z_BUF_ERROR. Do not count this as a
failure.

14 years agowrap the mmap actions in the CacheGenerator in their own methods to
David Kalnischkies [Tue, 6 Jul 2010 08:21:45 +0000 (10:21 +0200)] 
wrap the mmap actions in the CacheGenerator in their own methods to
be able to react on condition changes later then we can move mmap

14 years agoextends the ParseDepends testcase to have a look also at the Wildcards
David Kalnischkies [Mon, 5 Jul 2010 10:12:40 +0000 (12:12 +0200)] 
extends the ParseDepends testcase to have a look also at the Wildcards

14 years agomerge with debian-experimental-ma
David Kalnischkies [Mon, 5 Jul 2010 10:06:45 +0000 (12:06 +0200)] 
merge with debian-experimental-ma

14 years agofix typos and add a proper Closes tag after the unmerge in debbugs
David Kalnischkies [Mon, 5 Jul 2010 10:00:46 +0000 (12:00 +0200)] 
fix typos and add a proper Closes tag after the unmerge in debbugs

14 years agoTry to use NotEquals for the MultiArch Breaks dependencies instead of
David Kalnischkies [Mon, 5 Jul 2010 09:42:57 +0000 (11:42 +0200)] 
Try to use NotEquals for the MultiArch Breaks dependencies instead of
Less and Greater -> half the dependencies :)

14 years agomake the specify order of packages irrelevant (half-close #196021)
David Kalnischkies [Mon, 5 Jul 2010 09:34:35 +0000 (11:34 +0200)] 
make the specify order of packages irrelevant (half-close #196021)

14 years agoclean deblistparser a bit by get the Architectures at one place
David Kalnischkies [Sun, 4 Jul 2010 15:04:07 +0000 (17:04 +0200)] 
clean deblistparser a bit by get the Architectures at one place
instead of distributed in a few methods

14 years ago* apt-pkg/policy.h:
David Kalnischkies [Sun, 4 Jul 2010 12:23:20 +0000 (14:23 +0200)] 
* apt-pkg/policy.h:
  - add another round of const& madness as the previous round accidently
    NOT override the virtual GetCandidateVer() method (Closes: #587725)

14 years agoprefer the Policy if it is built instead of the DepCache and
David Kalnischkies [Sat, 3 Jul 2010 22:32:52 +0000 (00:32 +0200)] 
prefer the Policy if it is built instead of the DepCache and
if DepCache is not available as fallback built the Policy

14 years agoreorder classes a bit and make TryToInstallBuildDep use them
David Kalnischkies [Sat, 3 Jul 2010 21:55:12 +0000 (23:55 +0200)] 
reorder classes a bit and make TryToInstallBuildDep use them

14 years agoRefactor TryToInstall to look a bit saner by splitting the Remove
David Kalnischkies [Sat, 3 Jul 2010 18:09:17 +0000 (20:09 +0200)] 
Refactor TryToInstall to look a bit saner by splitting the Remove
and the Virtual packages part out of the loop.
The function still exists unchanged as TryToInstallBuildDep through
for the BuildDep installation method

14 years agoadd a ConstructedBy member to the PackageSet which can be used by the
David Kalnischkies [Fri, 2 Jul 2010 05:06:53 +0000 (07:06 +0200)] 
add a ConstructedBy member to the PackageSet which can be used by the
e.g. FromString to tell the caller if the string was an exact match
or found by regex or task. The two later ones can match packages for
which we want to ignore failures in the VersionSet

14 years agoif the package has no installed & candidate but is virtual see if only
David Kalnischkies [Tue, 29 Jun 2010 17:21:35 +0000 (19:21 +0200)] 
if the package has no installed & candidate but is virtual see if only
one package provides it - if it is only one use this package instead

14 years agorename AddSelectedVersion() to a better public FromPackage()
David Kalnischkies [Tue, 29 Jun 2010 17:10:47 +0000 (19:10 +0200)] 
rename AddSelectedVersion() to a better public FromPackage()

14 years agoFix the atomic replace.
Julian Andres Klode [Tue, 29 Jun 2010 15:28:33 +0000 (17:28 +0200)] 
Fix the atomic replace.

14 years ago* apt-pkg/contrib/fileutl.cc:
Julian Andres Klode [Tue, 29 Jun 2010 15:23:24 +0000 (17:23 +0200)] 
* apt-pkg/contrib/fileutl.cc:
  - Make FileFd replace files atomically in WriteTemp mode (for cache, etc).

14 years agofor install, do all installs first and then the removes and vice versa
David Kalnischkies [Tue, 29 Jun 2010 15:14:45 +0000 (17:14 +0200)] 
for install, do all installs first and then the removes and vice versa