summaryrefslogtreecommitdiff
path: root/apt-pkg/deb
AgeCommit message (Collapse)Author
2013-10-31move pty stuff into its own functionMichael Vogt
2013-10-18use std::string instead of char* in pkgDPkgPM::ProcessDpkgStatusLine()Michael Vogt
2013-10-18reshuffle the pkgDPkgPM::ProcessDpkgStatusLine() some more to make it more ↵Michael Vogt
robust
2013-10-18reshuffle dpkgpm.cc code a bit moreMichael Vogt
2013-10-18add APT::String::Strip(), start cleanup of ProcessDpkgStatusLineMichael Vogt
2013-10-17fix broken clean when apt was finished and ensure that terminal progress is ↵Michael Vogt
updated when a new dpkg-loop is entered in dpkgpm.cc
2013-10-15tests, do not send pkgname with arch via the status-fdMichael Vogt
2013-10-15Merge remote-tracking branch 'upstream/debian/sid' into bugfix/bts-726156-2Michael Vogt
2013-10-15fix logic for finding what package dpkg means in the --status-fd and only ↵Michael Vogt
send out short packagenames
2013-10-14fix progress-segfault in case of dpkg errors/promptsDavid Kalnischkies
Errors and conffile prompts have a fourth information piece, which the "old" code access which isn't provided by the "new" one. This isn't checking if the messages are really well-formed, so it could still segfault on misformed messages, but this code needs more work anyway, so one step at a time. Closes: 726047
2013-10-11add missing _() around the new "Progress" stringMichael Vogt
2013-10-08apt-pkg/deb/dpkgpm.cc: fix off-by-one in SetupTerminalScrollArea resetMichael Vogt
2013-10-08Merge remote-tracking branch 'mvo/feature/dpkg-progress-fancy' into debian/sidMichael Vogt
2013-10-07fix off-by-one error in pkgDPkgPM::SetupTerminalScrollArea()Michael Vogt
2013-10-07use Dpkg::Progress-Fancy to be consitent with Dpkg::ProgressMichael Vogt
2013-10-07add -o DpkgPM::Progress-Fancy for better dpkg progress output on vt100+ ↵Michael Vogt
terminals
2013-10-05Merge remote-tracking branch 'mvo/bugfix/dpkg-progress-multiarch' into ↵Michael Vogt
debian/sid
2013-10-02make dpkg progress slightly nicerMichael Vogt
2013-09-26don't strip :any from dependencies in single-archDavid Kalnischkies
The parser goes a bit to far by stripping :any from dependencies in a single architecture environment. the flag "Multi-Arch: allowed" doesn't care any architecture restrictions in that case (as in single arch everything is native), but it still limits the possible versions statisfying the dependency so stripping :any over-simplifies in upgrade situations from "Multi-Arch: none" to "Multi-Arch: allowed". Closes: 723586
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