summaryrefslogtreecommitdiff
path: root/apt-pkg/deb/dpkgpm.cc
AgeCommit message (Collapse)Author
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-15fix merge artifactMichael Vogt
2013-08-15Merge branch 'debian/sid' into debian/experimentalMichael Vogt
Conflicts: apt-pkg/contrib/strutl.cc apt-pkg/deb/dpkgpm.cc configure.ac debian/changelog doc/po/apt-doc.pot po/apt-all.pot po/ar.po po/ast.po po/bg.po po/bs.po po/ca.po po/cs.po po/cy.po po/da.po po/de.po po/dz.po po/el.po po/es.po po/eu.po po/fi.po po/fr.po po/gl.po po/hu.po po/it.po po/ja.po po/km.po po/ko.po po/ku.po po/lt.po po/mr.po po/nb.po po/ne.po po/nl.po po/nn.po po/pl.po po/pt.po po/pt_BR.po po/ro.po po/ru.po po/sk.po po/sl.po po/sv.po po/th.po po/tl.po po/uk.po po/vi.po po/zh_CN.po po/zh_TW.po test/integration/framework test/integration/test-bug-602412-dequote-redirect test/integration/test-ubuntu-bug-346386-apt-get-update-paywall test/interactive-helper/aptwebserver.cc test/interactive-helper/makefile
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-07-28Merge remote-tracking branch 'mvo/bugfix/coverity' into debian/sidMichael Vogt
2013-07-26fix some coverity chroot() releated warningsMichael 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-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-04-23merged debian-sid branch and resolved conflictsMichael Vogt
2013-03-10various simple changes to fix cppcheck warningsDavid Kalnischkies
2013-01-04print error in log if tcgetattr() fails instead of writingMichael Vogt
a empty file
2012-12-27* apt-pkg/deb/dpkgpm.cc:Michael Vogt
- use tcgetattr() on STDOUT instead of STDIN so that term.log works for redirected stdin
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-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-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-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)
2012-03-04handle a SIGINT in all modes as a break after the currently runningDavid Kalnischkies
dpkg transaction instead of ignoring it completely
2012-02-11save the universe by not printing messages about apport if a packageDavid Kalnischkies
with this name is not installed (Closes: #619646)
2012-02-09call dpkg --assert-multi-arch with execvp instead of execvDavid Kalnischkies
2012-01-30* apt-pkg/deb/dpkgpm.cc:Michael Vogt
- fix crash when a package is in removed but residual config state (LP: #923807)
2012-01-29ensure that dpkg binary doesn't have the chroot-directory prefixedDavid Kalnischkies
2012-01-29* apt-pkg/deb/dpkgpm.cc:David Kalnischkies
- chroot if needed before dpkg --assert-multi-arch
2012-01-19* apt-pkg/cacheiterators.h:David Kalnischkies
- return the correct version arch for all+foreign, too The flag is interpreted at a few other places in different styles so this commit ensures that the flag check is consistent everywhere (checking for Same in flag style is a bit too much as it isn't used in combination with others anyway, but who knows and just for consistency)
2012-01-19* apt-pkg/deb/dpkgpm.cc:Michael Vogt
- fix segfault on pkg removal
2012-01-19if multi-arch is detected ensure that pkg:all is reported as pkg:allDavid Kalnischkies
Versions with arch:all are added to the package with the native arch, so we can't rely on Pkg.Arch() for the architecture
2012-01-19* apt-pkg/deb/dpkgpm.cc:David Kalnischkies
- redirect out/input of dpkg --assert-multi-arch to /dev/null
2012-01-13* apt-pkg/deb/dpkgpm.cc:David Kalnischkies
- check if dpkg supports multiarch with --assert-multi-arch and if it does be always explicit about the architecture
2011-10-30merge with my debian-sid branchDavid Kalnischkies
2011-09-20* apt-pkg/deb/dpkgpm.cc:David Kalnischkies
- use std::vector instead of fixed size arrays to store args and multiarch-packagename strings - load the dpkg base arguments only one time and reuse them later * cmdline/apt-get.cc: - follow Provides in the evaluation of saving candidates, too, for statisfying garbage package dependencies (Closes: #640590) * apt-pkg/algorithms.cc: - if a package is garbage, don't try to save it with FixByInstall
2011-09-20load the dpkg base arguments only one time and reuse them laterDavid Kalnischkies
2011-09-20* apt-pkg/deb/dpkgpm.cc:David Kalnischkies
- use std::vector instead of fixed size arrays to store args and multiarch-packagename strings
2011-09-14enable APT in unpack/configure ordering to handle loops as wellDavid Kalnischkies
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)
2011-09-13merge with debian/experimentalDavid Kalnischkies
2011-09-13reorder includes: add <config.h> if needed and include it at firstDavid Kalnischkies
2011-08-15merged from the debian-sid branchMichael Vogt
2011-08-11cppcheck complains about some possible speed improvements which could beDavid Kalnischkies
done on the mirco-optimazation level, so lets fix them: (performance) Possible inefficient checking for emptiness. (performance) Prefer prefix ++/-- operators for non-primitive types.
2011-08-02Inproved the SIGINT stop in the dpkgpm, not perfect yet but it should work ↵Christopher Baines
when using Immediate-Configure-All.
2011-08-01Only stop on SigInt if the system state is right (still needs more testing).Christopher Baines
More inprovements to the package manager to prevent packages from being configured twice.
2011-07-31Only allow interupts when using, Immediate-Configure-All.Christopher Baines
TODO for dpkgpm: Useful messages about the interupt, what was done to what packages and what was not done to what packages. Only fail when the system is in a clean state, at the moment it will fail either a configure or install run.
2011-07-27SmartConfigure and SmartUnPack have got smarter! The full descriptions of ↵Christopher Baines
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.