From 503a68c63ad9c71d38ab22aea475365213b0559c Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Mon, 25 Jan 2010 17:15:53 +0100 Subject: * cmdline/apt-mark: - merge fix from Gene Cash that supports markauto for packages that are not in the extended_states file yet (closes: #534920) --- cmdline/apt-mark | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'cmdline') diff --git a/cmdline/apt-mark b/cmdline/apt-mark index 3a818a3db..2326ece38 100755 --- a/cmdline/apt-mark +++ b/cmdline/apt-mark @@ -46,11 +46,16 @@ def mark_unmark_automatic(filename, action, pkgs): print "changing %s to %s" % (pkgname,action) newsec = apt_pkg.RewriteSection(tagfile.Section, [], - [ ("Auto-Installed",str(action)) ] - ) + [ ("Auto-Installed",str(action)) ]) + pkgs.remove(pkgname) outfile.write(newsec+"\n") else: outfile.write(str(tagfile.Section)+"\n") + if action == 1: + for pkgname in pkgs: + if options.verbose: + print "changing %s to %s" % (pkgname,action) + outfile.write("Package: %s\nAuto-Installed: %d\n\n" % (pkgname, action)) # all done, rename the tmpfile os.chmod(outfile.name, 0644) os.rename(outfile.name, STATE_FILE) -- cgit v1.2.3 From 93adae194b5db00e3afb8fe89b907eed9df28763 Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 27 Jan 2010 12:11:07 +0100 Subject: merge 1695..1701 from the lp:~mvo/apt/mvo branch --- cmdline/apt-cdrom.cc | 70 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 67 insertions(+), 3 deletions(-) (limited to 'cmdline') diff --git a/cmdline/apt-cdrom.cc b/cmdline/apt-cdrom.cc index d804c55e5..988a58f20 100644 --- a/cmdline/apt-cdrom.cc +++ b/cmdline/apt-cdrom.cc @@ -98,6 +98,42 @@ OpProgress* pkgCdromTextStatus::GetOpProgress() return &Progress; }; /*}}}*/ +// SetupAutoDetect /*{{{*/ +bool AutoDetectCdrom(pkgUdevCdromDevices &UdevCdroms, unsigned int &i) +{ + bool Debug = _config->FindB("Debug::Acquire::cdrom", false); + + vector v = UdevCdroms.Scan(); + if (i >= v.size()) + return false; + + if (Debug) + clog << "Looking at devce " << i + << " DeviveName: " << v[i].DeviceName + << " IsMounted: '" << v[i].Mounted << "'" + << " MountPoint: '" << v[i].MountPath << "'" + << endl; + + if (v[i].Mounted) + { + // set the right options + _config->Set("Acquire::cdrom::mount", v[i].MountPath); + _config->Set("APT::CDROM::NoMount", true); + } else { + string AptMountPoint = _config->FindDir("Dir::Media::MountPath"); + if (!FileExists(AptMountPoint)) + mkdir(AptMountPoint.c_str(), 0750); + if(MountCdrom(AptMountPoint, v[i].DeviceName) == false) + _error->Warning(_("Failed to mount '%s' to '%s'"), v[i].DeviceName.c_str(), AptMountPoint.c_str()); + _config->Set("Acquire::cdrom::mount", AptMountPoint); + _config->Set("APT::CDROM::NoMount", true); + } + i++; + + return true; +} + /*}}}*/ + // DoAdd - Add a new CDROM /*{{{*/ // --------------------------------------------------------------------- /* This does the main add bit.. We show some status and things. The @@ -106,12 +142,25 @@ OpProgress* pkgCdromTextStatus::GetOpProgress() verify them. Then rewrite the database files */ bool DoAdd(CommandLine &) { - bool res = false; + pkgUdevCdromDevices UdevCdroms; pkgCdromTextStatus log; pkgCdrom cdrom; - res = cdrom.Add(&log); + bool res = true; + + bool AutoDetect = _config->FindB("Acquire::cdrom::AutoDetect"); + unsigned int count = 0; + + if (AutoDetect && UdevCdroms.Dlopen()) + { + while (AutoDetectCdrom(UdevCdroms, count)) + res &= cdrom.Add(&log); + } else { + res = cdrom.Add(&log); + } + if(res) cout << _("Repeat this process for the rest of the CDs in your set.") << endl; + return res; } /*}}}*/ @@ -120,10 +169,24 @@ bool DoAdd(CommandLine &) /* */ bool DoIdent(CommandLine &) { + pkgUdevCdromDevices UdevCdroms; string ident; pkgCdromTextStatus log; pkgCdrom cdrom; - return cdrom.Ident(ident, &log); + bool res = true; + + bool AutoDetect = _config->FindB("Acquire::cdrom::AutoDetect"); + unsigned int count = 0; + + if (AutoDetect && UdevCdroms.Dlopen()) + { + while (AutoDetectCdrom(UdevCdroms, count)) + res &= cdrom.Ident(ident, &log); + } else { + return cdrom.Ident(ident, &log); + } + + return res; } /*}}}*/ // ShowHelp - Show the help screen /*{{{*/ @@ -164,6 +227,7 @@ int main(int argc,const char *argv[]) /*{{{*/ { CommandLine::Args Args[] = { {'h',"help","help",0}, + {'a',"auto-detect","Acquire::cdrom::AutoDetect",0}, {'v',"version","version",0}, {'d',"cdrom","Acquire::cdrom::mount",CommandLine::HasArg}, {'r',"rename","APT::CDROM::Rename",0}, -- cgit v1.2.3 From 8f8284dbbc706464b023401bf0f5db0b14e5dd6a Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Wed, 27 Jan 2010 16:07:21 +0100 Subject: merged from lp:~mvo/apt/mvo --- cmdline/apt-cdrom.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'cmdline') diff --git a/cmdline/apt-cdrom.cc b/cmdline/apt-cdrom.cc index 988a58f20..0c9aab28c 100644 --- a/cmdline/apt-cdrom.cc +++ b/cmdline/apt-cdrom.cc @@ -217,6 +217,7 @@ int ShowHelp() " -m No mounting\n" " -f Fast mode, don't check package files\n" " -a Thorough scan mode\n" + " --auto-detect Auto detect drive and mount point\n" " -c=? Read this configuration file\n" " -o=? Set an arbitrary configuration option, eg -o dir::cache=/tmp\n" "See fstab(5)\n"; @@ -227,7 +228,7 @@ int main(int argc,const char *argv[]) /*{{{*/ { CommandLine::Args Args[] = { {'h',"help","help",0}, - {'a',"auto-detect","Acquire::cdrom::AutoDetect",0}, + { 0,"auto-detect","Acquire::cdrom::AutoDetect",0}, {'v',"version","version",0}, {'d',"cdrom","Acquire::cdrom::mount",CommandLine::HasArg}, {'r',"rename","APT::CDROM::Rename",0}, -- cgit v1.2.3 From 2893f7b5ec6b2220ccfca6b9648482a6df926eca Mon Sep 17 00:00:00 2001 From: Michael Vogt Date: Sun, 31 Jan 2010 07:28:06 -0800 Subject: * cmdline/acqprogress.cc: - Set Mode to Medium so that the correct prefix is used. Thanks Stefan Haller for the patch! (Closes: #567304 LP: #275243) * ftparchive/writer.cc: - generate sha1 and sha256 checksums for dsc (Closes: #567343) * cmdline/apt-get.cc: - don't mark as manually if in download only (Closes: #468180) --- cmdline/acqprogress.cc | 2 +- cmdline/apt-get.cc | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'cmdline') diff --git a/cmdline/acqprogress.cc b/cmdline/acqprogress.cc index b3ded4142..32e8243bf 100644 --- a/cmdline/acqprogress.cc +++ b/cmdline/acqprogress.cc @@ -150,7 +150,7 @@ bool AcqTextStatus::Pulse(pkgAcquire *Owner) if (Quiet > 0) return true; - enum {Long = 0,Medium,Short} Mode = Long; + enum {Long = 0,Medium,Short} Mode = Medium; char Buffer[sizeof(BlankLine)]; char *End = Buffer + sizeof(Buffer); diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index dede0137e..34ae2fed9 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -1776,7 +1776,8 @@ bool DoInstall(CommandLine &CmdL) if(!Remove && Cache[Pkg].Install() == false && (Cache[Pkg].Flags & pkgCache::Flag::Auto) && - _config->FindB("APT::Get::ReInstall",false) == false) + _config->FindB("APT::Get::ReInstall",false) == false && + _config->FindB("APT::Get::Download-Only",false) == false) { ioprintf(c1out,_("%s set to manually installed.\n"), Pkg.Name()); -- cgit v1.2.3