"backport" the APT::Configuration class to apt-sid
We can use it to simplify the internal code to operate with
Acquire::CompressionTypes group. This also made it possible
to set this setting with the -o flag.
Michael Vogt [Mon, 24 Aug 2009 09:20:27 +0000 (11:20 +0200)]
* apt-pkg/pkgcache.cc:
- do not set internel "needs-configure" state for packages in
triggers-pending state. dpkg will deal with the trigger and
it if does it before we trigger it, dpkg will error out
(LP: #414631)
Allow empty Reason-Phase in the Status-Lines, which is allowed by rtf
http://www.w3.org/Protocols/rfc2616/rfc2616.html .
Fixed by removing a space which will now be visibly in the errormessages,
but as this errors should never happen anyway and an extra space doesn't
harm we don't removed it.
* methods/http.cc:
- allow empty Reason-Phase in Status-Line to please squid,
thanks Modestas Vainius for noticing! (Closes: #531157, LP: #411435)
With the introduction of the Is{Delete,Install}Ok hooks the apt flag
--ignore-hold only works partly: The holds are to strongly enforced
in these hooks - this commit brings the old (and expected) behaviour back.
[apt-pkg/depcache.cc]
- restore the --ignore-hold effect in the Is{Delete,Install}Ok hooks
Add a Acquire::CompressionTypes config variable from there the
acquire-items choose which compression file they should (try first to)
download to easily add new or change the order of the compression types.
And because it is easy now we directly add builtin lzma support.
The compression ratio is better than bzip2 but we prefer the later for now
as no (official) mirror uses lzma, so this would only generate useless
hits on the servers. Maybe sometime in the future lzma will be the default...
[apt-pkg/acquire-item.cc]
- use configsettings for dynamic compression type use and order.
Based on a patch by Jyrki Muukkonen, thanks! (LP: #71746)
[apt-pkg/init.cc]
- add default configuration for compression types and add lzma
support. Order is now bzip2, lzma, gzip, none (Closes: #510526)
[ftparchive/writer.cc]
- add lzma support also here, patch for this (and inspiration for
the one above) by Robert Millan, thanks!
[debian/changlog] add entry for the "missing source.list file" fix
* apt-pkg/sourcelist.cc:
- only show warning about missing sources.list file if no we have
no valid sourceentry (Closes: #539731)
* apt-pkg/sourcelist.cc:
- Only warn about missing sources.list if there is no sources.list.d
and vice versa as only one of them is needed (Closes: #539731).
[apt-pkg/sourcelist.cc] only display the warning about missing sources.list
file, if no SourceListEntry exists (e.g. sources.list.d dir does not exists
or it exists but does not include a .list-file with valid entries)
Michael Vogt [Thu, 30 Jul 2009 16:45:46 +0000 (18:45 +0200)]
* cmdline/apt-get.cc:
- honor APT::Get::Only-Source properly in FindSrc() (thanks to
Martin Pitt for reporting the problem)
* Added more error handlings. Closes: #438803, #462734, #454989
Michael Vogt [Tue, 28 Jul 2009 11:27:03 +0000 (13:27 +0200)]
apt-pkg/depcache.cc:
- Call opProgress->Update() less often too avoid spending too
much time in it (it shows up relatively high in the callgrind logs).
But do call it more often than just for each percent so that the
UI frontends can use the OpProgress::Update() calling to do e.g. UI
updates
merge with lp:apt/debian-sid
Remove a bug (= an evil amok running if) introduced by the merge in 1817
which cause a segfault in the destructor for the dynamic mmap.
[apt-pkg] yet another bit of mmap and pkgcachegen housekeeping
* add mmap error message also to the dynamic mmap
* remove some more {Ver,Desc} == 0 checks in for loops
* try to respect the given flags to the dynamic mmap
* open cached caches not as ReadOnly and not as Shared, so we
always have a copy of the cache in the memory we can modify
(e.g. set the hold state on-the-fly)
Michael Vogt [Thu, 23 Jul 2009 08:41:38 +0000 (10:41 +0200)]
[ABI] merged the libudev-dlopen branch, this allows to pass
"apt-udev-auto" to Acquire::Cdrom::mount and the cdrom method will
dynamically find/mount the cdrom device (if libhal is available)
[apt-pkg/pkgcachegen.cc] remove the Ver == 0 and Desc == 0 from the last
changeset as they are useless after the checks for LastVer & co work
correctly.
Michael Vogt [Tue, 21 Jul 2009 16:31:36 +0000 (18:31 +0200)]
The 'not dead yet' release
* add hook for MarkInstall and MarkDelete (closes: #470035)
* add the various foldmarkers in apt-pkg & cmdline (no code change)
* versions with a pin of -1 shouldn't be a candidate (Closes: #355237)
* prefer mmap as memory allocator in MMap instead of a static char
array which can (at least in theory) grow dynamic
* eliminate (hopefully all) segfaults in pkgcachegen.cc and mmap.cc
which can arise if cache doesn't fit into the mmap (Closes: #535218)
* display warnings instead of errors if the parts dirs doesn't exist
* honor the dpkg hold state in new Marker hooks (closes: #64141)
Michael Vogt [Tue, 21 Jul 2009 14:05:52 +0000 (16:05 +0200)]
* apt-pkg/acquire.cc:
- make the max pipeline depth of the acquire queue configurable
via Acquire::Max-Pipeline-Depth
* apt-pkg/deb/dpkgpm.cc:
- add Dpkg::UseIoNice boolean option to run dpkg with ionice -c3
(off by default)
- send "dpkg-exec" message on the status fd when dpkg is run
- provide DPkg::Chroot-Directory config option (useful for testing)
- fix potential hang when in a backgroud process group
* apt-pkg/algorithms.cc:
- consider recommends when making the scores for the problem
resolver
* apt-pkg/acquire-worker.cc:
- show error details of failed methods
* apt-pkg/contrib/fileutl.cc:
- if a process aborts with signal, show signal number
* methods/http.cc:
- ignore SIGPIPE, we deal with EPIPE from write in
HttpMethod::ServerDie() (LP: #385144)
* apt-pkg/indexcopy.cc:
- support having CDs with no Packages file (just a Packages.gz)
by not forcing a verification on non-existing files
(LP: #255545)
- remove the gettext from a string that consists entirely
of variables (LP: #56792)
* apt-pkg/cacheiterators.h:
- add missing checks for Owner == 0 in end()
* apt-pkg/indexrecords.cc:
- fix some i18n issues
* apt-pkg/contrib/strutl.h:
- add new strprintf() function to make i18n strings easier
- fix compiler warning
* apt-pkg/deb/debsystem.cc:
- make strings i18n able
* fix problematic use of tolower() when calculating the version
hash by using locale independant tolower_ascii() function.
Thanks to M. Vefa Bicakci (LP: #80248)
* build fixes for g++-4.4
* cmdline/apt-mark:
- add "showauto" option to show automatically installed packages
* document --install-recommends and --no-install-recommends
(thanks to Dereck Wonnacott, LP: #126180)
* Updated cron script to support backups by hardlinks and
verbose levels. All features turned off by default.
* Added more error handlings. Closes: #438803, #462734, #454989,
* Refactored condition structure to make download and upgrade performed
if only previous steps succeeded. Closes: #341970
* Documented all cron script related configuration items in
configure-index.
* apt-ftparchive might write corrupt Release files (LP: #46439)
* Apply --important option to apt-cache depends (LP: #16947)
display warnings instead of errors if the parts dirs doesn't exist
Parts dirs are /etc/apt/{sources.list,apt.conf,preferences}.d
(in the default setup)
[contrib/error.cc] place a colon between errno and error text in output
of GlobalError::Errno and WarningE (as it described in the comments of
these methods)
[contrib/mmap] implements a theoretical dynamic growing mmap
based on Michael Vogts patch in #195018 this commit implements the use
of mmap (as preferred) instead of a static char array. In theory this
made it possible to grow the mmap as needed, but as it is currently
impossible to move the mmap around in the memory the grow is likely
to fail but it improve the memory usage a bit, so it is not totally
useless for now - and maybe we can adjust the pointers in the future...
* remove the MarkKeep calls if Is{Delete,Install}Ok false, because
they have no effect anyway (thanks Daniel Burrows for noticing)
* improve documentation of the Is{Delete,Install}Ok methods a bit
* add the FromUser boolean to the debug output of the markers
Michael Vogt [Thu, 2 Jul 2009 12:07:18 +0000 (14:07 +0200)]
* apt-pkg/acquire-worker.cc:
- show error details of failed methods
* apt-pkg/contrib/fileutl.cc:
- if a process aborts with signal, show signal number
* methods/http.cc:
- ignore SIGPIPE, we deal with EPIPE from write in
HttpMethod::ServerDie() (LP: #385144)
* add hook for MarkInstall and MarkDelete (closes: #470035)
* honor the dpkg hold state in new Marker hooks (closes: #64141)
Combine the proposed AutoInstOk and IsAutoInstallOk to more general hooks
for MarkInstall (and another one for MarkDelete) with the same parameters
as the call these hooks should check.