summaryrefslogtreecommitdiff
path: root/apt-pkg/deb
AgeCommit message (Collapse)Author
2013-09-07fix multiarch status-fd progress calculationMichael Vogt
2013-08-28Merge remote-tracking branch 'mvo/feature/install-progress' into debian/sidMichael Vogt
2013-08-16allow Pre-Install-Pkgs hooks to get info over an FD != stdinDavid Kalnischkies
This adds ::InfoFD option alongside the ::Version one to request sending the information to the specified FD, by default it is STDIN as it was the case before. The environment variable APT_HOOK_INFO_FD contains the FD the data is on as a confirmation that the APT version used understood the request. Allowing the hook to choose the FD is needed/helpful e.g. for shellscripts which have a hard time accessing FDs above 9 (as >= 10 are usually used internally by them) Closes: #671728
2013-08-15init the pkgTagFile with the size of the Release fileDavid Kalnischkies
Release files are basically one big Section, so we might safe some Resize circles by starting with the filesize. Git-Dch: Ignore
2013-08-12use our _error stack to generate openpty errorsDavid Kalnischkies
While we don't want these error messages on our usual stack, we can use our usual infrastructure to generate an error message with all the usual bells like errno and strerror attached. Git-Dch: Ignore
2013-08-12do not try to chown if not run as rootDavid Kalnischkies
If this code is run as non-root we are in a special situation (e.g. in our testcases) where it is obvious that we can't enforce user/group on any file, so skip this code altogether instead of bugging users with an error message – which we also switch to a warning as a failure to open the file is "just" a warning, so the 'wrong' owner shouldn't be that much of an issue. The file is still handled with chmod, so all the security we can enforce is still enforced of course, which also gets a warning if it fails. Git-Dch: Ignore
2013-08-08fix -Wall errorsMichael Vogt
2013-08-08use pkgTagFile to parse "header" of Release filesDavid Kalnischkies
The handwritten parsing here was mostly done as we couldn't trust the Release file we got, but nowadays we are sure that the Release file is valid and contains just a single section we want it to include. Beside reducing code it also fixes a bug: Fieldnames in deb822 formatted files are case-insensitive and pkgTagFile does it correctly, but this selfbuilt stuff here didn't.
2013-07-28Merge remote-tracking branch 'mvo/bugfix/coverity' into debian/sidMichael Vogt
2013-07-26fix some coverity chroot() releated warningsMichael Vogt
2013-07-25delete targets dataMichael Vogt
2013-07-16fix if-clause to generate hook-info for 'rc' packagesDavid Kalnischkies
The code incorrectly skips printing of current version information, if the package has no current version (for APT, but for dpkg as it is the case for packages which are removed but not purged) by using an unintended "else if" rather than an "if". Closes: 717006
2013-07-11Add DPkgPM::Progress for terminal install progressMichael Vogt
2013-07-11implement arch+= and arch-= for sources.listDavid Kalnischkies
Default is to acquire all architectures from APT::Architectures which can be changed by arch=, but this isn't very flexible if you want "mostly" the default as you have to hardcode the architectures then, so arch-= and arch+= can be used to add/remove architectures from the default set. On a machine with 'amd64' and 'i386' configured the lines: deb [arch+=armel] http://example.org/debian wheezy rocks deb [arch-=amd64] http://example.org/debian jessie rocks will result in the download of: wheezy Packages for 'amd64', 'i386' and 'armel' jessie Packages for 'i386'
2013-07-11Version 3 for DPkg::Pre-Install-Pkgs with MultiArch infoDavid Kalnischkies
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
2013-06-20handle missing "Description" in apt-cache showDavid Kalnischkies
do not blindly assume that all packages stanzas have a "Description:" field in 'apt-cache show' as well as in the cache creation itself. We instead assume now that if the stanza has a Description, it will not be the first field as we look out for "\nDescription" to take care of MD5sum as well as (maybe ignored) translated Descriptions embedded in the package stanza. Closes: #712435
2013-04-08merged bundle from davidMichael Vogt
2013-04-03share version strings between same versions (of different architectures)David Kalnischkies
to save some space and allow quick comparisions later on
2013-04-02merged lp:~mvo/apt/fix-inrelease5Michael Vogt
2013-04-01micro-optimize and enhance readability of ListParser::VersionHashDavid Kalnischkies
2013-04-01* apt-pkg/deb/debversion.cc:David Kalnischkies
- add a string-equal shortcut for equal version comparisions
2013-03-22merged the debian-wheezy branchMichael Vogt
2013-03-18* apt-pkg/deb/debindexfile.cc,David Kalnischkies
apt-pkg/deb/deblistparser.cc: - use OpenMaybeClearSignedFile to be free from detecting and skipping clearsigning metadata in dsc and Release files We can't write a "clean" file to disk as not all acquire methods copy Release files before checking them (e.g. cdrom), so this reverts recombining, but uses the method we use for dsc files also in the two places we deal with Release files
2013-03-15 - if ExecGPGV deals with a clear-signed file it will split this fileDavid Kalnischkies
into data and signatures, pass it to gpgv for verification and recombines it after that in a known-good way without unsigned blocks and whitespaces resulting usually in more or less the same file as before, but later code can be sure about the format * apt-pkg/deb/debmetaindex.cc: - reenable InRelease by default
2013-03-14* SECURITY UPDATE: InRelease verification bypass0.9.7.8Michael Vogt
- CVE-2013-1051 * apt-pkg/deb/debmetaindex.cc, test/integration/test-bug-595691-empty-and-broken-archive-files, test/integration/test-releasefile-verification: - disable InRelease downloading until the verification issue is fixed, thanks to Ansgar Burchardt for finding the flaw
2013-03-10various simple changes to fix cppcheck warningsDavid Kalnischkies
2013-01-08fix pkgProblemResolver::Scores, thanks to Paul Wise. Michael Vogt
Closes: #697577
2012-12-13change permissions of /var/log/apt/term.log to 0640 (LP: #975199)Michael Vogt
2012-09-09handle packages without a mandatory architecture (debian-policy §5.3)David Kalnischkies
by introducing a pseudo-architecture 'none' so that the small group of users with these packages can get right of them without introducing too much hassle for other users (Closes: #686346)
2012-09-03report the package name with architecture in the "no file" error messageDavid Kalnischkies
2012-07-09* apt-pkg/deb/deblistparser.cc:David Kalnischkies
- negative dependencies need to apply to all architectures, but those with a specific architecture only apply to this one
2012-06-16do not dereference the storage for the unique strings as the pointer canDavid Kalnischkies
change at the time of writing the strings, so first store it temporary and then save the index in the (possibily new) pointer location
2012-06-14* apt-pkg/deb/deblistparser.cc:David Kalnischkies
- use PackageArchitectureMatchesSpecification filter * apt-pkg/cachefilter.cc: - add PackageArchitectureMatchesSpecification (Closes: #672603)
2012-06-14* deb/deblistparser.cc:David Kalnischkies
- ensure that mixed positive/negative architecture wildcards are handled in the same way as dpkg handles them
2012-06-11* apt-pkg/deb/deblistparser.cc:Thibaut Girka
- add support for arch-specific qualifiers in dependencies
2012-06-10* apt-pkg/deb/deblistparser.cc:David Kalnischkies
- set pkgCacheGen::Essential to "all" again (Closes: #675449) * apt-pkg/algorithms.cc: - force install only for one essential package out of a group
2012-05-10fix calling style of FileFd (no functional change)David Kalnischkies
2012-05-02* apt-pkg/deb/deblistparser.cc:David Kalnischkies
- check length and containing chars for a given description md5sum
2012-04-20merged from lp:~donkult/apt/sidMichael Vogt
2012-04-20merge from the lp:~mvo/apt/mvo branchMichael Vogt
2012-04-20cherry pick r1975 from lp:~ubuntu-core-dev/apt/ubuntuMichael Vogt
2012-04-18* apt-pkg/deb/deblistparser.cc:David Kalnischkies
- only treat the native apt as essential by default
2012-04-11use a static FileFd::Write overload to reduce duplication of write()-retry codeDavid Kalnischkies
2012-03-27* apt-pkg/deb/dpkgpm.cc:Michael Vogt
- do not crash if (*I).Pkg is NULL (LP: #939867)
2012-03-22make these retry_write methods static so that they don't end up as symbolsDavid Kalnischkies
2012-03-20* methods/rred.cc:David Kalnischkies
- 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
2012-03-06merge with apt/experimentalDavid Kalnischkies
* 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
2012-03-05* apt-pkg/deb/deblistparser.cc:Julian Andres Klode
- Set the Essential flag on APT instead of only Important
2012-03-05set char-limits for the scanf parsing previous crash-reportsDavid Kalnischkies
2012-03-04fix a bunch of cppcheck "(warning) Member variable '<#>' is notDavid Kalnischkies
initialized in the constructor." messages (no functional change)