summaryrefslogtreecommitdiff
path: root/cmdline/apt-mark.cc
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2012-08-28 12:00:57 +0200
committerMichael Vogt <michael.vogt@ubuntu.com>2012-08-28 12:00:57 +0200
commit88be391791cd77312f19816904ced54d308dd706 (patch)
treeb6703fffb3b4e30da8bcf2470587a31ab2c0b032 /cmdline/apt-mark.cc
parent4e5e7371044be194c545dc31c8a1d03ed1b659b4 (diff)
parentd7bc74a4e44c4ff97e70f15e19f86761687f2ca5 (diff)
merged from the debian-sid branch
Diffstat (limited to 'cmdline/apt-mark.cc')
-rw-r--r--cmdline/apt-mark.cc16
1 files changed, 14 insertions, 2 deletions
diff --git a/cmdline/apt-mark.cc b/cmdline/apt-mark.cc
index 2a093c55a..c5b7ca496 100644
--- a/cmdline/apt-mark.cc
+++ b/cmdline/apt-mark.cc
@@ -291,14 +291,26 @@ bool DoHold(CommandLine &CmdL)
FILE* dpkg = fdopen(external[1], "w");
for (APT::PackageList::iterator Pkg = pkgset.begin(); Pkg != pkgset.end(); ++Pkg)
{
+ if (dpkgMultiArch == false)
+ fprintf(dpkg, "%s", Pkg.FullName(true).c_str());
+ else
+ {
+ if (Pkg->CurrentVer != 0)
+ fprintf(dpkg, "%s:%s", Pkg.Name(), Pkg.CurrentVer().Arch());
+ else if (Pkg.VersionList().end() == false)
+ fprintf(dpkg, "%s:%s", Pkg.Name(), Pkg.VersionList().Arch());
+ else
+ fprintf(dpkg, "%s", Pkg.FullName(false).c_str());
+ }
+
if (MarkHold == true)
{
- fprintf(dpkg, "%s hold\n", Pkg.FullName(!dpkgMultiArch).c_str());
+ fprintf(dpkg, " hold\n");
ioprintf(c1out,_("%s set on hold.\n"), Pkg.FullName(true).c_str());
}
else
{
- fprintf(dpkg, "%s install\n", Pkg.FullName(!dpkgMultiArch).c_str());
+ fprintf(dpkg, " install\n");
ioprintf(c1out,_("Canceled hold on %s.\n"), Pkg.FullName(true).c_str());
}
}