Age | Commit message (Collapse) | Author |
|
|
|
|
|
Prompted-by: Jakub Wilk <jwilk@debian.org>
|
|
This makes it easier to see which headers includes what.
The changes were done by running
git grep -l '#\s*include' \
| grep -E '.(cc|h)$' \
| xargs sed -i -E 's/(^\s*)#(\s*)include/\1#\2 include/'
To modify all include lines by adding a space, and then running
./git-clang-format.sh.
|
|
Our old idea was to look for the first package which would be "touched"
and take this as the package dpkg is talking about, but that is
incorrect in complicated situations like a package upgraded to/from
multiple M-A:same siblings installed.
As we us the progress report to decide what is still needed we have to
be reasonabily right about the package dpkg is talking about, so we jump
to quite a few loops to get it.
|
|
If a planner lets actions to be figured out by dpkg in pending calls
these actions aren't mentioned in a simulation. While that might be
a good thing for debugging, it would be a change in behavior and
especially if a planner avoids explicit removals could be confusing for
users. As such we perform the same 'trick' as in the dpkg implementation
by performing explicitly what would be done by the pending calls.
To save us some work and avoid desyncs we perform a layer violation by
using deb/ code in the generic simulation – and further we perform ugly
dynamic_cast to avoid breaking the ABI for nothing; aptitude is the only
other user of the simulation class according to codesearch.d.n and for
that our little trick works. It just isn't working if you happen to
extend pkgSimulate or otherwise manage to call the protected Go methods
directly – which isn't very realistic/practical.
|
|
Telling dpkg early on that we are going to remove these packages later
helps it with auto-deconfiguration decisions and its another area where
a planner can ignore the nitty gritty details and let dpkg decide the
course of action if there are no special requirements.
|
|
This effectively merges branch 'typofixes-vlajos-20150807' of github.com:vlajos/apt
with the following commit:
commit 13cacb3e2e2352ba701e769fc889e3344fabbf7e
Author: Veres Lajos <vlajos@gmail.com>
Date: Sun Aug 9 00:12:53 2015 +0100
typofix - https://github.com/vlajos/misspell_fixer
It has been rebased for a better commit message.
|
|
Git-Dch: Ignore
|
|
C++11 adds the 'override' specifier to mark that a method is overriding
a base class method and error out if not. We hide it in the APT_OVERRIDE
macro to ensure that we keep compiling in pre-c++11 standards.
Reported-By: clang-modernize -add-override -override-macros
Git-Dch: Ignore
|
|
Doing this disables the implicit copy assignment operator (among others)
which would cause hovac if used on the classes as it would just copy the
pointer, not the data the d-pointer points to. For most of the classes
we don't need a copy assignment operator anyway and in many classes it
was broken before as many contain a pointer of some sort.
Only for our Cacheset Container interfaces we define an explicit copy
assignment operator which could later be implemented to copy the data
from one d-pointer to the other if we need it.
Git-Dch: Ignore
|
|
We are the only possible users of private methods, so we are also the
only users who can potentially export them via using them in inline
methods. The point is: We don't need these symbols exported if we don't
do this, so marking them as hidden removes some methods from the API
without breaking anything as nobody could have used them.
Git-Dch: Ignore
|
|
Conflicts:
apt-pkg/acquire-item.cc
apt-pkg/acquire-item.h
apt-pkg/cachefilter.h
configure.ac
debian/changelog
|
|
A pty slave we have got from openpty can only be used for one dpkg
child, if we give it to a second child on kfreebsd setting TIOCSCTTY
fails causing the output to be stair-stepped from now on.
By switching the code to creating a master and opening a new slave in
the child for each child we can fix this glitch, so that at least the
master remains stable.
Closes: 759684
|
|
|
|
Beside being a bit cleaner it hopefully also resolves oddball problems
I have with high levels of parallel jobs.
Git-Dch: Ignore
Reported-By: iwyu (include-what-you-use)
|
|
Reported-By: gcc -Wunused-parameter
Git-Dch: Ignore
|
|
|
|
|
|
|
|
APT_PKG_MINOR >= 13)
|
|
|
|
the monster long pkgDPkgPM::Go()
|
|
|
|
Conflicts:
apt-pkg/deb/dpkgpm.cc
|
|
updated when a new dpkg-loop is entered in dpkgpm.cc
|
|
point, breaks ABI/API, lets see what we can do about this
|
|
|
|
terminals
|
|
|
|
Adds on top of Version 2 to all displayed version numbers the
architecture as well as the MultiArch flag for consumption by the hooks.
Most of the time the architecture will be the same for both versions
displayed, but packages might change from "all" to "any" (or back)
between versions so we can't display the architecture for packages.
Pseudo-Format for Version 3:
<name> <version> <arch> <m-a-flag> <compare> <version> <arch> <m-a-flag>
Examples:
stuff - - none < 1 amd64 none **CONFIGURE**
libsame 1 i386 same < 2 i386 same **CONFIGURE**
stuff 2 i386 none > 1 i386 none **CONFIGURE**
libsame 2 i386 same > - - none **REMOVE**
toolkit 1 all foreign > - - none **REMOVE**
Closes: #712116
|
|
The breakage is just to big for now, so guard the change with
#ifndef APT_8_CLEANER_HEADERS and be nice to library users
|
|
|
|
as tight dependencies between immediate packages better
enabling also the possibility to mark all packages as immediate
(at least Closes: #353290, #540227, #559733, #621836, #639290)
|
|
what they now do is in the apt-pkg/packagemanager.cc file.
The short version is that they will both put the system in a state where there operation can be achived, this involves calling
themselves and each other recursively. Because SmartConfigure can now configure a package and all its dependancies itself, there is
no current need for DepAdd (at least in packagemanager.cc), SmartConfigure also performs the function of the short lived VerifyConfigure
as it checks through all the dependancies before performing configuration.
Another change is to use the ConfigureAll method in OrderInstall to clean up any packages left unconfigured during ImmConfigureAll.
This is necessary to inprove the safety of ImmConfiguration and because of the new SIGINT functionality of dpkgpm.cc relies on no
packages being left unconfigured between pairs of dpkg calls. While writing this commit log, I have realised that the SIGINT stuff
is a prototype and not ready to be used yet as I have only tested it twice.
|
|
|
|
|
|
- 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 messsage 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)
|
|
|
|
- write Disappeared also to the history.log
|
|
apt ABI for the pkgPackageManager interface
(can be reverted on the next ABI break)
|
|
* merged from the lp:~mvo/apt/history branch
* Fix apt-ftparchive(1) wrt description of the "-o" option.
Thanks to Dann Frazier for the patch. Closes: #273100
* po/LINGUAS. Re-disable Hebrew. Closes: #534992
* po/LINGUAS. Enable Asturian and Lithuanian
* Fix typo in apt-cache.8.xml: nessasarily
* Fix "with with" in apt-get.8.xml
* Fix some of the typos mentioned by the german team
Closes: #479997
* Polish translation update by Wiktor Wandachowicz
Closes: #548571
* German translation update by Holger Wansing
Closes: #551534
* Italian translation update by Milo Casagrande
Closes: #555797
* Simplified Chinese translation update by Aron Xu
Closes: #558737
* Slovak translation update by Ivan Masár
Closes: #559277
* apt-pkg/packagemanager.cc:
- add output about pre-depends configuring when debug::pkgPackageManager
is used
* methods/https.cc:
- fix incorrect use of CURLOPT_TIMEOUT, closes: #497983, LP: #354972
thanks to Brian Thomason for the patch
* merge lp:~mvo/apt/netrc branch, this adds support for a
/etc/apt/auth.conf that can be used to store username/passwords
in a "netrc" style file (with the extension that it supports "/"
in a machine definition). Based on the maemo git branch (Closes: #518473)
(thanks also to Jussi Hakala and Julian Andres Klode)
* apt-pkg/deb/dpkgpm.cc:
- add "purge" to list of known actions
* apt-pkg/init.h:
- add compatibility with old ABI name until the next ABI break
* merge segfault fix from Mario Sanchez Prada, many thanks
(closes: #561109)
* apt-pkg/depcache.cc, apt-pkg/indexcopy.cc:
- typo fix (LP: #462328)
* cmdline/apt-key:
- Emit a warning if removed keys keyring is missing and skip associated
checks (LP: #218971)
* apt-pkg/packagemanager.cc:
- better debug output for ImmediateAdd with depth and why
- improve the message shown for failing immediate configuration
* doc/guide.it.sgml: moved to doc/it/guide.it.sgml
* doc/po4a.conf: activate translation of guide.sgml and offline.sgml
* doc/apt.conf.5.xml:
- provide a few more details about APT::Immediate-Configure
- briefly document the behaviour of the new https options
* doc/sources.list.5.xml:
- add note about additional apt-transport-methods
* doc/apt-mark.8.xml:
- correct showauto synopsis, thanks Andrew Schulman (Closes: #551440)
* cmdline/apt-get.cc:
- source should display his final pkg pick (Closes: #249383, #550952)
- source doesn't need the complete version for match (Closes: #245250)
- source ignores versions/releases if not available (Closes: #377424)
- only warn if (free) space overflows (Closes: #522238)
- add --debian-only as alias for --diff-only
* methods/connect.cc:
- display also strerror of "wicked" getaddrinfo errors
- add AI_ADDRCONFIG to ai_flags as suggested by Aurelien Jarno
in response to Bernhard R. Link, thanks! (Closes: #505020)
* buildlib/configure.mak, buildlib/config.{sub,guess}:
- remove (outdated) config.{sub,guess} and use the ones provided
by the new added build-dependency autotools-dev instead
* configure.in, buildlib/{xml,yodl,sgml}_manpage.mak:
- remove the now obsolete manpage buildsystems
* doc/{pl,pt_BR,es,it}/*.{sgml,xml}:
- convert all remaining translation to the po4a system
* debian/control:
- drop build-dependency on docbook-utils and xmlto
- add build-dependency on autotools-dev
- bump policy to 3.8.3 as we have no outdated manpages anymore
* debian/NEWS:
- fix a typo in 0.7.24: Allready -> Already (Closes: #557674)
* ftparchive/writer.{cc,h}:
- add APT::FTPArchive::LongDescription to be able to disable them
* apt-pkg/deb/debsrcrecords.cc:
- use "diff" filetype for .debian.tar.* files (Closes: #554898)
* methods/rred.cc:
- rewrite to be able to handle even big patch files
- adopt optional mmap+iovec patch from Morten Hustveit
(Closes: #463354) which should speed up a bit. Thanks!
* methods/http{,s}.cc
- add config setting for User-Agent to the Acquire group,
thanks Timothy J. Miller! (Closes: #355782)
- add https options which default to http ones (Closes: #557085)
* debian/apt.cron.daily:
- check cache size even if we do nothing else otherwise, thanks
Francesco Poli for patch(s) and patience! (Closes: #459344)
* ftparchive/*:
- fix a few typos in strings, comments and manpage,
thanks Karl Goetz! (Closes: #558757)
* cmdline/apt-mark:
- print an error if a new state file can't be created
(Closes: #521289) and
- exit nicely if python-apt is not installed (Closes: #521284)
* doc/de: German translation of manpages (Closes: #552606)
* doc/ various manpages:
- correct various errors, typos and oddities (Closes: #552535)
* doc/apt-secure.8.xml:
- replace literal with emphasis tags in Archive configuration
* doc/apt-ftparchive.1.xml:
- remove informalexample tag which hides the programlisting
* doc/apt-get.8.xml:
- change equivalent "for" to "to the" (purge command)
- clarify --fix-broken sentence about specifying packages
* apt-pkg/contib/strutl.h
- Avoid extra inner copy in APT_MKSTRCMP and APT_MKSTRCMP2.
* build infrastructure:
- Bumped libapt version, excluded eglibc from SONAME. (Closes: #448249)
* doc/apt.conf.5.xml:
- Deprecate unquoted values, string concatenation and explain what should
not be written inside a value (quotes,backslash).
- Restrict option names to alphanumerical characters and "/-:._+".
- Deprecate #include, we have apt.conf.d nowadays which should be
sufficient.
* ftparchive/apt-ftparchive.cc:
- Call setlocale() so translations are actually used.
* debian/apt.conf.autoremove:
- Add kfreebsd-image-* to the list (Closes: #558803)
|
|
|
|
|
|
|
|
arising if we upgrade essential or predependencies which need to be
configured before even unpacking packages depending on them.
|
|
use of dpkg's trigger and configuration handling (Closes: #473461)
Add NoTriggers option to add --no-triggers to all dpkg calls,
NoConfiguration to prevent apt from trying to configure packages -
dpkg should handle this in the last ConfigurePending call.
This options are for now deactivated as they require more testing in
real world situations, but the plan is to enable them in the near
future if anything works well.
|
|
|
|
|
|
The problem was that the size of pkgDpkgPM and its member offsets
changed because a map giving the names of the trigger states was
inserted into the middle of the structure. I fixed it by using a
statically allocated array instead. This changes the procedure for
looking up a string to a linear search, which should be fine (or
even faster than before) since there are only 4 state strings. If
it becomes a problem, sorting the array by key will allow us to use
std::equal_range(), but I would advise against this unless it's
really necessary, since sooner or later someone will forget to maintain
the sort order.
|