summaryrefslogtreecommitdiff
path: root/apt-pkg
AgeCommit message (Collapse)Author
2015-08-27use always priv-dropping for changelog download as rootDavid Kalnischkies
First of, the temporary directory we download the changelog to needs to be owned by _apt, but that also means that we don't need to check if we could/should drop privs as the download happens to a dedicated tempdir and only after that it is moved to its final location by a privileged user.
2015-08-27fix various typos reported by codespellDavid Kalnischkies
Reported-By: codespell
2015-08-27ignore AllowMem parameter in cache generationDavid Kalnischkies
The parameter name suggests that it should forbid the building of the entire cache in memory, but this isn't how it was previously and as AllowMem is false by default it actually prevents previous usecases from working like being root and configuring apt to build no caches at all. This should be fixed at some point to actually work, but that is hard to pull off as it means switching the default and some callers (including apt itself) actually did call it explicitly with false in certain cases for no apparent reason (at least now where it is common to have enough memory to throw at every problem and even if not is a slow apt usally better than an apt erroring out). Closes: 796459
2015-08-27correct 'apt update' download summary lineDavid Kalnischkies
Fetched() was reported for mostly nothing, while we should be calling it for files worked with from non-local sources (e.g. http, but not file or xz). Previously this was called from an acquire item, but got moved to the acquire worker instead to avoid having it (re)implemented in all items, but the checks were faulty.
2015-08-27just-in-time removal of broken essential packagesDavid Kalnischkies
We deal with Conflicts in SmartUnpack in pretty much the same way, but Breaks weren't handled in SmartConfigure so that the remove was sheduled after the configuration of the package breaking the to-be-removed. Closes: 796070
2015-08-27Fix more instances of missing remapping handlingJulian Andres Klode
After fixing Bug#796999, we noticed that there were some more instances of iterators which had no associated Dynamic object, causing them to not be updated when the cache was remapped. This happened in two places: In NewPackage() and in NewProvidesAllArch(). Gbp-Dch: ignore
2015-08-27pkgcachegen: Account for remapping when parsing depends from NewPackageJulian Andres Klode
In both the Ver and Dep variables, we need to account for remapping, as otherwise we would still reference the old bug. Reproduction environment: * An i386 system with amd64 foreign architecture * A sources.list with deb http://snapshot.debian.org/archive/debian/20150826T102846Z/ unstable main deb http://snapshot.debian.org/archive/debian/20150826T102846Z/ experimental main Thanks: Jakub Wilk for the bug report and the backtraces Closes: #796999
2015-08-20Re-indent GetCandidateVerNew() and make ConsiderFiles argument explicitJulian Andres Klode
Gbp-Dch: ignore
2015-08-20Merge remote-tracking branch 'mvo/feature/srv-records' into debian/experimentalMichael Vogt
2015-08-20Add basic (non weight adjusted) shuffling for SrvRecords selectionMichael Vogt
Also add "Debug::Acquire::SrvRecs" debug option and the option "Acquire::EnableSrvRecods" to allow disabling this lookup.
2015-08-19Support tabs in sources.list filesJulian Andres Klode
Also support vertical tabs, as isspace() does the same. Closes: #796067
2015-08-18apt-pkg/contrib/srvrec.cc: res_query() should not generate a _error->Warning()Michael Vogt
2015-08-18cleanupMichael Vogt
2015-08-18Merge remote-tracking branch 'upstream/debian/experimental' into ↵Michael Vogt
feature/srv-records
2015-08-18Merge branch 'debian/experimental' into feature/srv-recordsMichael Vogt
Conflicts: cmdline/apt-helper.cc cmdline/makefile
2015-08-17Re-add support for G++ 4.8 and configure travis to use itJulian Andres Klode
This makes tests work again! Gbp-Dch: ignore
2015-08-17Really fix all iwyu issuesMichael Vogt
Git-Dch: ignore
2015-08-17Fix all the wrong removals of includes that iwyu got wrongMichael Vogt
Git-Dch: ignore
2015-08-17Cleanup includes after running iwyuMichael Vogt
2015-08-16Make pkgCache::Priority() static, it does not need the instanceJulian Andres Klode
It still compiles after the change, so just merge it. Closes: #448627
2015-08-16Use terminfo's typical save_cursor/restore_cursor sequencesJames McCoy
Not all terminals understand DOS' escape sequences for save/restore cursor, so use the more typical sequences from terminfo. Closes: #772521 Signed-off-by: James McCoy <jamessan@debian.org>
2015-08-15Add GetPriority(VerIterator) to pkgDepCache::PolicyJulian Andres Klode
Also unify the case of considerFiles and ConsiderFiles to be ConsiderFiles in all cases. Gbp-Dch: ignore
2015-08-15cachefile.cc: Do not ignore return value of pkgDepCache::Init()Julian Andres Klode
Currently, this always returns true, but it might start returning false at some point in the future... Gbp-Dch: ignore
2015-08-14Also add 'in combination with the other options.' to another errorJulian Andres Klode
Gbp-Dch: ignore
2015-08-14Set Acquire::Changelogs::URI::Origin::Tanglu for Tanglu changelogsJulian Andres Klode
2015-08-14Make apt compile with clang++ againMichael Vogt
This allows us to run the clang static analyzer and to run the testsuite with the clang MemorySanitizer.
2015-08-14Say "in combination with the other options" if an option is not understoodJulian Andres Klode
Closes: #762758
2015-08-14Merge branch 'debian/experimental' of https://github.com/DonKult/apt into ↵Julian Andres Klode
debian/experimental
2015-08-13Use setresuid() and setresgid() where availableJulian Andres Klode
2015-08-13Deprecate SPtrArray<T> and convert everyone to unique_ptr<T[]>Julian Andres Klode
More standardization
2015-08-13Mark SPtr as deprecated, and convert users to std::unique_ptrJulian Andres Klode
Switch to std::unique_ptr, as this is safer than SPtr.
2015-08-13C++11: Switch from auto_ptr to unique_ptrJulian Andres Klode
This is nicer
2015-08-12Drop the Section field from pkgCache::Package againJulian Andres Klode
This somehow got back, we don't really know why. Emulate the Section() method in the PkgIterator by looking at the section of the head of the VersionList.
2015-08-12policy: Be more strict about parsing pin files, and document prio 0Julian Andres Klode
Treat invalid pin priorities and overflows as an error. Closes: #429912
2015-08-12Only make Upgradable() return true for packages with a candidateJulian Andres Klode
If there is no candidate, the package should not be considered upgradeable. LP: #896689
2015-08-12Add a parameter ConsiderFiles to GetPriority(VerIterator)Julian Andres Klode
This allows us to exclude files from being considered for the priority, so it will return only specific-version matches.
2015-08-12Do not set unhonored DPKG_NO_TSTP variable for dpkgGuillem Jover
Support for that variable was removed in dpkg in 1.15.6, in commit 6f037003e8b96878b485efb7cbd1f846e3bf4e97. Closes: #765366
2015-08-12Replace all "press enter" occurrences with "press [Enter]"Luca Bruno
Thanks: Andre Felipe Machado for initial patch Closes: 414848
2015-08-11Annotate more methods with APT_OVERRIDEJulian Andres Klode
Gbp-Dch: ignore Reported-By: g++ -Wsuggest-override Thanks: g++ -Wsuggest-override
2015-08-11ExecFork: Use /proc/self/fd to determine which files to closeJulian Andres Klode
This significantly reduces the number of files that have to be closed and seems to be faster, despite the additional reads. On systems where /proc/self/fd is not available, we fallback to the old code that closes all file descriptors >= 3. Closes: #764204
2015-08-11Make QItem a subclass of DescItemJulian Andres Klode
CurrentItem previously was a DescItem, so let's make QItem a DescItem to not break things.
2015-08-11Re-introduce None as a deprecated alias for NoJulian Andres Klode
Gbp-Dch: ignore
2015-08-11Drop C++11 elements from headersJulian Andres Klode
2015-08-11Fix an obscure warning from GCCJulian Andres Klode
It complained about the previous code: apt-pkg/sourcelist.cc: In destructor ‘pkgSourceList::~pkgSourceList()’: apt-pkg/sourcelist.cc:278:4: warning: cannot optimize loop, the loop counter may overflow [-Wunsafe-loop-optimizations] for (pkgIndexFile * const File : VolatileFiles) ^ There really cannot be an overflow, though. Rewriting it like this seems to fix it.
2015-08-11Simply ignore cruft in the status files, do not treat it as prio 0Julian Andres Klode
This was broken in case all other sources were < 0.
2015-08-11Replace INT_MIN with std::numeric_limits<int>::minJulian Andres Klode
This should fix travis compilation errors. Gbp-Dch: ignore
2015-08-10initialize PinVers to a nullptrDavid Kalnischkies
This makes test-bug-254770-segfault-if-cache-not-buildable happy. Git-Dch: Ignore
2015-08-10move manual-bit from 'oldlibs' pkg to its dependenciesDavid Kalnischkies
oldlibs used to be in APT::Never-MarkAuto-Sections so that old transition packages can be removed without causing the then (autoinstalled) renamed package to be autoremoved. It isn't ideal through as ideally you want the oldlibs package to be removed after nothing depends on it anymore regardless of if you have once installed it by hand or not – and if you had the package talking over (the dependencies) should carry the manual bit now as they are the real deal now. As an added bonus if the package has no dependencies because it is an oldlibs without a direct replacement you should move away from (like lib1 and lib2 are currently in the archive, but there will hopefully only be lib2 in the release) you get a lib1 marked as auto. If the user still needs the oldlibs package for some reason all he has to do is mark it as manual once as this move is only performed if a installed package changes its section from a not-Move-Autobit-Sections to a Move-Autobit-Sections.
2015-08-10move APT::Never-MarkAuto-Sections handling to MarkDeleteDavid Kalnischkies
Having the handling in MarkInstall means that it just effects installation of the metapackage, but if the dependencies change the new dependencies aren't protected (and the old dependencies are still protected for no 'reason'). Having it in MarkDelete means that if a metapackage is sheduled for removal all its currently installed dependencies are marked as manual, which helps against both as in this case there is no new/old and additionally if a user decides the installation of a metapackage was wrong he can just remove it explicitely avoid the manual marking entirely.
2015-08-10no value for MultiArch field is 'no', not 'none'David Kalnischkies
Git-Dch: Ignore