* apt-pkg/depcache.cc:
- clearly separate 'positive' and 'negative' dependencies and
their upgrade-resolution tries in MarkInstall and especially don't
treat Conflicts differently compared to Breaks here
fix a bug uncovered by the previous commit which checks if a Compressor
preference given by the Order setting is really available before adding
it as possible CompressionType.
* apt-pkg/cacheset.cc:
- actually return to the fallback modifier if we have detected we
should for packagenames which look like modifiers (Closes: #669591)
* apt-pkg/contrib/sha2_internal.cc:
- do not use the input data directly but memcpy it instead as
it could be unaligned as in the http-transport which causes
a sigbus error on sparc (Closes: #669061)
Malcolm Scott [Thu, 19 Apr 2012 20:38:30 +0000 (22:38 +0200)]
* apt-pkg/packagemanager.cc:
- iterate over all pre-depends or-group member instead of looping
endlessly over the first member in SmartUnpack (LP: #985852)
Michael Vogt [Thu, 19 Apr 2012 08:54:44 +0000 (10:54 +0200)]
* apt-inst/contrib/extracttar.cc:
- ensure that in StartGzip the InFd is set to "AutoClose" to ensure
that the pipe is closed when InFd is closed. This fixes a Fd leak
(LP: #985452)
- add libbz2-dev as new build-dependency
- remove the libz-dev alternative from zlib1g-dev build-dependency
- do the same for bz2 builtin if available
* apt-pkg/contrib/fileutl.cc:
- use libz2 library for (de)compression instead of the bzip2 binary as
the first is a dependency of dpkg and the later just priority:optional
so we gain 'easier' access to bz2-compressed Translation files this way
detect zlib correctly. We still don't allow to build without it to remain
compatible with users accessing it directly, but this prepares for a drop
of this strict requirement in the future
* cmdline/apt-get.cc:
- distinguish information about 'apt-get autoremove' based on the
number of auto-removed packages both before and after the list
of packages (Closes: #665833)
* doc/*:
- move the command synopsis out of each manpage into apt-verbatim.ent
as they are a hell to translate and just single out the parameters
which can be translated to apt.ent
* apt-inst/database.{cc,h}, apt-inst/deb/dpkgdb.{cc,h}:
- drop instead of fix as it is only needed if you want to reimplement dpkg
and comes straight from the beginning of last decade (Closes: #663372)
* apt-inst/deb/debfile.cc:
- {Extract,Merge}Control() is another instance of "lets reimplement dpkg"
so shot of this code before someone ends up using this…
do not update po and pot files in the process of the build as this
causes timestamp changes for the mo files which therefore can't
be refcounted by dpkg for your M-A: same packages
(Closes: #659333, LP: #924628)
The commit also enables a top-level 'make update-po' and does
all the needed changes to let this work now that update-po might
be called in a freshly checkout tree
* methods/rred.cc:
- check return of writev() as gcc recommends
* methods/mirror.cc:
- check return of chdir() as gcc recommends
* apt-pkg/deb/dpkgpm.cc:
- check return of write() a gcc recommends
* apt-inst/deb/debfile.cc:
- check return of chdir() as gcc recommends
* apt-inst/deb/dpkgdb.cc:
- check return of chdir() as gcc recommends
* apt-pkg/acquire-worker.cc:
- check return of write() as gcc recommends
* apt-pkg/acquire.cc:
- check return of write() as gcc recommends
* apt-pkg/cdrom.cc:
- check return of chdir() and link() as gcc recommends
* apt-pkg/clean.cc:
- check return of chdir() as gcc recommends
* apt-pkg/contrib/netrc.cc:
- check return of asprintf() as gcc recommends
* apt-pkg/packagemanager.cc:
- recheck all dependencies if we changed a package in SmartConfigure
as this could break an earlier dependency (LP: #940396)
* apt-pkg/packagemanager.cc:
- fix bug in predepends handling - ensure that packages that needs
unpackaging are unpacked before they are configured (LP: #927993)
[ Julian Andres Klode ]
* apt-pkg/deb/deblistparser.cc:
- Set the Essential flag on APT instead of only Important
* apt-pkg/packagemanager.cc:
- Do not use immediate configuration for packages with the Important flag
* Treat the Important flag like the Essential flag with those differences:
- No Immediate configuration (see above)
- Not automatically installed during dist-upgrade
- No higher score for installation ordering
Michael Vogt [Tue, 6 Mar 2012 16:22:44 +0000 (17:22 +0100)]
* apt-pkg/acquire-item.cc:
- remove 'old' InRelease file if we can't get a new one before
proceeding with Release.gpg to avoid the false impression of a still
trusted repository by a (still present) old InRelease file.
Thanks to Simon Ruderich for reporting this issue! (CVE-2012-0214)
Michael Vogt [Tue, 6 Mar 2012 13:06:38 +0000 (14:06 +0100)]
* apt-pkg/packagemanager.cc:
- fix bug in predepends handling - ensure that packages that needs
unpackaging are unpacked before they are configured (LP: #927993)
* Treat the Important flag like the Essential flag with two differences:
- No Immediate configuration (see above)
- Not automatically installed during dist-upgrade
as we parse datestrings from external sources a lot specify the length
of the integer fields as well to avoid crashes in scanf as cppchecks warns:
"(warning) scanf without field width limits can crash with huge input data"