summaryrefslogtreecommitdiff
path: root/cmdline
diff options
context:
space:
mode:
authorMichael Vogt <michael.vogt@ubuntu.com>2009-07-30 17:34:48 +0200
committerMichael Vogt <michael.vogt@ubuntu.com>2009-07-30 17:34:48 +0200
commit55fb35e87a1ff550cbb3010c5a03064f0a2b10be (patch)
tree6ecb92eb145eefbb0c4a6dc6a869d9e21ba10b55 /cmdline
parentadbce12126ccc58016af69d541bafad5c8bde631 (diff)
parentd5752e18bed18c706c93f5c43c61016c72132ede (diff)
merged from debian
Diffstat (limited to 'cmdline')
-rw-r--r--cmdline/apt-cache.cc19
-rw-r--r--cmdline/apt-cdrom.cc10
-rw-r--r--cmdline/apt-config.cc4
-rw-r--r--cmdline/apt-extracttemplates.cc4
-rw-r--r--cmdline/apt-get.cc39
-rwxr-xr-xcmdline/apt-mark72
-rw-r--r--cmdline/apt-sortpkgs.cc8
7 files changed, 91 insertions, 65 deletions
diff --git a/cmdline/apt-cache.cc b/cmdline/apt-cache.cc
index 425df6994..fcfc67ea1 100644
--- a/cmdline/apt-cache.cc
+++ b/cmdline/apt-cache.cc
@@ -399,7 +399,7 @@ bool DumpAvail(CommandLine &Cmd)
pkgCache &Cache = *GCache;
pkgPolicy Plcy(&Cache);
- if (ReadPinFile(Plcy) == false)
+ if (ReadPinFile(Plcy) == false || ReadPinDir(Plcy) == false)
return false;
unsigned long Count = Cache.HeaderP->PackageCount+1;
@@ -626,7 +626,7 @@ bool Depends(CommandLine &CmdL)
return true;
}
-
+ /*}}}*/
// RDepends - Print out a reverse dependency tree - mbc /*{{{*/
// ---------------------------------------------------------------------
/* */
@@ -714,10 +714,7 @@ bool RDepends(CommandLine &CmdL)
return true;
}
-
/*}}}*/
-
-
// xvcg - Generate a graph for xvcg /*{{{*/
// ---------------------------------------------------------------------
// Code contributed from Junichi Uekawa <dancer@debian.org> on 20 June 2002.
@@ -937,8 +934,6 @@ bool XVcg(CommandLine &CmdL)
return true;
}
/*}}}*/
-
-
// Dotty - Generate a graph for Dotty /*{{{*/
// ---------------------------------------------------------------------
/* Dotty is the graphvis program for generating graphs. It is a fairly
@@ -1283,6 +1278,9 @@ struct ExDescFile
bool NameMatch;
};
+// Search - Perform a search /*{{{*/
+// ---------------------------------------------------------------------
+/* This searches the package names and package descriptions for a pattern */
bool Search(CommandLine &CmdL)
{
pkgCache &Cache = *GCache;
@@ -1519,7 +1517,7 @@ bool Policy(CommandLine &CmdL)
pkgCache &Cache = *GCache;
pkgPolicy Plcy(&Cache);
- if (ReadPinFile(Plcy) == false)
+ if (ReadPinFile(Plcy) == false || ReadPinDir(Plcy) == false)
return false;
// Print out all of the package files
@@ -1696,7 +1694,6 @@ bool Madison(CommandLine &CmdL)
return true;
}
-
/*}}}*/
// GenCaches - Call the main cache generator /*{{{*/
// ---------------------------------------------------------------------
@@ -1770,8 +1767,7 @@ void CacheInitialize()
_config->Set("help",false);
}
/*}}}*/
-
-int main(int argc,const char *argv[])
+int main(int argc,const char *argv[]) /*{{{*/
{
CommandLine::Args Args[] = {
{'h',"help","help",0},
@@ -1878,3 +1874,4 @@ int main(int argc,const char *argv[])
return 0;
}
+ /*}}}*/
diff --git a/cmdline/apt-cdrom.cc b/cmdline/apt-cdrom.cc
index 379a433ea..342b6314a 100644
--- a/cmdline/apt-cdrom.cc
+++ b/cmdline/apt-cdrom.cc
@@ -40,8 +40,7 @@
using namespace std;
- /*{{{*/
-class pkgCdromTextStatus : public pkgCdromStatus
+class pkgCdromTextStatus : public pkgCdromStatus /*{{{*/
{
protected:
OpTextProgress Progress;
@@ -98,9 +97,7 @@ OpProgress* pkgCdromTextStatus::GetOpProgress()
{
return &Progress;
};
-
/*}}}*/
-
// DoAdd - Add a new CDROM /*{{{*/
// ---------------------------------------------------------------------
/* This does the main add bit.. We show some status and things. The
@@ -129,7 +126,6 @@ bool DoIdent(CommandLine &)
return cdrom.Ident(ident, &log);
}
/*}}}*/
-
// ShowHelp - Show the help screen /*{{{*/
// ---------------------------------------------------------------------
/* */
@@ -164,8 +160,7 @@ int ShowHelp()
return 0;
}
/*}}}*/
-
-int main(int argc,const char *argv[])
+int main(int argc,const char *argv[]) /*{{{*/
{
CommandLine::Args Args[] = {
{'h',"help","help",0},
@@ -222,3 +217,4 @@ int main(int argc,const char *argv[])
return 0;
}
+ /*}}}*/
diff --git a/cmdline/apt-config.cc b/cmdline/apt-config.cc
index 63fa0867c..9919a9c94 100644
--- a/cmdline/apt-config.cc
+++ b/cmdline/apt-config.cc
@@ -88,8 +88,7 @@ int ShowHelp()
return 0;
}
/*}}}*/
-
-int main(int argc,const char *argv[])
+int main(int argc,const char *argv[]) /*{{{*/
{
CommandLine::Args Args[] = {
{'h',"help","help",0},
@@ -133,3 +132,4 @@ int main(int argc,const char *argv[])
return 0;
}
+ /*}}}*/
diff --git a/cmdline/apt-extracttemplates.cc b/cmdline/apt-extracttemplates.cc
index de22386b9..21ef1a050 100644
--- a/cmdline/apt-extracttemplates.cc
+++ b/cmdline/apt-extracttemplates.cc
@@ -348,8 +348,7 @@ bool Go(CommandLine &CmdL)
return !_error->PendingError();
}
/*}}}*/
-
-int main(int argc, const char **argv)
+int main(int argc, const char **argv) /*{{{*/
{
CommandLine::Args Args[] = {
{'h',"help","help",0},
@@ -391,3 +390,4 @@ int main(int argc, const char **argv)
return 0;
}
+ /*}}}*/
diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc
index adb1c9214..04f3944a9 100644
--- a/cmdline/apt-get.cc
+++ b/cmdline/apt-get.cc
@@ -111,6 +111,9 @@ class CacheFile : public pkgCacheFile
return Open(true);
}
CacheFile() : List(0) {};
+ ~CacheFile() {
+ delete[] List;
+ }
};
/*}}}*/
@@ -594,7 +597,6 @@ void Stats(ostream &out,pkgDepCache &Dep)
Dep.BadCount());
}
/*}}}*/
-
// CacheFile::NameComp - QSort compare by name /*{{{*/
// ---------------------------------------------------------------------
/* */
@@ -687,7 +689,10 @@ bool CacheFile::CheckDeps(bool AllowBroken)
return true;
}
-
+ /*}}}*/
+// CheckAuth - check if each download comes form a trusted source /*{{{*/
+// ---------------------------------------------------------------------
+/* */
static bool CheckAuth(pkgAcquire& Fetcher)
{
string UntrustedList;
@@ -728,10 +733,7 @@ static bool CheckAuth(pkgAcquire& Fetcher)
return _error->Error(_("There are problems and -y was used without --force-yes"));
}
-
-
/*}}}*/
-
// InstallPackages - Actually download and install the packages /*{{{*/
// ---------------------------------------------------------------------
/* This displays the informative messages describing what is going to
@@ -1301,6 +1303,7 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs,
while ((Parse = SrcRecs.Find(Src.c_str(), MatchSrcOnly)) != 0)
{
string Ver = Parse->Version();
+
// show name mismatches
if (IsMatch == true && Parse->Package() != Src)
ioprintf(c1out, _("No source package '%s' picking '%s' instead\n"), Parse->Package().c_str(), Src.c_str());
@@ -1334,7 +1337,6 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs,
return Last;
}
/*}}}*/
-
// DoUpdate - Update the package lists /*{{{*/
// ---------------------------------------------------------------------
/* */
@@ -1456,7 +1458,7 @@ bool DoAutomaticRemove(CacheFile &Cache)
}
return true;
}
-
+ /*}}}*/
// DoUpgrade - Upgrade all packages /*{{{*/
// ---------------------------------------------------------------------
/* Upgrade all packages without installing new packages or erasing old
@@ -1531,7 +1533,7 @@ bool TryInstallTask(pkgDepCache &Cache, pkgProblemResolver &Fix,
regfree(&Pattern);
return res;
}
-
+ /*}}}*/
// DoInstall - Install packages from the command line /*{{{*/
// ---------------------------------------------------------------------
/* Install named packages */
@@ -1869,7 +1871,8 @@ bool DoInstall(CommandLine &CmdL)
// cache.commit()
if (AutoMarkChanged > 0 &&
Cache->DelCount() == 0 && Cache->InstCount() == 0 &&
- Cache->BadCount() == 0)
+ Cache->BadCount() == 0 &&
+ _config->FindB("APT::Get::Simulate",false) == false)
Cache->writeStateFile(NULL);
// See if we need to prompt
@@ -2724,8 +2727,7 @@ void SigWinch(int)
#endif
}
/*}}}*/
-
-int main(int argc,const char *argv[])
+int main(int argc,const char *argv[]) /*{{{*/
{
CommandLine::Args Args[] = {
{'h',"help","help",0},
@@ -2813,7 +2815,19 @@ int main(int argc,const char *argv[])
ShowHelp(CmdL);
return 0;
}
-
+
+ // simulate user-friendly if apt-get has no root privileges
+ if (getuid() != 0 && _config->FindB("APT::Get::Simulate") == true)
+ {
+ if (_config->FindB("APT::Get::Show-User-Simulation-Note",true) == true)
+ cout << _("NOTE: This is only a simulation!\n"
+ " apt-get needs root privileges for real execution.\n"
+ " Keep also in mind that locking is deactivated,\n"
+ " so don't depend on the relevance to the real current situation!"
+ ) << std::endl;
+ _config->Set("Debug::NoLocking",true);
+ }
+
// Deal with stdout not being a tty
if (!isatty(STDOUT_FILENO) && _config->FindI("quiet",0) < 1)
_config->Set("quiet","1");
@@ -2845,3 +2859,4 @@ int main(int argc,const char *argv[])
return 0;
}
+ /*}}}*/
diff --git a/cmdline/apt-mark b/cmdline/apt-mark
index f6e749eb5..226d2079b 100755
--- a/cmdline/apt-mark
+++ b/cmdline/apt-mark
@@ -14,34 +14,21 @@ actions = { "markauto" : 1,
"unmarkauto": 0
}
-if __name__ == "__main__":
- apt_pkg.init()
-
- # option parsing
- parser = OptionParser()
- parser.usage = "%prog [options] {markauto|unmarkauto} packages..."
- parser.add_option("-f", "--file", action="store", type="string",
- dest="filename",
- help="read/write a different file")
- parser.add_option("-v", "--verbose",
- action="store_true", dest="verbose", default=False,
- help="print verbose status messages to stdout")
- (options, args) = parser.parse_args()
- if len(args) < 2:
- parser.error("not enough argument")
-
- # get pkgs to change
- if args[0] not in actions.keys():
- parser.error("first argument must be 'markauto' or 'unmarkauto'")
- pkgs = args[1:]
- action = actions[args[0]]
-
- # get the state-file
- if not options.filename:
- STATE_FILE = apt_pkg.Config.FindDir("Dir::State") + "extended_states"
- else:
- STATE_FILE=options.filename
+def show_automatic(filename):
+ if not os.path.exists(STATE_FILE):
+ return
+ auto = set()
+ tagfile = apt_pkg.ParseTagFile(open(STATE_FILE))
+ while tagfile.Step():
+ pkgname = tagfile.Section.get("Package")
+ autoInst = tagfile.Section.get("Auto-Installed")
+ if int(autoInst):
+ auto.add(pkgname)
+ print "\n".join(sorted(auto))
+
+def mark_unmark_automatic(filename, action, pkgs):
+ " mark or unmark automatic flag"
# open the statefile
if os.path.exists(STATE_FILE):
tagfile = apt_pkg.ParseTagFile(open(STATE_FILE))
@@ -63,3 +50,34 @@ if __name__ == "__main__":
os.chmod(outfile.name, 0644)
os.rename(outfile.name, STATE_FILE)
os.chmod(STATE_FILE, 0644)
+
+
+if __name__ == "__main__":
+ apt_pkg.init()
+
+ # option parsing
+ parser = OptionParser()
+ parser.usage = "%prog [options] {markauto|unmarkauto} packages..."
+ parser.add_option("-f", "--file", action="store", type="string",
+ dest="filename",
+ help="read/write a different file")
+ parser.add_option("-v", "--verbose",
+ action="store_true", dest="verbose", default=False,
+ help="print verbose status messages to stdout")
+ (options, args) = parser.parse_args()
+
+ # get the state-file
+ if not options.filename:
+ STATE_FILE = apt_pkg.Config.FindDir("Dir::State") + "extended_states"
+ else:
+ STATE_FILE=options.filename
+
+ if args[0] == "showauto":
+ show_automatic(STATE_FILE)
+ else:
+ # get pkgs to change
+ if args[0] not in actions.keys():
+ parser.error("first argument must be 'markauto', 'unmarkauto' or 'showauto'")
+ pkgs = args[1:]
+ action = actions[args[0]]
+ mark_unmark_automatic(STATE_FILE, action, pkgs)
diff --git a/cmdline/apt-sortpkgs.cc b/cmdline/apt-sortpkgs.cc
index 7b2a74aed..171b0ba13 100644
--- a/cmdline/apt-sortpkgs.cc
+++ b/cmdline/apt-sortpkgs.cc
@@ -31,7 +31,7 @@
using namespace std;
-struct PkgName
+struct PkgName /*{{{*/
{
string Name;
string Ver;
@@ -55,7 +55,7 @@ struct PkgName
bool operator >(const PkgName &x) const {return Compare3(x) > 0;};
bool operator ==(const PkgName &x) const {return Compare3(x) == 0;};
};
-
+ /*}}}*/
// DoIt - Sort a single file /*{{{*/
// ---------------------------------------------------------------------
/* */
@@ -161,8 +161,7 @@ int ShowHelp()
return 0;
}
/*}}}*/
-
-int main(int argc,const char *argv[])
+int main(int argc,const char *argv[]) /*{{{*/
{
CommandLine::Args Args[] = {
{'h',"help","help",0},
@@ -206,3 +205,4 @@ int main(int argc,const char *argv[])
return 0;
}
+ /*}}}*/