- move common code in apt-cache/shell to cmdline
authorpmatilai <pmatilai>
Mon, 21 Aug 2006 22:04:44 +0000 (22:04 +0000)
committerpmatilai <pmatilai>
Mon, 21 Aug 2006 22:04:44 +0000 (22:04 +0000)
- make searchfile and whatprovides available in apt-shell
- fix some usage texts
- we want DoList() from apt-shell in apt-cache eventually so move it to cmdline
  as well, not used yet
- update translations

13 files changed:
cmdline/Makefile.am
cmdline/Makefile.in
cmdline/apt-cache.cc
cmdline/apt-shell.cc
cmdline/cmdline.cc
cmdline/cmdline.h
configure
po/de_DE.po
po/es_ES.po
po/it_IT.po
po/ja.po
po/pt_BR.po
po/ru.po

index db99a71..31457d9 100644 (file)
@@ -13,7 +13,7 @@ endif
 LDADD = ../apt-pkg/libapt-pkg.la $(RPMLIBS)
 
 apt_get_SOURCES = apt-get.cc acqprogress.cc acqprogress.h cmdline.cc cmdline.h
-apt_cache_SOURCES = apt-cache.cc
+apt_cache_SOURCES = apt-cache.cc cmdline.cc cmdline.h
 apt_shell_SOURCES = apt-shell.cc acqprogress.cc acqprogress.h cmdline.cc cmdline.h
 apt_shell_LDADD = $(LDADD) -lreadline -lncurses
 apt_config_SOURCES = apt-config.cc
index f589205..1470c06 100644 (file)
@@ -61,13 +61,13 @@ CONFIG_CLEAN_FILES =
 am__installdirs = "$(DESTDIR)$(bindir)"
 binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 PROGRAMS = $(bin_PROGRAMS)
-am_apt_cache_OBJECTS = apt-cache.$(OBJEXT)
+am_apt_cache_OBJECTS = apt-cache.$(OBJEXT) cmdline.$(OBJEXT)
 apt_cache_OBJECTS = $(am_apt_cache_OBJECTS)
 apt_cache_LDADD = $(LDADD)
 am__DEPENDENCIES_1 =
 apt_cache_DEPENDENCIES = ../apt-pkg/libapt-pkg.la \
        $(am__DEPENDENCIES_1)
-am__objects_1 = apt-cache.$(OBJEXT)
+am__objects_1 = apt-cache.$(OBJEXT) cmdline.$(OBJEXT)
 am_apt_cache_static_OBJECTS = $(am__objects_1)
 apt_cache_static_OBJECTS = $(am_apt_cache_static_OBJECTS)
 apt_cache_static_LDADD = $(LDADD)
@@ -274,7 +274,7 @@ target_alias = @target_alias@
 EXTRA_DIST = indexcopy.cc indexcopy.h
 LDADD = ../apt-pkg/libapt-pkg.la $(RPMLIBS)
 apt_get_SOURCES = apt-get.cc acqprogress.cc acqprogress.h cmdline.cc cmdline.h
-apt_cache_SOURCES = apt-cache.cc
+apt_cache_SOURCES = apt-cache.cc cmdline.cc cmdline.h
 apt_shell_SOURCES = apt-shell.cc acqprogress.cc acqprogress.h cmdline.cc cmdline.h
 apt_shell_LDADD = $(LDADD) -lreadline -lncurses
 apt_config_SOURCES = apt-config.cc
index abd2350..e7952cc 100644 (file)
@@ -43,6 +43,7 @@
 // CNC:2003-11-23
 #include <apt-pkg/luaiface.h>
     
+#include "cmdline.h"
                                                                        /*}}}*/
 
 using namespace std;
@@ -50,32 +51,6 @@ using namespace std;
 pkgCache *GCache = 0;
 pkgSourceList *SrcList = 0;
 
-// LocalitySort - Sort a version list by package file locality         /*{{{*/
-// ---------------------------------------------------------------------
-/* */
-int LocalityCompare(const void *a, const void *b)
-{
-   pkgCache::VerFile *A = *(pkgCache::VerFile **)a;
-   pkgCache::VerFile *B = *(pkgCache::VerFile **)b;
-   
-   if (A == 0 && B == 0)
-      return 0;
-   if (A == 0)
-      return 1;
-   if (B == 0)
-      return -1;
-   
-   if (A->File == B->File)
-      return A->Offset - B->Offset;
-   return A->File - B->File;
-}
-
-void LocalitySort(pkgCache::VerFile **begin,
-                 unsigned long Count,size_t Size)
-{   
-   qsort(begin,Count,Size,LocalityCompare);
-}
-                                                                       /*}}}*/
 // CNC:2003-11-23
 // Script - Scripting stuff.                                           /*{{{*/
 // ---------------------------------------------------------------------
@@ -99,88 +74,7 @@ bool Script(CommandLine &CmdL)
 /* */
 bool UnMet(CommandLine &CmdL)
 {
-   pkgCache &Cache = *GCache;
-   bool Important = _config->FindB("APT::Cache::Important",false);
-   
-   for (pkgCache::PkgIterator P = Cache.PkgBegin(); P.end() == false; P++)
-   {
-      for (pkgCache::VerIterator V = P.VersionList(); V.end() == false; V++)
-      {
-        bool Header = false;
-        for (pkgCache::DepIterator D = V.DependsList(); D.end() == false;)
-        {
-           // Collect or groups
-           pkgCache::DepIterator Start;
-           pkgCache::DepIterator End;
-           D.GlobOr(Start,End);
-           
-           // Skip conflicts and replaces
-           if (End->Type != pkgCache::Dep::PreDepends &&
-               End->Type != pkgCache::Dep::Depends && 
-               End->Type != pkgCache::Dep::Suggests &&
-               End->Type != pkgCache::Dep::Recommends)
-              continue;
-
-           // Important deps only
-           if (Important == true)
-              if (End->Type != pkgCache::Dep::PreDepends &&
-                  End->Type != pkgCache::Dep::Depends)
-                 continue;
-           
-           // Verify the or group
-           bool OK = false;
-           pkgCache::DepIterator RealStart = Start;
-           do
-           {
-              // See if this dep is Ok
-              pkgCache::Version **VList = Start.AllTargets();
-              if (*VList != 0)
-              {
-                 OK = true;
-                 delete [] VList;
-                 break;
-              }
-              delete [] VList;
-              
-              if (Start == End)
-                 break;
-              Start++;
-           }
-           while (1);
-
-           // The group is OK
-           if (OK == true)
-              continue;
-           
-           // Oops, it failed..
-           if (Header == false)
-              ioprintf(cout,_("Package %s version %s has an unmet dep:\n"),
-                       P.Name(),V.VerStr());
-           Header = true;
-           
-           // Print out the dep type
-           cout << " " << End.DepType() << ": ";
-
-           // Show the group
-           Start = RealStart;
-           do
-           {
-              cout << Start.TargetPkg().Name();
-              if (Start.TargetVer() != 0)
-                 cout << " (" << Start.CompType() << " " << Start.TargetVer() <<
-                 ")";
-              if (Start == End)
-                 break;
-              cout << " | ";
-              Start++;
-           }
-           while (1);
-           
-           cout << endl;
-        }       
-      }
-   }   
-   return true;
+   return cmdUnMet(CmdL, *GCache);
 }
                                                                        /*}}}*/
 // DumpPackage - Show a dump of a package record                       /*{{{*/
@@ -188,61 +82,7 @@ bool UnMet(CommandLine &CmdL)
 /* */
 bool DumpPackage(CommandLine &CmdL)
 {   
-   pkgCache &Cache = *GCache;
-   for (const char **I = CmdL.FileList + 1; *I != 0; I++)
-   {
-      pkgCache::PkgIterator Pkg = Cache.FindPkg(*I);
-      if (Pkg.end() == true)
-      {
-        _error->Warning(_("Unable to locate package %s"),*I);
-        continue;
-      }
-
-      cout << "Package: " << Pkg.Name() << endl;
-      cout << "Versions: " << endl;
-      for (pkgCache::VerIterator Cur = Pkg.VersionList(); Cur.end() != true; Cur++)
-      {
-        cout << Cur.VerStr() << "." << Cur.Arch();
-        for (pkgCache::VerFileIterator Vf = Cur.FileList(); Vf.end() == false; Vf++)
-           cout << "(" << Vf.File().FileName() << ")";
-        cout << endl;
-      }
-      
-      cout << endl;
-      
-      cout << "Reverse Depends: " << endl;
-      for (pkgCache::DepIterator D = Pkg.RevDependsList(); D.end() != true; D++)
-      {
-        cout << "  " << D.ParentPkg().Name() << ',' << D.TargetPkg().Name();
-        if (D->Version != 0)
-           cout << ' ' << DeNull(D.TargetVer()) << endl;
-        else
-           cout << endl;
-      }
-      
-      cout << "Dependencies: " << endl;
-      for (pkgCache::VerIterator Cur = Pkg.VersionList(); Cur.end() != true; Cur++)
-      {
-        cout << Cur.VerStr() << " - ";
-        for (pkgCache::DepIterator Dep = Cur.DependsList(); Dep.end() != true; Dep++)
-           cout << Dep.TargetPkg().Name() << " (" << (int)Dep->CompareOp << " " << DeNull(Dep.TargetVer()) << ") ";
-        cout << endl;
-      }      
-
-      cout << "Provides: " << endl;
-      for (pkgCache::VerIterator Cur = Pkg.VersionList(); Cur.end() != true; Cur++)
-      {
-        cout << Cur.VerStr() << " - ";
-        for (pkgCache::PrvIterator Prv = Cur.ProvidesList(); Prv.end() != true; Prv++)
-           cout << Prv.ParentPkg().Name() << " ";
-        cout << endl;
-      }
-      cout << "Reverse Provides: " << endl;
-      for (pkgCache::PrvIterator Prv = Pkg.ProvidesList(); Prv.end() != true; Prv++)
-        cout << Prv.OwnerPkg().Name() << " " << Prv.OwnerVer().VerStr() << endl;            
-   }
-
-   return true;
+   return cmdDumpPackage(CmdL, *GCache);
 }
                                                                        /*}}}*/
 // Stats - Dump some nice statistics                                   /*{{{*/
@@ -547,399 +387,25 @@ bool DumpAvail(CommandLine &Cmd)
    return !_error->PendingError();
 }
                                                                        /*}}}*/
-// Depends - Print out a dependency tree                               /*{{{*/
-// ---------------------------------------------------------------------
-/* */
 bool Depends(CommandLine &CmdL)
 {
-   pkgCache &Cache = *GCache;
-   SPtrArray<unsigned> Colours = new unsigned[Cache.Head().PackageCount];
-   memset(Colours,0,sizeof(*Colours)*Cache.Head().PackageCount);
-   
-   for (const char **I = CmdL.FileList + 1; *I != 0; I++)
-   {
-      pkgCache::PkgIterator Pkg = Cache.FindPkg(*I);
-      if (Pkg.end() == true)
-      {
-        _error->Warning(_("Unable to locate package %s"),*I);
-        continue;
-      }
-      Colours[Pkg->ID] = 1;
-   }
-   
-   bool Recurse = _config->FindB("APT::Cache::RecurseDepends",false);
-   bool Installed = _config->FindB("APT::Cache::Installed",false);
-   bool DidSomething;
-   do
-   {
-      DidSomething = false;
-      for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; Pkg++)
-      {
-        if (Colours[Pkg->ID] != 1)
-           continue;
-        Colours[Pkg->ID] = 2;
-        DidSomething = true;
-        
-        pkgCache::VerIterator Ver = Pkg.VersionList();
-        if (Ver.end() == true)
-        {
-           cout << '<' << Pkg.Name() << '>' << endl;
-           continue;
-        }
-        
-        // CNC:2003-03-03
-        cout << Pkg.Name() << "-" << Ver.VerStr() << endl;
-        
-        for (pkgCache::DepIterator D = Ver.DependsList(); D.end() == false; D++)
-        {
-
-           pkgCache::PkgIterator Trg = D.TargetPkg();
-
-           if((Installed && Trg->CurrentVer != 0) || !Installed)
-             {
-
-               if ((D->CompareOp & pkgCache::Dep::Or) == pkgCache::Dep::Or)
-                 cout << " |";
-               else
-                 cout << "  ";
-           
-               // Show the package
-               if (Trg->VersionList == 0)
-                  cout << D.DepType() << ": <" << Trg.Name() << ">" << endl;
-               // CNC:2003-03-03
-               else if (D.TargetVer() == 0)
-                  cout << D.DepType() << ": " << Trg.Name() << endl;
-               else
-                  cout << D.DepType() << ": " << Trg.Name()
-                       << " " << D.CompType() << " " << D.TargetVer() << endl;
-           
-               if (Recurse == true)
-                 Colours[D.TargetPkg()->ID]++;
-
-             }
-           
-           // Display all solutions
-           SPtrArray<pkgCache::Version *> List = D.AllTargets();
-           pkgPrioSortList(Cache,List);
-           for (pkgCache::Version **I = List; *I != 0; I++)
-           {
-              pkgCache::VerIterator V(Cache,*I);
-              if (V != Cache.VerP + V.ParentPkg()->VersionList ||
-                  V->ParentPkg == D->Package)
-                 continue;
-              // CNC:2003-03-03
-              cout << "    " << V.ParentPkg().Name()
-                   << "-" << V.VerStr() << endl;
-              
-              if (Recurse == true)
-                 Colours[D.ParentPkg()->ID]++;
-           }
-        }
-      }      
-   }   
-   while (DidSomething == true);
-   
-   return true;
+   return cmdDepends(CmdL, *GCache);
 }
 
-// RDepends - Print out a reverse dependency tree - mbc                        /*{{{*/
-// ---------------------------------------------------------------------
-/* */
 bool RDepends(CommandLine &CmdL)
 {
-   pkgCache &Cache = *GCache;
-   SPtrArray<unsigned> Colours = new unsigned[Cache.Head().PackageCount];
-   memset(Colours,0,sizeof(*Colours)*Cache.Head().PackageCount);
-   
-   for (const char **I = CmdL.FileList + 1; *I != 0; I++)
-   {
-      pkgCache::PkgIterator Pkg = Cache.FindPkg(*I);
-      if (Pkg.end() == true)
-      {
-        _error->Warning(_("Unable to locate package %s"),*I);
-        continue;
-      }
-      Colours[Pkg->ID] = 1;
-   }
-   
-   bool Recurse = _config->FindB("APT::Cache::RecurseDepends",false);
-   bool Installed = _config->FindB("APT::Cache::Installed",false);
-   bool DidSomething;
-   do
-   {
-      DidSomething = false;
-      for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; Pkg++)
-      {
-        if (Colours[Pkg->ID] != 1)
-           continue;
-        Colours[Pkg->ID] = 2;
-        DidSomething = true;
-        
-        pkgCache::VerIterator Ver = Pkg.VersionList();
-        if (Ver.end() == true)
-        {
-           cout << '<' << Pkg.Name() << '>' << endl;
-           continue;
-        }
-        
-        cout << Pkg.Name() << endl;
-        
-        cout << "Reverse Depends:" << endl;
-        for (pkgCache::DepIterator D = Pkg.RevDependsList(); D.end() == false; D++)
-        {          
-           // Show the package
-           pkgCache::PkgIterator Trg = D.ParentPkg();
-
-           if((Installed && Trg->CurrentVer != 0) || !Installed)
-             {
-
-               if ((D->CompareOp & pkgCache::Dep::Or) == pkgCache::Dep::Or)
-                 cout << " |";
-               else
-                 cout << "  ";
-
-               if (Trg->VersionList == 0)
-                 cout << D.DepType() << ": <" << Trg.Name() << ">" << endl;
-               else
-                 cout << Trg.Name() << endl;
-
-               if (Recurse == true)
-                 Colours[D.ParentPkg()->ID]++;
-
-             }
-           
-           // Display all solutions
-           SPtrArray<pkgCache::Version *> List = D.AllTargets();
-           pkgPrioSortList(Cache,List);
-           for (pkgCache::Version **I = List; *I != 0; I++)
-           {
-              pkgCache::VerIterator V(Cache,*I);
-              if (V != Cache.VerP + V.ParentPkg()->VersionList ||
-                  V->ParentPkg == D->Package)
-                 continue;
-              cout << "    " << V.ParentPkg().Name() << endl;
-              
-              if (Recurse == true)
-                 Colours[D.ParentPkg()->ID]++;
-           }
-        }
-      }      
-   }   
-   while (DidSomething == true);
-   
-   return true;
+   return cmdRDepends(CmdL, *GCache);
 }
 
-                                                                       /*}}}*/
-// CNC:2003-02-19
-// WhatDepends - Print out a reverse dependency tree                   /*{{{*/
-// ---------------------------------------------------------------------
-/* */
 bool WhatDepends(CommandLine &CmdL)
 {
-   pkgCache &Cache = *GCache;
-   SPtrArray<unsigned> Colours = new unsigned[Cache.Head().PackageCount];
-   memset(Colours,0,sizeof(*Colours)*Cache.Head().PackageCount);
-   
-   for (const char **I = CmdL.FileList + 1; *I != 0; I++)
-   {
-      pkgCache::PkgIterator Pkg = Cache.FindPkg(*I);
-      if (Pkg.end() == true)
-      {
-        _error->Warning(_("Unable to locate package %s"),*I);
-        continue;
-      }
-      Colours[Pkg->ID] = 1;
-   }
-   
-   bool Recurse = _config->FindB("APT::Cache::RecurseDepends",false);
-   bool DidSomething;
-   do
-   {
-      DidSomething = false;
-      for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; Pkg++)
-      {
-        if (Colours[Pkg->ID] != 1)
-           continue;
-        Colours[Pkg->ID] = 2;
-        DidSomething = true;
-        
-        pkgCache::VerIterator Ver = Pkg.VersionList();
-        if (Ver.end() == true)
-           cout << '<' << Pkg.Name() << '>' << endl;
-        else
-           cout << Pkg.Name() << "-" << Ver.VerStr() << endl;
-
-        SPtrArray<unsigned> LocalColours = 
-                    new unsigned[Cache.Head().PackageCount];
-        memset(LocalColours,0,sizeof(*LocalColours)*Cache.Head().PackageCount);
-           
-        // Display all dependencies directly on the package.
-        for (pkgCache::DepIterator RD = Pkg.RevDependsList();
-             RD.end() == false; RD++)
-        {
-           pkgCache::PkgIterator Parent = RD.ParentPkg();
-
-           if (LocalColours[Parent->ID] == 1)
-              continue;
-           LocalColours[Parent->ID] = 1;
-              
-           if (Ver.end() == false && RD.TargetVer() &&
-               Cache.VS->CheckDep(Ver.VerStr(),RD) == false)
-              continue;
-
-           if (Recurse == true && Colours[Parent->ID] == 0)
-              Colours[Parent->ID] = 1;
-
-           pkgCache::VerIterator ParentVer = Parent.VersionList();
-
-           // Show the package
-           cout << "  " << Parent.Name()
-                << "-" << ParentVer.VerStr() << endl;
-
-           // Display all dependencies from that package that relate
-           // to the queried package.
-           for (pkgCache::DepIterator D = ParentVer.DependsList();
-                D.end() == false; D++)
-           {
-              // If this is a virtual package, there's no provides.
-              if (Ver.end() == true) {
-                 // If it's not the same package, and there's no provides
-                 // skip that package.
-                 if (D.TargetPkg() != Pkg)
-                    continue;
-              } else if (D.TargetPkg() != Pkg ||
-                         Cache.VS->CheckDep(Ver.VerStr(),D) == false) {
-                 // Oops. Either it's not the same package, or the
-                 // version didn't match. Check virtual provides from
-                 // the queried package version and verify if this
-                 // dependency matches one of those.
-                 bool Hit = false;
-                 for (pkgCache::PrvIterator Prv = Ver.ProvidesList();
-                      Prv.end() == false; Prv++) {
-                    if (Prv.ParentPkg() == D.TargetPkg() &&
-                        (Prv.ParentPkg()->VersionList == 0 ||
-                         Cache.VS->CheckDep(Prv.ProvideVersion(),D)==false)) {
-                       Hit = true;
-                       break;
-                    }
-                 }
-                 if (Hit == false)
-                    continue;
-              }
-
-              // Bingo!
-              pkgCache::PkgIterator Trg = D.TargetPkg();
-              if (Trg->VersionList == 0)
-                 cout << "    " << D.DepType()
-                                << ": <" << Trg.Name() << ">" << endl;
-              else if (D.TargetVer() == 0)
-                 cout << "    " << D.DepType()
-                                << ": " << Trg.Name() << endl;
-              else
-                 cout << "    " << D.DepType()
-                                << ": " << Trg.Name()
-                                << " " << D.CompType() << " "
-                                << D.TargetVer() << endl;
-
-              // Display all solutions
-              SPtrArray<pkgCache::Version *> List = D.AllTargets();
-              pkgPrioSortList(Cache,List);
-              for (pkgCache::Version **I = List; *I != 0; I++)
-              {
-                 pkgCache::VerIterator V(Cache,*I);
-                 if (V != Cache.VerP + V.ParentPkg()->VersionList ||
-                     V->ParentPkg == D->Package)
-                    continue;
-                 cout << "      " << V.ParentPkg().Name()
-                      << "-" << V.VerStr() << endl;
-                 
-                 if (Recurse == true)
-                    Colours[D.ParentPkg()->ID]++;
-              }
-           }
-        }
-
-        // Is this a virtual package the user queried directly?
-        if (Ver.end())
-           continue;
-
-        // Display all dependencies on virtual provides, which were not
-        // yet shown in the step above.
-        for (pkgCache::PrvIterator RDPrv = Ver.ProvidesList();
-             RDPrv.end() == false; RDPrv++) {
-           for (pkgCache::DepIterator RD = RDPrv.ParentPkg().RevDependsList();
-                RD.end() == false; RD++)
-           {
-              pkgCache::PkgIterator Parent = RD.ParentPkg();
-
-              if (LocalColours[Parent->ID] == 1)
-                 continue;
-              LocalColours[Parent->ID] = 1;
-                 
-              if (Ver.end() == false &&
-                  Cache.VS->CheckDep(Ver.VerStr(),RD) == false)
-                 continue;
-
-              if (Recurse == true && Colours[Parent->ID] == 0)
-                 Colours[Parent->ID] = 1;
-
-              pkgCache::VerIterator ParentVer = Parent.VersionList();
-
-              // Show the package
-              cout << "  " << Parent.Name()
-                   << "-" << ParentVer.VerStr() << endl;
-
-              for (pkgCache::DepIterator D = ParentVer.DependsList();
-                   D.end() == false; D++)
-              {
-                 // Go on if it's the same package and version or
-                 // if it's the same package and has no versions
-                 // (a virtual package).
-                 if (D.TargetPkg() != RDPrv.ParentPkg() ||
-                     (RDPrv.ProvideVersion() != 0 &&
-                      Cache.VS->CheckDep(RDPrv.ProvideVersion(),D) == false))
-                    continue;
-
-                 // Bingo!
-                 pkgCache::PkgIterator Trg = D.TargetPkg();
-                 if (Trg->VersionList == 0)
-                    cout << "    " << D.DepType()
-                                   << ": <" << Trg.Name() << ">" << endl;
-                 else if (D.TargetVer() == 0)
-                    cout << "    " << D.DepType()
-                                   << ": " << Trg.Name() << endl;
-                 else
-                    cout << "    " << D.DepType()
-                                   << ": " << Trg.Name()
-                                   << " " << D.CompType() << " "
-                                   << D.TargetVer() << endl;
+   return cmdWhatDepends(CmdL, *GCache);
+}
 
-                 // Display all solutions
-                 SPtrArray<pkgCache::Version *> List = D.AllTargets();
-                 pkgPrioSortList(Cache,List);
-                 for (pkgCache::Version **I = List; *I != 0; I++)
-                 {
-                    pkgCache::VerIterator V(Cache,*I);
-                    if (V != Cache.VerP + V.ParentPkg()->VersionList ||
-                        V->ParentPkg == D->Package)
-                       continue;
-                    cout << "      " << V.ParentPkg().Name()
-                         << "-" << V.VerStr() << endl;
-                    
-                    if (Recurse == true)
-                       Colours[D.ParentPkg()->ID]++;
-                 }
-              }
-           }
-        }
-      } 
-   }
-   while (DidSomething == true);
-   
-   return true;
+bool WhatProvides(CommandLine &CmdL)
+{
+   return cmdWhatProvides(CmdL, *GCache);
 }
-                                                                       /*}}}*/
 
 // xvcg - Generate a graph for xvcg                                    /*{{{*/
 // ---------------------------------------------------------------------
@@ -1158,55 +624,6 @@ bool XVcg(CommandLine &CmdL)
                                                                        /*}}}*/
 
 
-// WhatProvides - Show all packages that provide the given (virtual) package
-// ---------------------------------------------------------------------
-/* */
-bool WhatProvides(CommandLine &CmdL)
-{
-  pkgCache &Cache = *GCache;
-  bool    found;
-
-  for (const char **I = CmdL.FileList + 1; *I != 0; I++)
-  {
-       cout << "<" << *I << ">" << endl;
-       found = false;
-       for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; Pkg++)
-       {
-           for (pkgCache::VerIterator Ver = Pkg.VersionList(); !Ver.end(); Ver++)
-           {
-                if (!strcmp(Pkg.Name(), *I))
-                {
-                     // match on real package, ignore any provides in the package
-                     // since they would be meaningless
-                     cout << "  " << Pkg.Name() << "-" << Ver.VerStr() << endl;
-                     found = true;
-                }
-                else
-                {
-                     // seach in package's provides list
-                     for (pkgCache::PrvIterator Prv = Ver.ProvidesList(); Prv.end() == false; Prv++)
-                     {
-                          if (!strcmp(Prv.Name(), *I))
-                          {
-                               cout << "  " << Pkg.Name() << "-" << Ver.VerStr() << endl;
-                               cout << "    Provides: <" << Prv.Name();
-                               if (Prv.ProvideVersion() != 0)
-                                       cout << " = " << Prv.ProvideVersion();
-                               cout << ">" << endl;
-                               found = true;
-                          }
-                     }
-                }
-           }
-       }
-       
-       if (!found)
-           cout << "  nothing provides <" << *I << ">" << endl;
-  }
-  
-  return true;
-}
-                                                                 /*}}}*/
 // Dotty - Generate a graph for Dotty                                  /*{{{*/
 // ---------------------------------------------------------------------
 /* Dotty is the graphvis program for generating graphs. It is a fairly
@@ -1476,279 +893,28 @@ bool DoAdd(CommandLine &CmdL)
    It is not used by DumpAvail for performance reasons. */
 bool DisplayRecord(pkgCache::VerIterator V)
 {
-   // Find an appropriate file
-   pkgCache::VerFileIterator Vf = V.FileList();
-   for (; Vf.end() == false; Vf++)
-      if ((Vf.File()->Flags & pkgCache::Flag::NotSource) == 0)
-        break;
-   if (Vf.end() == true)
-      Vf = V.FileList();
-      
-// CNC:2002-07-24
-#if HAVE_RPM
-   pkgRecords Recs(*GCache);
-   pkgRecords::Parser &P = Recs.Lookup(Vf);
-   const char *Start;
-   const char *End;
-   P.GetRec(Start,End);
-   cout << string(Start,End-Start) << endl;
-#else
-   // Check and load the package list file
-   pkgCache::PkgFileIterator I = Vf.File();
-   if (I.IsOk() == false)
-      return _error->Error(_("Package file %s is out of sync."),I.FileName());
-   
-   FileFd PkgF(I.FileName(),FileFd::ReadOnly);
-   if (_error->PendingError() == true)
-      return false;
-   
-   // Read the record and then write it out again.
-   unsigned char *Buffer = new unsigned char[GCache->HeaderP->MaxVerFileSize+1];
-   Buffer[V.FileList()->Size] = '\n';
-   if (PkgF.Seek(V.FileList()->Offset) == false ||
-       PkgF.Read(Buffer,V.FileList()->Size) == false ||
-       fwrite(Buffer,1,V.FileList()->Size+1,stdout) < V.FileList()->Size+1)
-   {
-      delete [] Buffer;
-      return false;
-   }
-   
-   delete [] Buffer;
-#endif
-
-   return true;
+   return cmdDisplayRecord(V, *GCache);
 }
                                                                        /*}}}*/
 // Search - Perform a search                                           /*{{{*/
 // ---------------------------------------------------------------------
 /* This searches the package names and pacakge descriptions for a pattern */
-struct ExVerFile
+bool Search(CommandLine &CmdL)
 {
-   pkgCache::VerFile *Vf;
-   bool NameMatch;
-};
-
+   return cmdSearch(CmdL, *GCache);
+}
+                                                                       /*}}}*/
 bool SearchFile(CommandLine &CmdL)
 {
-   pkgCache &Cache = *GCache;
-   pkgRecords Recs(Cache);
-   pkgDepCache::Policy Plcy;
-
-   for (const char **I = CmdL.FileList + 1; *I != 0; I++) {
-      pkgCache::PkgIterator Pkg = Cache.PkgBegin();
-      for (; Pkg.end() == false; Pkg++) {
-        if (_config->FindB("APT::Cache::AllVersions", false) == true) {
-           pkgCache::VerIterator Ver = Pkg.VersionList();
-           for (; Ver.end() == false; Ver++) {
-              pkgRecords::Parser &Parse = Recs.Lookup(Ver.FileList());
-              if (Parse.HasFile(*I)) {
-                 cout << *I << " " << Pkg.Name() << "-" << Ver.VerStr() << endl;
-              }
-           }
-        } else {
-           pkgCache::VerIterator Ver = Plcy.GetCandidateVer(Pkg);
-           if (Ver.end() == false) {
-              pkgRecords::Parser &Parse = Recs.Lookup(Ver.FileList());
-              if (Parse.HasFile(*I)) {
-                 cout << *I << " " << Pkg.Name() << "-" << Ver.VerStr() << endl;
-              }
-           }
-        }
-      }
-   }
-
-   return true;
+   return cmdSearchFile(CmdL, *GCache);
 }
 
-bool Search(CommandLine &CmdL)
-{
-   pkgCache &Cache = *GCache;
-   bool ShowFull = _config->FindB("APT::Cache::ShowFull",false);
-   bool NamesOnly = _config->FindB("APT::Cache::NamesOnly",false);
-   unsigned NumPatterns = CmdL.FileSize() -1;
-   
-   pkgDepCache::Policy Plcy;
-   
-   // Make sure there is at least one argument
-   if (NumPatterns < 1)
-      return _error->Error(_("You must give exactly one pattern"));
-   
-   // Compile the regex pattern
-   regex_t *Patterns = new regex_t[NumPatterns];
-   memset(Patterns,0,sizeof(*Patterns)*NumPatterns);
-   for (unsigned I = 0; I != NumPatterns; I++)
-   {
-      if (regcomp(&Patterns[I],CmdL.FileList[I+1],REG_EXTENDED | REG_ICASE | 
-                 REG_NOSUB) != 0)
-      {
-        for (; I != 0; I--)
-           regfree(&Patterns[I]);
-        return _error->Error("Regex compilation error");
-      }      
-   }
-   
-   // Create the text record parser
-   pkgRecords Recs(Cache);
-   if (_error->PendingError() == true)
-   {
-      for (unsigned I = 0; I != NumPatterns; I++)
-        regfree(&Patterns[I]);
-      return false;
-   }
-   
-   ExVerFile *VFList = new ExVerFile[Cache.HeaderP->PackageCount+1];
-   memset(VFList,0,sizeof(*VFList)*Cache.HeaderP->PackageCount+1);
-
-   // Map versions that we want to write out onto the VerList array.
-   for (pkgCache::PkgIterator P = Cache.PkgBegin(); P.end() == false; P++)
-   {
-      VFList[P->ID].NameMatch = NumPatterns != 0;
-      for (unsigned I = 0; I != NumPatterns; I++)
-      {
-        if (regexec(&Patterns[I],P.Name(),0,0,0) == 0)
-           VFList[P->ID].NameMatch &= true;
-        else
-           VFList[P->ID].NameMatch = false;
-      }
-        
-      // Doing names only, drop any that dont match..
-      if (NamesOnly == true && VFList[P->ID].NameMatch == false)
-        continue;
-        
-      // Find the proper version to use. 
-      pkgCache::VerIterator V = Plcy.GetCandidateVer(P);
-      if (V.end() == false)
-        VFList[P->ID].Vf = V.FileList();
-   }
-      
-   // Include all the packages that provide matching names too
-   for (pkgCache::PkgIterator P = Cache.PkgBegin(); P.end() == false; P++)
-   {
-      if (VFList[P->ID].NameMatch == false)
-        continue;
-
-      for (pkgCache::PrvIterator Prv = P.ProvidesList() ; Prv.end() == false; Prv++)
-      {
-        pkgCache::VerIterator V = Plcy.GetCandidateVer(Prv.OwnerPkg());
-        if (V.end() == false)
-        {
-           VFList[Prv.OwnerPkg()->ID].Vf = V.FileList();
-           VFList[Prv.OwnerPkg()->ID].NameMatch = true;
-        }
-      }
-   }
-
-   LocalitySort(&VFList->Vf,Cache.HeaderP->PackageCount,sizeof(*VFList));
-
-   // Iterate over all the version records and check them
-   for (ExVerFile *J = VFList; J->Vf != 0; J++)
-   {
-      pkgRecords::Parser &P = Recs.Lookup(pkgCache::VerFileIterator(Cache,J->Vf));
-
-      bool Match = true;
-      if (J->NameMatch == false)
-      {
-        string LongDesc = P.LongDesc(); 
-        // CNC 2004-04-10
-        string ShortDesc = P.ShortDesc();
-        Match = NumPatterns != 0;
-        for (unsigned I = 0; I != NumPatterns; I++)
-        {
-           if (regexec(&Patterns[I],LongDesc.c_str(),0,0,0) == 0 ||
-               regexec(&Patterns[I],ShortDesc.c_str(),0,0,0) == 0)
-              Match &= true;
-           else
-              Match = false;
-        }
-      }
-      
-      if (Match == true)
-      {
-        if (ShowFull == true)
-        {
-           const char *Start;
-           const char *End;
-           P.GetRec(Start,End);
-           cout << string(Start,End-Start) << endl;
-        }       
-        else
-           cout << P.Name() << " - " << P.ShortDesc() << endl;
-      }
-   }
-   
-   delete [] VFList;
-   for (unsigned I = 0; I != NumPatterns; I++)
-      regfree(&Patterns[I]);
-   if (ferror(stdout))
-       return _error->Error("Write to stdout failed");
-   return true;
-}
-                                                                       /*}}}*/
 // ShowPackage - Dump the package record to the screen                 /*{{{*/
 // ---------------------------------------------------------------------
 /* */
 bool ShowPackage(CommandLine &CmdL)
 {   
-   pkgCache &Cache = *GCache;
-   pkgDepCache::Policy Plcy;
-
-   unsigned found = 0;
-   
-   for (const char **I = CmdL.FileList + 1; *I != 0; I++)
-   {
-      pkgCache::PkgIterator Pkg = Cache.FindPkg(*I);
-      if (Pkg.end() == true)
-      {
-        _error->Warning(_("Unable to locate package %s"),*I);
-        continue;
-      }
-
-      ++found;
-
-      // CNC:2004-07-09
-      // If it's a virtual package, require user to select similarly to apt-get
-      if (Pkg.VersionList().end() == true and Pkg->ProvidesList != 0)
-      {
-         ioprintf(cout, _("Package %s is a virtual package provided by:\n"),
-                  Pkg.Name());
-         for (pkgCache::PrvIterator Prv = Pkg.ProvidesList();
-             Prv.end() == false; Prv++)
-         {
-           pkgCache::VerIterator V = Plcy.GetCandidateVer(Prv.OwnerPkg());
-            if (V.end() == true)
-               continue;
-            if (V != Prv.OwnerVer())
-               continue;
-            cout << "  " << Prv.OwnerPkg().Name() << " " << V.VerStr() << endl;
-         }
-         cout << _("You should explicitly select one to show.") << endl;
-         _error->Error(_("Package %s is a virtual package with multiple providers."), Pkg.Name());
-         return false;
-      }
-
-      // Find the proper version to use.
-      if (_config->FindB("APT::Cache::AllVersions", false) == true)
-      {
-        pkgCache::VerIterator V;
-        for (V = Pkg.VersionList(); V.end() == false; V++)
-        {
-           if (DisplayRecord(V) == false)
-              return false;
-        }
-      }
-      else
-      {
-        pkgCache::VerIterator V = Plcy.GetCandidateVer(Pkg);
-        if (V.end() == true || V.FileList().end() == true)
-           continue;
-        if (DisplayRecord(V) == false)
-           return false;
-      }      
-   }
-
-   if (found > 0)
-        return true;
-   return _error->Error(_("No packages found"));
+   return cmdShowPackage(CmdL, *GCache);
 }
                                                                        /*}}}*/
 // ShowPkgNames - Show package names                                   /*{{{*/
@@ -1975,11 +1141,12 @@ bool ShowHelp(CommandLine &Cmd)
       "   dumpavail - Print an available file to stdout\n"
       "   unmet - Show unmet dependencies\n"
       "   search - Search the package list for a regex pattern\n"
+      "   searchfile - Search the packages for a file\n"
       "   show - Show a readable record for the package\n"
       "   depends - Show raw dependency information for a package\n"
-      "   whatdepends - Show packages depending on given items\n"
+      "   whatdepends - Show packages depending on given capabilities\n"
       // "   rdepends - Show reverse dependency information for a package\n"
-      "   whatprovides - Show packages that provide given items\n"
+      "   whatprovides - Show packages that provide given capabilities\n"
       "   pkgnames - List the names of all packages\n"
       "   dotty - Generate package graphs for GraphVis\n"
       "   xvcg - Generate package graphs for xvcg\n"
index 9cdc914..d91f5ca 100644 (file)
@@ -1817,32 +1817,6 @@ bool DoScript(CommandLine &CmdL)
 
 // --- Unchanged stuff from apt-cache.
 
-// LocalitySort - Sort a version list by package file locality         /*{{{*/
-// ---------------------------------------------------------------------
-/* */
-int LocalityCompare(const void *a, const void *b)
-{
-   pkgCache::VerFile *A = *(pkgCache::VerFile **)a;
-   pkgCache::VerFile *B = *(pkgCache::VerFile **)b;
-   
-   if (A == 0 && B == 0)
-      return 0;
-   if (A == 0)
-      return 1;
-   if (B == 0)
-      return -1;
-   
-   if (A->File == B->File)
-      return A->Offset - B->Offset;
-   return A->File - B->File;
-}
-
-void LocalitySort(pkgCache::VerFile **begin,
-                 unsigned long Count,size_t Size)
-{   
-   qsort(begin,Count,Size,LocalityCompare);
-}
-                                                                       /*}}}*/
 
 // Depends - Print out a dependency tree                               /*{{{*/
 // ---------------------------------------------------------------------
@@ -1852,94 +1826,7 @@ bool Depends(CommandLine &CmdL)
    if (CheckHelp(CmdL) == true)
       return true;
 
-   pkgCache &Cache = *GCache;
-   SPtrArray<unsigned> Colours = new unsigned[Cache.Head().PackageCount];
-   memset(Colours,0,sizeof(*Colours)*Cache.Head().PackageCount);
-   
-   for (const char **I = CmdL.FileList + 1; *I != 0; I++)
-   {
-      pkgCache::PkgIterator Pkg = Cache.FindPkg(*I);
-      if (Pkg.end() == true)
-      {
-        _error->Warning(_("Unable to locate package %s"),*I);
-        continue;
-      }
-      Colours[Pkg->ID] = 1;
-   }
-   
-   bool Recurse = _config->FindB("APT::Cache::RecurseDepends",false);
-   bool Installed = _config->FindB("APT::Cache::Installed",false);
-   bool DidSomething;
-   do
-   {
-      DidSomething = false;
-      for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; Pkg++)
-      {
-        if (Colours[Pkg->ID] != 1)
-           continue;
-        Colours[Pkg->ID] = 2;
-        DidSomething = true;
-        
-        pkgCache::VerIterator Ver = Pkg.VersionList();
-        if (Ver.end() == true)
-        {
-           cout << '<' << Pkg.Name() << '>' << endl;
-           continue;
-        }
-        
-        // CNC:2003-03-03
-        cout << Pkg.Name() << "-" << Ver.VerStr() << endl;
-        
-        for (pkgCache::DepIterator D = Ver.DependsList(); D.end() == false; D++)
-        {
-
-           pkgCache::PkgIterator Trg = D.TargetPkg();
-
-           if((Installed && Trg->CurrentVer != 0) || !Installed)
-             {
-
-               if ((D->CompareOp & pkgCache::Dep::Or) == pkgCache::Dep::Or)
-                 cout << " |";
-               else
-                 cout << "  ";
-           
-               // Show the package
-               if (Trg->VersionList == 0)
-                  cout << D.DepType() << ": <" << Trg.Name() << ">" << endl;
-               // CNC:2003-03-03
-               else if (D.TargetVer() == 0)
-                  cout << D.DepType() << ": " << Trg.Name() << endl;
-               else
-                  cout << D.DepType() << ": " << Trg.Name()
-                       << " " << D.CompType() << " " << D.TargetVer() << endl;
-           
-               if (Recurse == true)
-                 Colours[D.TargetPkg()->ID]++;
-
-             }
-           
-           // Display all solutions
-           SPtrArray<pkgCache::Version *> List = D.AllTargets();
-           pkgPrioSortList(Cache,List);
-           for (pkgCache::Version **I = List; *I != 0; I++)
-           {
-              pkgCache::VerIterator V(Cache,*I);
-              if (V != Cache.VerP + V.ParentPkg()->VersionList ||
-                  V->ParentPkg == D->Package)
-                 continue;
-              // CNC:2003-03-03
-              cout << "    " << V.ParentPkg().Name()
-                   << "-" << V.VerStr() << endl;
-              
-              if (Recurse == true)
-                 Colours[D.ParentPkg()->ID]++;
-           }
-        }
-      }      
-   }   
-   while (DidSomething == true);
-   
-   return true;
+   return cmdDepends(CmdL, *GCache);
 }
                                                                        /*}}}*/
 // RDepends - Print out a reverse dependency tree - mbc                        /*{{{*/
@@ -1950,87 +1837,7 @@ bool RDepends(CommandLine &CmdL)
    if (CheckHelp(CmdL) == true)
       return true;
 
-   pkgCache &Cache = *GCache;
-   SPtrArray<unsigned> Colours = new unsigned[Cache.Head().PackageCount];
-   memset(Colours,0,sizeof(*Colours)*Cache.Head().PackageCount);
-   
-   for (const char **I = CmdL.FileList + 1; *I != 0; I++)
-   {
-      pkgCache::PkgIterator Pkg = Cache.FindPkg(*I);
-      if (Pkg.end() == true)
-      {
-        _error->Warning(_("Unable to locate package %s"),*I);
-        continue;
-      }
-      Colours[Pkg->ID] = 1;
-   }
-   
-   bool Recurse = _config->FindB("APT::Cache::RecurseDepends",false);
-   bool Installed = _config->FindB("APT::Cache::Installed",false);
-   bool DidSomething;
-   do
-   {
-      DidSomething = false;
-      for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; Pkg++)
-      {
-        if (Colours[Pkg->ID] != 1)
-           continue;
-        Colours[Pkg->ID] = 2;
-        DidSomething = true;
-        
-        pkgCache::VerIterator Ver = Pkg.VersionList();
-        if (Ver.end() == true)
-        {
-           cout << '<' << Pkg.Name() << '>' << endl;
-           continue;
-        }
-        
-        cout << Pkg.Name() << endl;
-        
-        cout << "Reverse Depends:" << endl;
-        for (pkgCache::DepIterator D = Pkg.RevDependsList(); D.end() == false; D++)
-        {          
-           // Show the package
-           pkgCache::PkgIterator Trg = D.ParentPkg();
-
-           if((Installed && Trg->CurrentVer != 0) || !Installed)
-             {
-
-               if ((D->CompareOp & pkgCache::Dep::Or) == pkgCache::Dep::Or)
-                 cout << " |";
-               else
-                 cout << "  ";
-
-               if (Trg->VersionList == 0)
-                 cout << D.DepType() << ": <" << Trg.Name() << ">" << endl;
-               else
-                 cout << Trg.Name() << endl;
-
-               if (Recurse == true)
-                 Colours[D.ParentPkg()->ID]++;
-
-             }
-           
-           // Display all solutions
-           SPtrArray<pkgCache::Version *> List = D.AllTargets();
-           pkgPrioSortList(Cache,List);
-           for (pkgCache::Version **I = List; *I != 0; I++)
-           {
-              pkgCache::VerIterator V(Cache,*I);
-              if (V != Cache.VerP + V.ParentPkg()->VersionList ||
-                  V->ParentPkg == D->Package)
-                 continue;
-              cout << "    " << V.ParentPkg().Name() << endl;
-              
-              if (Recurse == true)
-                 Colours[D.ParentPkg()->ID]++;
-           }
-        }
-      }      
-   }   
-   while (DidSomething == true);
-   
-   return true;
+   return cmdRDepends(CmdL, *GCache);
 }
 
                                                                        /*}}}*/
@@ -2043,207 +1850,15 @@ bool WhatDepends(CommandLine &CmdL)
    if (CheckHelp(CmdL) == true)
       return true;
 
-   pkgCache &Cache = *GCache;
-   SPtrArray<unsigned> Colours = new unsigned[Cache.Head().PackageCount];
-   memset(Colours,0,sizeof(*Colours)*Cache.Head().PackageCount);
-   
-   for (const char **I = CmdL.FileList + 1; *I != 0; I++)
-   {
-      pkgCache::PkgIterator Pkg = Cache.FindPkg(*I);
-      if (Pkg.end() == true)
-      {
-        _error->Warning(_("Unable to locate package %s"),*I);
-        continue;
-      }
-      Colours[Pkg->ID] = 1;
-   }
-   
-   bool Recurse = _config->FindB("APT::Cache::RecurseDepends",false);
-   bool DidSomething;
-   do
-   {
-      DidSomething = false;
-      for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; Pkg++)
-      {
-        if (Colours[Pkg->ID] != 1)
-           continue;
-        Colours[Pkg->ID] = 2;
-        DidSomething = true;
-        
-        pkgCache::VerIterator Ver = Pkg.VersionList();
-        if (Ver.end() == true)
-           cout << '<' << Pkg.Name() << '>' << endl;
-        else
-           cout << Pkg.Name() << "-" << Ver.VerStr() << endl;
-
-        SPtrArray<unsigned> LocalColours = 
-                    new unsigned[Cache.Head().PackageCount];
-        memset(LocalColours,0,sizeof(*LocalColours)*Cache.Head().PackageCount);
-           
-        // Display all dependencies directly on the package.
-        for (pkgCache::DepIterator RD = Pkg.RevDependsList();
-             RD.end() == false; RD++)
-        {
-           pkgCache::PkgIterator Parent = RD.ParentPkg();
-
-           if (LocalColours[Parent->ID] == 1)
-              continue;
-           LocalColours[Parent->ID] = 1;
-              
-           if (Ver.end() == false && RD.TargetVer() &&
-               Cache.VS->CheckDep(Ver.VerStr(),RD) == false)
-              continue;
-
-           if (Recurse == true && Colours[Parent->ID] == 0)
-              Colours[Parent->ID] = 1;
-
-           pkgCache::VerIterator ParentVer = Parent.VersionList();
-
-           // Show the package
-           cout << "  " << Parent.Name()
-                << "-" << ParentVer.VerStr() << endl;
-
-           // Display all dependencies from that package that relate
-           // to the queried package.
-           for (pkgCache::DepIterator D = ParentVer.DependsList();
-                D.end() == false; D++)
-           {
-              // If this is a virtual package, there's no provides.
-              if (Ver.end() == true) {
-                 // If it's not the same package, and there's no provides
-                 // skip that package.
-                 if (D.TargetPkg() != Pkg)
-                    continue;
-              } else if (D.TargetPkg() != Pkg ||
-                         Cache.VS->CheckDep(Ver.VerStr(),D) == false) {
-                 // Oops. Either it's not the same package, or the
-                 // version didn't match. Check virtual provides from
-                 // the queried package version and verify if this
-                 // dependency matches one of those.
-                 bool Hit = false;
-                 for (pkgCache::PrvIterator Prv = Ver.ProvidesList();
-                      Prv.end() == false; Prv++) {
-                    if (Prv.ParentPkg() == D.TargetPkg() &&
-                        (Prv.ParentPkg()->VersionList == 0 ||
-                         Cache.VS->CheckDep(Prv.ProvideVersion(),D)==false)) {
-                       Hit = true;
-                       break;
-                    }
-                 }
-                 if (Hit == false)
-                    continue;
-              }
-
-              // Bingo!
-              pkgCache::PkgIterator Trg = D.TargetPkg();
-              if (Trg->VersionList == 0)
-                 cout << "    " << D.DepType()
-                                << ": <" << Trg.Name() << ">" << endl;
-              else if (D.TargetVer() == 0)
-                 cout << "    " << D.DepType()
-                                << ": " << Trg.Name() << endl;
-              else
-                 cout << "    " << D.DepType()
-                                << ": " << Trg.Name()
-                                << " " << D.CompType() << " "
-                                << D.TargetVer() << endl;
-
-              // Display all solutions
-              SPtrArray<pkgCache::Version *> List = D.AllTargets();
-              pkgPrioSortList(Cache,List);
-              for (pkgCache::Version **I = List; *I != 0; I++)
-              {
-                 pkgCache::VerIterator V(Cache,*I);
-                 if (V != Cache.VerP + V.ParentPkg()->VersionList ||
-                     V->ParentPkg == D->Package)
-                    continue;
-                 cout << "      " << V.ParentPkg().Name()
-                      << "-" << V.VerStr() << endl;
-                 
-                 if (Recurse == true)
-                    Colours[D.ParentPkg()->ID]++;
-              }
-           }
-        }
-
-        // Is this a virtual package the user queried directly?
-        if (Ver.end())
-           continue;
-
-        // Display all dependencies on virtual provides, which were not
-        // yet shown in the step above.
-        for (pkgCache::PrvIterator RDPrv = Ver.ProvidesList();
-             RDPrv.end() == false; RDPrv++) {
-           for (pkgCache::DepIterator RD = RDPrv.ParentPkg().RevDependsList();
-                RD.end() == false; RD++)
-           {
-              pkgCache::PkgIterator Parent = RD.ParentPkg();
-
-              if (LocalColours[Parent->ID] == 1)
-                 continue;
-              LocalColours[Parent->ID] = 1;
-                 
-              if (Ver.end() == false &&
-                  Cache.VS->CheckDep(Ver.VerStr(),RD) == false)
-                 continue;
-
-              if (Recurse == true && Colours[Parent->ID] == 0)
-                 Colours[Parent->ID] = 1;
-
-              pkgCache::VerIterator ParentVer = Parent.VersionList();
+   return cmdWhatDepends(CmdL, *GCache);
+}
 
-              // Show the package
-              cout << "  " << Parent.Name()
-                   << "-" << ParentVer.VerStr() << endl;
+bool WhatProvides(CommandLine &CmdL)
+{
+   if (CheckHelp(CmdL) == true)
+      return true;
 
-              for (pkgCache::DepIterator D = ParentVer.DependsList();
-                   D.end() == false; D++)
-              {
-                 // Go on if it's the same package and version or
-                 // if it's the same package and has no versions
-                 // (a virtual package).
-                 if (D.TargetPkg() != RDPrv.ParentPkg() ||
-                     (RDPrv.ProvideVersion() != 0 &&
-                      Cache.VS->CheckDep(RDPrv.ProvideVersion(),D) == false))
-                    continue;
-
-                 // Bingo!
-                 pkgCache::PkgIterator Trg = D.TargetPkg();
-                 if (Trg->VersionList == 0)
-                    cout << "    " << D.DepType()
-                                   << ": <" << Trg.Name() << ">" << endl;
-                 else if (D.TargetVer() == 0)
-                    cout << "    " << D.DepType()
-                                   << ": " << Trg.Name() << endl;
-                 else
-                    cout << "    " << D.DepType()
-                                   << ": " << Trg.Name()
-                                   << " " << D.CompType() << " "
-                                   << D.TargetVer() << endl;
-
-                 // Display all solutions
-                 SPtrArray<pkgCache::Version *> List = D.AllTargets();
-                 pkgPrioSortList(Cache,List);
-                 for (pkgCache::Version **I = List; *I != 0; I++)
-                 {
-                    pkgCache::VerIterator V(Cache,*I);
-                    if (V != Cache.VerP + V.ParentPkg()->VersionList ||
-                        V->ParentPkg == D->Package)
-                       continue;
-                    cout << "      " << V.ParentPkg().Name()
-                         << "-" << V.VerStr() << endl;
-                    
-                    if (Recurse == true)
-                       Colours[D.ParentPkg()->ID]++;
-                 }
-              }
-           }
-        }
-      } 
-   }
-   while (DidSomething == true);
-   
-   return true;
+   return cmdWhatProvides(CmdL, *GCache);
 }
                                                                        /*}}}*/
 // UnMet - Show unmet dependencies                                     /*{{{*/
@@ -2254,88 +1869,7 @@ bool UnMet(CommandLine &CmdL)
    if (CheckHelp(CmdL,0) == true)
       return true;
 
-   pkgCache &Cache = *GCache;
-   bool Important = _config->FindB("APT::Cache::Important",false);
-   
-   for (pkgCache::PkgIterator P = Cache.PkgBegin(); P.end() == false; P++)
-   {
-      for (pkgCache::VerIterator V = P.VersionList(); V.end() == false; V++)
-      {
-        bool Header = false;
-        for (pkgCache::DepIterator D = V.DependsList(); D.end() == false;)
-        {
-           // Collect or groups
-           pkgCache::DepIterator Start;
-           pkgCache::DepIterator End;
-           D.GlobOr(Start,End);
-           
-           // Skip conflicts and replaces
-           if (End->Type != pkgCache::Dep::PreDepends &&
-               End->Type != pkgCache::Dep::Depends && 
-               End->Type != pkgCache::Dep::Suggests &&
-               End->Type != pkgCache::Dep::Recommends)
-              continue;
-
-           // Important deps only
-           if (Important == true)
-              if (End->Type != pkgCache::Dep::PreDepends &&
-                  End->Type != pkgCache::Dep::Depends)
-                 continue;
-           
-           // Verify the or group
-           bool OK = false;
-           pkgCache::DepIterator RealStart = Start;
-           do
-           {
-              // See if this dep is Ok
-              pkgCache::Version **VList = Start.AllTargets();
-              if (*VList != 0)
-              {
-                 OK = true;
-                 delete [] VList;
-                 break;
-              }
-              delete [] VList;
-              
-              if (Start == End)
-                 break;
-              Start++;
-           }
-           while (1);
-
-           // The group is OK
-           if (OK == true)
-              continue;
-           
-           // Oops, it failed..
-           if (Header == false)
-              ioprintf(cout,_("Package %s version %s has an unmet dep:\n"),
-                       P.Name(),V.VerStr());
-           Header = true;
-           
-           // Print out the dep type
-           cout << " " << End.DepType() << ": ";
-
-           // Show the group
-           Start = RealStart;
-           do
-           {
-              cout << Start.TargetPkg().Name();
-              if (Start.TargetVer() != 0)
-                 cout << " (" << Start.CompType() << " " << Start.TargetVer() <<
-                 ")";
-              if (Start == End)
-                 break;
-              cout << " | ";
-              Start++;
-           }
-           while (1);
-           
-           cout << endl;
-        }       
-      }
-   }   
-   return true;
+   return cmdUnMet(CmdL, *GCache);
 }
                                                                        /*}}}*/
 // DumpPackage - Show a dump of a package record                       /*{{{*/
@@ -2346,61 +1880,7 @@ bool DumpPackage(CommandLine &CmdL)
    if (CheckHelp(CmdL) == true)
       return true;
 
-   pkgCache &Cache = *GCache;
-   for (const char **I = CmdL.FileList + 1; *I != 0; I++)
-   {
-      pkgCache::PkgIterator Pkg = Cache.FindPkg(*I);
-      if (Pkg.end() == true)
-      {
-        _error->Warning(_("Unable to locate package %s"),*I);
-        continue;
-      }
-
-      cout << "Package: " << Pkg.Name() << endl;
-      cout << "Versions: " << endl;
-      for (pkgCache::VerIterator Cur = Pkg.VersionList(); Cur.end() != true; Cur++)
-      {
-        cout << Cur.VerStr();
-        for (pkgCache::VerFileIterator Vf = Cur.FileList(); Vf.end() == false; Vf++)
-           cout << "(" << Vf.File().FileName() << ")";
-        cout << endl;
-      }
-      
-      cout << endl;
-      
-      cout << "Reverse Depends: " << endl;
-      for (pkgCache::DepIterator D = Pkg.RevDependsList(); D.end() != true; D++)
-      {
-        cout << "  " << D.ParentPkg().Name() << ',' << D.TargetPkg().Name();
-        if (D->Version != 0)
-           cout << ' ' << DeNull(D.TargetVer()) << endl;
-        else
-           cout << endl;
-      }
-      
-      cout << "Dependencies: " << endl;
-      for (pkgCache::VerIterator Cur = Pkg.VersionList(); Cur.end() != true; Cur++)
-      {
-        cout << Cur.VerStr() << " - ";
-        for (pkgCache::DepIterator Dep = Cur.DependsList(); Dep.end() != true; Dep++)
-           cout << Dep.TargetPkg().Name() << " (" << (int)Dep->CompareOp << " " << DeNull(Dep.TargetVer()) << ") ";
-        cout << endl;
-      }      
-
-      cout << "Provides: " << endl;
-      for (pkgCache::VerIterator Cur = Pkg.VersionList(); Cur.end() != true; Cur++)
-      {
-        cout << Cur.VerStr() << " - ";
-        for (pkgCache::PrvIterator Prv = Cur.ProvidesList(); Prv.end() != true; Prv++)
-           cout << Prv.ParentPkg().Name() << " ";
-        cout << endl;
-      }
-      cout << "Reverse Provides: " << endl;
-      for (pkgCache::PrvIterator Prv = Pkg.ProvidesList(); Prv.end() != true; Prv++)
-        cout << Prv.OwnerPkg().Name() << " " << Prv.OwnerVer().VerStr() << endl;            
-   }
-
-   return true;
+   return cmdDumpPackage(CmdL, *GCache);
 }
                                                                        /*}}}*/
 // DisplayRecord - Displays the complete record for the package                /*{{{*/
@@ -2409,183 +1889,23 @@ bool DumpPackage(CommandLine &CmdL)
    It is not used by DumpAvail for performance reasons. */
 bool DisplayRecord(pkgCache::VerIterator V)
 {
-   // Find an appropriate file
-   pkgCache::VerFileIterator Vf = V.FileList();
-   for (; Vf.end() == false; Vf++)
-      if ((Vf.File()->Flags & pkgCache::Flag::NotSource) == 0)
-        break;
-   if (Vf.end() == true)
-      Vf = V.FileList();
-      
-// CNC:2002-07-24
-#if HAVE_RPM
-   pkgRecords Recs(*GCache);
-   pkgRecords::Parser &P = Recs.Lookup(Vf);
-   const char *Start;
-   const char *End;
-   P.GetRec(Start,End);
-   cout << string(Start,End-Start) << endl;
-#else
-   // Check and load the package list file
-   pkgCache::PkgFileIterator I = Vf.File();
-   if (I.IsOk() == false)
-      return _error->Error(_("Package file %s is out of sync."),I.FileName());
-   
-   FileFd PkgF(I.FileName(),FileFd::ReadOnly);
-   if (_error->PendingError() == true)
-      return false;
-   
-   // Read the record and then write it out again.
-   unsigned char *Buffer = new unsigned char[GCache->HeaderP->MaxVerFileSize+1];
-   Buffer[V.FileList()->Size] = '\n';
-   if (PkgF.Seek(V.FileList()->Offset) == false ||
-       PkgF.Read(Buffer,V.FileList()->Size) == false ||
-       fwrite(Buffer,1,V.FileList()->Size+1,stdout) < V.FileList()->Size+1)
-   {
-      delete [] Buffer;
-      return false;
-   }
-   
-   delete [] Buffer;
-#endif
-
-   return true;
+   return cmdDisplayRecord(V, *GCache);
 }
                                                                        /*}}}*/
-// Search - Perform a search                                           /*{{{*/
-// ---------------------------------------------------------------------
-/* This searches the package names and pacakge descriptions for a pattern */
-struct ExVerFile
-{
-   pkgCache::VerFile *Vf;
-   bool NameMatch;
-};
-
 bool Search(CommandLine &CmdL)
 {
    if (CheckHelp(CmdL) == true)
       return true;
 
-   pkgCache &Cache = *GCache;
-   bool ShowFull = _config->FindB("APT::Cache::ShowFull",false);
-   bool NamesOnly = _config->FindB("APT::Cache::NamesOnly",false);
-   unsigned NumPatterns = CmdL.FileSize() -1;
-   
-   pkgDepCache::Policy Plcy;
-   
-   // Make sure there is at least one argument
-   if (NumPatterns < 1)
-      return _error->Error(_("You must give exactly one pattern"));
-   
-   // Compile the regex pattern
-   regex_t *Patterns = new regex_t[NumPatterns];
-   memset(Patterns,0,sizeof(*Patterns)*NumPatterns);
-   for (unsigned I = 0; I != NumPatterns; I++)
-   {
-      if (regcomp(&Patterns[I],CmdL.FileList[I+1],REG_EXTENDED | REG_ICASE | 
-                 REG_NOSUB) != 0)
-      {
-        for (; I != 0; I--)
-           regfree(&Patterns[I]);
-        return _error->Error("Regex compilation error");
-      }      
-   }
-   
-   // Create the text record parser
-   pkgRecords Recs(Cache);
-   if (_error->PendingError() == true)
-   {
-      for (unsigned I = 0; I != NumPatterns; I++)
-        regfree(&Patterns[I]);
-      return false;
-   }
-   
-   ExVerFile *VFList = new ExVerFile[Cache.HeaderP->PackageCount+1];
-   memset(VFList,0,sizeof(*VFList)*Cache.HeaderP->PackageCount+1);
-
-   // Map versions that we want to write out onto the VerList array.
-   for (pkgCache::PkgIterator P = Cache.PkgBegin(); P.end() == false; P++)
-   {
-      VFList[P->ID].NameMatch = NumPatterns != 0;
-      for (unsigned I = 0; I != NumPatterns; I++)
-      {
-        if (regexec(&Patterns[I],P.Name(),0,0,0) == 0)
-           VFList[P->ID].NameMatch &= true;
-        else
-           VFList[P->ID].NameMatch = false;
-      }
-        
-      // Doing names only, drop any that dont match..
-      if (NamesOnly == true && VFList[P->ID].NameMatch == false)
-        continue;
-        
-      // Find the proper version to use. 
-      pkgCache::VerIterator V = Plcy.GetCandidateVer(P);
-      if (V.end() == false)
-        VFList[P->ID].Vf = V.FileList();
-   }
-      
-   // Include all the packages that provide matching names too
-   for (pkgCache::PkgIterator P = Cache.PkgBegin(); P.end() == false; P++)
-   {
-      if (VFList[P->ID].NameMatch == false)
-        continue;
-
-      for (pkgCache::PrvIterator Prv = P.ProvidesList() ; Prv.end() == false; Prv++)
-      {
-        pkgCache::VerIterator V = Plcy.GetCandidateVer(Prv.OwnerPkg());
-        if (V.end() == false)
-        {
-           VFList[Prv.OwnerPkg()->ID].Vf = V.FileList();
-           VFList[Prv.OwnerPkg()->ID].NameMatch = true;
-        }
-      }
-   }
-
-   LocalitySort(&VFList->Vf,Cache.HeaderP->PackageCount,sizeof(*VFList));
+   return cmdSearch(CmdL, *GCache);
+}
 
-   // Iterate over all the version records and check them
-   for (ExVerFile *J = VFList; J->Vf != 0; J++)
-   {
-      pkgRecords::Parser &P = Recs.Lookup(pkgCache::VerFileIterator(Cache,J->Vf));
+bool SearchFile(CommandLine &CmdL)
+{
+   if (CheckHelp(CmdL) == true)
+      return true;
 
-      bool Match = true;
-      if (J->NameMatch == false)
-      {
-        string LongDesc = P.LongDesc();
-        // CNC 2004-2004-04-10
-        string ShortDesc = P.ShortDesc();
-        Match = NumPatterns != 0;
-        for (unsigned I = 0; I != NumPatterns; I++)
-        {
-           if (regexec(&Patterns[I],LongDesc.c_str(),0,0,0) == 0 ||
-               regexec(&Patterns[I],ShortDesc.c_str(),0,0,0) == 0)
-              Match &= true;
-           else
-              Match = false;
-        }
-      }
-      
-      if (Match == true)
-      {
-        if (ShowFull == true)
-        {
-           const char *Start;
-           const char *End;
-           P.GetRec(Start,End);
-           cout << string(Start,End-Start) << endl;
-        }       
-        else
-           cout << P.Name() << " - " << P.ShortDesc() << endl;
-      }
-   }
-   
-   delete [] VFList;
-   for (unsigned I = 0; I != NumPatterns; I++)
-      regfree(&Patterns[I]);
-   if (ferror(stdout))
-       return _error->Error("Write to stdout failed");
-   return true;
+   return cmdSearchFile(CmdL, *GCache);
 }
 
 // DoList - List packages.                                             /*{{{*/
@@ -2596,155 +1916,7 @@ bool DoList(CommandLine &CmdL)
    if (CheckHelp(CmdL) == true)
       return true;
 
-   CacheFile &Cache = *GCache;
-
-   bool MatchAll = (CmdL.FileSize() == 1);
-   bool ShowUpgradable = _config->FindB("APT::Cache::ShowUpgradable", false);
-   bool ShowInstalled = _config->FindB("APT::Cache::ShowInstalled", false);
-
-   const char **PatternList = &CmdL.FileList[1];
-   int NumPatterns = CmdL.FileSize()-1;
-
-   bool ShowVersion = _config->FindB("APT::Cache::ShowVersion", false);
-   bool ShowSummary = _config->FindB("APT::Cache::ShowSummary", false);
-
-   const char *PkgName;
-   vector<int> Matches(Cache->Head().PackageCount);
-   size_t NumMatches = 0;
-   size_t Len = 0, NameMaxLen = 0, VerMaxLen = 0;
-   bool Matched;
-   for (unsigned int J = 0; J < Cache->Head().PackageCount; J++)
-   {
-      Matched = false;
-      pkgCache::PkgIterator Pkg(Cache,Cache.List[J]);
-      if (Pkg->VersionList == 0)
-        continue;
-      if (ShowInstalled && Pkg->CurrentVer == 0)
-        continue;
-      if (ShowUpgradable &&
-         (Pkg->CurrentVer == 0 || Cache[Pkg].Upgradable() == false))
-        continue;
-      PkgName = Pkg.Name();
-      if (MatchAll == true)
-        Matched = true;
-      else for (int i=0; i != NumPatterns; i++) {
-        if (fnmatch(PatternList[i], PkgName, 0) == 0) {
-           Matched = true;
-           break;
-        }
-      }
-      if (Matched == true) {
-        Matches[NumMatches++] = J;
-        Len = strlen(PkgName);
-        if (Len > NameMaxLen)
-           NameMaxLen = Len;
-        if (ShowVersion == true && Pkg->CurrentVer != 0) {
-           Len = strlen(Pkg.CurrentVer().VerStr());
-           if (Len > VerMaxLen)
-              VerMaxLen = Len;
-        }
-      }
-   }
-
-   if (NumMatches == 0)
-      return true;
-
-   if (ShowVersion == true) {
-      const char *NameLabel = _("Name");
-      const char *InstalledLabel = _("Installed");
-      const char *CandidateLabel = _("Candidate");
-      size_t NameLen = strlen(NameLabel);
-      size_t InstalledLen = strlen(InstalledLabel);
-      size_t CandidateLen = strlen(CandidateLabel);
-
-      unsigned int FirstColumn = NameMaxLen+2;
-      if (FirstColumn < NameLen+2)
-        FirstColumn = NameLen+2;
-
-      unsigned int SecondColumn = VerMaxLen+2;
-      if (SecondColumn < InstalledLen+2)
-        SecondColumn = InstalledLen+2;
-
-      vector<char> BlankFirst(FirstColumn+1,' ');
-      BlankFirst[FirstColumn] = 0;
-
-      vector<char> BlankSecond(SecondColumn+1,' ');
-      BlankSecond[SecondColumn] = 0;
-
-      vector<char> Bar(ScreenWidth+1,'-');
-      Bar[ScreenWidth] = 0;
-
-      c2out << NameLabel << &BlankFirst[NameLen]
-           << InstalledLabel << &BlankSecond[InstalledLen]
-           << CandidateLabel << endl;
-      c2out << &Bar[ScreenWidth-NameLen] << &BlankFirst[NameLen]
-           << &Bar[ScreenWidth-InstalledLen] << &BlankSecond[InstalledLen]
-           << &Bar[ScreenWidth-CandidateLen] << endl;
-
-      const char *Str;
-      size_t StrLen;
-      for (unsigned int K = 0; K != NumMatches; K++) {
-        pkgCache::PkgIterator Pkg(Cache,Cache.List[Matches[K]]);
-        Str = Pkg.Name();
-        StrLen = strlen(Str);
-        c2out << Str << &BlankFirst[StrLen];
-        if (Pkg->CurrentVer != 0) {
-           Str = Pkg.CurrentVer().VerStr();
-           StrLen = strlen(Str);
-           if (Len < SecondColumn-1)
-              c2out << Str << &BlankSecond[StrLen];
-           else
-              c2out << Str << " ";
-        } else {
-           c2out << "-" << &BlankSecond[1];
-        }
-        Str = "-";
-        if (Cache[Pkg].CandidateVer != 0) {
-           Str = Cache[Pkg].CandidateVerIter(Cache).VerStr();
-           if (Pkg->CurrentVer != 0 &&
-               strcmp(Str, Pkg.CurrentVer().VerStr()) == 0)
-              Str = "-";
-        }
-        c2out << Str << endl;
-      }
-   } else if (ShowSummary == true) {
-      pkgRecords Recs(Cache);
-      if (_error->PendingError() == true)
-        return false;
-      for (unsigned int K = 0; K != NumMatches; K++) {
-        pkgCache::PkgIterator Pkg(Cache,Cache.List[Matches[K]]);
-        pkgRecords::Parser &Parse = Recs.Lookup(Pkg.VersionList().FileList());
-        c2out << Pkg.Name() << " - " << Parse.ShortDesc() << endl;
-      }
-   } else {
-      unsigned int PerLine = ScreenWidth/(NameMaxLen+2);
-      if (PerLine == 0) PerLine = 1;
-      unsigned int ColumnLen = ScreenWidth/PerLine;
-      unsigned int NumLines = (NumMatches+PerLine-1)/PerLine;
-      vector<char> Blank(ColumnLen+1,' ');
-      Blank[ColumnLen] = 0;
-
-      const char *Str;
-      size_t StrLen;
-      unsigned int K;
-      for (unsigned int Line = 0; Line != NumLines; Line++) {
-        for (unsigned int Entry = 0; Entry != PerLine; Entry++) {
-           K = Line+(Entry*NumLines);
-           if (K >= NumMatches)
-              break;
-           pkgCache::PkgIterator Pkg(Cache,Cache.List[Matches[K]]);
-           Str = Pkg.Name();
-           StrLen = strlen(Str);
-           if (Len < ColumnLen-1)
-              c2out << Str << &Blank[StrLen];
-           else
-              c2out << Str << " ";
-        }
-        c2out << endl;
-      }
-   }
-   
-   return true;
+   return cmdDoList(CmdL, *GCache);
 }
                                                                        /*}}}*/
 // ShowPackage - Dump the package record to the screen                 /*{{{*/
@@ -2755,47 +1927,8 @@ bool ShowPackage(CommandLine &CmdL)
    if (CheckHelp(CmdL) == true)
       return true;
 
-   pkgCache &Cache = *GCache;
-   pkgDepCache::Policy Plcy;
-
-   unsigned found = 0;
-   
-   for (const char **I = CmdL.FileList + 1; *I != 0; I++)
-   {
-      pkgCache::PkgIterator Pkg = Cache.FindPkg(*I);
-      if (Pkg.end() == true)
-      {
-        _error->Warning(_("Unable to locate package %s"),*I);
-        continue;
-      }
-
-      ++found;
-
-      // Find the proper version to use.
-      if (_config->FindB("APT::Cache::AllVersions","true") == true)
-      {
-        pkgCache::VerIterator V;
-        for (V = Pkg.VersionList(); V.end() == false; V++)
-        {
-           if (DisplayRecord(V) == false)
-              return false;
-        }
-      }
-      else
-      {
-        pkgCache::VerIterator V = Plcy.GetCandidateVer(Pkg);
-        if (V.end() == true || V.FileList().end() == true)
-           continue;
-        if (DisplayRecord(V) == false)
-           return false;
-      }      
-   }
-
-   if (found > 0)
-        return true;
-   return _error->Error(_("No packages found"));
+   return cmdShowPackage(CmdL, *GCache);
 }
-                                                                       /*}}}*/
 // --- End of stuff from apt-cache.
 
 
@@ -2865,7 +1998,7 @@ bool ShowHelp(CommandLine &CmdL)
       "   remove - Remove packages\n"
       "   keep - Keep packages\n"
       "   upgrade - Perform a global upgrade\n"
-      "   dist-upgrade - Perform a globla distribution upgrade\n"
+      "   dist-upgrade - Perform a global distribution upgrade\n"
       "   build-dep - Install build-dependencies for source packages\n"
 //      "   dselect-upgrade - Follow dselect selections\n"
       "   update - Retrieve new lists of packages\n"
@@ -2877,10 +2010,12 @@ bool ShowHelp(CommandLine &CmdL)
       "   showpkg - Show some general information for a single package\n"
       "   list/ls - List packages\n"
       "   search - Search the package list for a regex pattern\n"
+      "   searchfile - Search the packages for a file\n"
       "   script - Run scripts.\n"
       "   depends - Show raw dependency information for a package\n"
-      "   whatdepends - Show raw dependency information on a package\n"
+      "   whatdepends - Show packages depending on given capabilities\n"
       // "   rdepends - Show reverse dependency information for a package\n"
+      "   whatprovides - Show packages that provide given capabilities\n"
       "   check - Verify that there are no broken dependencies\n"
       "   unmet - Show unmet dependencies\n"
       "   clean - Erase downloaded archive files\n"
@@ -3466,10 +2601,12 @@ int main(int argc,const char *argv[])
                                   {"showpkg",&DumpPackage},
                                    {"unmet",&UnMet},
                                    {"search",&Search},
+                                   {"search",&SearchFile},
                                    {"list",&DoList},
                                    {"ls",&DoList},
                                    {"depends",&Depends},
                                    {"whatdepends",&WhatDepends},
+                                   {"whatprovides",&WhatProvides},
                                    {"rdepends",&RDepends},
                                    {"show",&ShowPackage},
                                    {0,0}};
index b925ac9..2723025 100644 (file)
@@ -2,6 +2,7 @@
 #include <apt-pkg/configuration.h>
 #include <apt-pkg/error.h>
 #include <apt-pkg/acquire.h>
+#include <apt-pkg/sptr.h>
 
 #include <config.h>
 #include <apti18n.h>
@@ -10,6 +11,7 @@
 
 #include <regex.h>
 #include <sys/stat.h>
+#include <fnmatch.h>
 
 using namespace std;
 
@@ -824,4 +826,1046 @@ void LogCleaner::Erase(const char *File,string Pkg,string Ver,struct stat &St)
         unlink(File);      
 }
 
+// apt-cache stuff..
+
+// LocalitySort - Sort a version list by package file locality         /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+int LocalityCompare(const void *a, const void *b)
+{
+   pkgCache::VerFile *A = *(pkgCache::VerFile **)a;
+   pkgCache::VerFile *B = *(pkgCache::VerFile **)b;
+   
+   if (A == 0 && B == 0)
+      return 0;
+   if (A == 0)
+      return 1;
+   if (B == 0)
+      return -1;
+   
+   if (A->File == B->File)
+      return A->Offset - B->Offset;
+   return A->File - B->File;
+}
+
+void LocalitySort(pkgCache::VerFile **begin,
+                 unsigned long Count,size_t Size)
+{   
+   qsort(begin,Count,Size,LocalityCompare);
+}
+                                                                       /*}}}*/
+// UnMet - Show unmet dependencies                                     /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+bool cmdUnMet(CommandLine &CmdL, pkgCache &Cache)
+{
+   bool Important = _config->FindB("APT::Cache::Important",false);
+   
+   for (pkgCache::PkgIterator P = Cache.PkgBegin(); P.end() == false; P++)
+   {
+      for (pkgCache::VerIterator V = P.VersionList(); V.end() == false; V++)
+      {
+        bool Header = false;
+        for (pkgCache::DepIterator D = V.DependsList(); D.end() == false;)
+        {
+           // Collect or groups
+           pkgCache::DepIterator Start;
+           pkgCache::DepIterator End;
+           D.GlobOr(Start,End);
+           
+           // Skip conflicts and replaces
+           if (End->Type != pkgCache::Dep::PreDepends &&
+               End->Type != pkgCache::Dep::Depends && 
+               End->Type != pkgCache::Dep::Suggests &&
+               End->Type != pkgCache::Dep::Recommends)
+              continue;
+
+           // Important deps only
+           if (Important == true)
+              if (End->Type != pkgCache::Dep::PreDepends &&
+                  End->Type != pkgCache::Dep::Depends)
+                 continue;
+           
+           // Verify the or group
+           bool OK = false;
+           pkgCache::DepIterator RealStart = Start;
+           do
+           {
+              // See if this dep is Ok
+              pkgCache::Version **VList = Start.AllTargets();
+              if (*VList != 0)
+              {
+                 OK = true;
+                 delete [] VList;
+                 break;
+              }
+              delete [] VList;
+              
+              if (Start == End)
+                 break;
+              Start++;
+           }
+           while (1);
+
+           // The group is OK
+           if (OK == true)
+              continue;
+           
+           // Oops, it failed..
+           if (Header == false)
+              ioprintf(cout,_("Package %s version %s has an unmet dep:\n"),
+                       P.Name(),V.VerStr());
+           Header = true;
+           
+           // Print out the dep type
+           cout << " " << End.DepType() << ": ";
+
+           // Show the group
+           Start = RealStart;
+           do
+           {
+              cout << Start.TargetPkg().Name();
+              if (Start.TargetVer() != 0)
+                 cout << " (" << Start.CompType() << " " << Start.TargetVer() <<
+                 ")";
+              if (Start == End)
+                 break;
+              cout << " | ";
+              Start++;
+           }
+           while (1);
+           
+           cout << endl;
+        }       
+      }
+   }   
+   return true;
+}
+                                                                       /*}}}*/
+// DumpPackage - Show a dump of a package record                       /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+bool cmdDumpPackage(CommandLine &CmdL, pkgCache &Cache)
+{   
+   for (const char **I = CmdL.FileList + 1; *I != 0; I++)
+   {
+      pkgCache::PkgIterator Pkg = Cache.FindPkg(*I);
+      if (Pkg.end() == true)
+      {
+        _error->Warning(_("Unable to locate package %s"),*I);
+        continue;
+      }
+
+      cout << "Package: " << Pkg.Name() << endl;
+      cout << "Versions: " << endl;
+      for (pkgCache::VerIterator Cur = Pkg.VersionList(); Cur.end() != true; Cur++)
+      {
+        cout << Cur.VerStr() << "." << Cur.Arch();
+        for (pkgCache::VerFileIterator Vf = Cur.FileList(); Vf.end() == false; Vf++)
+           cout << "(" << Vf.File().FileName() << ")";
+        cout << endl;
+      }
+      
+      cout << endl;
+      
+      cout << "Reverse Depends: " << endl;
+      for (pkgCache::DepIterator D = Pkg.RevDependsList(); D.end() != true; D++)
+      {
+        cout << "  " << D.ParentPkg().Name() << ',' << D.TargetPkg().Name();
+        if (D->Version != 0)
+           cout << ' ' << DeNull(D.TargetVer()) << endl;
+        else
+           cout << endl;
+      }
+      
+      cout << "Dependencies: " << endl;
+      for (pkgCache::VerIterator Cur = Pkg.VersionList(); Cur.end() != true; Cur++)
+      {
+        cout << Cur.VerStr() << " - ";
+        for (pkgCache::DepIterator Dep = Cur.DependsList(); Dep.end() != true; Dep++)
+           cout << Dep.TargetPkg().Name() << " (" << (int)Dep->CompareOp << " " << DeNull(Dep.TargetVer()) << ") ";
+        cout << endl;
+      }      
+
+      cout << "Provides: " << endl;
+      for (pkgCache::VerIterator Cur = Pkg.VersionList(); Cur.end() != true; Cur++)
+      {
+        cout << Cur.VerStr() << " - ";
+        for (pkgCache::PrvIterator Prv = Cur.ProvidesList(); Prv.end() != true; Prv++)
+           cout << Prv.ParentPkg().Name() << " ";
+        cout << endl;
+      }
+      cout << "Reverse Provides: " << endl;
+      for (pkgCache::PrvIterator Prv = Pkg.ProvidesList(); Prv.end() != true; Prv++)
+        cout << Prv.OwnerPkg().Name() << " " << Prv.OwnerVer().VerStr() << endl;            
+   }
+
+   return true;
+}
+                                                                       /*}}}*/
+// DisplayRecord - Displays the complete record for the package                /*{{{*/
+// ---------------------------------------------------------------------
+/* This displays the package record from the proper package index file. 
+   It is not used by DumpAvail for performance reasons. */
+bool cmdDisplayRecord(pkgCache::VerIterator V, pkgCache &Cache)
+{
+   // Find an appropriate file
+   pkgCache::VerFileIterator Vf = V.FileList();
+   for (; Vf.end() == false; Vf++)
+      if ((Vf.File()->Flags & pkgCache::Flag::NotSource) == 0)
+        break;
+   if (Vf.end() == true)
+      Vf = V.FileList();
+      
+// CNC:2002-07-24
+#if HAVE_RPM
+   pkgRecords Recs(Cache);
+   pkgRecords::Parser &P = Recs.Lookup(Vf);
+   const char *Start;
+   const char *End;
+   P.GetRec(Start,End);
+   cout << string(Start,End-Start) << endl;
+#else
+   // Check and load the package list file
+   pkgCache::PkgFileIterator I = Vf.File();
+   if (I.IsOk() == false)
+      return _error->Error(_("Package file %s is out of sync."),I.FileName());
+   
+   FileFd PkgF(I.FileName(),FileFd::ReadOnly);
+   if (_error->PendingError() == true)
+      return false;
+   
+   // Read the record and then write it out again.
+   unsigned char *Buffer = new unsigned char[Cache->HeaderP->MaxVerFileSize+1];
+   Buffer[V.FileList()->Size] = '\n';
+   if (PkgF.Seek(V.FileList()->Offset) == false ||
+       PkgF.Read(Buffer,V.FileList()->Size) == false ||
+       fwrite(Buffer,1,V.FileList()->Size+1,stdout) < V.FileList()->Size+1)
+   {
+      delete [] Buffer;
+      return false;
+   }
+   
+   delete [] Buffer;
+#endif
+
+   return true;
+}
+
+// Depends - Print out a dependency tree                               /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+bool cmdDepends(CommandLine &CmdL, pkgCache &Cache)
+{
+   SPtrArray<unsigned> Colours = new unsigned[Cache.Head().PackageCount];
+   memset(Colours,0,sizeof(*Colours)*Cache.Head().PackageCount);
+   
+   for (const char **I = CmdL.FileList + 1; *I != 0; I++)
+   {
+      pkgCache::PkgIterator Pkg = Cache.FindPkg(*I);
+      if (Pkg.end() == true)
+      {
+        _error->Warning(_("Unable to locate package %s"),*I);
+        continue;
+      }
+      Colours[Pkg->ID] = 1;
+   }
+   
+   bool Recurse = _config->FindB("APT::Cache::RecurseDepends",false);
+   bool Installed = _config->FindB("APT::Cache::Installed",false);
+   bool DidSomething;
+   do
+   {
+      DidSomething = false;
+      for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; Pkg++)
+      {
+        if (Colours[Pkg->ID] != 1)
+           continue;
+        Colours[Pkg->ID] = 2;
+        DidSomething = true;
+        
+        pkgCache::VerIterator Ver = Pkg.VersionList();
+        if (Ver.end() == true)
+        {
+           cout << '<' << Pkg.Name() << '>' << endl;
+           continue;
+        }
+        
+        // CNC:2003-03-03
+        cout << Pkg.Name() << "-" << Ver.VerStr() << endl;
+        
+        for (pkgCache::DepIterator D = Ver.DependsList(); D.end() == false; D++)
+        {
+
+           pkgCache::PkgIterator Trg = D.TargetPkg();
+
+           if((Installed && Trg->CurrentVer != 0) || !Installed)
+             {
+
+               if ((D->CompareOp & pkgCache::Dep::Or) == pkgCache::Dep::Or)
+                 cout << " |";
+               else
+                 cout << "  ";
+           
+               // Show the package
+               if (Trg->VersionList == 0)
+                  cout << D.DepType() << ": <" << Trg.Name() << ">" << endl;
+               // CNC:2003-03-03
+               else if (D.TargetVer() == 0)
+                  cout << D.DepType() << ": " << Trg.Name() << endl;
+               else
+                  cout << D.DepType() << ": " << Trg.Name()
+                       << " " << D.CompType() << " " << D.TargetVer() << endl;
+           
+               if (Recurse == true)
+                 Colours[D.TargetPkg()->ID]++;
+
+             }
+           
+           // Display all solutions
+           SPtrArray<pkgCache::Version *> List = D.AllTargets();
+           pkgPrioSortList(Cache,List);
+           for (pkgCache::Version **I = List; *I != 0; I++)
+           {
+              pkgCache::VerIterator V(Cache,*I);
+              if (V != Cache.VerP + V.ParentPkg()->VersionList ||
+                  V->ParentPkg == D->Package)
+                 continue;
+              // CNC:2003-03-03
+              cout << "    " << V.ParentPkg().Name()
+                   << "-" << V.VerStr() << endl;
+              
+              if (Recurse == true)
+                 Colours[D.ParentPkg()->ID]++;
+           }
+        }
+      }      
+   }   
+   while (DidSomething == true);
+   
+   return true;
+}
+
+// RDepends - Print out a reverse dependency tree - mbc                        /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+bool cmdRDepends(CommandLine &CmdL, pkgCache &Cache)
+{
+   SPtrArray<unsigned> Colours = new unsigned[Cache.Head().PackageCount];
+   memset(Colours,0,sizeof(*Colours)*Cache.Head().PackageCount);
+   
+   for (const char **I = CmdL.FileList + 1; *I != 0; I++)
+   {
+      pkgCache::PkgIterator Pkg = Cache.FindPkg(*I);
+      if (Pkg.end() == true)
+      {
+        _error->Warning(_("Unable to locate package %s"),*I);
+        continue;
+      }
+      Colours[Pkg->ID] = 1;
+   }
+   
+   bool Recurse = _config->FindB("APT::Cache::RecurseDepends",false);
+   bool Installed = _config->FindB("APT::Cache::Installed",false);
+   bool DidSomething;
+   do
+   {
+      DidSomething = false;
+      for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; Pkg++)
+      {
+        if (Colours[Pkg->ID] != 1)
+           continue;
+        Colours[Pkg->ID] = 2;
+        DidSomething = true;
+        
+        pkgCache::VerIterator Ver = Pkg.VersionList();
+        if (Ver.end() == true)
+        {
+           cout << '<' << Pkg.Name() << '>' << endl;
+           continue;
+        }
+        
+        cout << Pkg.Name() << endl;
+        
+        cout << "Reverse Depends:" << endl;
+        for (pkgCache::DepIterator D = Pkg.RevDependsList(); D.end() == false; D++)
+        {          
+           // Show the package
+           pkgCache::PkgIterator Trg = D.ParentPkg();
+
+           if((Installed && Trg->CurrentVer != 0) || !Installed)
+             {
+
+               if ((D->CompareOp & pkgCache::Dep::Or) == pkgCache::Dep::Or)
+                 cout << " |";
+               else
+                 cout << "  ";
+
+               if (Trg->VersionList == 0)
+                 cout << D.DepType() << ": <" << Trg.Name() << ">" << endl;
+               else
+                 cout << Trg.Name() << endl;
+
+               if (Recurse == true)
+                 Colours[D.ParentPkg()->ID]++;
+
+             }
+           
+           // Display all solutions
+           SPtrArray<pkgCache::Version *> List = D.AllTargets();
+           pkgPrioSortList(Cache,List);
+           for (pkgCache::Version **I = List; *I != 0; I++)
+           {
+              pkgCache::VerIterator V(Cache,*I);
+              if (V != Cache.VerP + V.ParentPkg()->VersionList ||
+                  V->ParentPkg == D->Package)
+                 continue;
+              cout << "    " << V.ParentPkg().Name() << endl;
+              
+              if (Recurse == true)
+                 Colours[D.ParentPkg()->ID]++;
+           }
+        }
+      }      
+   }   
+   while (DidSomething == true);
+   
+   return true;
+}
+
+                                                                       /*}}}*/
+// CNC:2003-02-19
+// WhatDepends - Print out a reverse dependency tree                   /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+bool cmdWhatDepends(CommandLine &CmdL, pkgCache &Cache)
+{
+   SPtrArray<unsigned> Colours = new unsigned[Cache.Head().PackageCount];
+   memset(Colours,0,sizeof(*Colours)*Cache.Head().PackageCount);
+   
+   for (const char **I = CmdL.FileList + 1; *I != 0; I++)
+   {
+      pkgCache::PkgIterator Pkg = Cache.FindPkg(*I);
+      if (Pkg.end() == true)
+      {
+        _error->Warning(_("Unable to locate package %s"),*I);
+        continue;
+      }
+      Colours[Pkg->ID] = 1;
+   }
+   
+   bool Recurse = _config->FindB("APT::Cache::RecurseDepends",false);
+   bool DidSomething;
+   do
+   {
+      DidSomething = false;
+      for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; Pkg++)
+      {
+        if (Colours[Pkg->ID] != 1)
+           continue;
+        Colours[Pkg->ID] = 2;
+        DidSomething = true;
+        
+        pkgCache::VerIterator Ver = Pkg.VersionList();
+        if (Ver.end() == true)
+           cout << '<' << Pkg.Name() << '>' << endl;
+        else
+           cout << Pkg.Name() << "-" << Ver.VerStr() << endl;
+
+        SPtrArray<unsigned> LocalColours = 
+                    new unsigned[Cache.Head().PackageCount];
+        memset(LocalColours,0,sizeof(*LocalColours)*Cache.Head().PackageCount);
+           
+        // Display all dependencies directly on the package.
+        for (pkgCache::DepIterator RD = Pkg.RevDependsList();
+             RD.end() == false; RD++)
+        {
+           pkgCache::PkgIterator Parent = RD.ParentPkg();
+
+           if (LocalColours[Parent->ID] == 1)
+              continue;
+           LocalColours[Parent->ID] = 1;
+              
+           if (Ver.end() == false && RD.TargetVer() &&
+               Cache.VS->CheckDep(Ver.VerStr(),RD) == false)
+              continue;
+
+           if (Recurse == true && Colours[Parent->ID] == 0)
+              Colours[Parent->ID] = 1;
+
+           pkgCache::VerIterator ParentVer = Parent.VersionList();
+
+           // Show the package
+           cout << "  " << Parent.Name()
+                << "-" << ParentVer.VerStr() << endl;
+
+           // Display all dependencies from that package that relate
+           // to the queried package.
+           for (pkgCache::DepIterator D = ParentVer.DependsList();
+                D.end() == false; D++)
+           {
+              // If this is a virtual package, there's no provides.
+              if (Ver.end() == true) {
+                 // If it's not the same package, and there's no provides
+                 // skip that package.
+                 if (D.TargetPkg() != Pkg)
+                    continue;
+              } else if (D.TargetPkg() != Pkg ||
+                         Cache.VS->CheckDep(Ver.VerStr(),D) == false) {
+                 // Oops. Either it's not the same package, or the
+                 // version didn't match. Check virtual provides from
+                 // the queried package version and verify if this
+                 // dependency matches one of those.
+                 bool Hit = false;
+                 for (pkgCache::PrvIterator Prv = Ver.ProvidesList();
+                      Prv.end() == false; Prv++) {
+                    if (Prv.ParentPkg() == D.TargetPkg() &&
+                        (Prv.ParentPkg()->VersionList == 0 ||
+                         Cache.VS->CheckDep(Prv.ProvideVersion(),D)==false)) {
+                       Hit = true;
+                       break;
+                    }
+                 }
+                 if (Hit == false)
+                    continue;
+              }
+
+              // Bingo!
+              pkgCache::PkgIterator Trg = D.TargetPkg();
+              if (Trg->VersionList == 0)
+                 cout << "    " << D.DepType()
+                                << ": <" << Trg.Name() << ">" << endl;
+              else if (D.TargetVer() == 0)
+                 cout << "    " << D.DepType()
+                                << ": " << Trg.Name() << endl;
+              else
+                 cout << "    " << D.DepType()
+                                << ": " << Trg.Name()
+                                << " " << D.CompType() << " "
+                                << D.TargetVer() << endl;
+
+              // Display all solutions
+              SPtrArray<pkgCache::Version *> List = D.AllTargets();
+              pkgPrioSortList(Cache,List);
+              for (pkgCache::Version **I = List; *I != 0; I++)
+              {
+                 pkgCache::VerIterator V(Cache,*I);
+                 if (V != Cache.VerP + V.ParentPkg()->VersionList ||
+                     V->ParentPkg == D->Package)
+                    continue;
+                 cout << "      " << V.ParentPkg().Name()
+                      << "-" << V.VerStr() << endl;
+                 
+                 if (Recurse == true)
+                    Colours[D.ParentPkg()->ID]++;
+              }
+           }
+        }
+
+        // Is this a virtual package the user queried directly?
+        if (Ver.end())
+           continue;
+
+        // Display all dependencies on virtual provides, which were not
+        // yet shown in the step above.
+        for (pkgCache::PrvIterator RDPrv = Ver.ProvidesList();
+             RDPrv.end() == false; RDPrv++) {
+           for (pkgCache::DepIterator RD = RDPrv.ParentPkg().RevDependsList();
+                RD.end() == false; RD++)
+           {
+              pkgCache::PkgIterator Parent = RD.ParentPkg();
+
+              if (LocalColours[Parent->ID] == 1)
+                 continue;
+              LocalColours[Parent->ID] = 1;
+                 
+              if (Ver.end() == false &&
+                  Cache.VS->CheckDep(Ver.VerStr(),RD) == false)
+                 continue;
+
+              if (Recurse == true && Colours[Parent->ID] == 0)
+                 Colours[Parent->ID] = 1;
+
+              pkgCache::VerIterator ParentVer = Parent.VersionList();
+
+              // Show the package
+              cout << "  " << Parent.Name()
+                   << "-" << ParentVer.VerStr() << endl;
+
+              for (pkgCache::DepIterator D = ParentVer.DependsList();
+                   D.end() == false; D++)
+              {
+                 // Go on if it's the same package and version or
+                 // if it's the same package and has no versions
+                 // (a virtual package).
+                 if (D.TargetPkg() != RDPrv.ParentPkg() ||
+                     (RDPrv.ProvideVersion() != 0 &&
+                      Cache.VS->CheckDep(RDPrv.ProvideVersion(),D) == false))
+                    continue;
+
+                 // Bingo!
+                 pkgCache::PkgIterator Trg = D.TargetPkg();
+                 if (Trg->VersionList == 0)
+                    cout << "    " << D.DepType()
+                                   << ": <" << Trg.Name() << ">" << endl;
+                 else if (D.TargetVer() == 0)
+                    cout << "    " << D.DepType()
+                                   << ": " << Trg.Name() << endl;
+                 else
+                    cout << "    " << D.DepType()
+                                   << ": " << Trg.Name()
+                                   << " " << D.CompType() << " "
+                                   << D.TargetVer() << endl;
+
+                 // Display all solutions
+                 SPtrArray<pkgCache::Version *> List = D.AllTargets();
+                 pkgPrioSortList(Cache,List);
+                 for (pkgCache::Version **I = List; *I != 0; I++)
+                 {
+                    pkgCache::VerIterator V(Cache,*I);
+                    if (V != Cache.VerP + V.ParentPkg()->VersionList ||
+                        V->ParentPkg == D->Package)
+                       continue;
+                    cout << "      " << V.ParentPkg().Name()
+                         << "-" << V.VerStr() << endl;
+                    
+                    if (Recurse == true)
+                       Colours[D.ParentPkg()->ID]++;
+                 }
+              }
+           }
+        }
+      } 
+   }
+   while (DidSomething == true);
+   
+   return true;
+}
+                                                                       /*}}}*/
+
+// WhatProvides - Show all packages that provide the given (virtual) package
+// ---------------------------------------------------------------------
+/* */
+bool cmdWhatProvides(CommandLine &CmdL, pkgCache &Cache)
+{
+  bool    found;
+
+  for (const char **I = CmdL.FileList + 1; *I != 0; I++)
+  {
+       cout << "<" << *I << ">" << endl;
+       found = false;
+       for (pkgCache::PkgIterator Pkg = Cache.PkgBegin(); Pkg.end() == false; Pkg++)
+       {
+           for (pkgCache::VerIterator Ver = Pkg.VersionList(); !Ver.end(); Ver++)
+           {
+                if (!strcmp(Pkg.Name(), *I))
+                {
+                     // match on real package, ignore any provides in the package
+                     // since they would be meaningless
+                     cout << "  " << Pkg.Name() << "-" << Ver.VerStr() << endl;
+                     found = true;
+                }
+                else
+                {
+                     // seach in package's provides list
+                     for (pkgCache::PrvIterator Prv = Ver.ProvidesList(); Prv.end() == false; Prv++)
+                     {
+                          if (!strcmp(Prv.Name(), *I))
+                          {
+                               cout << "  " << Pkg.Name() << "-" << Ver.VerStr() << endl;
+                               cout << "    Provides: <" << Prv.Name();
+                               if (Prv.ProvideVersion() != 0)
+                                       cout << " = " << Prv.ProvideVersion();
+                               cout << ">" << endl;
+                               found = true;
+                          }
+                     }
+                }
+           }
+       }
+       
+       if (!found)
+           cout << "  nothing provides <" << *I << ">" << endl;
+  }
+  
+  return true;
+}
+                                                                 /*}}}*/
+// ShowPackage - Dump the package record to the screen                 /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+bool cmdShowPackage(CommandLine &CmdL, pkgCache &Cache)
+{   
+   pkgDepCache::Policy Plcy;
+
+   unsigned found = 0;
+   
+   for (const char **I = CmdL.FileList + 1; *I != 0; I++)
+   {
+      pkgCache::PkgIterator Pkg = Cache.FindPkg(*I);
+      if (Pkg.end() == true)
+      {
+        _error->Warning(_("Unable to locate package %s"),*I);
+        continue;
+      }
+
+      ++found;
+
+      // CNC:2004-07-09
+      // If it's a virtual package, require user to select similarly to apt-get
+      if (Pkg.VersionList().end() == true and Pkg->ProvidesList != 0)
+      {
+         ioprintf(cout, _("Package %s is a virtual package provided by:\n"),
+                  Pkg.Name());
+         for (pkgCache::PrvIterator Prv = Pkg.ProvidesList();
+             Prv.end() == false; Prv++)
+         {
+           pkgCache::VerIterator V = Plcy.GetCandidateVer(Prv.OwnerPkg());
+            if (V.end() == true)
+               continue;
+            if (V != Prv.OwnerVer())
+               continue;
+            cout << "  " << Prv.OwnerPkg().Name() << " " << V.VerStr() << endl;
+         }
+         cout << _("You should explicitly select one to show.") << endl;
+         _error->Error(_("Package %s is a virtual package with multiple providers."), Pkg.Name());
+         return false;
+      }
+
+      // Find the proper version to use.
+      if (_config->FindB("APT::Cache::AllVersions", false) == true)
+      {
+        pkgCache::VerIterator V;
+        for (V = Pkg.VersionList(); V.end() == false; V++)
+        {
+           if (cmdDisplayRecord(V, Cache) == false)
+              return false;
+        }
+      }
+      else
+      {
+        pkgCache::VerIterator V = Plcy.GetCandidateVer(Pkg);
+        if (V.end() == true || V.FileList().end() == true)
+           continue;
+        if (cmdDisplayRecord(V, Cache) == false)
+           return false;
+      }      
+   }
+
+   if (found > 0)
+        return true;
+   return _error->Error(_("No packages found"));
+}
+                                                                       /*}}}*/
+bool cmdDoList(CommandLine &CmdL, cmdCacheFile &Cache)
+{
+   bool MatchAll = (CmdL.FileSize() == 1);
+   bool ShowUpgradable = _config->FindB("APT::Cache::ShowUpgradable", false);
+   bool ShowInstalled = _config->FindB("APT::Cache::ShowInstalled", false);
+
+   const char **PatternList = &CmdL.FileList[1];
+   int NumPatterns = CmdL.FileSize()-1;
+
+   bool ShowVersion = _config->FindB("APT::Cache::ShowVersion", false);
+   bool ShowSummary = _config->FindB("APT::Cache::ShowSummary", false);
+
+   const char *PkgName;
+   vector<int> Matches(Cache->Head().PackageCount);
+   size_t NumMatches = 0;
+   size_t Len = 0, NameMaxLen = 0, VerMaxLen = 0;
+   bool Matched;
+   for (unsigned int J = 0; J < Cache->Head().PackageCount; J++)
+   {
+      Matched = false;
+      pkgCache::PkgIterator Pkg(Cache,Cache.List[J]);
+      if (Pkg->VersionList == 0)
+        continue;
+      if (ShowInstalled && Pkg->CurrentVer == 0)
+        continue;
+      if (ShowUpgradable &&
+         (Pkg->CurrentVer == 0 || Cache[Pkg].Upgradable() == false))
+        continue;
+      PkgName = Pkg.Name();
+      if (MatchAll == true)
+        Matched = true;
+      else for (int i=0; i != NumPatterns; i++) {
+        if (fnmatch(PatternList[i], PkgName, 0) == 0) {
+           Matched = true;
+           break;
+        }
+      }
+      if (Matched == true) {
+        Matches[NumMatches++] = J;
+        Len = strlen(PkgName);
+        if (Len > NameMaxLen)
+           NameMaxLen = Len;
+        if (ShowVersion == true && Pkg->CurrentVer != 0) {
+           Len = strlen(Pkg.CurrentVer().VerStr());
+           if (Len > VerMaxLen)
+              VerMaxLen = Len;
+        }
+      }
+   }
+
+   if (NumMatches == 0)
+      return true;
+
+   if (ShowVersion == true) {
+      const char *NameLabel = _("Name");
+      const char *InstalledLabel = _("Installed");
+      const char *CandidateLabel = _("Candidate");
+      size_t NameLen = strlen(NameLabel);
+      size_t InstalledLen = strlen(InstalledLabel);
+      size_t CandidateLen = strlen(CandidateLabel);
+
+      unsigned int FirstColumn = NameMaxLen+2;
+      if (FirstColumn < NameLen+2)
+        FirstColumn = NameLen+2;
+
+      unsigned int SecondColumn = VerMaxLen+2;
+      if (SecondColumn < InstalledLen+2)
+        SecondColumn = InstalledLen+2;
+
+      vector<char> BlankFirst(FirstColumn+1,' ');
+      BlankFirst[FirstColumn] = 0;
+
+      vector<char> BlankSecond(SecondColumn+1,' ');
+      BlankSecond[SecondColumn] = 0;
+
+      vector<char> Bar(ScreenWidth+1,'-');
+      Bar[ScreenWidth] = 0;
+
+      c2out << NameLabel << &BlankFirst[NameLen]
+           << InstalledLabel << &BlankSecond[InstalledLen]
+           << CandidateLabel << endl;
+      c2out << &Bar[ScreenWidth-NameLen] << &BlankFirst[NameLen]
+           << &Bar[ScreenWidth-InstalledLen] << &BlankSecond[InstalledLen]
+           << &Bar[ScreenWidth-CandidateLen] << endl;
+
+      const char *Str;
+      size_t StrLen;
+      for (unsigned int K = 0; K != NumMatches; K++) {
+        pkgCache::PkgIterator Pkg(Cache,Cache.List[Matches[K]]);
+        Str = Pkg.Name();
+        StrLen = strlen(Str);
+        c2out << Str << &BlankFirst[StrLen];
+        if (Pkg->CurrentVer != 0) {
+           Str = Pkg.CurrentVer().VerStr();
+           StrLen = strlen(Str);
+           if (Len < SecondColumn-1)
+              c2out << Str << &BlankSecond[StrLen];
+           else
+              c2out << Str << " ";
+        } else {
+           c2out << "-" << &BlankSecond[1];
+        }
+        Str = "-";
+        if (Cache[Pkg].CandidateVer != 0) {
+           Str = Cache[Pkg].CandidateVerIter(Cache).VerStr();
+           if (Pkg->CurrentVer != 0 &&
+               strcmp(Str, Pkg.CurrentVer().VerStr()) == 0)
+              Str = "-";
+        }
+        c2out << Str << endl;
+      }
+   } else if (ShowSummary == true) {
+      pkgRecords Recs(Cache);
+      if (_error->PendingError() == true)
+        return false;
+      for (unsigned int K = 0; K != NumMatches; K++) {
+        pkgCache::PkgIterator Pkg(Cache,Cache.List[Matches[K]]);
+        pkgRecords::Parser &Parse = Recs.Lookup(Pkg.VersionList().FileList());
+        c2out << Pkg.Name() << " - " << Parse.ShortDesc() << endl;
+      }
+   } else {
+      unsigned int PerLine = ScreenWidth/(NameMaxLen+2);
+      if (PerLine == 0) PerLine = 1;
+      unsigned int ColumnLen = ScreenWidth/PerLine;
+      unsigned int NumLines = (NumMatches+PerLine-1)/PerLine;
+      vector<char> Blank(ColumnLen+1,' ');
+      Blank[ColumnLen] = 0;
+
+      const char *Str;
+      size_t StrLen;
+      unsigned int K;
+      for (unsigned int Line = 0; Line != NumLines; Line++) {
+        for (unsigned int Entry = 0; Entry != PerLine; Entry++) {
+           K = Line+(Entry*NumLines);
+           if (K >= NumMatches)
+              break;
+           pkgCache::PkgIterator Pkg(Cache,Cache.List[Matches[K]]);
+           Str = Pkg.Name();
+           StrLen = strlen(Str);
+           if (Len < ColumnLen-1)
+              c2out << Str << &Blank[StrLen];
+           else
+              c2out << Str << " ";
+        }
+        c2out << endl;
+      }
+   }
+   
+   return true;
+}
+
+struct ExVerFile
+{
+   pkgCache::VerFile *Vf;
+   bool NameMatch;
+};
+
+bool cmdSearch(CommandLine &CmdL, pkgCache &Cache)
+{
+   bool ShowFull = _config->FindB("APT::Cache::ShowFull",false);
+   bool NamesOnly = _config->FindB("APT::Cache::NamesOnly",false);
+   unsigned NumPatterns = CmdL.FileSize() -1;
+   
+   pkgDepCache::Policy Plcy;
+   
+   // Make sure there is at least one argument
+   if (NumPatterns < 1)
+      return _error->Error(_("You must give exactly one pattern"));
+   
+   // Compile the regex pattern
+   regex_t *Patterns = new regex_t[NumPatterns];
+   memset(Patterns,0,sizeof(*Patterns)*NumPatterns);
+   for (unsigned I = 0; I != NumPatterns; I++)
+   {
+      if (regcomp(&Patterns[I],CmdL.FileList[I+1],REG_EXTENDED | REG_ICASE | 
+                 REG_NOSUB) != 0)
+      {
+        for (; I != 0; I--)
+           regfree(&Patterns[I]);
+        return _error->Error("Regex compilation error");
+      }      
+   }
+   
+   // Create the text record parser
+   pkgRecords Recs(Cache);
+   if (_error->PendingError() == true)
+   {
+      for (unsigned I = 0; I != NumPatterns; I++)
+        regfree(&Patterns[I]);
+      return false;
+   }
+   
+   ExVerFile *VFList = new ExVerFile[Cache.HeaderP->PackageCount+1];
+   memset(VFList,0,sizeof(*VFList)*Cache.HeaderP->PackageCount+1);
+
+   // Map versions that we want to write out onto the VerList array.
+   for (pkgCache::PkgIterator P = Cache.PkgBegin(); P.end() == false; P++)
+   {
+      VFList[P->ID].NameMatch = NumPatterns != 0;
+      for (unsigned I = 0; I != NumPatterns; I++)
+      {
+        if (regexec(&Patterns[I],P.Name(),0,0,0) == 0)
+           VFList[P->ID].NameMatch &= true;
+        else
+           VFList[P->ID].NameMatch = false;
+      }
+        
+      // Doing names only, drop any that dont match..
+      if (NamesOnly == true && VFList[P->ID].NameMatch == false)
+        continue;
+        
+      // Find the proper version to use. 
+      pkgCache::VerIterator V = Plcy.GetCandidateVer(P);
+      if (V.end() == false)
+        VFList[P->ID].Vf = V.FileList();
+   }
+      
+   // Include all the packages that provide matching names too
+   for (pkgCache::PkgIterator P = Cache.PkgBegin(); P.end() == false; P++)
+   {
+      if (VFList[P->ID].NameMatch == false)
+        continue;
+
+      for (pkgCache::PrvIterator Prv = P.ProvidesList() ; Prv.end() == false; Prv++)
+      {
+        pkgCache::VerIterator V = Plcy.GetCandidateVer(Prv.OwnerPkg());
+        if (V.end() == false)
+        {
+           VFList[Prv.OwnerPkg()->ID].Vf = V.FileList();
+           VFList[Prv.OwnerPkg()->ID].NameMatch = true;
+        }
+      }
+   }
+
+   LocalitySort(&VFList->Vf,Cache.HeaderP->PackageCount,sizeof(*VFList));
+
+   // Iterate over all the version records and check them
+   for (ExVerFile *J = VFList; J->Vf != 0; J++)
+   {
+      pkgRecords::Parser &P = Recs.Lookup(pkgCache::VerFileIterator(Cache,J->Vf));
+
+      bool Match = true;
+      if (J->NameMatch == false)
+      {
+        string LongDesc = P.LongDesc(); 
+        // CNC 2004-04-10
+        string ShortDesc = P.ShortDesc();
+        Match = NumPatterns != 0;
+        for (unsigned I = 0; I != NumPatterns; I++)
+        {
+           if (regexec(&Patterns[I],LongDesc.c_str(),0,0,0) == 0 ||
+               regexec(&Patterns[I],ShortDesc.c_str(),0,0,0) == 0)
+              Match &= true;
+           else
+              Match = false;
+        }
+      }
+      
+      if (Match == true)
+      {
+        if (ShowFull == true)
+        {
+           const char *Start;
+           const char *End;
+           P.GetRec(Start,End);
+           cout << string(Start,End-Start) << endl;
+        }       
+        else
+           cout << P.Name() << " - " << P.ShortDesc() << endl;
+      }
+   }
+   
+   delete [] VFList;
+   for (unsigned I = 0; I != NumPatterns; I++)
+      regfree(&Patterns[I]);
+   if (ferror(stdout))
+       return _error->Error("Write to stdout failed");
+   return true;
+}
+                                                                       /*}}}*/
+bool cmdSearchFile(CommandLine &CmdL, pkgCache &Cache)
+{
+   pkgRecords Recs(Cache);
+   pkgDepCache::Policy Plcy;
+
+   for (const char **I = CmdL.FileList + 1; *I != 0; I++) {
+      pkgCache::PkgIterator Pkg = Cache.PkgBegin();
+      for (; Pkg.end() == false; Pkg++) {
+        if (_config->FindB("APT::Cache::AllVersions", false) == true) {
+           pkgCache::VerIterator Ver = Pkg.VersionList();
+           for (; Ver.end() == false; Ver++) {
+              pkgRecords::Parser &Parse = Recs.Lookup(Ver.FileList());
+              if (Parse.HasFile(*I)) {
+                 cout << *I << " " << Pkg.Name() << "-" << Ver.VerStr() << endl;
+              }
+           }
+        } else {
+           pkgCache::VerIterator Ver = Plcy.GetCandidateVer(Pkg);
+           if (Ver.end() == false) {
+              pkgRecords::Parser &Parse = Recs.Lookup(Ver.FileList());
+              if (Parse.HasFile(*I)) {
+                 cout << *I << " " << Pkg.Name() << "-" << Ver.VerStr() << endl;
+              }
+           }
+        }
+      }
+   }
+
+   return true;
+}
+
 // vim:sts=3:sw=3
index b0b94a3..cf0bc5b 100644 (file)
@@ -48,7 +48,6 @@ class LogCleaner : public pkgArchiveCleaner
    virtual ~LogCleaner() {};
 };
 
-
 bool ShowList(ostream &out,string Title,string List,string VersionsList);
 void Stats(ostream &out,pkgDepCache &Dep,pkgDepCache::State *State=NULL);
 void ShowBroken(ostream &out,cmdCacheFile &Cache,bool Now, 
@@ -64,10 +63,28 @@ bool ShowHold(ostream &out,cmdCacheFile &Cache, pkgDepCache::State *State=NULL);
 bool ShowEssential(ostream &out,cmdCacheFile &Cache, pkgDepCache::State *State=NULL);
 
 bool cmdDoClean(CommandLine &CmdL);
+bool cmdDoList(CommandLine &CmdL, cmdCacheFile &Cache);
 
 pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs,
                                pkgSrcRecords &SrcRecs,string &Src,
                                pkgDepCache &Cache);
 
 
+// apt-cache stuff
+int LocalityCompare(const void *a, const void *b);
+void LocalitySort(pkgCache::VerFile **begin, unsigned long Count,size_t Size);
+
+bool cmdUnMet(CommandLine &CmdL, pkgCache &Cache);
+bool cmdDumpPackage(CommandLine &CmdL, pkgCache &Cache);
+bool cmdDisplayRecord(pkgCache::VerIterator V, pkgCache &Cache);
+bool cmdDepends(CommandLine &CmdL, pkgCache &Cache);
+bool cmdRDepends(CommandLine &CmdL, pkgCache &Cache);
+bool cmdWhatDepends(CommandLine &CmdL, pkgCache &Cache);
+bool cmdWhatProvides(CommandLine &CmdL, pkgCache &Cache);
+bool cmdShowPackage(CommandLine &CmdL, pkgCache &Cache);
+
+bool cmdSearch(CommandLine &CmdL, pkgCache &Cache);
+bool cmdSearchFile(CommandLine &CmdL, pkgCache &Cache);
+
+
 // vim:sts=3:sw=3
index fd1db9c..7f99e95 100755 (executable)
--- a/configure
+++ b/configure
@@ -21465,7 +21465,7 @@ cat >>confdefs.h <<\_ACEOF
 #define WITH_REPOMD 1
 _ACEOF
 
-      ## xmlReadFile is not available before 2.6.0
+  ## xmlReadFile is not available before 2.6.0
 
 
 if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
index e8094a9..5d53a6f 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: apt\n"
 "Report-Msgid-Bugs-To: apt-rpm@lists.laiskiainen.org\n"
-"POT-Creation-Date: 2006-06-08 17:14+0300\n"
+"POT-Creation-Date: 2006-08-22 01:03+0300\n"
 "PO-Revision-Date: 2002-08-20 14:00+0200\n"
 "Last-Translator: Ralf Corsepius <corsepiu@users.sourceforge.net>\n"
 "Language-Team: German <de@li.org>\n"
@@ -62,160 +62,128 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-#: cmdline/apt-cache.cc:157 cmdline/apt-shell.cc:3077
-#, c-format
-msgid "Package %s version %s has an unmet dep:\n"
-msgstr "Paket %s Version %s besitzt eine unerfüllte Abhängigkeit:\n"
-
-#: cmdline/apt-cache.cc:197 cmdline/apt-cache.cc:565 cmdline/apt-cache.cc:660
-#: cmdline/apt-cache.cc:750 cmdline/apt-cache.cc:1024
-#: cmdline/apt-cache.cc:1291 cmdline/apt-cache.cc:1705
-#: cmdline/apt-cache.cc:1877 cmdline/apt-shell.cc:2629
-#: cmdline/apt-shell.cc:2727 cmdline/apt-shell.cc:2820
-#: cmdline/apt-shell.cc:3120 cmdline/apt-shell.cc:3539
-#, c-format
-msgid "Unable to locate package %s"
-msgstr "Ausserstande Paket %s zu lokalisieren"
-
-#: cmdline/apt-cache.cc:254
+#: cmdline/apt-cache.cc:94
 msgid "Total Package Names : "
 msgstr "Gesamt Paketnamen :"
 
-#: cmdline/apt-cache.cc:294
+#: cmdline/apt-cache.cc:134
 msgid "  Normal Packages: "
 msgstr "  Normale Pakete: "
 
-#: cmdline/apt-cache.cc:295
+#: cmdline/apt-cache.cc:135
 msgid "  Pure Virtual Packages: "
 msgstr "  Rein virtuelle Pakete: "
 
-#: cmdline/apt-cache.cc:296
+#: cmdline/apt-cache.cc:136
 msgid "  Single Virtual Packages: "
 msgstr "  Einzelne virtuelle Pakete: "
 
-#: cmdline/apt-cache.cc:297
+#: cmdline/apt-cache.cc:137
 msgid "  Mixed Virtual Packages: "
 msgstr "  Gemischte virtuelle Pakete: "
 
-#: cmdline/apt-cache.cc:298
+#: cmdline/apt-cache.cc:138
 msgid "  Missing: "
 msgstr "  Fehlend: "
 
-#: cmdline/apt-cache.cc:300
+#: cmdline/apt-cache.cc:140
 msgid "Total Distinct Versions: "
 msgstr "Gesamt Eigenständige Versionen: "
 
-#: cmdline/apt-cache.cc:302
+#: cmdline/apt-cache.cc:142
 msgid "Total Dependencies: "
 msgstr "Gesamt-Abhängigkeiten: "
 
-#: cmdline/apt-cache.cc:305
+#: cmdline/apt-cache.cc:145
 msgid "Total Ver/File relations: "
 msgstr "Gesamt Ver/File Beziehungen: "
 
-#: cmdline/apt-cache.cc:307
+#: cmdline/apt-cache.cc:147
 msgid "Total Provides Mappings: "
 msgstr "Gesamt 'Provides Mappings': "
 
-#: cmdline/apt-cache.cc:319
+#: cmdline/apt-cache.cc:159
 msgid "Total Globbed Strings: "
 msgstr "Gesamt 'Globbed Strings': "
 
-#: cmdline/apt-cache.cc:333
+#: cmdline/apt-cache.cc:173
 msgid "Total Dependency Version space: "
 msgstr "Gesamt 'Dependency-Version'-Platz:"
 
-#: cmdline/apt-cache.cc:338
+#: cmdline/apt-cache.cc:178
 msgid "Total Slack space: "
 msgstr "Gesamt 'Slack'-Platz"
 
-#: cmdline/apt-cache.cc:346
+#: cmdline/apt-cache.cc:186
 msgid "Total Space Accounted for: "
 msgstr "Gesamt-Platz angerechnet für: "
 
-#: cmdline/apt-cache.cc:484 cmdline/apt-cache.cc:1501
-#: cmdline/apt-shell.cc:3198
+#: cmdline/apt-cache.cc:323 cmdline/cmdline.cc:1032
 #, c-format
 msgid "Package file %s is out of sync."
 msgstr "Paketdatei %s passt nicht zusammen."
 
-#: cmdline/apt-cache.cc:1576 cmdline/apt-shell.cc:3244
-msgid "You must give exactly one pattern"
-msgstr "Sie müssen genau ein Muster angeben"
-
-#: cmdline/apt-cache.cc:1715 cmdline/apt-get.cc:1193 cmdline/apt-get.cc:1249
-#: cmdline/apt-shell.cc:1263 cmdline/apt-shell.cc:1319
-#, c-format
-msgid "Package %s is a virtual package provided by:\n"
-msgstr "Paket %s ist ein virtuelles Paket bereitgestellt von:\n"
-
-#: cmdline/apt-cache.cc:1727
-msgid "You should explicitly select one to show."
-msgstr "Sie sollten explizit eines zur Anzeige auswählen."
-
-#: cmdline/apt-cache.cc:1728
+#: cmdline/apt-cache.cc:489 cmdline/apt-cache.cc:707 cmdline/apt-cache.cc:1040
+#: cmdline/cmdline.cc:955 cmdline/cmdline.cc:1068 cmdline/cmdline.cc:1162
+#: cmdline/cmdline.cc:1251 cmdline/cmdline.cc:1508
 #, c-format
-msgid "Package %s is a virtual package with multiple providers."
-msgstr "Paket %s ist ein virtuelles Paket mit mehreren Bereitstellern."
-
-#: cmdline/apt-cache.cc:1754 cmdline/apt-shell.cc:3567
-msgid "No packages found"
-msgstr "Keine Pakete gefunden"
+msgid "Unable to locate package %s"
+msgstr "Ausserstande Paket %s zu lokalisieren"
 
-#: cmdline/apt-cache.cc:1831
+#: cmdline/apt-cache.cc:994
 msgid "Package Files:"
 msgstr "Paketdateien:"
 
-#: cmdline/apt-cache.cc:1838 cmdline/apt-cache.cc:1928
+#: cmdline/apt-cache.cc:1001 cmdline/apt-cache.cc:1091
 msgid "Cache is out of sync, can't x-ref a package file"
 msgstr ""
 "Der Cache ist nicht synchronsiert, kann X-Referenz für Paket nicht ermitteln"
 
-#: cmdline/apt-cache.cc:1839
+#: cmdline/apt-cache.cc:1002
 #, c-format
 msgid "%4i %s\n"
 msgstr "%4i %s\n"
 
-#: cmdline/apt-cache.cc:1851
+#: cmdline/apt-cache.cc:1014
 msgid "Pinned Packages:"
 msgstr "Ange-pinnte Pakete: "
 
-#: cmdline/apt-cache.cc:1863 cmdline/apt-cache.cc:1904
+#: cmdline/apt-cache.cc:1026 cmdline/apt-cache.cc:1067
 msgid "(not found)"
 msgstr "(nicht gefunden)"
 
-#: cmdline/apt-cache.cc:1884
+#: cmdline/apt-cache.cc:1047
 msgid "  Installed: "
 msgstr "  Installiert: "
 
-#: cmdline/apt-cache.cc:1886 cmdline/apt-cache.cc:1894
+#: cmdline/apt-cache.cc:1049 cmdline/apt-cache.cc:1057
 msgid "(none)"
 msgstr "(nichts)"
 
-#: cmdline/apt-cache.cc:1891
+#: cmdline/apt-cache.cc:1054
 msgid "  Candidate: "
 msgstr "  Kandidat: "
 
-#: cmdline/apt-cache.cc:1901
+#: cmdline/apt-cache.cc:1064
 msgid "  Package Pin: "
 msgstr "  Paket-Pin: "
 
-#: cmdline/apt-cache.cc:1910
+#: cmdline/apt-cache.cc:1073
 msgid "  Version Table:"
 msgstr "  Versionstabelle: "
 
-#: cmdline/apt-cache.cc:1929
+#: cmdline/apt-cache.cc:1092
 #, c-format
 msgid "       %4i %s\n"
 msgstr "       %4i %s\n"
 
-#: cmdline/apt-cache.cc:1956 cmdline/apt-cdrom.cc:821 cmdline/apt-config.cc:72
-#: cmdline/apt-get.cc:2891 cmdline/apt-shell.cc:3586
+#: cmdline/apt-cache.cc:1119 cmdline/apt-cdrom.cc:824 cmdline/apt-config.cc:72
+#: cmdline/apt-get.cc:2119 cmdline/apt-shell.cc:1948
 #, c-format
 msgid "%s %s for %s %s compiled on %s %s\n"
 msgstr "%s %s für %s %s compiliert auf %s %s\n"
 
-#: cmdline/apt-cache.cc:1963
+#: cmdline/apt-cache.cc:1126
 msgid ""
 "Usage: apt-cache [options] command\n"
 "       apt-cache [options] add file1 [file2 ...]\n"
@@ -235,17 +203,18 @@ msgid ""
 "   dumpavail - Print an available file to stdout\n"
 "   unmet - Show unmet dependencies\n"
 "   search - Search the package list for a regex pattern\n"
+"   searchfile - Search the packages for a file\n"
 "   show - Show a readable record for the package\n"
 "   depends - Show raw dependency information for a package\n"
-"   whatdepends - Show packages depending on given items\n"
-"   whatprovides - Show packages that provide given items\n"
+"   whatdepends - Show packages depending on given capabilities\n"
+"   whatprovides - Show packages that provide given capabilities\n"
 "   pkgnames - List the names of all packages\n"
 "   dotty - Generate package graphs for GraphVis\n"
 "   xvcg - Generate package graphs for xvcg\n"
 "   policy - Show policy settings\n"
 msgstr ""
 
-#: cmdline/apt-cache.cc:1996
+#: cmdline/apt-cache.cc:1160
 msgid ""
 "\n"
 "Options:\n"
@@ -274,11 +243,11 @@ msgstr "Öffne %s"
 msgid "Failed to open %s.new"
 msgstr "Problem beim Öffnen von %s.new"
 
-#: cmdline/apt-cdrom.cc:545 cmdline/apt-cdrom.cc:786
+#: cmdline/apt-cdrom.cc:545 cmdline/apt-cdrom.cc:789
 msgid "Using CD-ROM mount point "
 msgstr ""
 
-#: cmdline/apt-cdrom.cc:553 cmdline/apt-cdrom.cc:808 methods/cdrom.cc:81
+#: cmdline/apt-cdrom.cc:553 cmdline/apt-cdrom.cc:811 methods/cdrom.cc:81
 #: methods/cdrom.cc:193
 #, c-format
 msgid "Unable to read the cdrom database %s"
@@ -292,15 +261,15 @@ msgstr ""
 msgid "Please insert a Disc in the drive and press enter"
 msgstr "Bitte eine Disk in Laufwerk einlegen und mit Eingabe bestätigen"
 
-#: cmdline/apt-cdrom.cc:575 cmdline/apt-cdrom.cc:787
+#: cmdline/apt-cdrom.cc:575 cmdline/apt-cdrom.cc:790
 msgid "Mounting CD-ROM"
 msgstr ""
 
-#: cmdline/apt-cdrom.cc:577 cmdline/apt-cdrom.cc:789
+#: cmdline/apt-cdrom.cc:577 cmdline/apt-cdrom.cc:792
 msgid "Failed to mount the cdrom."
 msgstr "Gescheitert das CDROM zu mounten."
 
-#: cmdline/apt-cdrom.cc:581 cmdline/apt-cdrom.cc:792
+#: cmdline/apt-cdrom.cc:581 cmdline/apt-cdrom.cc:795
 msgid "Identifying.. "
 msgstr ""
 
@@ -308,60 +277,60 @@ msgstr ""
 msgid "Scanning Disc for index files..  "
 msgstr "Durchsuche Disk nach Indexdateien..  "
 
-#: cmdline/apt-cdrom.cc:618
+#: cmdline/apt-cdrom.cc:621
 msgid "I found (binary):"
 msgstr ""
 
-#: cmdline/apt-cdrom.cc:621
+#: cmdline/apt-cdrom.cc:624
 msgid "I found (source):"
 msgstr ""
 
-#: cmdline/apt-cdrom.cc:636
+#: cmdline/apt-cdrom.cc:639
 msgid "Found "
 msgstr "Gefunden "
 
-#: cmdline/apt-cdrom.cc:636
+#: cmdline/apt-cdrom.cc:639
 msgid " package indexes and "
 msgstr " Paketindizes und "
 
-#: cmdline/apt-cdrom.cc:637
+#: cmdline/apt-cdrom.cc:640
 msgid " source indexes."
 msgstr ""
 
-#: cmdline/apt-cdrom.cc:644
+#: cmdline/apt-cdrom.cc:647
 msgid ""
 "Unable to locate any package files, perhaps this is not an APT enabled disc"
 msgstr ""
 
-#: cmdline/apt-cdrom.cc:668
+#: cmdline/apt-cdrom.cc:671
 msgid "Found label '"
 msgstr ""
 
-#: cmdline/apt-cdrom.cc:677
+#: cmdline/apt-cdrom.cc:680
 msgid "Please provide a name for this Disc, such as 'Distribution Disk 1'"
 msgstr ""
 
-#: cmdline/apt-cdrom.cc:686
+#: cmdline/apt-cdrom.cc:689
 msgid "That is not a valid name, try again "
 msgstr "Das ist kein gültiger Name, noch einmal versuchen"
 
-#: cmdline/apt-cdrom.cc:700
+#: cmdline/apt-cdrom.cc:703
 msgid "This Disc is called:"
 msgstr "Diese Disk heisst:"
 
-#: cmdline/apt-cdrom.cc:733
+#: cmdline/apt-cdrom.cc:736
 msgid "Source List entries for this Disc are:"
 msgstr ""
 
-#: cmdline/apt-cdrom.cc:766
+#: cmdline/apt-cdrom.cc:769
 msgid "Repeat this process for the rest of the CDs in your set."
 msgstr ""
 
-#: cmdline/apt-cdrom.cc:811
+#: cmdline/apt-cdrom.cc:814
 msgid "Stored Label: '"
 msgstr ""
 
-#: cmdline/apt-cdrom.cc:827
+#: cmdline/apt-cdrom.cc:830
 msgid ""
 "Usage: apt-cdrom [options] command\n"
 "\n"
@@ -417,199 +386,93 @@ msgstr ""
 "  -c=? Lese diese Konfigurationsdatei\n"
 "  -o=? Setze eine beliebige Konfigurationsoption, z.B. -o dir::cache=/tmp\n"
 
-#: cmdline/apt-get.cc:160 cmdline/apt-shell.cc:182
-msgid "The following packages have unmet dependencies:"
-msgstr "Die folgenden Pakete besitzen unerfülte Abhängigkeiten:"
-
-#: cmdline/apt-get.cc:258 cmdline/apt-shell.cc:280
-#, c-format
-msgid "but %s is installed"
-msgstr "aber %s ist installiert"
-
-#: cmdline/apt-get.cc:260 cmdline/apt-shell.cc:282
-#, c-format
-msgid "but %s is to be installed"
-msgstr "aber %s wird installiert werden"
-
-#: cmdline/apt-get.cc:267 cmdline/apt-shell.cc:289
-msgid "but it is not installable"
-msgstr "aber es ist nicht installierbar"
-
-#: cmdline/apt-get.cc:269 cmdline/apt-shell.cc:291
-msgid "but it is a virtual package"
-msgstr "aber es ist ein virtuelles Paket"
-
-#: cmdline/apt-get.cc:272 cmdline/apt-shell.cc:294
-msgid "but it is not installed"
-msgstr "aber es ist nicht installiert"
-
-#: cmdline/apt-get.cc:272 cmdline/apt-shell.cc:294
-msgid "but it is not going to be installed"
-msgstr "aber es wird nicht installiert werden"
-
-#: cmdline/apt-get.cc:277 cmdline/apt-shell.cc:299
-msgid " or"
-msgstr " oder"
-
-#: cmdline/apt-get.cc:306 cmdline/apt-shell.cc:329
-msgid "The following NEW packages will be installed:"
-msgstr "Die folgenden NEUEN Pakete werden installiert werden:"
-
-#: cmdline/apt-get.cc:358 cmdline/apt-shell.cc:382
-msgid "The following packages will be REPLACED:"
-msgstr "Die folgenden Pakete werden ERSETZT:"
-
-#: cmdline/apt-get.cc:359 cmdline/apt-shell.cc:383
-msgid "The following packages will be REMOVED:"
-msgstr "Die folgenden Pakete werden ENTFERNT:"
-
-#: cmdline/apt-get.cc:381 cmdline/apt-shell.cc:412
-msgid "The following packages have been kept back"
-msgstr "Die folgenden Pakete sind zurückgehalten worden"
-
-#: cmdline/apt-get.cc:402 cmdline/apt-shell.cc:440
-msgid "The following packages will be upgraded"
-msgstr "Die folgenden Pakete werden upgegradet werden:"
-
-#: cmdline/apt-get.cc:423 cmdline/apt-shell.cc:468
-msgid "The following packages will be DOWNGRADED"
-msgstr "Die folgenden Pakete werden DOWNGRADED:"
-
-#: cmdline/apt-get.cc:443 cmdline/apt-shell.cc:490
-msgid "The following held packages will be changed:"
-msgstr "Die folgenden zurückgehaltenen Pakete werden geändert:"
-
-#: cmdline/apt-get.cc:532 cmdline/apt-shell.cc:581
-#, c-format
-msgid "%s (due to %s) "
-msgstr "%s (in Folge von %s) "
-
-#: cmdline/apt-get.cc:540 cmdline/apt-shell.cc:589
-msgid ""
-"WARNING: The following essential packages will be removed\n"
-"This should NOT be done unless you know exactly what you are doing!"
-msgstr ""
-"WARNUNG: Die folgenden grundlegenden Pakete werden entfernt werden\n"
-"Dies sollte NICHT gemacht werden, ausser Sie wissen genau was sie tun!"
-
-#: cmdline/apt-get.cc:594 cmdline/apt-shell.cc:655
-#, c-format
-msgid "%lu upgraded, %lu newly installed, "
-msgstr "%lu upgegradet, %lu neu installiert, "
-
-#: cmdline/apt-get.cc:598 cmdline/apt-shell.cc:659
-#, c-format
-msgid "%lu reinstalled, "
-msgstr "%lu reinstalliert,  "
-
-#: cmdline/apt-get.cc:600 cmdline/apt-shell.cc:661
-#, c-format
-msgid "%lu downgraded, "
-msgstr "%lu downgegradet, "
-
-#: cmdline/apt-get.cc:603 cmdline/apt-shell.cc:664
-#, c-format
-msgid "%lu replaced, "
-msgstr "%lu ersetzt, "
-
-#: cmdline/apt-get.cc:606 cmdline/apt-shell.cc:668
-#, c-format
-msgid "%lu removed and %lu not upgraded.\n"
-msgstr "%lu entfernt und %lu nicht upgegradet.\n"
-
-#: cmdline/apt-get.cc:610 cmdline/apt-shell.cc:675
-#, c-format
-msgid "%lu not fully installed or removed.\n"
-msgstr "%lu nicht vollständig installiert oder entfernt.\n"
-
-#: cmdline/apt-get.cc:632
+#: cmdline/apt-get.cc:158
 msgid "There are changes to be made"
 msgstr ""
 
-#: cmdline/apt-get.cc:698 cmdline/apt-shell.cc:803
+#: cmdline/apt-get.cc:193 cmdline/apt-shell.cc:255
 msgid "Correcting dependencies..."
 msgstr "Korrigiere Abhängigkeiten ..."
 
-#: cmdline/apt-get.cc:701 cmdline/apt-shell.cc:806
+#: cmdline/apt-get.cc:196 cmdline/apt-shell.cc:258
 msgid " failed."
 msgstr " gescheitert."
 
-#: cmdline/apt-get.cc:704 cmdline/apt-shell.cc:809
+#: cmdline/apt-get.cc:199 cmdline/apt-shell.cc:261
 msgid "Unable to correct dependencies"
 msgstr "Ausserstande, Abhängigkeiten zu korrigieren"
 
-#: cmdline/apt-get.cc:707 cmdline/apt-shell.cc:812
+#: cmdline/apt-get.cc:202 cmdline/apt-shell.cc:264
 msgid "Unable to minimize the upgrade set"
 msgstr "Ausserstande, das Upgrade-Set zu minimieren"
 
-#: cmdline/apt-get.cc:709 cmdline/apt-shell.cc:814
+#: cmdline/apt-get.cc:204 cmdline/apt-shell.cc:266
 msgid " Done"
 msgstr " Fertig"
 
-#: cmdline/apt-get.cc:713
+#: cmdline/apt-get.cc:208
 msgid "You might want to run `apt-get --fix-broken install' to correct these."
 msgstr ""
 "Sie werden `apt-get --fix-broken install' ausführen wollen um diese zu "
 "beheben."
 
-#: cmdline/apt-get.cc:716 cmdline/apt-shell.cc:821
+#: cmdline/apt-get.cc:211 cmdline/apt-shell.cc:273
 msgid "Unmet dependencies. Try using --fix-broken."
 msgstr "Unerfüllte Abhängigkeiten. Versuchen Sie --fix-broken zu benutzen."
 
-#: cmdline/apt-get.cc:774 cmdline/apt-shell.cc:879
+#: cmdline/apt-get.cc:268 cmdline/apt-shell.cc:330
 msgid "Packages need to be removed but Remove is disabled."
 msgstr "Pakete müssen entfernt werden, Remove ist aber ausgeschaltet."
 
-#: cmdline/apt-get.cc:800 cmdline/apt-get.cc:2223 cmdline/apt-get.cc:2258
-#: cmdline/apt-shell.cc:905 cmdline/apt-shell.cc:2208
-#: cmdline/apt-shell.cc:2244
+#: cmdline/apt-get.cc:294 cmdline/apt-get.cc:1542 cmdline/apt-shell.cc:356
+#: cmdline/apt-shell.cc:1479 cmdline/cmdline.cc:713
 msgid "Unable to lock the download directory"
 msgstr "Ausserstande das Download-Verzeichnis zu locken."
 
-#: cmdline/apt-get.cc:810 cmdline/apt-get.cc:2306 cmdline/apt-get.cc:2580
-#: cmdline/apt-shell.cc:915 cmdline/apt-shell.cc:2303 apt-pkg/cachefile.cc:71
+#: cmdline/apt-get.cc:304 cmdline/apt-get.cc:1590 cmdline/apt-get.cc:1808
+#: cmdline/apt-shell.cc:366 cmdline/apt-shell.cc:1538 apt-pkg/cachefile.cc:71
 msgid "The list of sources could not be read."
 msgstr "Die Liste der Quellen konnte nicht gelesen werden."
 
-#: cmdline/apt-get.cc:830 cmdline/apt-shell.cc:935
+#: cmdline/apt-get.cc:324 cmdline/apt-shell.cc:386
 #, c-format
 msgid "Need to get %sB/%sB of archives.\n"
 msgstr "Muss %sB/%sB an Archiven holen.\n"
 
-#: cmdline/apt-get.cc:833 cmdline/apt-shell.cc:938
+#: cmdline/apt-get.cc:327 cmdline/apt-shell.cc:389
 #, c-format
 msgid "Need to get %sB of archives.\n"
 msgstr "Muss %sB an Archiven holen.\n"
 
-#: cmdline/apt-get.cc:838 cmdline/apt-shell.cc:722 cmdline/apt-shell.cc:943
+#: cmdline/apt-get.cc:332 cmdline/apt-shell.cc:205 cmdline/apt-shell.cc:394
 #, c-format
 msgid "After unpacking %sB of additional disk space will be used.\n"
 msgstr "Nach dem Auspacken werden %sB zusätzlicher Plattenplatz benutzt.\n"
 
-#: cmdline/apt-get.cc:841 cmdline/apt-shell.cc:725 cmdline/apt-shell.cc:946
+#: cmdline/apt-get.cc:335 cmdline/apt-shell.cc:208 cmdline/apt-shell.cc:397
 #, c-format
 msgid "After unpacking %sB disk space will be freed.\n"
 msgstr "Nach dem Auspacken werden %sB Plattenplatz freigegeben.\n"
 
-#: cmdline/apt-get.cc:859 cmdline/apt-shell.cc:964
+#: cmdline/apt-get.cc:353 cmdline/apt-shell.cc:415
 #, c-format
 msgid "You don't have enough free space in %s."
 msgstr "Sie haben nicht genug freien Platz in %s."
 
-#: cmdline/apt-get.cc:868 cmdline/apt-shell.cc:973
+#: cmdline/apt-get.cc:362 cmdline/apt-shell.cc:424
 msgid "There are problems and -y was used without --force-yes"
 msgstr "Es gibt Probleme und -q wurde ohne --force-yes verwendet"
 
-#: cmdline/apt-get.cc:874 cmdline/apt-get.cc:894 cmdline/apt-shell.cc:979
-#: cmdline/apt-shell.cc:999
+#: cmdline/apt-get.cc:368 cmdline/apt-get.cc:388 cmdline/apt-shell.cc:430
+#: cmdline/apt-shell.cc:450
 msgid "Trivial Only specified but this is not a trivial operation."
 msgstr "Trivial Only vorgegeben, dies ist aber keine triviale Operation."
 
-#: cmdline/apt-get.cc:876 cmdline/apt-shell.cc:981
+#: cmdline/apt-get.cc:370 cmdline/apt-shell.cc:432
 msgid "Yes, do as I say!"
 msgstr "Ja, tu was ich sage!"
 
-#: cmdline/apt-get.cc:878 cmdline/apt-shell.cc:983
+#: cmdline/apt-get.cc:372 cmdline/apt-shell.cc:434
 #, c-format
 msgid ""
 "You are about to do something potentially harmful\n"
@@ -620,30 +483,30 @@ msgstr ""
 "Um fortzusetzen, geben Sie folgenden Satz ein '%s'\n"
 " ?] "
 
-#: cmdline/apt-get.cc:884 cmdline/apt-get.cc:903 cmdline/apt-shell.cc:740
-#: cmdline/apt-shell.cc:989 cmdline/apt-shell.cc:1008
+#: cmdline/apt-get.cc:378 cmdline/apt-get.cc:397 cmdline/apt-shell.cc:223
+#: cmdline/apt-shell.cc:440 cmdline/apt-shell.cc:459
 msgid "Abort."
 msgstr "Abgebrochen."
 
-#: cmdline/apt-get.cc:899 cmdline/apt-shell.cc:738 cmdline/apt-shell.cc:1004
+#: cmdline/apt-get.cc:393 cmdline/apt-shell.cc:221 cmdline/apt-shell.cc:455
 msgid "Do you want to continue? [Y/n] "
 msgstr "Wollen Sie fortsetzen? [J/n] "
 
-#: cmdline/apt-get.cc:977 cmdline/apt-get.cc:1082 cmdline/apt-get.cc:1594
-#: cmdline/apt-get.cc:2447 cmdline/apt-shell.cc:1081 cmdline/apt-shell.cc:1658
+#: cmdline/apt-get.cc:471 cmdline/apt-get.cc:576 cmdline/apt-get.cc:993
+#: cmdline/apt-get.cc:1720 cmdline/apt-shell.cc:532 cmdline/apt-shell.cc:1014
 #, c-format
 msgid "Failed to fetch %s  %s\n"
 msgstr "Gescheitert zu holen %s  %s\n"
 
-#: cmdline/apt-get.cc:995 cmdline/apt-shell.cc:1099
+#: cmdline/apt-get.cc:489 cmdline/apt-shell.cc:550
 msgid "Some files failed to download"
 msgstr "Einige Dateien konnten nicht heruntergeladen werden"
 
-#: cmdline/apt-get.cc:996 cmdline/apt-get.cc:2456 cmdline/apt-shell.cc:1100
+#: cmdline/apt-get.cc:490 cmdline/apt-get.cc:1729 cmdline/apt-shell.cc:551
 msgid "Download complete and in download only mode"
 msgstr "Download vollständig und in 'download-only' Modus"
 
-#: cmdline/apt-get.cc:1002 cmdline/apt-shell.cc:1106
+#: cmdline/apt-get.cc:496 cmdline/apt-shell.cc:557
 msgid ""
 "Unable to fetch some archives, maybe run apt-get update or try with --fix-"
 "missing?"
@@ -651,61 +514,67 @@ msgstr ""
 "Ausserstande einige Archive zu holen, vielleicht apt-get update laufenlassen "
 "oder mit --fix-missing versuchen?"
 
-#: cmdline/apt-get.cc:1006 cmdline/apt-shell.cc:1110
+#: cmdline/apt-get.cc:500 cmdline/apt-shell.cc:561
 msgid "--fix-missing and media swapping is not currently supported"
 msgstr "--fix-missing und Medienwechsel werden momentan nicht unterstützt"
 
-#: cmdline/apt-get.cc:1011 cmdline/apt-shell.cc:1115
+#: cmdline/apt-get.cc:505 cmdline/apt-shell.cc:566
 msgid "Unable to correct missing packages."
 msgstr "Ausserstande fehlende Pakete zu korrigieren."
 
-#: cmdline/apt-get.cc:1012 cmdline/apt-shell.cc:1116
+#: cmdline/apt-get.cc:506 cmdline/apt-shell.cc:567
 msgid "Aborting Install."
 msgstr "Installation wird abgebrochen."
 
-#: cmdline/apt-get.cc:1087 cmdline/apt-get.cc:2452
+#: cmdline/apt-get.cc:581 cmdline/apt-get.cc:1725
 msgid "Failed to fetch some archives."
 msgstr "Gescheitert einige Archive zu holen."
 
-#: cmdline/apt-get.cc:1181 cmdline/apt-get.cc:1789 cmdline/apt-get.cc:1852
-#: cmdline/apt-get.cc:1887 cmdline/apt-get.cc:2345 cmdline/apt-shell.cc:1251
-#: cmdline/apt-shell.cc:1923 cmdline/apt-shell.cc:1958
+#: cmdline/apt-get.cc:675 cmdline/apt-get.cc:1188 cmdline/apt-get.cc:1251
+#: cmdline/apt-get.cc:1286 cmdline/apt-get.cc:1629 cmdline/apt-shell.cc:702
+#: cmdline/apt-shell.cc:1279 cmdline/apt-shell.cc:1314
 #, c-format
 msgid "Selecting %s for '%s'\n"
 msgstr "Wähle %s für '%s'\n"
 
-#: cmdline/apt-get.cc:1187 cmdline/apt-shell.cc:1257
+#: cmdline/apt-get.cc:681 cmdline/apt-shell.cc:708
 #, c-format
 msgid "Package %s is a virtual package with no good providers.\n"
 msgstr " Paket %s ist ein virtuelles Paket ohne guten Bereitsteller.\n"
 
-#: cmdline/apt-get.cc:1201 cmdline/apt-get.cc:1261 cmdline/apt-shell.cc:1271
-#: cmdline/apt-shell.cc:1331
+#: cmdline/apt-get.cc:687 cmdline/apt-get.cc:743 cmdline/apt-shell.cc:714
+#: cmdline/apt-shell.cc:770 cmdline/cmdline.cc:1518
+#, c-format
+msgid "Package %s is a virtual package provided by:\n"
+msgstr "Paket %s ist ein virtuelles Paket bereitgestellt von:\n"
+
+#: cmdline/apt-get.cc:695 cmdline/apt-get.cc:755 cmdline/apt-shell.cc:722
+#: cmdline/apt-shell.cc:782
 msgid " [Installed]"
 msgstr " [Installiert]"
 
-#: cmdline/apt-get.cc:1206 cmdline/apt-get.cc:1266 cmdline/apt-shell.cc:1276
-#: cmdline/apt-shell.cc:1336
+#: cmdline/apt-get.cc:700 cmdline/apt-get.cc:760 cmdline/apt-shell.cc:727
+#: cmdline/apt-shell.cc:787
 msgid "You should explicitly select one to install."
 msgstr "Sie sollten explizit eines zur Installation auswählen."
 
-#: cmdline/apt-get.cc:1207 cmdline/apt-shell.cc:1277
+#: cmdline/apt-get.cc:701 cmdline/apt-shell.cc:728
 #, c-format
 msgid "Package %s is a virtual package with multiple good providers.\n"
 msgstr " Paket %s ist ein virtuelles Paket mit mehreren Bereitstellern.\n"
 
-#: cmdline/apt-get.cc:1218 cmdline/apt-shell.cc:1288
+#: cmdline/apt-get.cc:712 cmdline/apt-shell.cc:739
 #, c-format
 msgid "Skipping %s, it is already installed and upgrade is not set.\n"
 msgstr ""
 "Überspringe %s, ist bereits installiert und upgrade ist nicht gesetzt.\n"
 
-#: cmdline/apt-get.cc:1236 cmdline/apt-shell.cc:1306
+#: cmdline/apt-get.cc:730 cmdline/apt-shell.cc:757
 #, c-format
 msgid "Package %s is not installed, so not removed\n"
 msgstr "Paket %s ist nicht installiert, deshalb nicht entfernt\n"
 
-#: cmdline/apt-get.cc:1272 cmdline/apt-shell.cc:1342
+#: cmdline/apt-get.cc:766 cmdline/apt-shell.cc:793
 #, c-format
 msgid ""
 "Package %s has no available version, but exists in the database.\n"
@@ -714,66 +583,66 @@ msgid ""
 "of sources.list\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:1294 cmdline/apt-shell.cc:1364
+#: cmdline/apt-get.cc:788 cmdline/apt-shell.cc:815
 msgid "However the following packages replace it:"
 msgstr "Jedoch ersetzen es die folgenden Pakete:"
 
-#: cmdline/apt-get.cc:1297 cmdline/apt-shell.cc:1367
+#: cmdline/apt-get.cc:791 cmdline/apt-shell.cc:818
 #, c-format
 msgid "Package %s has no installation candidate"
 msgstr "Paket %s hat keinen Installationskanditaten"
 
-#: cmdline/apt-get.cc:1317 cmdline/apt-shell.cc:1393
+#: cmdline/apt-get.cc:811 cmdline/apt-shell.cc:844
 #, c-format
 msgid "Reinstallation of %s is not possible, it cannot be downloaded.\n"
 msgstr ""
 "Reinstallation von %s ist nicht möglich, es kann nicht heruntergeladen "
 "werden.\n"
 
-#: cmdline/apt-get.cc:1325 cmdline/apt-shell.cc:1401
+#: cmdline/apt-get.cc:819 cmdline/apt-shell.cc:852
 #, c-format
 msgid "%s is already the newest version.\n"
 msgstr "%s ist bereits die neueste Version.\n"
 
-#: cmdline/apt-get.cc:1354 cmdline/apt-shell.cc:1430
+#: cmdline/apt-get.cc:848 cmdline/apt-shell.cc:881
 #, c-format
 msgid "Release %s'%s' for '%s' was not found"
 msgstr "Release %s'%s' für '%s' wurde nicht gefunden"
 
-#: cmdline/apt-get.cc:1356 cmdline/apt-shell.cc:1432
+#: cmdline/apt-get.cc:850 cmdline/apt-shell.cc:883
 #, c-format
 msgid "Version %s'%s' for '%s' was not found"
 msgstr "Version %s'%s' für '%s' wurde nicht gefunden"
 
-#: cmdline/apt-get.cc:1364 cmdline/apt-shell.cc:1440
+#: cmdline/apt-get.cc:858 cmdline/apt-shell.cc:891
 #, c-format
 msgid "Selected version %s (%s) for %s\n"
 msgstr "Wählte Version %s (%s) für %s\n"
 
-#: cmdline/apt-get.cc:1367 cmdline/apt-shell.cc:1443
+#: cmdline/apt-get.cc:861 cmdline/apt-shell.cc:894
 #, c-format
 msgid "Selected version %s for %s\n"
 msgstr "Wählte Version %s für %s\n"
 
-#: cmdline/apt-get.cc:1495
+#: cmdline/apt-get.cc:894
 msgid "The update command takes no arguments"
 msgstr "Der update Befehl braucht keine Argumente"
 
-#: cmdline/apt-get.cc:1518 cmdline/apt-shell.cc:1585
+#: cmdline/apt-get.cc:917 cmdline/apt-shell.cc:941
 #, c-format
 msgid "Sources list %s could not be read"
 msgstr "Quellliste %s konnte nicht gelesen werden"
 
-#: cmdline/apt-get.cc:1521 cmdline/apt-shell.cc:1588
+#: cmdline/apt-get.cc:920 cmdline/apt-shell.cc:944
 #, c-format
 msgid "Sources list %s doesn't exist"
 msgstr "Quellliste %s existiert nicht"
 
-#: cmdline/apt-get.cc:1534 cmdline/apt-shell.cc:1600
+#: cmdline/apt-get.cc:933 cmdline/apt-shell.cc:956
 msgid "Unable to lock the list directory"
 msgstr "Ausserstande das Listen-Verzeichnis zu locken"
 
-#: cmdline/apt-get.cc:1566 cmdline/apt-shell.cc:1630
+#: cmdline/apt-get.cc:965 cmdline/apt-shell.cc:986
 msgid ""
 "Release files for some repositories could not be retrieved or authenticated. "
 "Such repositories are being ignored."
@@ -781,7 +650,7 @@ msgstr ""
 "Release-Dateien einiger Repositories konnten nicht geholt oder "
 "authentifiziert werden. Derartige Repositories werden ignoriert."
 
-#: cmdline/apt-get.cc:1634 cmdline/apt-shell.cc:1692
+#: cmdline/apt-get.cc:1033 cmdline/apt-shell.cc:1048
 msgid ""
 "Some index files failed to download, they have been ignored, or old ones "
 "used instead."
@@ -789,33 +658,33 @@ msgstr ""
 "Einige Index-Dateien konnten nicht heruntergeladen werden, sie wurden "
 "ignoriert oder alte weiterhin benutzt."
 
-#: cmdline/apt-get.cc:1653 cmdline/apt-shell.cc:1721
+#: cmdline/apt-get.cc:1052 cmdline/apt-shell.cc:1077
 msgid "Internal Error, AllUpgrade broke stuff"
 msgstr "Interner Fehler, AllUpgrade hat etwas zerstört"
 
-#: cmdline/apt-get.cc:1750 cmdline/apt-get.cc:1767 cmdline/apt-shell.cc:1823
-#: cmdline/apt-shell.cc:1840
+#: cmdline/apt-get.cc:1149 cmdline/apt-get.cc:1166 cmdline/apt-shell.cc:1179
+#: cmdline/apt-shell.cc:1196
 #, c-format
 msgid "Couldn't parse name '%s'"
 msgstr "Konnte Paketname '%s' nicht parsen"
 
-#: cmdline/apt-get.cc:1862 cmdline/apt-get.cc:1901 cmdline/apt-shell.cc:1933
-#: cmdline/apt-shell.cc:1973
+#: cmdline/apt-get.cc:1261 cmdline/apt-get.cc:1300 cmdline/apt-shell.cc:1289
+#: cmdline/apt-shell.cc:1329
 #, c-format
 msgid "Couldn't find package %s"
 msgstr "Konnte Paket %s nicht finden"
 
-#: cmdline/apt-get.cc:1876 cmdline/apt-shell.cc:1947 cmdline/cmdline.cc:43
+#: cmdline/apt-get.cc:1275 cmdline/apt-shell.cc:1303 cmdline/cmdline.cc:47
 #, c-format
 msgid "Regex compilation error - %s"
 msgstr "Regex Compilierungsfehler - %s"
 
-#: cmdline/apt-get.cc:1931
+#: cmdline/apt-get.cc:1330
 msgid "You might want to run `apt-get --fix-broken install' to correct these:"
 msgstr ""
 "Sie möchten `apt-get --fix-broken install' ausführen, um diese zu beheben:"
 
-#: cmdline/apt-get.cc:1934
+#: cmdline/apt-get.cc:1333
 msgid ""
 "Unmet dependencies. Try 'apt-get --fix-broken install' with no packages (or "
 "specify a solution)."
@@ -823,7 +692,7 @@ msgstr ""
 "Unerfüllte Abhängigkeiten. Versuchen Sie 'apt-get --fix-broken install' ohne "
 "Pakete(oder geben Sie eine Lösung an)"
 
-#: cmdline/apt-get.cc:1956 cmdline/apt-shell.cc:2036
+#: cmdline/apt-get.cc:1355 cmdline/apt-shell.cc:1392
 #, fuzzy
 msgid ""
 "Some packages could not be installed. This may mean that you have\n"
@@ -835,7 +704,7 @@ msgstr ""
 "instabile Distribution verwenden, dass einige benötigte Pakete noch nicht\n"
 "erzeugt oder aus 'Incoming' verschoben worden sind."
 
-#: cmdline/apt-get.cc:1963 cmdline/apt-shell.cc:2043
+#: cmdline/apt-get.cc:1362 cmdline/apt-shell.cc:1399
 msgid ""
 "Since you only requested a single operation it is extremely likely that\n"
 "the package is simply not installable and a bug report against\n"
@@ -845,106 +714,101 @@ msgstr ""
 "wahrscheinlich, dass das Paket schlichtweg nicht installierbar ist und\n"
 "ein Bugreport über dieses Paket eingereicht werden sollte."
 
-#: cmdline/apt-get.cc:1968 cmdline/apt-shell.cc:2048
+#: cmdline/apt-get.cc:1367 cmdline/apt-shell.cc:1404
 msgid "The following information may help to resolve the situation:"
 msgstr "Die folgende Information könnte helfen die Sitation zu beheben:"
 
-#: cmdline/apt-get.cc:1971 cmdline/apt-shell.cc:2052
+#: cmdline/apt-get.cc:1370 cmdline/apt-shell.cc:1408
 msgid "Broken packages"
 msgstr "Fehlerhafte Pakete"
 
-#: cmdline/apt-get.cc:1998
+#: cmdline/apt-get.cc:1397
 msgid "The following extra packages will be installed:"
 msgstr "Die folgenden zusätzlichen Pakete werden installiert werden:"
 
-#: cmdline/apt-get.cc:2078
+#: cmdline/apt-get.cc:1477
 msgid "Suggested packages:"
 msgstr "Vorgeschlagene Pakete: "
 
-#: cmdline/apt-get.cc:2079
+#: cmdline/apt-get.cc:1478
 msgid "Recommended packages:"
 msgstr "Empfohlene Pakete"
 
-#: cmdline/apt-get.cc:2103 cmdline/apt-shell.cc:2079
+#: cmdline/apt-get.cc:1502 cmdline/apt-shell.cc:1435
 msgid "Calculating Upgrade... "
 msgstr "Berechne Upgrade... "
 
-#: cmdline/apt-get.cc:2106 cmdline/apt-shell.cc:2082 methods/connect.cc:102
+#: cmdline/apt-get.cc:1505 cmdline/apt-shell.cc:1438 methods/connect.cc:102
 #: methods/ftp.cc:706
 msgid "Failed"
 msgstr "Gescheitert"
 
-#: cmdline/apt-get.cc:2122 cmdline/apt-shell.cc:2094
+#: cmdline/apt-get.cc:1521 cmdline/apt-shell.cc:1450
 msgid "Done"
 msgstr "Fertig"
 
-#: cmdline/apt-get.cc:2301
+#: cmdline/apt-get.cc:1585
 msgid "Must specify at least one package to fetch source for"
 msgstr ""
 "Es muss mindestens ein Paket angegeben werden, für das die Quellen geholt "
 "werden sollen"
 
-#: cmdline/apt-get.cc:2358 cmdline/apt-get.cc:2598 cmdline/apt-shell.cc:2321
+#: cmdline/apt-get.cc:1642 cmdline/apt-get.cc:1826 cmdline/apt-shell.cc:1556
 #, c-format
 msgid "Unable to find a source package for %s"
 msgstr "Ausserstande, ein Quellpaket für %s zu finden"
 
-#: cmdline/apt-get.cc:2407
+#: cmdline/apt-get.cc:1680
 #, c-format
 msgid "You don't have enough free space in %s"
 msgstr "Sie haben nicht genug freien Platz in %s"
 
-#: cmdline/apt-get.cc:2412
+#: cmdline/apt-get.cc:1685
 #, c-format
 msgid "Need to get %sB/%sB of source archives.\n"
 msgstr "Muss %sB/%sB an Quell-Archiven holen.\n"
 
-#: cmdline/apt-get.cc:2415
+#: cmdline/apt-get.cc:1688
 #, c-format
 msgid "Need to get %sB of source archives.\n"
 msgstr "Muss %sB an Quell-Archiven holen.\n"
 
-#: cmdline/apt-get.cc:2421
+#: cmdline/apt-get.cc:1694
 #, c-format
 msgid "Fetch Source %s\n"
 msgstr "Hole Quelle %s\n"
 
-#: cmdline/apt-get.cc:2486 cmdline/apt-get.cc:2537
+#: cmdline/apt-get.cc:1754
 #, c-format
 msgid "Build command '%s' failed.\n"
 msgstr "Build-Befehl '%s' gescheitert.\n"
 
-#: cmdline/apt-get.cc:2498 cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:1766
 #, c-format
 msgid "Unpack command '%s' failed.\n"
 msgstr "Auspack-Befehl '%s' gescheitert.\n"
 
-#: cmdline/apt-get.cc:2508
-#, c-format
-msgid "Skipping unpack of already unpacked source in %s\n"
-msgstr "Überspringe Auspacken von bereits ausgepackten Quellen in %s\n"
-
-#: cmdline/apt-get.cc:2557
+#: cmdline/apt-get.cc:1785
 msgid "Child process failed"
 msgstr "Kind-Prozess gescheitert"
 
-#: cmdline/apt-get.cc:2575 cmdline/apt-shell.cc:2298
+#: cmdline/apt-get.cc:1803 cmdline/apt-shell.cc:1533
 msgid "Must specify at least one package to check builddeps for"
 msgstr ""
 "Es muss mindestens ein Paket angegeben werden, um die Build-Abhängigkeiten "
 "zu ermitteln"
 
-#: cmdline/apt-get.cc:2603 cmdline/apt-shell.cc:2326
+#: cmdline/apt-get.cc:1831 cmdline/apt-shell.cc:1561
 #, c-format
 msgid "Unable to get build-dependency information for %s"
 msgstr "Ausserstande, Build-Abhängigkeitsinformationen für %s zu bekommen"
 
-#: cmdline/apt-get.cc:2623 cmdline/apt-shell.cc:2346
+#: cmdline/apt-get.cc:1851 cmdline/apt-shell.cc:1581
 #, c-format
 msgid "%s has no build depends.\n"
 msgstr "%s hat keine Build-Abhängigkeiten.\n"
 
-#: cmdline/apt-get.cc:2694 cmdline/apt-shell.cc:2417
+#: cmdline/apt-get.cc:1922 cmdline/apt-shell.cc:1652
 #, c-format
 msgid ""
 "%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -953,7 +817,7 @@ msgstr ""
 "%s Abhängigkeit auf %s kann nicht erfüllt werden, da das Paket %s nicht "
 "gefunden werden kann"
 
-#: cmdline/apt-get.cc:2746 cmdline/apt-shell.cc:2469
+#: cmdline/apt-get.cc:1974 cmdline/apt-shell.cc:1704
 #, c-format
 msgid ""
 "%s dependency for %s cannot be satisfied because no available versions of "
@@ -962,17 +826,17 @@ msgstr ""
 "%s Abhängigkeit auf %s kann nicht erfüllt werden, da keine verfügbare "
 "Version des Paketes %s die Versionsanforderungen erfüllen kann"
 
-#: cmdline/apt-get.cc:2781 cmdline/apt-shell.cc:2503
+#: cmdline/apt-get.cc:2009 cmdline/apt-shell.cc:1738
 #, c-format
 msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
 msgstr ""
 
-#: cmdline/apt-get.cc:2806 cmdline/apt-shell.cc:2528
+#: cmdline/apt-get.cc:2034 cmdline/apt-shell.cc:1763
 #, c-format
 msgid "Failed to satisfy %s dependency for %s: %s"
 msgstr "Ausserstande, %s Abhängigkeit für %s: %s verarbeiten"
 
-#: cmdline/apt-get.cc:2823 cmdline/apt-shell.cc:2542
+#: cmdline/apt-get.cc:2051 cmdline/apt-shell.cc:1777
 #, c-format
 msgid ""
 "Some broken packages were found while trying to process build-dependencies "
@@ -984,15 +848,15 @@ msgstr ""
 "Sie möchten `apt-get --fix-broken install' ausführen wollen um diese zu "
 "beheben."
 
-#: cmdline/apt-get.cc:2829
+#: cmdline/apt-get.cc:2057
 msgid "Failed to process build dependencies"
 msgstr "Ausserstande, Build-Abhängigkeiten zu verarbeiten"
 
-#: cmdline/apt-get.cc:2896 cmdline/apt-shell.cc:3591
+#: cmdline/apt-get.cc:2124 cmdline/apt-shell.cc:1953
 msgid "Supported Modules:"
 msgstr "Unterstützte Module:"
 
-#: cmdline/apt-get.cc:2937
+#: cmdline/apt-get.cc:2165
 msgid ""
 "Usage: apt-get [options] command\n"
 "       apt-get [options] install|remove pkg1 [pkg2 ...]\n"
@@ -1015,7 +879,7 @@ msgid ""
 "   check - Verify that there are no broken dependencies\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2965
+#: cmdline/apt-get.cc:2193
 msgid ""
 "\n"
 "Options:\n"
@@ -1038,89 +902,72 @@ msgid ""
 "                       This APT has Super Cow Powers.\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:146 cmdline/apt-shell.cc:4298
+#: cmdline/apt-shell.cc:141 cmdline/apt-shell.cc:2663
 msgid "There are broken packages. "
 msgstr "Es gibt zerbrochene Pakete. "
 
-#: cmdline/apt-shell.cc:147 cmdline/apt-shell.cc:2006
-#: cmdline/apt-shell.cc:4299
+#: cmdline/apt-shell.cc:142 cmdline/apt-shell.cc:1362
+#: cmdline/apt-shell.cc:2664
 msgid "Run `check' to see them."
 msgstr ""
 
-#: cmdline/apt-shell.cc:148
+#: cmdline/apt-shell.cc:143
 msgid "You can try to fix them automatically with `install --fix-broken'0."
 msgstr ""
 
-#: cmdline/apt-shell.cc:158
+#: cmdline/apt-shell.cc:153
 msgid "Excessive arguments"
 msgstr ""
 
-#: cmdline/apt-shell.cc:671
-#, c-format
-msgid "%lu removed and %lu kept.\n"
-msgstr "%lu entfernt und %lu behalten.\n"
-
-#: cmdline/apt-shell.cc:700
+#: cmdline/apt-shell.cc:183
 #, c-format
 msgid "Will need more %sB of archives.\n"
 msgstr "Brauche %sB mehr an Archiven.\n"
 
-#: cmdline/apt-shell.cc:703
+#: cmdline/apt-shell.cc:186
 #, c-format
 msgid "Will need less %sB of archives.\n"
 msgstr "Brauche %sB weniger an Archiven.\n"
 
-#: cmdline/apt-shell.cc:709
+#: cmdline/apt-shell.cc:192
 #, c-format
 msgid "After unpacking will need more %sB of disk space.\n"
 msgstr "Brauche %sB mehr Plattenplatz nach dem Auspacken.\n"
 
-#: cmdline/apt-shell.cc:712
+#: cmdline/apt-shell.cc:195
 #, c-format
 msgid "After unpacking will need less %sB of disk space.\n"
 msgstr "Brauche %sB weniger Plattenplatz nach dem Auspacken.\n"
 
-#: cmdline/apt-shell.cc:717
+#: cmdline/apt-shell.cc:200
 #, c-format
 msgid "Will need %sB of archives.\n"
 msgstr "Brauche %sB an Archiven.\n"
 
-#: cmdline/apt-shell.cc:735
+#: cmdline/apt-shell.cc:218
 msgid "Unrequested changes are needed to execute this operation."
 msgstr ""
 
-#: cmdline/apt-shell.cc:818
+#: cmdline/apt-shell.cc:270
 msgid "You might want to run `install --fix-broken' to correct these."
 msgstr ""
 "Sie werden `install --fix-broken' ausführen wollen, um diese zu beheben."
 
-#: cmdline/apt-shell.cc:1708 cmdline/apt-shell.cc:1746
-#: cmdline/apt-shell.cc:2070 cmdline/apt-shell.cc:2111
-#: cmdline/apt-shell.cc:2288 cmdline/apt-shell.cc:3903
+#: cmdline/apt-shell.cc:1064 cmdline/apt-shell.cc:1102
+#: cmdline/apt-shell.cc:1426 cmdline/apt-shell.cc:1523
+#: cmdline/apt-shell.cc:2267
 msgid "You have no permissions for that"
 msgstr ""
 
-#: cmdline/apt-shell.cc:2005
+#: cmdline/apt-shell.cc:1361
 msgid "There are still broken packages. "
 msgstr ""
 
-#: cmdline/apt-shell.cc:2007 cmdline/apt-shell.cc:4300
+#: cmdline/apt-shell.cc:1363 cmdline/apt-shell.cc:2665
 msgid "You can try to fix them automatically with `install --fix-broken'."
 msgstr ""
 
-#: cmdline/apt-shell.cc:3420
-msgid "Name"
-msgstr ""
-
-#: cmdline/apt-shell.cc:3421
-msgid "Installed"
-msgstr "Installiert"
-
-#: cmdline/apt-shell.cc:3422
-msgid "Candidate"
-msgstr "Kandidat"
-
-#: cmdline/apt-shell.cc:3632
+#: cmdline/apt-shell.cc:1994
 msgid ""
 "\n"
 "Main commands:\n"
@@ -1129,7 +976,7 @@ msgid ""
 "   remove - Remove packages\n"
 "   keep - Keep packages\n"
 "   upgrade - Perform a global upgrade\n"
-"   dist-upgrade - Perform a globla distribution upgrade\n"
+"   dist-upgrade - Perform a global distribution upgrade\n"
 "   build-dep - Install build-dependencies for source packages\n"
 "   update - Retrieve new lists of packages\n"
 "   commit - Apply the changes in the system\n"
@@ -1140,9 +987,11 @@ msgid ""
 "   showpkg - Show some general information for a single package\n"
 "   list/ls - List packages\n"
 "   search - Search the package list for a regex pattern\n"
+"   searchfile - Search the packages for a file\n"
 "   script - Run scripts.\n"
 "   depends - Show raw dependency information for a package\n"
-"   whatdepends - Show raw dependency information on a package\n"
+"   whatdepends - Show packages depending on given capabilities\n"
+"   whatprovides - Show packages that provide given capabilities\n"
 "   check - Verify that there are no broken dependencies\n"
 "   unmet - Show unmet dependencies\n"
 "   clean - Erase downloaded archive files\n"
@@ -1153,7 +1002,7 @@ msgid ""
 "                       This APT has Super Cow Powers.\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3674
+#: cmdline/apt-shell.cc:2038
 msgid ""
 "Usage: install [options] pkg1[=ver] [pkg2 ...]\n"
 "\n"
@@ -1170,7 +1019,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3692
+#: cmdline/apt-shell.cc:2056
 msgid ""
 "Usage: remove [options] pkg1 [pkg2 ...]\n"
 "\n"
@@ -1187,7 +1036,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3710
+#: cmdline/apt-shell.cc:2074
 msgid ""
 "Usage: keep [options] pkg1 [pkg2 ...]\n"
 "\n"
@@ -1205,7 +1054,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3729
+#: cmdline/apt-shell.cc:2093
 msgid ""
 "Usage: upgrade [options]\n"
 "\n"
@@ -1221,7 +1070,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3745
+#: cmdline/apt-shell.cc:2109
 msgid ""
 "Usage: dist-upgrade [options]\n"
 "\n"
@@ -1237,7 +1086,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3761
+#: cmdline/apt-shell.cc:2125
 msgid ""
 "Usage: showpkg [options] pkg1 [pkg2 ...]\n"
 "\n"
@@ -1249,7 +1098,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3774
+#: cmdline/apt-shell.cc:2138
 msgid ""
 "Usage: show [options] pkg1 [pkg2 ...]\n"
 "\n"
@@ -1262,7 +1111,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3788
+#: cmdline/apt-shell.cc:2152
 msgid ""
 "Usage: depends [options] pkg1 [pkg2 ...]\n"
 "\n"
@@ -1274,7 +1123,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3801
+#: cmdline/apt-shell.cc:2165
 msgid ""
 "Usage: whatdepends [options] pkg1 [pkg2 ...]\n"
 "\n"
@@ -1286,7 +1135,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3814
+#: cmdline/apt-shell.cc:2178
 msgid ""
 "Usage: unmet [options]\n"
 "\n"
@@ -1298,7 +1147,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3827
+#: cmdline/apt-shell.cc:2191
 msgid ""
 "Usage: search [options] <regex>\n"
 "\n"
@@ -1313,7 +1162,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3844
+#: cmdline/apt-shell.cc:2208
 msgid ""
 "Usage: list/ls [options] [pattern ...]\n"
 "\n"
@@ -1330,7 +1179,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3862
+#: cmdline/apt-shell.cc:2226
 msgid ""
 "Usage: commit [options]\n"
 "\n"
@@ -1342,7 +1191,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3875
+#: cmdline/apt-shell.cc:2239
 msgid ""
 "Usage: script [options] script1 [script2]\n"
 "\n"
@@ -1354,15 +1203,15 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3886
+#: cmdline/apt-shell.cc:2250
 msgid "No help for that"
 msgstr ""
 
-#: cmdline/apt-shell.cc:4308
+#: cmdline/apt-shell.cc:2673
 msgid "Welcome to the APT shell. Type \"help\" for more information."
 msgstr ""
 
-#: cmdline/apt-shell.cc:4348
+#: cmdline/apt-shell.cc:2713
 msgid "Exceeded maximum number of command arguments"
 msgstr ""
 
@@ -1370,10 +1219,154 @@ msgstr ""
 # unable .. ausserstande
 # upgrade .. upgrade
 # downgrade .. downgrade
-#: cmdline/cmdline.cc:21
+#: cmdline/cmdline.cc:25
 msgid "Y"
 msgstr "J"
 
+#: cmdline/cmdline.cc:201
+msgid "The following packages have unmet dependencies:"
+msgstr "Die folgenden Pakete besitzen unerfülte Abhängigkeiten:"
+
+#: cmdline/cmdline.cc:299
+#, c-format
+msgid "but %s is installed"
+msgstr "aber %s ist installiert"
+
+#: cmdline/cmdline.cc:301
+#, c-format
+msgid "but %s is to be installed"
+msgstr "aber %s wird installiert werden"
+
+#: cmdline/cmdline.cc:308
+msgid "but it is not installable"
+msgstr "aber es ist nicht installierbar"
+
+#: cmdline/cmdline.cc:310
+msgid "but it is a virtual package"
+msgstr "aber es ist ein virtuelles Paket"
+
+#: cmdline/cmdline.cc:313
+msgid "but it is not installed"
+msgstr "aber es ist nicht installiert"
+
+#: cmdline/cmdline.cc:313
+msgid "but it is not going to be installed"
+msgstr "aber es wird nicht installiert werden"
+
+#: cmdline/cmdline.cc:318
+msgid " or"
+msgstr " oder"
+
+#: cmdline/cmdline.cc:348
+msgid "The following NEW packages will be installed:"
+msgstr "Die folgenden NEUEN Pakete werden installiert werden:"
+
+#: cmdline/cmdline.cc:401
+msgid "The following packages will be REPLACED:"
+msgstr "Die folgenden Pakete werden ERSETZT:"
+
+#: cmdline/cmdline.cc:402
+msgid "The following packages will be REMOVED:"
+msgstr "Die folgenden Pakete werden ENTFERNT:"
+
+#: cmdline/cmdline.cc:431
+msgid "The following packages have been kept back"
+msgstr "Die folgenden Pakete sind zurückgehalten worden"
+
+#: cmdline/cmdline.cc:459
+msgid "The following packages will be upgraded"
+msgstr "Die folgenden Pakete werden upgegradet werden:"
+
+#: cmdline/cmdline.cc:487
+msgid "The following packages will be DOWNGRADED"
+msgstr "Die folgenden Pakete werden DOWNGRADED:"
+
+#: cmdline/cmdline.cc:509
+msgid "The following held packages will be changed:"
+msgstr "Die folgenden zurückgehaltenen Pakete werden geändert:"
+
+#: cmdline/cmdline.cc:600
+#, c-format
+msgid "%s (due to %s) "
+msgstr "%s (in Folge von %s) "
+
+#: cmdline/cmdline.cc:608
+msgid ""
+"WARNING: The following essential packages will be removed\n"
+"This should NOT be done unless you know exactly what you are doing!"
+msgstr ""
+"WARNUNG: Die folgenden grundlegenden Pakete werden entfernt werden\n"
+"Dies sollte NICHT gemacht werden, ausser Sie wissen genau was sie tun!"
+
+#: cmdline/cmdline.cc:674
+#, c-format
+msgid "%lu upgraded, %lu newly installed, "
+msgstr "%lu upgegradet, %lu neu installiert, "
+
+#: cmdline/cmdline.cc:678
+#, c-format
+msgid "%lu reinstalled, "
+msgstr "%lu reinstalliert,  "
+
+#: cmdline/cmdline.cc:680
+#, c-format
+msgid "%lu downgraded, "
+msgstr "%lu downgegradet, "
+
+#: cmdline/cmdline.cc:683
+#, c-format
+msgid "%lu replaced, "
+msgstr "%lu ersetzt, "
+
+#: cmdline/cmdline.cc:687
+#, c-format
+msgid "%lu removed and %lu not upgraded.\n"
+msgstr "%lu entfernt und %lu nicht upgegradet.\n"
+
+#: cmdline/cmdline.cc:690
+#, c-format
+msgid "%lu removed and %lu kept.\n"
+msgstr "%lu entfernt und %lu behalten.\n"
+
+#: cmdline/cmdline.cc:694
+#, c-format
+msgid "%lu not fully installed or removed.\n"
+msgstr "%lu nicht vollständig installiert oder entfernt.\n"
+
+#: cmdline/cmdline.cc:916
+#, c-format
+msgid "Package %s version %s has an unmet dep:\n"
+msgstr "Paket %s Version %s besitzt eine unerfüllte Abhängigkeit:\n"
+
+#: cmdline/cmdline.cc:1530
+msgid "You should explicitly select one to show."
+msgstr "Sie sollten explizit eines zur Anzeige auswählen."
+
+#: cmdline/cmdline.cc:1531
+#, c-format
+msgid "Package %s is a virtual package with multiple providers."
+msgstr "Paket %s ist ein virtuelles Paket mit mehreren Bereitstellern."
+
+#: cmdline/cmdline.cc:1557
+msgid "No packages found"
+msgstr "Keine Pakete gefunden"
+
+#: cmdline/cmdline.cc:1614
+msgid "Name"
+msgstr ""
+
+#: cmdline/cmdline.cc:1615
+msgid "Installed"
+msgstr "Installiert"
+
+#: cmdline/cmdline.cc:1616
+msgid "Candidate"
+msgstr "Kandidat"
+
+#: cmdline/cmdline.cc:1727
+msgid "You must give exactly one pattern"
+msgstr "Sie müssen genau ein Muster angeben"
+
 #: apt-pkg/contrib/cdromutl.cc:60
 #, c-format
 msgid "Unable to stat the mount point %s"
@@ -1522,12 +1515,12 @@ msgstr "Auf %s gewartet, aber es war nicht da"
 msgid "Sub-process %s received a segmentation fault."
 msgstr "Unterprozess %s empfing Segmentationfault"
 
-#: apt-pkg/contrib/fileutl.cc:374 apt-pkg/rpm/rpmpm.cc:623
+#: apt-pkg/contrib/fileutl.cc:374 apt-pkg/rpm/rpmpm.cc:634
 #, c-format
 msgid "Sub-process %s returned an error code (%u)"
 msgstr "Unterprozesss %s gab Fehlercode zurück (%u)"
 
-#: apt-pkg/contrib/fileutl.cc:376 apt-pkg/rpm/rpmpm.cc:626
+#: apt-pkg/contrib/fileutl.cc:376 apt-pkg/rpm/rpmpm.cc:637
 #, c-format
 msgid "Sub-process %s exited unexpectedly"
 msgstr "Unter-Prozess %s stieg unerwartet aus"
@@ -1567,15 +1560,20 @@ msgstr "Problem die Datei zu löschen"
 msgid "Problem syncing the file"
 msgstr "Problem bei der Synchronisation mit Datei"
 
-#: apt-pkg/contrib/mmap.cc:82
+#: apt-pkg/contrib/mmap.cc:81
 msgid "Can't mmap an empty file"
 msgstr "Kann leere Datei nicht mmap'en"
 
-#: apt-pkg/contrib/mmap.cc:87
+#: apt-pkg/contrib/mmap.cc:86
 #, c-format
 msgid "Couldn't make mmap of %lu bytes"
 msgstr "Konnte mmap von %lu Bytes nicht erzeugen"
 
+#: apt-pkg/contrib/mmap.cc:198
+#, fuzzy
+msgid "Failed to ftruncate"
+msgstr "Gescheitert zu 'stat'en"
+
 #: apt-pkg/contrib/progress.cc:154
 #, c-format
 msgid "%c%s... Error!"
@@ -1591,102 +1589,102 @@ msgstr "%c%s... Fertig"
 msgid "Selection %s not found"
 msgstr "Auswahl %s nicht gefunden"
 
-#: apt-pkg/rpm/repomd.cc:44 apt-pkg/rpm/rpmlistparser.cc:552
+#: apt-pkg/rpm/repomd.cc:48 apt-pkg/rpm/rpmlistparser.cc:553
 #: apt-pkg/repository.cc:40
 #, c-format
 msgid "could not open Release file '%s'"
 msgstr "konnte Release-Datei '%s' nicht öffnen"
 
-#: apt-pkg/rpm/rpmhandler.cc:482
+#: apt-pkg/rpm/rpmhandler.cc:485
 msgid "could not rewind RPMFileHandler"
 msgstr "konnte RPMFileHandler nicht zurückspulen"
 
-#: apt-pkg/rpm/rpmhandler.cc:519 apt-pkg/rpm/rpmhandler.cc:526
-#: apt-pkg/rpm/rpmpm.cc:684 apt-pkg/rpm/rpmpm.cc:689
+#: apt-pkg/rpm/rpmhandler.cc:522 apt-pkg/rpm/rpmhandler.cc:529
+#: apt-pkg/rpm/rpmpm.cc:695 apt-pkg/rpm/rpmpm.cc:700
 #, c-format
 msgid "Failed reading file %s"
 msgstr "Fehler beim Lesen von Datei %s"
 
-#: apt-pkg/rpm/rpmhandler.cc:690
+#: apt-pkg/rpm/rpmhandler.cc:693
 msgid "Unable to determine the file size"
 msgstr "Ausserstande, die Dateigröße zu bestimmen"
 
-#: apt-pkg/rpm/rpmhandler.cc:739
+#: apt-pkg/rpm/rpmhandler.cc:742
 msgid "could not open RPM database"
 msgstr "konnte RPM-Datenbank nicht öffnen"
 
-#: apt-pkg/rpm/rpmhandler.cc:746
+#: apt-pkg/rpm/rpmhandler.cc:749
 msgid "could not create RPM database iterator"
 msgstr "konnte RPM-Datenbank-Iterator nicht erzeugen"
 
-#: apt-pkg/rpm/rpmhandler.cc:912
+#: apt-pkg/rpm/rpmhandler.cc:917
 #, c-format
 msgid "Failed to open package index %s"
 msgstr "Ausserstande Paketindex %s zu öffnen"
 
-#: apt-pkg/rpm/rpmhandler.cc:916
+#: apt-pkg/rpm/rpmhandler.cc:921
 #, c-format
 msgid "Corrupted package index %s"
 msgstr "Korrupter Paketindex %s"
 
-#: apt-pkg/rpm/rpmhandler.cc:925
-#, c-format
-msgid "Failed to open filelist index %s"
-msgstr "Gescheitert Dateilistenindex %s zu öffnen"
-
-#: apt-pkg/rpm/rpmhandler.cc:955
+#: apt-pkg/rpm/rpmhandler.cc:940
 #, c-format
 msgid "Inconsistent metadata, package count doesn't match in %s"
 msgstr ""
 
-#: apt-pkg/rpm/rpmindexfile.cc:376 apt-pkg/rpm/rpmindexfile.cc:728
+#: apt-pkg/rpm/rpmhandler.cc:1343
+#, c-format
+msgid "Failed to open filelist index %s"
+msgstr "Gescheitert Dateilistenindex %s zu öffnen"
+
+#: apt-pkg/rpm/rpmindexfile.cc:376 apt-pkg/rpm/rpmindexfile.cc:729
 #, c-format
 msgid "Problem with SelectFile %s"
 msgstr "Problem mit SelectFile %s"
 
-#: apt-pkg/rpm/rpmindexfile.cc:385 apt-pkg/rpm/rpmindexfile.cc:737
-#: apt-pkg/rpm/rpmindexfile.cc:853
+#: apt-pkg/rpm/rpmindexfile.cc:385 apt-pkg/rpm/rpmindexfile.cc:738
+#: apt-pkg/rpm/rpmindexfile.cc:855
 #, c-format
 msgid "Failed to stat %s"
 msgstr "Gescheitert %s zu 'stat'en"
 
 #: apt-pkg/rpm/rpmindexfile.cc:394 apt-pkg/rpm/rpmindexfile.cc:430
-#: apt-pkg/rpm/rpmindexfile.cc:746 apt-pkg/rpm/rpmindexfile.cc:775
+#: apt-pkg/rpm/rpmindexfile.cc:747 apt-pkg/rpm/rpmindexfile.cc:776
 #, c-format
 msgid "Problem opening %s"
 msgstr "Problem beim Öffnen von %s"
 
-#: apt-pkg/rpm/rpmindexfile.cc:400 apt-pkg/rpm/rpmindexfile.cc:752
-#: apt-pkg/rpm/rpmindexfile.cc:858
+#: apt-pkg/rpm/rpmindexfile.cc:400 apt-pkg/rpm/rpmindexfile.cc:753
+#: apt-pkg/rpm/rpmindexfile.cc:860
 #, c-format
 msgid "Problem with MergeList %s"
 msgstr "Problem mit MergeList %s"
 
-#: apt-pkg/rpm/rpmindexfile.cc:435 apt-pkg/rpm/rpmindexfile.cc:780
-#: apt-pkg/rpm/rpmindexfile.cc:876
+#: apt-pkg/rpm/rpmindexfile.cc:435 apt-pkg/rpm/rpmindexfile.cc:781
+#: apt-pkg/rpm/rpmindexfile.cc:878
 #, c-format
 msgid "Problem with MergeFileProvides %s"
 msgstr "Problem mit MergeFileProvides %s"
 
-#: apt-pkg/rpm/rpmindexfile.cc:843 apt-pkg/rpm/rpmindexfile.cc:872
+#: apt-pkg/rpm/rpmindexfile.cc:845 apt-pkg/rpm/rpmindexfile.cc:874
 msgid "Problem opening RPM database"
 msgstr "Problem beim Öffnen der RPM Datenback"
 
-#: apt-pkg/rpm/rpmindexfile.cc:847
+#: apt-pkg/rpm/rpmindexfile.cc:849
 msgid "Problem with SelectFile RPM Database"
 msgstr "Problem mit SelectFile RPM Datenbank"
 
-#: apt-pkg/rpm/rpmindexfile.cc:1079 apt-pkg/sourcelist.cc:98
+#: apt-pkg/rpm/rpmindexfile.cc:1082 apt-pkg/sourcelist.cc:98
 #, c-format
 msgid "Malformed line %lu in source list %s (URI)"
 msgstr "Misbildete Zeile %lu in Quellliste %s (URI)"
 
-#: apt-pkg/rpm/rpmindexfile.cc:1081 apt-pkg/sourcelist.cc:100
+#: apt-pkg/rpm/rpmindexfile.cc:1084 apt-pkg/sourcelist.cc:100
 #, c-format
 msgid "Malformed line %lu in source list %s (dist)"
 msgstr "Misbildete Zeile %lu in Quellliste %s (dist)"
 
-#: apt-pkg/rpm/rpmindexfile.cc:1084 apt-pkg/sourcelist.cc:103
+#: apt-pkg/rpm/rpmindexfile.cc:1087 apt-pkg/sourcelist.cc:103
 #, c-format
 msgid "Malformed line %lu in source list %s (URI parse)"
 msgstr "Misbildete Zeile %lu in Quellliste %s (URI parse)"
@@ -1716,32 +1714,32 @@ msgstr ""
 msgid "Bad NotAutomatic flag"
 msgstr ""
 
-#: apt-pkg/rpm/rpmpackagedata.cc:46
+#: apt-pkg/rpm/rpmpackagedata.cc:50
 #, c-format
 msgid "could not open package priority file %s"
 msgstr "konnte Paket-Prioritäten-Datei %s nicht öffnen"
 
-#: apt-pkg/rpm/rpmpackagedata.cc:55
+#: apt-pkg/rpm/rpmpackagedata.cc:59
 #, c-format
 msgid "no data in %s"
 msgstr "keine Daten in %s"
 
-#: apt-pkg/rpm/rpmpackagedata.cc:105
+#: apt-pkg/rpm/rpmpackagedata.cc:109
 #, c-format
 msgid "Bad regular expression '%s' in option RPM::Hold."
 msgstr "Fehlerhafter regulärer Ausdruck '%s' in Option RPM::Hold."
 
-#: apt-pkg/rpm/rpmpackagedata.cc:128
+#: apt-pkg/rpm/rpmpackagedata.cc:132
 #, c-format
 msgid "Bad regular expression '%s' in option RPM::Allow-Duplicated."
 msgstr "Fehlerhafter regulärer Ausdruck '%s' in Option RPM::AllowedDuplicated."
 
-#: apt-pkg/rpm/rpmpackagedata.cc:145
+#: apt-pkg/rpm/rpmpackagedata.cc:149
 #, c-format
 msgid "Bad entry '%s' in option RPM::FakeProvides."
 msgstr "Fehlerhafter Eintrag '%s' in Option RPM::FakeProvides."
 
-#: apt-pkg/rpm/rpmpackagedata.cc:199
+#: apt-pkg/rpm/rpmpackagedata.cc:203
 #, c-format
 msgid "Bad regular expression '%s' in URI translation"
 msgstr "Fehlerhafter regulärer Ausdruck '%s' in URI-Übersetzung"
@@ -1769,71 +1767,71 @@ msgstr ""
 msgid "Failure running script %s"
 msgstr "Fehler beim Ausführen von Script %s"
 
-#: apt-pkg/rpm/rpmpm.cc:312
+#: apt-pkg/rpm/rpmpm.cc:323
 msgid "Unknown pkgRPMPM operation."
 msgstr ""
 
-#: apt-pkg/rpm/rpmpm.cc:549
+#: apt-pkg/rpm/rpmpm.cc:560
 msgid "Executing RPM ("
 msgstr "Führe RPM aus ("
 
-#: apt-pkg/rpm/rpmpm.cc:589
+#: apt-pkg/rpm/rpmpm.cc:600
 msgid "Could not exec "
 msgstr "Konnte nicht exec "
 
-#: apt-pkg/rpm/rpmpm.cc:604
+#: apt-pkg/rpm/rpmpm.cc:615
 msgid "Couldn't wait for subprocess"
 msgstr "Konnte nicht auf Unterprozess warten"
 
-#: apt-pkg/rpm/rpmpm.cc:620
+#: apt-pkg/rpm/rpmpm.cc:631
 #, c-format
 msgid "Sub-process %s recieved a segmentation fault."
 msgstr "Unterprozess %s empfing Segmentation-Fault."
 
-#: apt-pkg/rpm/rpmpm.cc:630 apt-pkg/rpm/rpmpm.cc:896
+#: apt-pkg/rpm/rpmpm.cc:641 apt-pkg/rpm/rpmpm.cc:909
 msgid "Done."
 msgstr "Fertig."
 
-#: apt-pkg/rpm/rpmpm.cc:680
+#: apt-pkg/rpm/rpmpm.cc:691
 #, c-format
 msgid "Failed opening %s"
 msgstr "Gescheitert %s zu öffnen"
 
-#: apt-pkg/rpm/rpmpm.cc:693 apt-pkg/rpm/rpmpm.cc:717
+#: apt-pkg/rpm/rpmpm.cc:704 apt-pkg/rpm/rpmpm.cc:728
 #, c-format
 msgid "Failed adding %s to transaction %s"
 msgstr ""
 
-#: apt-pkg/rpm/rpmpm.cc:773
+#: apt-pkg/rpm/rpmpm.cc:784
 msgid "Could not open RPM database"
 msgstr "Konnte RPM-Datenbank nicht öffnen"
 
-#: apt-pkg/rpm/rpmpm.cc:835 apt-pkg/rpm/rpmpm.cc:848
+#: apt-pkg/rpm/rpmpm.cc:848 apt-pkg/rpm/rpmpm.cc:861
 msgid "Transaction set check failed"
 msgstr ""
 
-#: apt-pkg/rpm/rpmpm.cc:868
+#: apt-pkg/rpm/rpmpm.cc:881
 #, c-format
 msgid "Ordering failed for %d packages"
 msgstr ""
 
-#: apt-pkg/rpm/rpmpm.cc:872
+#: apt-pkg/rpm/rpmpm.cc:885
 msgid "Committing changes..."
 msgstr ""
 
-#: apt-pkg/rpm/rpmpm.cc:888
+#: apt-pkg/rpm/rpmpm.cc:901
 msgid "Error while running transaction"
 msgstr ""
 
-#: apt-pkg/rpm/rpmpm.cc:894
+#: apt-pkg/rpm/rpmpm.cc:907
 msgid "Some errors occurred while running transaction"
 msgstr "Fehler während der Ausführung der Transaktion aufgetreten"
 
-#: apt-pkg/rpm/rpmrecords.cc:174 apt-pkg/rpm/rpmsrcrecords.cc:177
+#: apt-pkg/rpm/rpmrecords.cc:176 apt-pkg/rpm/rpmsrcrecords.cc:179
 msgid "Could not allocate buffer for record text"
 msgstr ""
 
-#: apt-pkg/rpm/rpmsystem.cc:263
+#: apt-pkg/rpm/rpmsystem.cc:262
 #, c-format
 msgid "Unable to determine version for package %s"
 msgstr ""
@@ -1874,7 +1872,7 @@ msgid "MD5Sum mismatch"
 msgstr "MD5Sum passt nicht"
 
 #: apt-pkg/acquire-item.cc:397
-msgid "Uknown compression extension, trying uncompressed"
+msgid "Unknown compression extension, trying uncompressed"
 msgstr ""
 
 #: apt-pkg/acquire-item.cc:508
@@ -1982,12 +1980,12 @@ msgstr "Versionen der Kandidaten"
 msgid "Dependency Generation"
 msgstr "Abhängigkeitsgenerierung"
 
-#: apt-pkg/init.cc:141
+#: apt-pkg/init.cc:135
 #, c-format
 msgid "Packaging system '%s' is not supported"
 msgstr "Paketierungssystem '%s' wird nicht unterstützt"
 
-#: apt-pkg/init.cc:157
+#: apt-pkg/init.cc:151
 msgid "Unable to determine a suitable system type"
 msgstr "Ausserstande, ein geeigneten System zu bestimmen"
 
@@ -2573,3 +2571,6 @@ msgstr "Datei nicht gefunden"
 #: methods/rsh.cc:333
 msgid "Connection closed prematurely"
 msgstr "Verbindung vorzeitig geschlossen"
+
+#~ msgid "Skipping unpack of already unpacked source in %s\n"
+#~ msgstr "Überspringe Auspacken von bereits ausgepackten Quellen in %s\n"
index 28fc195..0e19836 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: apt\n"
 "Report-Msgid-Bugs-To: apt-rpm@lists.laiskiainen.org\n"
-"POT-Creation-Date: 2006-06-08 17:14+0300\n"
+"POT-Creation-Date: 2006-08-22 01:03+0300\n"
 "PO-Revision-Date: 2001-01-11 15:40-02:00\n"
 "Last-Translator: Jorge Carrasquilla Soares <jorge@conectiva.com.br>\n"
 "Language-Team: Spanish <es@li.org>\n"
@@ -59,168 +59,134 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-#: cmdline/apt-cache.cc:157 cmdline/apt-shell.cc:3077
-#, fuzzy, c-format
-msgid "Package %s version %s has an unmet dep:\n"
-msgstr " hay una dep. no resuelta:"
-
-#: cmdline/apt-cache.cc:197 cmdline/apt-cache.cc:565 cmdline/apt-cache.cc:660
-#: cmdline/apt-cache.cc:750 cmdline/apt-cache.cc:1024
-#: cmdline/apt-cache.cc:1291 cmdline/apt-cache.cc:1705
-#: cmdline/apt-cache.cc:1877 cmdline/apt-shell.cc:2629
-#: cmdline/apt-shell.cc:2727 cmdline/apt-shell.cc:2820
-#: cmdline/apt-shell.cc:3120 cmdline/apt-shell.cc:3539
-#, c-format
-msgid "Unable to locate package %s"
-msgstr "Imposible ubicar el paquete %s"
-
-#: cmdline/apt-cache.cc:254
+#: cmdline/apt-cache.cc:94
 msgid "Total Package Names : "
 msgstr "Total Nombres de Paquetes : "
 
-#: cmdline/apt-cache.cc:294
+#: cmdline/apt-cache.cc:134
 msgid "  Normal Packages: "
 msgstr "  Paquetes normales: "
 
-#: cmdline/apt-cache.cc:295
+#: cmdline/apt-cache.cc:135
 msgid "  Pure Virtual Packages: "
 msgstr "  Paquetes virtuales puros: "
 
-#: cmdline/apt-cache.cc:296
+#: cmdline/apt-cache.cc:136
 msgid "  Single Virtual Packages: "
 msgstr "  Paquetes virtuales simples: "
 
-#: cmdline/apt-cache.cc:297
+#: cmdline/apt-cache.cc:137
 msgid "  Mixed Virtual Packages: "
 msgstr "  Paquetes virtuales mixtos: "
 
-#: cmdline/apt-cache.cc:298
+#: cmdline/apt-cache.cc:138
 msgid "  Missing: "
 msgstr "  Faltando: "
 
-#: cmdline/apt-cache.cc:300
+#: cmdline/apt-cache.cc:140
 msgid "Total Distinct Versions: "
 msgstr "Total de versiones diferentes: "
 
-#: cmdline/apt-cache.cc:302
+#: cmdline/apt-cache.cc:142
 msgid "Total Dependencies: "
 msgstr "Total de dependencias: "
 
-#: cmdline/apt-cache.cc:305
+#: cmdline/apt-cache.cc:145
 msgid "Total Ver/File relations: "
 msgstr "Total de relaciones versión/archivo: "
 
-#: cmdline/apt-cache.cc:307
+#: cmdline/apt-cache.cc:147
 msgid "Total Provides Mappings: "
 msgstr "Total Relaciones de suministros: "
 
-#: cmdline/apt-cache.cc:319
+#: cmdline/apt-cache.cc:159
 msgid "Total Globbed Strings: "
 msgstr "Total de strings casados: "
 
-#: cmdline/apt-cache.cc:333
+#: cmdline/apt-cache.cc:173
 #, fuzzy
 msgid "Total Dependency Version space: "
 msgstr "Total de dependencias: "
 
-#: cmdline/apt-cache.cc:338
+#: cmdline/apt-cache.cc:178
 msgid "Total Slack space: "
 msgstr "Espacio temporal total: "
 
-#: cmdline/apt-cache.cc:346
+#: cmdline/apt-cache.cc:186
 msgid "Total Space Accounted for: "
 msgstr "Espacio total contabilizado para: "
 
-#: cmdline/apt-cache.cc:484 cmdline/apt-cache.cc:1501
-#: cmdline/apt-shell.cc:3198
+#: cmdline/apt-cache.cc:323 cmdline/cmdline.cc:1032
 #, c-format
 msgid "Package file %s is out of sync."
 msgstr "El paquete %s no está sincronizado."
 
-#: cmdline/apt-cache.cc:1576 cmdline/apt-shell.cc:3244
-msgid "You must give exactly one pattern"
-msgstr "Debe escribir exactamente un patrón"
-
-#: cmdline/apt-cache.cc:1715 cmdline/apt-get.cc:1193 cmdline/apt-get.cc:1249
-#: cmdline/apt-shell.cc:1263 cmdline/apt-shell.cc:1319
-#, fuzzy, c-format
-msgid "Package %s is a virtual package provided by:\n"
-msgstr " es un paquete virtual suministrado por:"
-
-#: cmdline/apt-cache.cc:1727
-#, fuzzy
-msgid "You should explicitly select one to show."
-msgstr "Debería explicitar uno para instalarlo."
-
-#: cmdline/apt-cache.cc:1728
-#, fuzzy, c-format
-msgid "Package %s is a virtual package with multiple providers."
-msgstr " es un paquete virtual suministrado por:"
-
-#: cmdline/apt-cache.cc:1754 cmdline/apt-shell.cc:3567
-#, fuzzy
-msgid "No packages found"
-msgstr " índice de paquetes y "
+#: cmdline/apt-cache.cc:489 cmdline/apt-cache.cc:707 cmdline/apt-cache.cc:1040
+#: cmdline/cmdline.cc:955 cmdline/cmdline.cc:1068 cmdline/cmdline.cc:1162
+#: cmdline/cmdline.cc:1251 cmdline/cmdline.cc:1508
+#, c-format
+msgid "Unable to locate package %s"
+msgstr "Imposible ubicar el paquete %s"
 
-#: cmdline/apt-cache.cc:1831
+#: cmdline/apt-cache.cc:994
 #, fuzzy
 msgid "Package Files:"
 msgstr "Paquete "
 
-#: cmdline/apt-cache.cc:1838 cmdline/apt-cache.cc:1928
+#: cmdline/apt-cache.cc:1001 cmdline/apt-cache.cc:1091
 msgid "Cache is out of sync, can't x-ref a package file"
 msgstr ""
 
-#: cmdline/apt-cache.cc:1839
+#: cmdline/apt-cache.cc:1002
 #, c-format
 msgid "%4i %s\n"
 msgstr ""
 
-#: cmdline/apt-cache.cc:1851
+#: cmdline/apt-cache.cc:1014
 #, fuzzy
 msgid "Pinned Packages:"
 msgstr "Paquete: "
 
-#: cmdline/apt-cache.cc:1863 cmdline/apt-cache.cc:1904
+#: cmdline/apt-cache.cc:1026 cmdline/apt-cache.cc:1067
 msgid "(not found)"
 msgstr ""
 
-#: cmdline/apt-cache.cc:1884
+#: cmdline/apt-cache.cc:1047
 #, fuzzy
 msgid "  Installed: "
 msgstr " [Instalado]"
 
-#: cmdline/apt-cache.cc:1886 cmdline/apt-cache.cc:1894
+#: cmdline/apt-cache.cc:1049 cmdline/apt-cache.cc:1057
 msgid "(none)"
 msgstr ""
 
-#: cmdline/apt-cache.cc:1891
+#: cmdline/apt-cache.cc:1054
 #, fuzzy
 msgid "  Candidate: "
 msgstr "Versiones propuestas"
 
-#: cmdline/apt-cache.cc:1901
+#: cmdline/apt-cache.cc:1064
 #, fuzzy
 msgid "  Package Pin: "
 msgstr "Paquete: "
 
-#: cmdline/apt-cache.cc:1910
+#: cmdline/apt-cache.cc:1073
 #, fuzzy
 msgid "  Version Table:"
 msgstr " Versión: "
 
-#: cmdline/apt-cache.cc:1929
+#: cmdline/apt-cache.cc:1092
 #, c-format
 msgid "       %4i %s\n"
 msgstr ""
 
-#: cmdline/apt-cache.cc:1956 cmdline/apt-cdrom.cc:821 cmdline/apt-config.cc:72
-#: cmdline/apt-get.cc:2891 cmdline/apt-shell.cc:3586
+#: cmdline/apt-cache.cc:1119 cmdline/apt-cdrom.cc:824 cmdline/apt-config.cc:72
+#: cmdline/apt-get.cc:2119 cmdline/apt-shell.cc:1948
 #, c-format
 msgid "%s %s for %s %s compiled on %s %s\n"
 msgstr ""
 
-#: cmdline/apt-cache.cc:1963
+#: cmdline/apt-cache.cc:1126
 msgid ""
 "Usage: apt-cache [options] command\n"
 "       apt-cache [options] add file1 [file2 ...]\n"
@@ -240,17 +206,18 @@ msgid ""
 "   dumpavail - Print an available file to stdout\n"
 "   unmet - Show unmet dependencies\n"
 "   search - Search the package list for a regex pattern\n"
+"   searchfile - Search the packages for a file\n"
 "   show - Show a readable record for the package\n"
 "   depends - Show raw dependency information for a package\n"
-"   whatdepends - Show packages depending on given items\n"
-"   whatprovides - Show packages that provide given items\n"
+"   whatdepends - Show packages depending on given capabilities\n"
+"   whatprovides - Show packages that provide given capabilities\n"
 "   pkgnames - List the names of all packages\n"
 "   dotty - Generate package graphs for GraphVis\n"
 "   xvcg - Generate package graphs for xvcg\n"
 "   policy - Show policy settings\n"
 msgstr ""
 
-#: cmdline/apt-cache.cc:1996
+#: cmdline/apt-cache.cc:1160
 msgid ""
 "\n"
 "Options:\n"
@@ -279,11 +246,11 @@ msgstr "Problema al abrir %s"
 msgid "Failed to open %s.new"
 msgstr "Falló al abrir %s.new"
 
-#: cmdline/apt-cdrom.cc:545 cmdline/apt-cdrom.cc:786
+#: cmdline/apt-cdrom.cc:545 cmdline/apt-cdrom.cc:789
 msgid "Using CD-ROM mount point "
 msgstr "Usando punto de montaje del CD-ROM "
 
-#: cmdline/apt-cdrom.cc:553 cmdline/apt-cdrom.cc:808 methods/cdrom.cc:81
+#: cmdline/apt-cdrom.cc:553 cmdline/apt-cdrom.cc:811 methods/cdrom.cc:81
 #: methods/cdrom.cc:193
 #, c-format
 msgid "Unable to read the cdrom database %s"
@@ -298,16 +265,16 @@ msgstr "Desmontando el CD-ROM"
 msgid "Please insert a Disc in the drive and press enter"
 msgstr "Inserte un disco en la unidad y presione intro"
 
-#: cmdline/apt-cdrom.cc:575 cmdline/apt-cdrom.cc:787
+#: cmdline/apt-cdrom.cc:575 cmdline/apt-cdrom.cc:790
 msgid "Mounting CD-ROM"
 msgstr "Montando CD-ROM"
 
-#: cmdline/apt-cdrom.cc:577 cmdline/apt-cdrom.cc:789
+#: cmdline/apt-cdrom.cc:577 cmdline/apt-cdrom.cc:792
 #, fuzzy
 msgid "Failed to mount the cdrom."
 msgstr "Falló al montar el CD-ROM."
 
-#: cmdline/apt-cdrom.cc:581 cmdline/apt-cdrom.cc:792
+#: cmdline/apt-cdrom.cc:581 cmdline/apt-cdrom.cc:795
 msgid "Identifying.. "
 msgstr "Identificando.. "
 
@@ -315,28 +282,28 @@ msgstr "Identificando.. "
 msgid "Scanning Disc for index files..  "
 msgstr "Buscando archivos de índice en el disco.. "
 
-#: cmdline/apt-cdrom.cc:618
+#: cmdline/apt-cdrom.cc:621
 msgid "I found (binary):"
 msgstr "Encontrado (binario):"
 
-#: cmdline/apt-cdrom.cc:621
+#: cmdline/apt-cdrom.cc:624
 msgid "I found (source):"
 msgstr "Encontrado (fuente):"
 
-#: cmdline/apt-cdrom.cc:636
+#: cmdline/apt-cdrom.cc:639
 msgid "Found "
 msgstr "Encontrado "
 
-#: cmdline/apt-cdrom.cc:636
+#: cmdline/apt-cdrom.cc:639
 #, fuzzy
 msgid " package indexes and "
 msgstr " índice de paquetes y "
 
-#: cmdline/apt-cdrom.cc:637
+#: cmdline/apt-cdrom.cc:640
 msgid " source indexes."
 msgstr " índice de fuentes."
 
-#: cmdline/apt-cdrom.cc:644
+#: cmdline/apt-cdrom.cc:647
 #, fuzzy
 msgid ""
 "Unable to locate any package files, perhaps this is not an APT enabled disc"
@@ -344,37 +311,37 @@ msgstr ""
 "No se pudo encontrar ningún archivo de paquete, quizás no sea un disco de "
 "Debian"
 
-#: cmdline/apt-cdrom.cc:668
+#: cmdline/apt-cdrom.cc:671
 msgid "Found label '"
 msgstr "Encontrada etiqueta '"
 
-#: cmdline/apt-cdrom.cc:677
+#: cmdline/apt-cdrom.cc:680
 #, fuzzy
 msgid "Please provide a name for this Disc, such as 'Distribution Disk 1'"
 msgstr "Proporcione un nombre para este disco, como 'MiDistro 6.0 disco 1'"
 
-#: cmdline/apt-cdrom.cc:686
+#: cmdline/apt-cdrom.cc:689
 msgid "That is not a valid name, try again "
 msgstr "No es un nombre válido, inténtelo otra vez "
 
-#: cmdline/apt-cdrom.cc:700
+#: cmdline/apt-cdrom.cc:703
 msgid "This Disc is called:"
 msgstr "Este disco se denomina:"
 
-#: cmdline/apt-cdrom.cc:733
+#: cmdline/apt-cdrom.cc:736
 msgid "Source List entries for this Disc are:"
 msgstr "Las entradas de lista fuente para este disco son:"
 
-#: cmdline/apt-cdrom.cc:766
+#: cmdline/apt-cdrom.cc:769
 msgid "Repeat this process for the rest of the CDs in your set."
 msgstr "Repetir este proceso para el resto de los CDs."
 
-#: cmdline/apt-cdrom.cc:811
+#: cmdline/apt-cdrom.cc:814
 #, fuzzy
 msgid "Stored Label: '"
 msgstr " Etiqueta: "
 
-#: cmdline/apt-cdrom.cc:827
+#: cmdline/apt-cdrom.cc:830
 msgid ""
 "Usage: apt-cdrom [options] command\n"
 "\n"
@@ -418,210 +385,96 @@ msgid ""
 "  -o=? Set an arbitary configuration option, eg -o dir::cache=/tmp\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:160 cmdline/apt-shell.cc:182
-#, fuzzy
-msgid "The following packages have unmet dependencies:"
-msgstr "Los paquetes siguientes tienen dependencias no resueltas:"
-
-#: cmdline/apt-get.cc:258 cmdline/apt-shell.cc:280
-#, fuzzy, c-format
-msgid "but %s is installed"
-msgstr " está instalado"
-
-#: cmdline/apt-get.cc:260 cmdline/apt-shell.cc:282
-#, fuzzy, c-format
-msgid "but %s is to be installed"
-msgstr "se instalará"
-
-#: cmdline/apt-get.cc:267 cmdline/apt-shell.cc:289
-#, fuzzy
-msgid "but it is not installable"
-msgstr "no se puede instalar"
-
-#: cmdline/apt-get.cc:269 cmdline/apt-shell.cc:291
-#, fuzzy
-msgid "but it is a virtual package"
-msgstr "es un paquete virtual"
-
-#: cmdline/apt-get.cc:272 cmdline/apt-shell.cc:294
-#, fuzzy
-msgid "but it is not installed"
-msgstr "no está instalado"
-
-#: cmdline/apt-get.cc:272 cmdline/apt-shell.cc:294
-#, fuzzy
-msgid "but it is not going to be installed"
-msgstr "no será instalado"
-
-#: cmdline/apt-get.cc:277 cmdline/apt-shell.cc:299
-msgid " or"
-msgstr " o"
-
-#: cmdline/apt-get.cc:306 cmdline/apt-shell.cc:329
-msgid "The following NEW packages will be installed:"
-msgstr "Se instalarán los paquetes NUEVOS siguientes:"
-
-#: cmdline/apt-get.cc:358 cmdline/apt-shell.cc:382
-#, fuzzy
-msgid "The following packages will be REPLACED:"
-msgstr "Se ELIMINARÁN los siguientes paquetes:"
-
-#: cmdline/apt-get.cc:359 cmdline/apt-shell.cc:383
-msgid "The following packages will be REMOVED:"
-msgstr "Se ELIMINARÁN los siguientes paquetes:"
-
-#: cmdline/apt-get.cc:381 cmdline/apt-shell.cc:412
-msgid "The following packages have been kept back"
-msgstr "Se han manetenido los siguientes paquetes"
-
-#: cmdline/apt-get.cc:402 cmdline/apt-shell.cc:440
-msgid "The following packages will be upgraded"
-msgstr "Se actualizarán los siguientes paquetes"
-
-#: cmdline/apt-get.cc:423 cmdline/apt-shell.cc:468
-#, fuzzy
-msgid "The following packages will be DOWNGRADED"
-msgstr "Se ELIMINARÁN los siguientes paquetes:"
-
-#: cmdline/apt-get.cc:443 cmdline/apt-shell.cc:490
-msgid "The following held packages will be changed:"
-msgstr "Los siguientes paquetes serán alterados:"
-
-#: cmdline/apt-get.cc:532 cmdline/apt-shell.cc:581
-#, c-format
-msgid "%s (due to %s) "
-msgstr "%s (debido a %s) "
-
-#: cmdline/apt-get.cc:540 cmdline/apt-shell.cc:589
-#, fuzzy
-msgid ""
-"WARNING: The following essential packages will be removed\n"
-"This should NOT be done unless you know exactly what you are doing!"
-msgstr ""
-"¡Esto NO debe hacerse, a menos que usted sepa exactamente lo que está "
-"haciendo!"
-
-#: cmdline/apt-get.cc:594 cmdline/apt-shell.cc:655
-#, fuzzy, c-format
-msgid "%lu upgraded, %lu newly installed, "
-msgstr " paquetes actualizados, "
-
-#: cmdline/apt-get.cc:598 cmdline/apt-shell.cc:659
-#, fuzzy, c-format
-msgid "%lu reinstalled, "
-msgstr " reinstalados, "
-
-#: cmdline/apt-get.cc:600 cmdline/apt-shell.cc:661
-#, c-format
-msgid "%lu downgraded, "
-msgstr ""
-
-#: cmdline/apt-get.cc:603 cmdline/apt-shell.cc:664
-#, c-format
-msgid "%lu replaced, "
-msgstr ""
-
-#: cmdline/apt-get.cc:606 cmdline/apt-shell.cc:668
-#, c-format
-msgid "%lu removed and %lu not upgraded.\n"
-msgstr ""
-
-#: cmdline/apt-get.cc:610 cmdline/apt-shell.cc:675
-#, fuzzy, c-format
-msgid "%lu not fully installed or removed.\n"
-msgstr " paquetes no instalados o eliminados totalmente."
-
-#: cmdline/apt-get.cc:632
+#: cmdline/apt-get.cc:158
 msgid "There are changes to be made"
 msgstr ""
 
-#: cmdline/apt-get.cc:698 cmdline/apt-shell.cc:803
+#: cmdline/apt-get.cc:193 cmdline/apt-shell.cc:255
 msgid "Correcting dependencies..."
 msgstr "Corrigiendo dependencias..."
 
-#: cmdline/apt-get.cc:701 cmdline/apt-shell.cc:806
+#: cmdline/apt-get.cc:196 cmdline/apt-shell.cc:258
 msgid " failed."
 msgstr " falló."
 
-#: cmdline/apt-get.cc:704 cmdline/apt-shell.cc:809
+#: cmdline/apt-get.cc:199 cmdline/apt-shell.cc:261
 msgid "Unable to correct dependencies"
 msgstr "Imposible corregir dependencias"
 
-#: cmdline/apt-get.cc:707 cmdline/apt-shell.cc:812
+#: cmdline/apt-get.cc:202 cmdline/apt-shell.cc:264
 msgid "Unable to minimize the upgrade set"
 msgstr "Imposible minimizar el grupo de actualización"
 
-#: cmdline/apt-get.cc:709 cmdline/apt-shell.cc:814
+#: cmdline/apt-get.cc:204 cmdline/apt-shell.cc:266
 msgid " Done"
 msgstr " Hecho"
 
-#: cmdline/apt-get.cc:713
+#: cmdline/apt-get.cc:208
 #, fuzzy
 msgid "You might want to run `apt-get --fix-broken install' to correct these."
 msgstr "Tal vez quiera ejecutar `apt-get -f install' para corregirlos."
 
-#: cmdline/apt-get.cc:716 cmdline/apt-shell.cc:821
+#: cmdline/apt-get.cc:211 cmdline/apt-shell.cc:273
 #, fuzzy
 msgid "Unmet dependencies. Try using --fix-broken."
 msgstr "Dependencias no resueltas. Pruebe usar -f."
 
-#: cmdline/apt-get.cc:774 cmdline/apt-shell.cc:879
+#: cmdline/apt-get.cc:268 cmdline/apt-shell.cc:330
 #, fuzzy
 msgid "Packages need to be removed but Remove is disabled."
 msgstr ""
 "Deben eliminarse algunos paquetes, sin embargo, está especificado No "
 "Eliminar."
 
-#: cmdline/apt-get.cc:800 cmdline/apt-get.cc:2223 cmdline/apt-get.cc:2258
-#: cmdline/apt-shell.cc:905 cmdline/apt-shell.cc:2208
-#: cmdline/apt-shell.cc:2244
+#: cmdline/apt-get.cc:294 cmdline/apt-get.cc:1542 cmdline/apt-shell.cc:356
+#: cmdline/apt-shell.cc:1479 cmdline/cmdline.cc:713
 msgid "Unable to lock the download directory"
 msgstr "Imposible bloquear el directorio para descargas"
 
-#: cmdline/apt-get.cc:810 cmdline/apt-get.cc:2306 cmdline/apt-get.cc:2580
-#: cmdline/apt-shell.cc:915 cmdline/apt-shell.cc:2303 apt-pkg/cachefile.cc:71
+#: cmdline/apt-get.cc:304 cmdline/apt-get.cc:1590 cmdline/apt-get.cc:1808
+#: cmdline/apt-shell.cc:366 cmdline/apt-shell.cc:1538 apt-pkg/cachefile.cc:71
 msgid "The list of sources could not be read."
 msgstr "No se puede leer la lista de fuentes."
 
-#: cmdline/apt-get.cc:830 cmdline/apt-shell.cc:935
+#: cmdline/apt-get.cc:324 cmdline/apt-shell.cc:386
 #, fuzzy, c-format
 msgid "Need to get %sB/%sB of archives.\n"
 msgstr "Fallo al traer algunos archivos."
 
-#: cmdline/apt-get.cc:833 cmdline/apt-shell.cc:938
+#: cmdline/apt-get.cc:327 cmdline/apt-shell.cc:389
 #, fuzzy, c-format
 msgid "Need to get %sB of archives.\n"
 msgstr "Fallo al traer algunos archivos."
 
-#: cmdline/apt-get.cc:838 cmdline/apt-shell.cc:722 cmdline/apt-shell.cc:943
+#: cmdline/apt-get.cc:332 cmdline/apt-shell.cc:205 cmdline/apt-shell.cc:394
 #, c-format
 msgid "After unpacking %sB of additional disk space will be used.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:841 cmdline/apt-shell.cc:725 cmdline/apt-shell.cc:946
+#: cmdline/apt-get.cc:335 cmdline/apt-shell.cc:208 cmdline/apt-shell.cc:397
 #, c-format
 msgid "After unpacking %sB disk space will be freed.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:859 cmdline/apt-shell.cc:964
+#: cmdline/apt-get.cc:353 cmdline/apt-shell.cc:415
 #, fuzzy, c-format
 msgid "You don't have enough free space in %s."
 msgstr "Lo siento, no tiene suficiente espacio libre en %s"
 
-#: cmdline/apt-get.cc:868 cmdline/apt-shell.cc:973
+#: cmdline/apt-get.cc:362 cmdline/apt-shell.cc:424
 msgid "There are problems and -y was used without --force-yes"
 msgstr "Hay algunos problemas, por eso se usó -y sin --force-yes"
 
-#: cmdline/apt-get.cc:874 cmdline/apt-get.cc:894 cmdline/apt-shell.cc:979
-#: cmdline/apt-shell.cc:999
+#: cmdline/apt-get.cc:368 cmdline/apt-get.cc:388 cmdline/apt-shell.cc:430
+#: cmdline/apt-shell.cc:450
 msgid "Trivial Only specified but this is not a trivial operation."
 msgstr "Se especificó `Sólo trivial', pero ésta no es una operación trivial."
 
-#: cmdline/apt-get.cc:876 cmdline/apt-shell.cc:981
+#: cmdline/apt-get.cc:370 cmdline/apt-shell.cc:432
 msgid "Yes, do as I say!"
 msgstr ""
 
-#: cmdline/apt-get.cc:878 cmdline/apt-shell.cc:983
+#: cmdline/apt-get.cc:372 cmdline/apt-shell.cc:434
 #, fuzzy, c-format
 msgid ""
 "You are about to do something potentially harmful\n"
@@ -629,92 +482,98 @@ msgid ""
 " ?] "
 msgstr "Está a punto de cometer un acto potencialmente dañino"
 
-#: cmdline/apt-get.cc:884 cmdline/apt-get.cc:903 cmdline/apt-shell.cc:740
-#: cmdline/apt-shell.cc:989 cmdline/apt-shell.cc:1008
+#: cmdline/apt-get.cc:378 cmdline/apt-get.cc:397 cmdline/apt-shell.cc:223
+#: cmdline/apt-shell.cc:440 cmdline/apt-shell.cc:459
 #, fuzzy
 msgid "Abort."
 msgstr "Terminado."
 
-#: cmdline/apt-get.cc:899 cmdline/apt-shell.cc:738 cmdline/apt-shell.cc:1004
+#: cmdline/apt-get.cc:393 cmdline/apt-shell.cc:221 cmdline/apt-shell.cc:455
 msgid "Do you want to continue? [Y/n] "
 msgstr "¿Quiere continuar? [S/n] "
 
-#: cmdline/apt-get.cc:977 cmdline/apt-get.cc:1082 cmdline/apt-get.cc:1594
-#: cmdline/apt-get.cc:2447 cmdline/apt-shell.cc:1081 cmdline/apt-shell.cc:1658
+#: cmdline/apt-get.cc:471 cmdline/apt-get.cc:576 cmdline/apt-get.cc:993
+#: cmdline/apt-get.cc:1720 cmdline/apt-shell.cc:532 cmdline/apt-shell.cc:1014
 #, fuzzy, c-format
 msgid "Failed to fetch %s  %s\n"
 msgstr "Falló en la carga "
 
-#: cmdline/apt-get.cc:995 cmdline/apt-shell.cc:1099
+#: cmdline/apt-get.cc:489 cmdline/apt-shell.cc:550
 msgid "Some files failed to download"
 msgstr "Hubo un fallo al descargar algunos archivos"
 
-#: cmdline/apt-get.cc:996 cmdline/apt-get.cc:2456 cmdline/apt-shell.cc:1100
+#: cmdline/apt-get.cc:490 cmdline/apt-get.cc:1729 cmdline/apt-shell.cc:551
 msgid "Download complete and in download only mode"
 msgstr ""
 
-#: cmdline/apt-get.cc:1002 cmdline/apt-shell.cc:1106
+#: cmdline/apt-get.cc:496 cmdline/apt-shell.cc:557
 #, fuzzy
 msgid ""
 "Unable to fetch some archives, maybe run apt-get update or try with --fix-"
 "missing?"
 msgstr "Imposible cargar algunos archivos, ¿intentar quizás con --fix-missing?"
 
-#: cmdline/apt-get.cc:1006 cmdline/apt-shell.cc:1110
+#: cmdline/apt-get.cc:500 cmdline/apt-shell.cc:561
 msgid "--fix-missing and media swapping is not currently supported"
 msgstr ""
 "actualmente no se soporta --fix-missing e intercambio de soporte físico"
 
-#: cmdline/apt-get.cc:1011 cmdline/apt-shell.cc:1115
+#: cmdline/apt-get.cc:505 cmdline/apt-shell.cc:566
 msgid "Unable to correct missing packages."
 msgstr "Imposible corregir los paquetes perdidos."
 
-#: cmdline/apt-get.cc:1012 cmdline/apt-shell.cc:1116
+#: cmdline/apt-get.cc:506 cmdline/apt-shell.cc:567
 msgid "Aborting Install."
 msgstr "Interrumpiendo instalación."
 
-#: cmdline/apt-get.cc:1087 cmdline/apt-get.cc:2452
+#: cmdline/apt-get.cc:581 cmdline/apt-get.cc:1725
 msgid "Failed to fetch some archives."
 msgstr "Fallo al traer algunos archivos."
 
-#: cmdline/apt-get.cc:1181 cmdline/apt-get.cc:1789 cmdline/apt-get.cc:1852
-#: cmdline/apt-get.cc:1887 cmdline/apt-get.cc:2345 cmdline/apt-shell.cc:1251
-#: cmdline/apt-shell.cc:1923 cmdline/apt-shell.cc:1958
+#: cmdline/apt-get.cc:675 cmdline/apt-get.cc:1188 cmdline/apt-get.cc:1251
+#: cmdline/apt-get.cc:1286 cmdline/apt-get.cc:1629 cmdline/apt-shell.cc:702
+#: cmdline/apt-shell.cc:1279 cmdline/apt-shell.cc:1314
 #, fuzzy, c-format
 msgid "Selecting %s for '%s'\n"
 msgstr "Nota, seleccionando "
 
-#: cmdline/apt-get.cc:1187 cmdline/apt-shell.cc:1257
+#: cmdline/apt-get.cc:681 cmdline/apt-shell.cc:708
 #, fuzzy, c-format
 msgid "Package %s is a virtual package with no good providers.\n"
 msgstr " es un paquete virtual suministrado por:"
 
-#: cmdline/apt-get.cc:1201 cmdline/apt-get.cc:1261 cmdline/apt-shell.cc:1271
-#: cmdline/apt-shell.cc:1331
+#: cmdline/apt-get.cc:687 cmdline/apt-get.cc:743 cmdline/apt-shell.cc:714
+#: cmdline/apt-shell.cc:770 cmdline/cmdline.cc:1518
+#, fuzzy, c-format
+msgid "Package %s is a virtual package provided by:\n"
+msgstr " es un paquete virtual suministrado por:"
+
+#: cmdline/apt-get.cc:695 cmdline/apt-get.cc:755 cmdline/apt-shell.cc:722
+#: cmdline/apt-shell.cc:782
 msgid " [Installed]"
 msgstr " [Instalado]"
 
-#: cmdline/apt-get.cc:1206 cmdline/apt-get.cc:1266 cmdline/apt-shell.cc:1276
-#: cmdline/apt-shell.cc:1336
+#: cmdline/apt-get.cc:700 cmdline/apt-get.cc:760 cmdline/apt-shell.cc:727
+#: cmdline/apt-shell.cc:787
 msgid "You should explicitly select one to install."
 msgstr "Debería explicitar uno para instalarlo."
 
-#: cmdline/apt-get.cc:1207 cmdline/apt-shell.cc:1277
+#: cmdline/apt-get.cc:701 cmdline/apt-shell.cc:728
 #, fuzzy, c-format
 msgid "Package %s is a virtual package with multiple good providers.\n"
 msgstr " es un paquete virtual suministrado por:"
 
-#: cmdline/apt-get.cc:1218 cmdline/apt-shell.cc:1288
+#: cmdline/apt-get.cc:712 cmdline/apt-shell.cc:739
 #, fuzzy, c-format
 msgid "Skipping %s, it is already installed and upgrade is not set.\n"
 msgstr ", ya está instalado y la opción no-upgrade está habilitada."
 
-#: cmdline/apt-get.cc:1236 cmdline/apt-shell.cc:1306
+#: cmdline/apt-get.cc:730 cmdline/apt-shell.cc:757
 #, fuzzy, c-format
 msgid "Package %s is not installed, so not removed\n"
 msgstr "El paquete %s no está instalado"
 
-#: cmdline/apt-get.cc:1272 cmdline/apt-shell.cc:1342
+#: cmdline/apt-get.cc:766 cmdline/apt-shell.cc:793
 #, c-format
 msgid ""
 "Package %s has no available version, but exists in the database.\n"
@@ -723,70 +582,70 @@ msgid ""
 "of sources.list\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:1294 cmdline/apt-shell.cc:1364
+#: cmdline/apt-get.cc:788 cmdline/apt-shell.cc:815
 msgid "However the following packages replace it:"
 msgstr "No obstante, los siguientes paquetes lo sustituyen:"
 
-#: cmdline/apt-get.cc:1297 cmdline/apt-shell.cc:1367
+#: cmdline/apt-get.cc:791 cmdline/apt-shell.cc:818
 #, c-format
 msgid "Package %s has no installation candidate"
 msgstr "El paquete %s no tiene candidato a instalación"
 
-#: cmdline/apt-get.cc:1317 cmdline/apt-shell.cc:1393
+#: cmdline/apt-get.cc:811 cmdline/apt-shell.cc:844
 #, fuzzy, c-format
 msgid "Reinstallation of %s is not possible, it cannot be downloaded.\n"
 msgstr " no es posible, no se puede descargarlo"
 
-#: cmdline/apt-get.cc:1325 cmdline/apt-shell.cc:1401
+#: cmdline/apt-get.cc:819 cmdline/apt-shell.cc:852
 #, fuzzy, c-format
 msgid "%s is already the newest version.\n"
 msgstr " ya es la versión más nueva"
 
-#: cmdline/apt-get.cc:1354 cmdline/apt-shell.cc:1430
+#: cmdline/apt-get.cc:848 cmdline/apt-shell.cc:881
 #, c-format
 msgid "Release %s'%s' for '%s' was not found"
 msgstr ""
 
-#: cmdline/apt-get.cc:1356 cmdline/apt-shell.cc:1432
+#: cmdline/apt-get.cc:850 cmdline/apt-shell.cc:883
 #, c-format
 msgid "Version %s'%s' for '%s' was not found"
 msgstr ""
 
-#: cmdline/apt-get.cc:1364 cmdline/apt-shell.cc:1440
+#: cmdline/apt-get.cc:858 cmdline/apt-shell.cc:891
 #, c-format
 msgid "Selected version %s (%s) for %s\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:1367 cmdline/apt-shell.cc:1443
+#: cmdline/apt-get.cc:861 cmdline/apt-shell.cc:894
 #, fuzzy, c-format
 msgid "Selected version %s for %s\n"
 msgstr "Nota, seleccionando "
 
-#: cmdline/apt-get.cc:1495
+#: cmdline/apt-get.cc:894
 msgid "The update command takes no arguments"
 msgstr ""
 
-#: cmdline/apt-get.cc:1518 cmdline/apt-shell.cc:1585
+#: cmdline/apt-get.cc:917 cmdline/apt-shell.cc:941
 #, fuzzy, c-format
 msgid "Sources list %s could not be read"
 msgstr "No se puede leer la lista de fuentes."
 
-#: cmdline/apt-get.cc:1521 cmdline/apt-shell.cc:1588
+#: cmdline/apt-get.cc:920 cmdline/apt-shell.cc:944
 #, c-format
 msgid "Sources list %s doesn't exist"
 msgstr ""
 
-#: cmdline/apt-get.cc:1534 cmdline/apt-shell.cc:1600
+#: cmdline/apt-get.cc:933 cmdline/apt-shell.cc:956
 msgid "Unable to lock the list directory"
 msgstr "Imposible bloquear el directorio de lista"
 
-#: cmdline/apt-get.cc:1566 cmdline/apt-shell.cc:1630
+#: cmdline/apt-get.cc:965 cmdline/apt-shell.cc:986
 msgid ""
 "Release files for some repositories could not be retrieved or authenticated. "
 "Such repositories are being ignored."
 msgstr ""
 
-#: cmdline/apt-get.cc:1634 cmdline/apt-shell.cc:1692
+#: cmdline/apt-get.cc:1033 cmdline/apt-shell.cc:1048
 msgid ""
 "Some index files failed to download, they have been ignored, or old ones "
 "used instead."
@@ -794,33 +653,33 @@ msgstr ""
 "Hubo un fallo al descargar algunos archivos de índice. Se han ignorado o se "
 "han usado los antiguos."
 
-#: cmdline/apt-get.cc:1653 cmdline/apt-shell.cc:1721
+#: cmdline/apt-get.cc:1052 cmdline/apt-shell.cc:1077
 msgid "Internal Error, AllUpgrade broke stuff"
 msgstr "Error interno en el AllUpgrade"
 
-#: cmdline/apt-get.cc:1750 cmdline/apt-get.cc:1767 cmdline/apt-shell.cc:1823
-#: cmdline/apt-shell.cc:1840
+#: cmdline/apt-get.cc:1149 cmdline/apt-get.cc:1166 cmdline/apt-shell.cc:1179
+#: cmdline/apt-shell.cc:1196
 #, fuzzy, c-format
 msgid "Couldn't parse name '%s'"
 msgstr "No se encontró el paquete %s"
 
-#: cmdline/apt-get.cc:1862 cmdline/apt-get.cc:1901 cmdline/apt-shell.cc:1933
-#: cmdline/apt-shell.cc:1973
+#: cmdline/apt-get.cc:1261 cmdline/apt-get.cc:1300 cmdline/apt-shell.cc:1289
+#: cmdline/apt-shell.cc:1329
 #, c-format
 msgid "Couldn't find package %s"
 msgstr "No se encontró el paquete %s"
 
-#: cmdline/apt-get.cc:1876 cmdline/apt-shell.cc:1947 cmdline/cmdline.cc:43
+#: cmdline/apt-get.cc:1275 cmdline/apt-shell.cc:1303 cmdline/cmdline.cc:47
 #, fuzzy, c-format
 msgid "Regex compilation error - %s"
 msgstr "Error de compilación de Regex"
 
-#: cmdline/apt-get.cc:1931
+#: cmdline/apt-get.cc:1330
 #, fuzzy
 msgid "You might want to run `apt-get --fix-broken install' to correct these:"
 msgstr "Tal vez quiera ejecutar `apt-get -f install' para corregirlos:"
 
-#: cmdline/apt-get.cc:1934
+#: cmdline/apt-get.cc:1333
 #, fuzzy
 msgid ""
 "Unmet dependencies. Try 'apt-get --fix-broken install' with no packages (or "
@@ -829,14 +688,14 @@ msgstr ""
 "Dependencias no resueltas. Intente 'apt-get -f install' sin paquetes (o "
 "especifique una solución)."
 
-#: cmdline/apt-get.cc:1956 cmdline/apt-shell.cc:2036
+#: cmdline/apt-get.cc:1355 cmdline/apt-shell.cc:1392
 msgid ""
 "Some packages could not be installed. This may mean that you have\n"
 "requested an impossible situation or that some of the repositories\n"
 "in use are in an inconsistent state at the moment."
 msgstr ""
 
-#: cmdline/apt-get.cc:1963 cmdline/apt-shell.cc:2043
+#: cmdline/apt-get.cc:1362 cmdline/apt-shell.cc:1399
 #, fuzzy
 msgid ""
 "Since you only requested a single operation it is extremely likely that\n"
@@ -844,130 +703,125 @@ msgid ""
 "that package should be filed."
 msgstr "Como solicitó solamente una única operación, es muy probable que"
 
-#: cmdline/apt-get.cc:1968 cmdline/apt-shell.cc:2048
+#: cmdline/apt-get.cc:1367 cmdline/apt-shell.cc:1404
 msgid "The following information may help to resolve the situation:"
 msgstr "La siguiente información puede ayudar a resolver la situación:"
 
-#: cmdline/apt-get.cc:1971 cmdline/apt-shell.cc:2052
+#: cmdline/apt-get.cc:1370 cmdline/apt-shell.cc:1408
 #, fuzzy
 msgid "Broken packages"
 msgstr "Lo siento, paquetes rotos"
 
-#: cmdline/apt-get.cc:1998
+#: cmdline/apt-get.cc:1397
 msgid "The following extra packages will be installed:"
 msgstr "Se instalarán los siguientes paquetes extras: "
 
-#: cmdline/apt-get.cc:2078
+#: cmdline/apt-get.cc:1477
 #, fuzzy
 msgid "Suggested packages:"
 msgstr "Paquete: "
 
-#: cmdline/apt-get.cc:2079
+#: cmdline/apt-get.cc:1478
 #, fuzzy
 msgid "Recommended packages:"
 msgstr "Lo siento, paquetes rotos"
 
-#: cmdline/apt-get.cc:2103 cmdline/apt-shell.cc:2079
+#: cmdline/apt-get.cc:1502 cmdline/apt-shell.cc:1435
 msgid "Calculating Upgrade... "
 msgstr "Calculando actualización... "
 
-#: cmdline/apt-get.cc:2106 cmdline/apt-shell.cc:2082 methods/connect.cc:102
+#: cmdline/apt-get.cc:1505 cmdline/apt-shell.cc:1438 methods/connect.cc:102
 #: methods/ftp.cc:706
 msgid "Failed"
 msgstr "Falló"
 
-#: cmdline/apt-get.cc:2122 cmdline/apt-shell.cc:2094
+#: cmdline/apt-get.cc:1521 cmdline/apt-shell.cc:1450
 msgid "Done"
 msgstr "Hecho"
 
-#: cmdline/apt-get.cc:2301
+#: cmdline/apt-get.cc:1585
 msgid "Must specify at least one package to fetch source for"
 msgstr "Debe especificar por lo menos un paquete del que buscar su fuente"
 
-#: cmdline/apt-get.cc:2358 cmdline/apt-get.cc:2598 cmdline/apt-shell.cc:2321
+#: cmdline/apt-get.cc:1642 cmdline/apt-get.cc:1826 cmdline/apt-shell.cc:1556
 #, c-format
 msgid "Unable to find a source package for %s"
 msgstr "Imposible encontrar un paquete fuente para %s"
 
-#: cmdline/apt-get.cc:2407
+#: cmdline/apt-get.cc:1680
 #, fuzzy, c-format
 msgid "You don't have enough free space in %s"
 msgstr "Lo siento, no tiene suficiente espacio libre en %s"
 
-#: cmdline/apt-get.cc:2412
+#: cmdline/apt-get.cc:1685
 #, fuzzy, c-format
 msgid "Need to get %sB/%sB of source archives.\n"
 msgstr " para archivos fuente."
 
-#: cmdline/apt-get.cc:2415
+#: cmdline/apt-get.cc:1688
 #, fuzzy, c-format
 msgid "Need to get %sB of source archives.\n"
 msgstr " para archivos fuente."
 
-#: cmdline/apt-get.cc:2421
+#: cmdline/apt-get.cc:1694
 #, fuzzy, c-format
 msgid "Fetch Source %s\n"
 msgstr "Cargar fuente"
 
-#: cmdline/apt-get.cc:2486 cmdline/apt-get.cc:2537
+#: cmdline/apt-get.cc:1754
 #, fuzzy, c-format
 msgid "Build command '%s' failed.\n"
 msgstr "Comando construir '"
 
-#: cmdline/apt-get.cc:2498 cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:1766
 #, fuzzy, c-format
 msgid "Unpack command '%s' failed.\n"
 msgstr "Comando desempaquetar '"
 
-#: cmdline/apt-get.cc:2508
-#, fuzzy, c-format
-msgid "Skipping unpack of already unpacked source in %s\n"
-msgstr "Omitiendo la operación. Fuente ya desempaquetada en "
-
-#: cmdline/apt-get.cc:2557
+#: cmdline/apt-get.cc:1785
 msgid "Child process failed"
 msgstr "Falló el proceso hijo"
 
-#: cmdline/apt-get.cc:2575 cmdline/apt-shell.cc:2298
+#: cmdline/apt-get.cc:1803 cmdline/apt-shell.cc:1533
 #, fuzzy
 msgid "Must specify at least one package to check builddeps for"
 msgstr "Debe especificar por lo menos un paquete del que buscar su fuente"
 
-#: cmdline/apt-get.cc:2603 cmdline/apt-shell.cc:2326
+#: cmdline/apt-get.cc:1831 cmdline/apt-shell.cc:1561
 #, fuzzy, c-format
 msgid "Unable to get build-dependency information for %s"
 msgstr "Imposible corregir dependencias"
 
-#: cmdline/apt-get.cc:2623 cmdline/apt-shell.cc:2346
+#: cmdline/apt-get.cc:1851 cmdline/apt-shell.cc:1581
 #, c-format
 msgid "%s has no build depends.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2694 cmdline/apt-shell.cc:2417
+#: cmdline/apt-get.cc:1922 cmdline/apt-shell.cc:1652
 #, c-format
 msgid ""
 "%s dependency for %s cannot be satisfied because the package %s cannot be "
 "found"
 msgstr ""
 
-#: cmdline/apt-get.cc:2746 cmdline/apt-shell.cc:2469
+#: cmdline/apt-get.cc:1974 cmdline/apt-shell.cc:1704
 #, c-format
 msgid ""
 "%s dependency for %s cannot be satisfied because no available versions of "
 "package %s can satisfy version requirements"
 msgstr ""
 
-#: cmdline/apt-get.cc:2781 cmdline/apt-shell.cc:2503
+#: cmdline/apt-get.cc:2009 cmdline/apt-shell.cc:1738
 #, c-format
 msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
 msgstr ""
 
-#: cmdline/apt-get.cc:2806 cmdline/apt-shell.cc:2528
+#: cmdline/apt-get.cc:2034 cmdline/apt-shell.cc:1763
 #, fuzzy, c-format
 msgid "Failed to satisfy %s dependency for %s: %s"
 msgstr "Imposible corregir dependencias"
 
-#: cmdline/apt-get.cc:2823 cmdline/apt-shell.cc:2542
+#: cmdline/apt-get.cc:2051 cmdline/apt-shell.cc:1777
 #, fuzzy, c-format
 msgid ""
 "Some broken packages were found while trying to process build-dependencies "
@@ -975,16 +829,16 @@ msgid ""
 "You might want to run `apt-get --fix-broken install' to correct these."
 msgstr "Tal vez quiera ejecutar `apt-get -f install' para corregirlos."
 
-#: cmdline/apt-get.cc:2829
+#: cmdline/apt-get.cc:2057
 #, fuzzy
 msgid "Failed to process build dependencies"
 msgstr "Imposible corregir dependencias"
 
-#: cmdline/apt-get.cc:2896 cmdline/apt-shell.cc:3591
+#: cmdline/apt-get.cc:2124 cmdline/apt-shell.cc:1953
 msgid "Supported Modules:"
 msgstr ""
 
-#: cmdline/apt-get.cc:2937
+#: cmdline/apt-get.cc:2165
 msgid ""
 "Usage: apt-get [options] command\n"
 "       apt-get [options] install|remove pkg1 [pkg2 ...]\n"
@@ -1007,7 +861,7 @@ msgid ""
 "   check - Verify that there are no broken dependencies\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2965
+#: cmdline/apt-get.cc:2193
 msgid ""
 "\n"
 "Options:\n"
@@ -1030,93 +884,74 @@ msgid ""
 "                       This APT has Super Cow Powers.\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:146 cmdline/apt-shell.cc:4298
+#: cmdline/apt-shell.cc:141 cmdline/apt-shell.cc:2663
 #, fuzzy
 msgid "There are broken packages. "
 msgstr "Lo siento, paquetes rotos"
 
-#: cmdline/apt-shell.cc:147 cmdline/apt-shell.cc:2006
-#: cmdline/apt-shell.cc:4299
+#: cmdline/apt-shell.cc:142 cmdline/apt-shell.cc:1362
+#: cmdline/apt-shell.cc:2664
 msgid "Run `check' to see them."
 msgstr ""
 
-#: cmdline/apt-shell.cc:148
+#: cmdline/apt-shell.cc:143
 msgid "You can try to fix them automatically with `install --fix-broken'0."
 msgstr ""
 
-#: cmdline/apt-shell.cc:158
+#: cmdline/apt-shell.cc:153
 msgid "Excessive arguments"
 msgstr ""
 
-#: cmdline/apt-shell.cc:671
-#, c-format
-msgid "%lu removed and %lu kept.\n"
-msgstr ""
-
-#: cmdline/apt-shell.cc:700
+#: cmdline/apt-shell.cc:183
 #, fuzzy, c-format
 msgid "Will need more %sB of archives.\n"
 msgstr "Fallo al traer algunos archivos."
 
-#: cmdline/apt-shell.cc:703
+#: cmdline/apt-shell.cc:186
 #, fuzzy, c-format
 msgid "Will need less %sB of archives.\n"
 msgstr "Fallo al traer algunos archivos."
 
-#: cmdline/apt-shell.cc:709
+#: cmdline/apt-shell.cc:192
 #, c-format
 msgid "After unpacking will need more %sB of disk space.\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:712
+#: cmdline/apt-shell.cc:195
 #, c-format
 msgid "After unpacking will need less %sB of disk space.\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:717
+#: cmdline/apt-shell.cc:200
 #, c-format
 msgid "Will need %sB of archives.\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:735
+#: cmdline/apt-shell.cc:218
 msgid "Unrequested changes are needed to execute this operation."
 msgstr ""
 
-#: cmdline/apt-shell.cc:818
+#: cmdline/apt-shell.cc:270
 #, fuzzy
 msgid "You might want to run `install --fix-broken' to correct these."
 msgstr "Tal vez quiera ejecutar `apt-get -f install' para corregirlos."
 
-#: cmdline/apt-shell.cc:1708 cmdline/apt-shell.cc:1746
-#: cmdline/apt-shell.cc:2070 cmdline/apt-shell.cc:2111
-#: cmdline/apt-shell.cc:2288 cmdline/apt-shell.cc:3903
+#: cmdline/apt-shell.cc:1064 cmdline/apt-shell.cc:1102
+#: cmdline/apt-shell.cc:1426 cmdline/apt-shell.cc:1523
+#: cmdline/apt-shell.cc:2267
 msgid "You have no permissions for that"
 msgstr ""
 
-#: cmdline/apt-shell.cc:2005
+#: cmdline/apt-shell.cc:1361
 #, fuzzy
 msgid "There are still broken packages. "
 msgstr "Lo siento, paquetes rotos"
 
-#: cmdline/apt-shell.cc:2007 cmdline/apt-shell.cc:4300
+#: cmdline/apt-shell.cc:1363 cmdline/apt-shell.cc:2665
 msgid "You can try to fix them automatically with `install --fix-broken'."
 msgstr ""
 
-#: cmdline/apt-shell.cc:3420
-msgid "Name"
-msgstr ""
-
-#: cmdline/apt-shell.cc:3421
-#, fuzzy
-msgid "Installed"
-msgstr " [Instalado]"
-
-#: cmdline/apt-shell.cc:3422
-#, fuzzy
-msgid "Candidate"
-msgstr "Versiones propuestas"
-
-#: cmdline/apt-shell.cc:3632
+#: cmdline/apt-shell.cc:1994
 msgid ""
 "\n"
 "Main commands:\n"
@@ -1125,7 +960,7 @@ msgid ""
 "   remove - Remove packages\n"
 "   keep - Keep packages\n"
 "   upgrade - Perform a global upgrade\n"
-"   dist-upgrade - Perform a globla distribution upgrade\n"
+"   dist-upgrade - Perform a global distribution upgrade\n"
 "   build-dep - Install build-dependencies for source packages\n"
 "   update - Retrieve new lists of packages\n"
 "   commit - Apply the changes in the system\n"
@@ -1136,9 +971,11 @@ msgid ""
 "   showpkg - Show some general information for a single package\n"
 "   list/ls - List packages\n"
 "   search - Search the package list for a regex pattern\n"
+"   searchfile - Search the packages for a file\n"
 "   script - Run scripts.\n"
 "   depends - Show raw dependency information for a package\n"
-"   whatdepends - Show raw dependency information on a package\n"
+"   whatdepends - Show packages depending on given capabilities\n"
+"   whatprovides - Show packages that provide given capabilities\n"
 "   check - Verify that there are no broken dependencies\n"
 "   unmet - Show unmet dependencies\n"
 "   clean - Erase downloaded archive files\n"
@@ -1149,7 +986,7 @@ msgid ""
 "                       This APT has Super Cow Powers.\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3674
+#: cmdline/apt-shell.cc:2038
 msgid ""
 "Usage: install [options] pkg1[=ver] [pkg2 ...]\n"
 "\n"
@@ -1166,7 +1003,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3692
+#: cmdline/apt-shell.cc:2056
 msgid ""
 "Usage: remove [options] pkg1 [pkg2 ...]\n"
 "\n"
@@ -1183,7 +1020,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3710
+#: cmdline/apt-shell.cc:2074
 msgid ""
 "Usage: keep [options] pkg1 [pkg2 ...]\n"
 "\n"
@@ -1201,7 +1038,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3729
+#: cmdline/apt-shell.cc:2093
 msgid ""
 "Usage: upgrade [options]\n"
 "\n"
@@ -1217,7 +1054,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3745
+#: cmdline/apt-shell.cc:2109
 msgid ""
 "Usage: dist-upgrade [options]\n"
 "\n"
@@ -1233,7 +1070,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3761
+#: cmdline/apt-shell.cc:2125
 msgid ""
 "Usage: showpkg [options] pkg1 [pkg2 ...]\n"
 "\n"
@@ -1245,7 +1082,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3774
+#: cmdline/apt-shell.cc:2138
 msgid ""
 "Usage: show [options] pkg1 [pkg2 ...]\n"
 "\n"
@@ -1258,7 +1095,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3788
+#: cmdline/apt-shell.cc:2152
 msgid ""
 "Usage: depends [options] pkg1 [pkg2 ...]\n"
 "\n"
@@ -1270,7 +1107,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3801
+#: cmdline/apt-shell.cc:2165
 msgid ""
 "Usage: whatdepends [options] pkg1 [pkg2 ...]\n"
 "\n"
@@ -1282,7 +1119,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3814
+#: cmdline/apt-shell.cc:2178
 msgid ""
 "Usage: unmet [options]\n"
 "\n"
@@ -1294,7 +1131,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3827
+#: cmdline/apt-shell.cc:2191
 msgid ""
 "Usage: search [options] <regex>\n"
 "\n"
@@ -1309,7 +1146,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3844
+#: cmdline/apt-shell.cc:2208
 msgid ""
 "Usage: list/ls [options] [pattern ...]\n"
 "\n"
@@ -1326,7 +1163,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3862
+#: cmdline/apt-shell.cc:2226
 msgid ""
 "Usage: commit [options]\n"
 "\n"
@@ -1338,7 +1175,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3875
+#: cmdline/apt-shell.cc:2239
 msgid ""
 "Usage: script [options] script1 [script2]\n"
 "\n"
@@ -1350,22 +1187,178 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3886
+#: cmdline/apt-shell.cc:2250
 msgid "No help for that"
 msgstr ""
 
-#: cmdline/apt-shell.cc:4308
+#: cmdline/apt-shell.cc:2673
 msgid "Welcome to the APT shell. Type \"help\" for more information."
 msgstr ""
 
-#: cmdline/apt-shell.cc:4348
+#: cmdline/apt-shell.cc:2713
 msgid "Exceeded maximum number of command arguments"
 msgstr ""
 
-#: cmdline/cmdline.cc:21
+#: cmdline/cmdline.cc:25
 msgid "Y"
 msgstr "S"
 
+#: cmdline/cmdline.cc:201
+#, fuzzy
+msgid "The following packages have unmet dependencies:"
+msgstr "Los paquetes siguientes tienen dependencias no resueltas:"
+
+#: cmdline/cmdline.cc:299
+#, fuzzy, c-format
+msgid "but %s is installed"
+msgstr " está instalado"
+
+#: cmdline/cmdline.cc:301
+#, fuzzy, c-format
+msgid "but %s is to be installed"
+msgstr "se instalará"
+
+#: cmdline/cmdline.cc:308
+#, fuzzy
+msgid "but it is not installable"
+msgstr "no se puede instalar"
+
+#: cmdline/cmdline.cc:310
+#, fuzzy
+msgid "but it is a virtual package"
+msgstr "es un paquete virtual"
+
+#: cmdline/cmdline.cc:313
+#, fuzzy
+msgid "but it is not installed"
+msgstr "no está instalado"
+
+#: cmdline/cmdline.cc:313
+#, fuzzy
+msgid "but it is not going to be installed"
+msgstr "no será instalado"
+
+#: cmdline/cmdline.cc:318
+msgid " or"
+msgstr " o"
+
+#: cmdline/cmdline.cc:348
+msgid "The following NEW packages will be installed:"
+msgstr "Se instalarán los paquetes NUEVOS siguientes:"
+
+#: cmdline/cmdline.cc:401
+#, fuzzy
+msgid "The following packages will be REPLACED:"
+msgstr "Se ELIMINARÁN los siguientes paquetes:"
+
+#: cmdline/cmdline.cc:402
+msgid "The following packages will be REMOVED:"
+msgstr "Se ELIMINARÁN los siguientes paquetes:"
+
+#: cmdline/cmdline.cc:431
+msgid "The following packages have been kept back"
+msgstr "Se han manetenido los siguientes paquetes"
+
+#: cmdline/cmdline.cc:459
+msgid "The following packages will be upgraded"
+msgstr "Se actualizarán los siguientes paquetes"
+
+#: cmdline/cmdline.cc:487
+#, fuzzy
+msgid "The following packages will be DOWNGRADED"
+msgstr "Se ELIMINARÁN los siguientes paquetes:"
+
+#: cmdline/cmdline.cc:509
+msgid "The following held packages will be changed:"
+msgstr "Los siguientes paquetes serán alterados:"
+
+#: cmdline/cmdline.cc:600
+#, c-format
+msgid "%s (due to %s) "
+msgstr "%s (debido a %s) "
+
+#: cmdline/cmdline.cc:608
+#, fuzzy
+msgid ""
+"WARNING: The following essential packages will be removed\n"
+"This should NOT be done unless you know exactly what you are doing!"
+msgstr ""
+"¡Esto NO debe hacerse, a menos que usted sepa exactamente lo que está "
+"haciendo!"
+
+#: cmdline/cmdline.cc:674
+#, fuzzy, c-format
+msgid "%lu upgraded, %lu newly installed, "
+msgstr " paquetes actualizados, "
+
+#: cmdline/cmdline.cc:678
+#, fuzzy, c-format
+msgid "%lu reinstalled, "
+msgstr " reinstalados, "
+
+#: cmdline/cmdline.cc:680
+#, c-format
+msgid "%lu downgraded, "
+msgstr ""
+
+#: cmdline/cmdline.cc:683
+#, c-format
+msgid "%lu replaced, "
+msgstr ""
+
+#: cmdline/cmdline.cc:687
+#, c-format
+msgid "%lu removed and %lu not upgraded.\n"
+msgstr ""
+
+#: cmdline/cmdline.cc:690
+#, c-format
+msgid "%lu removed and %lu kept.\n"
+msgstr ""
+
+#: cmdline/cmdline.cc:694
+#, fuzzy, c-format
+msgid "%lu not fully installed or removed.\n"
+msgstr " paquetes no instalados o eliminados totalmente."
+
+#: cmdline/cmdline.cc:916
+#, fuzzy, c-format
+msgid "Package %s version %s has an unmet dep:\n"
+msgstr " hay una dep. no resuelta:"
+
+#: cmdline/cmdline.cc:1530
+#, fuzzy
+msgid "You should explicitly select one to show."
+msgstr "Debería explicitar uno para instalarlo."
+
+#: cmdline/cmdline.cc:1531
+#, fuzzy, c-format
+msgid "Package %s is a virtual package with multiple providers."
+msgstr " es un paquete virtual suministrado por:"
+
+#: cmdline/cmdline.cc:1557
+#, fuzzy
+msgid "No packages found"
+msgstr " índice de paquetes y "
+
+#: cmdline/cmdline.cc:1614
+msgid "Name"
+msgstr ""
+
+#: cmdline/cmdline.cc:1615
+#, fuzzy
+msgid "Installed"
+msgstr " [Instalado]"
+
+#: cmdline/cmdline.cc:1616
+#, fuzzy
+msgid "Candidate"
+msgstr "Versiones propuestas"
+
+#: cmdline/cmdline.cc:1727
+msgid "You must give exactly one pattern"
+msgstr "Debe escribir exactamente un patrón"
+
 #: apt-pkg/contrib/cdromutl.cc:60
 #, fuzzy, c-format
 msgid "Unable to stat the mount point %s"
@@ -1513,12 +1506,12 @@ msgstr ""
 msgid "Sub-process %s received a segmentation fault."
 msgstr ""
 
-#: apt-pkg/contrib/fileutl.cc:374 apt-pkg/rpm/rpmpm.cc:623
+#: apt-pkg/contrib/fileutl.cc:374 apt-pkg/rpm/rpmpm.cc:634
 #, c-format
 msgid "Sub-process %s returned an error code (%u)"
 msgstr ""
 
-#: apt-pkg/contrib/fileutl.cc:376 apt-pkg/rpm/rpmpm.cc:626
+#: apt-pkg/contrib/fileutl.cc:376 apt-pkg/rpm/rpmpm.cc:637
 #, fuzzy, c-format
 msgid "Sub-process %s exited unexpectedly"
 msgstr "¡El método %s terminó inesperadamente!"
@@ -1563,15 +1556,20 @@ msgstr "Problema en SelectFile"
 msgid "Problem syncing the file"
 msgstr "Problema en SelectFile"
 
-#: apt-pkg/contrib/mmap.cc:82
+#: apt-pkg/contrib/mmap.cc:81
 msgid "Can't mmap an empty file"
 msgstr ""
 
-#: apt-pkg/contrib/mmap.cc:87
+#: apt-pkg/contrib/mmap.cc:86
 #, c-format
 msgid "Couldn't make mmap of %lu bytes"
 msgstr ""
 
+#: apt-pkg/contrib/mmap.cc:198
+#, fuzzy
+msgid "Failed to ftruncate"
+msgstr "Falló en la carga "
+
 #: apt-pkg/contrib/progress.cc:154
 #, c-format
 msgid "%c%s... Error!"
@@ -1587,107 +1585,107 @@ msgstr ""
 msgid "Selection %s not found"
 msgstr ""
 
-#: apt-pkg/rpm/repomd.cc:44 apt-pkg/rpm/rpmlistparser.cc:552
+#: apt-pkg/rpm/repomd.cc:48 apt-pkg/rpm/rpmlistparser.cc:553
 #: apt-pkg/repository.cc:40
 #, fuzzy, c-format
 msgid "could not open Release file '%s'"
 msgstr "no se pudo abrir índice hash"
 
-#: apt-pkg/rpm/rpmhandler.cc:482
+#: apt-pkg/rpm/rpmhandler.cc:485
 #, fuzzy
 msgid "could not rewind RPMFileHandler"
 msgstr "no se pudo abrir índice hash"
 
-#: apt-pkg/rpm/rpmhandler.cc:519 apt-pkg/rpm/rpmhandler.cc:526
-#: apt-pkg/rpm/rpmpm.cc:684 apt-pkg/rpm/rpmpm.cc:689
+#: apt-pkg/rpm/rpmhandler.cc:522 apt-pkg/rpm/rpmhandler.cc:529
+#: apt-pkg/rpm/rpmpm.cc:695 apt-pkg/rpm/rpmpm.cc:700
 #, fuzzy, c-format
 msgid "Failed reading file %s"
 msgstr "Falló al cargar el archivo hash:"
 
-#: apt-pkg/rpm/rpmhandler.cc:690
+#: apt-pkg/rpm/rpmhandler.cc:693
 #, fuzzy
 msgid "Unable to determine the file size"
 msgstr "Imposible minimizar el grupo de actualización"
 
-#: apt-pkg/rpm/rpmhandler.cc:739
+#: apt-pkg/rpm/rpmhandler.cc:742
 #, fuzzy
 msgid "could not open RPM database"
 msgstr "no se pudo abrir índice hash"
 
-#: apt-pkg/rpm/rpmhandler.cc:746
+#: apt-pkg/rpm/rpmhandler.cc:749
 msgid "could not create RPM database iterator"
 msgstr ""
 
-#: apt-pkg/rpm/rpmhandler.cc:912
+#: apt-pkg/rpm/rpmhandler.cc:917
 #, fuzzy, c-format
 msgid "Failed to open package index %s"
 msgstr "Imposible analizar el paquete %s (1)"
 
-#: apt-pkg/rpm/rpmhandler.cc:916
+#: apt-pkg/rpm/rpmhandler.cc:921
 #, fuzzy, c-format
 msgid "Corrupted package index %s"
 msgstr "No se encontró el paquete %s"
 
-#: apt-pkg/rpm/rpmhandler.cc:925
-#, fuzzy, c-format
-msgid "Failed to open filelist index %s"
-msgstr "Falló al abrir %s.new"
-
-#: apt-pkg/rpm/rpmhandler.cc:955
+#: apt-pkg/rpm/rpmhandler.cc:940
 #, c-format
 msgid "Inconsistent metadata, package count doesn't match in %s"
 msgstr ""
 
-#: apt-pkg/rpm/rpmindexfile.cc:376 apt-pkg/rpm/rpmindexfile.cc:728
+#: apt-pkg/rpm/rpmhandler.cc:1343
+#, fuzzy, c-format
+msgid "Failed to open filelist index %s"
+msgstr "Falló al abrir %s.new"
+
+#: apt-pkg/rpm/rpmindexfile.cc:376 apt-pkg/rpm/rpmindexfile.cc:729
 #, c-format
 msgid "Problem with SelectFile %s"
 msgstr "Problema con SelectFile %s"
 
-#: apt-pkg/rpm/rpmindexfile.cc:385 apt-pkg/rpm/rpmindexfile.cc:737
-#: apt-pkg/rpm/rpmindexfile.cc:853
+#: apt-pkg/rpm/rpmindexfile.cc:385 apt-pkg/rpm/rpmindexfile.cc:738
+#: apt-pkg/rpm/rpmindexfile.cc:855
 #, fuzzy, c-format
 msgid "Failed to stat %s"
 msgstr "Falló en la carga "
 
 #: apt-pkg/rpm/rpmindexfile.cc:394 apt-pkg/rpm/rpmindexfile.cc:430
-#: apt-pkg/rpm/rpmindexfile.cc:746 apt-pkg/rpm/rpmindexfile.cc:775
+#: apt-pkg/rpm/rpmindexfile.cc:747 apt-pkg/rpm/rpmindexfile.cc:776
 #, c-format
 msgid "Problem opening %s"
 msgstr "Problema al abrir %s"
 
-#: apt-pkg/rpm/rpmindexfile.cc:400 apt-pkg/rpm/rpmindexfile.cc:752
-#: apt-pkg/rpm/rpmindexfile.cc:858
+#: apt-pkg/rpm/rpmindexfile.cc:400 apt-pkg/rpm/rpmindexfile.cc:753
+#: apt-pkg/rpm/rpmindexfile.cc:860
 #, c-format
 msgid "Problem with MergeList %s"
 msgstr "Problema con MergeList %s"
 
-#: apt-pkg/rpm/rpmindexfile.cc:435 apt-pkg/rpm/rpmindexfile.cc:780
-#: apt-pkg/rpm/rpmindexfile.cc:876
+#: apt-pkg/rpm/rpmindexfile.cc:435 apt-pkg/rpm/rpmindexfile.cc:781
+#: apt-pkg/rpm/rpmindexfile.cc:878
 #, fuzzy, c-format
 msgid "Problem with MergeFileProvides %s"
 msgstr "Problema con MergeList %s"
 
-#: apt-pkg/rpm/rpmindexfile.cc:843 apt-pkg/rpm/rpmindexfile.cc:872
+#: apt-pkg/rpm/rpmindexfile.cc:845 apt-pkg/rpm/rpmindexfile.cc:874
 #, fuzzy
 msgid "Problem opening RPM database"
 msgstr "Problema al abrir %s"
 
-#: apt-pkg/rpm/rpmindexfile.cc:847
+#: apt-pkg/rpm/rpmindexfile.cc:849
 #, fuzzy
 msgid "Problem with SelectFile RPM Database"
 msgstr "Problema con SelectFile %s"
 
-#: apt-pkg/rpm/rpmindexfile.cc:1079 apt-pkg/sourcelist.cc:98
+#: apt-pkg/rpm/rpmindexfile.cc:1082 apt-pkg/sourcelist.cc:98
 #, fuzzy, c-format
 msgid "Malformed line %lu in source list %s (URI)"
 msgstr "Línea %u equivocada en la lista fuente %s (URI)"
 
-#: apt-pkg/rpm/rpmindexfile.cc:1081 apt-pkg/sourcelist.cc:100
+#: apt-pkg/rpm/rpmindexfile.cc:1084 apt-pkg/sourcelist.cc:100
 #, fuzzy, c-format
 msgid "Malformed line %lu in source list %s (dist)"
 msgstr "Línea %u equivocada en la lista fuente %s (dist)"
 
-#: apt-pkg/rpm/rpmindexfile.cc:1084 apt-pkg/sourcelist.cc:103
+#: apt-pkg/rpm/rpmindexfile.cc:1087 apt-pkg/sourcelist.cc:103
 #, fuzzy, c-format
 msgid "Malformed line %lu in source list %s (URI parse)"
 msgstr "Línea %u equivocada en la lista fuente %s (URI)"
@@ -1717,32 +1715,32 @@ msgstr ""
 msgid "Bad NotAutomatic flag"
 msgstr ""
 
-#: apt-pkg/rpm/rpmpackagedata.cc:46
+#: apt-pkg/rpm/rpmpackagedata.cc:50
 #, fuzzy, c-format
 msgid "could not open package priority file %s"
 msgstr "No se encontró el paquete %s"
 
-#: apt-pkg/rpm/rpmpackagedata.cc:55
+#: apt-pkg/rpm/rpmpackagedata.cc:59
 #, c-format
 msgid "no data in %s"
 msgstr ""
 
-#: apt-pkg/rpm/rpmpackagedata.cc:105
+#: apt-pkg/rpm/rpmpackagedata.cc:109
 #, c-format
 msgid "Bad regular expression '%s' in option RPM::Hold."
 msgstr ""
 
-#: apt-pkg/rpm/rpmpackagedata.cc:128
+#: apt-pkg/rpm/rpmpackagedata.cc:132
 #, c-format
 msgid "Bad regular expression '%s' in option RPM::Allow-Duplicated."
 msgstr ""
 
-#: apt-pkg/rpm/rpmpackagedata.cc:145
+#: apt-pkg/rpm/rpmpackagedata.cc:149
 #, c-format
 msgid "Bad entry '%s' in option RPM::FakeProvides."
 msgstr ""
 
-#: apt-pkg/rpm/rpmpackagedata.cc:199
+#: apt-pkg/rpm/rpmpackagedata.cc:203
 #, c-format
 msgid "Bad regular expression '%s' in URI translation"
 msgstr ""
@@ -1770,77 +1768,77 @@ msgstr "Fall
 msgid "Failure running script %s"
 msgstr ""
 
-#: apt-pkg/rpm/rpmpm.cc:312
+#: apt-pkg/rpm/rpmpm.cc:323
 msgid "Unknown pkgRPMPM operation."
 msgstr ""
 
-#: apt-pkg/rpm/rpmpm.cc:549
+#: apt-pkg/rpm/rpmpm.cc:560
 msgid "Executing RPM ("
 msgstr ""
 
-#: apt-pkg/rpm/rpmpm.cc:589
+#: apt-pkg/rpm/rpmpm.cc:600
 #, fuzzy
 msgid "Could not exec "
 msgstr "No se encontró el paquete %s"
 
-#: apt-pkg/rpm/rpmpm.cc:604
+#: apt-pkg/rpm/rpmpm.cc:615
 #, fuzzy
 msgid "Couldn't wait for subprocess"
 msgstr "No se encontró el paquete %s"
 
-#: apt-pkg/rpm/rpmpm.cc:620
+#: apt-pkg/rpm/rpmpm.cc:631
 #, c-format
 msgid "Sub-process %s recieved a segmentation fault."
 msgstr ""
 
-#: apt-pkg/rpm/rpmpm.cc:630 apt-pkg/rpm/rpmpm.cc:896
+#: apt-pkg/rpm/rpmpm.cc:641 apt-pkg/rpm/rpmpm.cc:909
 #, fuzzy
 msgid "Done."
 msgstr "Hecho"
 
-#: apt-pkg/rpm/rpmpm.cc:680
+#: apt-pkg/rpm/rpmpm.cc:691
 #, fuzzy, c-format
 msgid "Failed opening %s"
 msgstr "Problema al abrir %s"
 
-#: apt-pkg/rpm/rpmpm.cc:693 apt-pkg/rpm/rpmpm.cc:717
+#: apt-pkg/rpm/rpmpm.cc:704 apt-pkg/rpm/rpmpm.cc:728
 #, fuzzy, c-format
 msgid "Failed adding %s to transaction %s"
 msgstr "Falló al cambiar de nombre de %s para %s"
 
-#: apt-pkg/rpm/rpmpm.cc:773
+#: apt-pkg/rpm/rpmpm.cc:784
 #, fuzzy
 msgid "Could not open RPM database"
 msgstr "no se pudo abrir índice hash"
 
-#: apt-pkg/rpm/rpmpm.cc:835 apt-pkg/rpm/rpmpm.cc:848
+#: apt-pkg/rpm/rpmpm.cc:848 apt-pkg/rpm/rpmpm.cc:861
 msgid "Transaction set check failed"
 msgstr ""
 
-#: apt-pkg/rpm/rpmpm.cc:868
+#: apt-pkg/rpm/rpmpm.cc:881
 #, c-format
 msgid "Ordering failed for %d packages"
 msgstr ""
 
-#: apt-pkg/rpm/rpmpm.cc:872
+#: apt-pkg/rpm/rpmpm.cc:885
 msgid "Committing changes..."
 msgstr ""
 
-#: apt-pkg/rpm/rpmpm.cc:888
+#: apt-pkg/rpm/rpmpm.cc:901
 msgid "Error while running transaction"
 msgstr ""
 
-#: apt-pkg/rpm/rpmpm.cc:894
+#: apt-pkg/rpm/rpmpm.cc:907
 #, fuzzy
 msgid "Some errors occurred while running transaction"
 msgstr "Error ocurrido al procesar %s (NewVersion1)"
 
-#: apt-pkg/rpm/rpmrecords.cc:174 apt-pkg/rpm/rpmsrcrecords.cc:177
+#: apt-pkg/rpm/rpmrecords.cc:176 apt-pkg/rpm/rpmsrcrecords.cc:179
 #, fuzzy
 msgid "Could not allocate buffer for record text"
 msgstr "No se pudo esperar al subproceso"
 
-#: apt-pkg/rpm/rpmsystem.cc:263
+#: apt-pkg/rpm/rpmsystem.cc:262
 #, fuzzy, c-format
 msgid "Unable to determine version for package %s"
 msgstr "Imposible minimizar el grupo de actualización"
@@ -1881,7 +1879,7 @@ msgid "MD5Sum mismatch"
 msgstr ""
 
 #: apt-pkg/acquire-item.cc:397
-msgid "Uknown compression extension, trying uncompressed"
+msgid "Unknown compression extension, trying uncompressed"
 msgstr ""
 
 #: apt-pkg/acquire-item.cc:508
@@ -1980,12 +1978,12 @@ msgstr "Versiones propuestas"
 msgid "Dependency Generation"
 msgstr "Generación de dependencias"
 
-#: apt-pkg/init.cc:141
+#: apt-pkg/init.cc:135
 #, fuzzy, c-format
 msgid "Packaging system '%s' is not supported"
 msgstr "El paquete %s no está instalado"
 
-#: apt-pkg/init.cc:157
+#: apt-pkg/init.cc:151
 #, fuzzy
 msgid "Unable to determine a suitable system type"
 msgstr "Imposible minimizar el grupo de actualización"
@@ -2582,3 +2580,7 @@ msgstr ""
 #: methods/rsh.cc:333
 msgid "Connection closed prematurely"
 msgstr ""
+
+#, fuzzy
+#~ msgid "Skipping unpack of already unpacked source in %s\n"
+#~ msgstr "Omitiendo la operación. Fuente ya desempaquetada en "
index c0b309e..761a406 100644 (file)
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: apt\n"
 "Report-Msgid-Bugs-To: apt-rpm@lists.laiskiainen.org\n"
-"POT-Creation-Date: 2006-06-08 17:14+0300\n"
+"POT-Creation-Date: 2006-08-22 01:03+0300\n"
 "PO-Revision-Date: 2001-01-11 15:40-02:00\n"
 "Last-Translator: Stefano Corsi <ippo@madeinlinux.com>\n"
 "Language-Team: Italian <it@li.org>\n"
@@ -59,168 +59,134 @@ msgstr ""
 msgid "Password: "
 msgstr ""
 
-#: cmdline/apt-cache.cc:157 cmdline/apt-shell.cc:3077
-#, fuzzy, c-format
-msgid "Package %s version %s has an unmet dep:\n"
-msgstr " ha una dipendenza irrisolta:"
-
-#: cmdline/apt-cache.cc:197 cmdline/apt-cache.cc:565 cmdline/apt-cache.cc:660
-#: cmdline/apt-cache.cc:750 cmdline/apt-cache.cc:1024
-#: cmdline/apt-cache.cc:1291 cmdline/apt-cache.cc:1705
-#: cmdline/apt-cache.cc:1877 cmdline/apt-shell.cc:2629
-#: cmdline/apt-shell.cc:2727 cmdline/apt-shell.cc:2820
-#: cmdline/apt-shell.cc:3120 cmdline/apt-shell.cc:3539
-#, c-format
-msgid "Unable to locate package %s"
-msgstr "Impossibile trovare il pacchetto %s"
-
-#: cmdline/apt-cache.cc:254
+#: cmdline/apt-cache.cc:94
 msgid "Total Package Names : "
 msgstr "Numero totale di pacchetti : "
 
-#: cmdline/apt-cache.cc:294
+#: cmdline/apt-cache.cc:134
 msgid "  Normal Packages: "
 msgstr "  Pacchetti normali: "
 
-#: cmdline/apt-cache.cc:295
+#: cmdline/apt-cache.cc:135
 msgid "  Pure Virtual Packages: "
 msgstr "  Pacchetti virtuali puri: "
 
-#: cmdline/apt-cache.cc:296
+#: cmdline/apt-cache.cc:136
 msgid "  Single Virtual Packages: "
 msgstr "  Pacchetti virtuali semplici: "
 
-#: cmdline/apt-cache.cc:297
+#: cmdline/apt-cache.cc:137
 msgid "  Mixed Virtual Packages: "
 msgstr "  Pacchetti virtuali misti: "
 
-#: cmdline/apt-cache.cc:298
+#: cmdline/apt-cache.cc:138
 msgid "  Missing: "
 msgstr "  Mancanti: "
 
-#: cmdline/apt-cache.cc:300
+#: cmdline/apt-cache.cc:140
 msgid "Total Distinct Versions: "
 msgstr "Versioni differenti totali: "
 
-#: cmdline/apt-cache.cc:302
+#: cmdline/apt-cache.cc:142
 msgid "Total Dependencies: "
 msgstr "Dipendenze totali: "
 
-#: cmdline/apt-cache.cc:305
+#: cmdline/apt-cache.cc:145
 msgid "Total Ver/File relations: "
 msgstr "Totale relazioni versioni/file: "
 
-#: cmdline/apt-cache.cc:307
+#: cmdline/apt-cache.cc:147
 msgid "Total Provides Mappings: "
 msgstr "Mappatura totale delle forniture: "
 
-#: cmdline/apt-cache.cc:319
+#: cmdline/apt-cache.cc:159
 msgid "Total Globbed Strings: "
 msgstr "Totale stringhe 'globbed': "
 
-#: cmdline/apt-cache.cc:333
+#: cmdline/apt-cache.cc:173
 #, fuzzy
 msgid "Total Dependency Version space: "
 msgstr "Dipendenze totali: "
 
-#: cmdline/apt-cache.cc:338
+#: cmdline/apt-cache.cc:178
 msgid "Total Slack space: "
 msgstr "Totale lasso di tempo: "
 
-#: cmdline/apt-cache.cc:346
+#: cmdline/apt-cache.cc:186
 msgid "Total Space Accounted for: "
 msgstr "Spazio totale occupato: "
 
-#: cmdline/apt-cache.cc:484 cmdline/apt-cache.cc:1501
-#: cmdline/apt-shell.cc:3198
+#: cmdline/apt-cache.cc:323 cmdline/cmdline.cc:1032
 #, c-format
 msgid "Package file %s is out of sync."
 msgstr "Il pacchetto %s non è sincronizzato."
 
-#: cmdline/apt-cache.cc:1576 cmdline/apt-shell.cc:3244
-msgid "You must give exactly one pattern"
-msgstr "Devi fornire esattamente un modello"
-
-#: cmdline/apt-cache.cc:1715 cmdline/apt-get.cc:1193 cmdline/apt-get.cc:1249
-#: cmdline/apt-shell.cc:1263 cmdline/apt-shell.cc:1319
-#, fuzzy, c-format
-msgid "Package %s is a virtual package provided by:\n"
-msgstr " è un pacchetto virtuale fornito da:"
-
-#: cmdline/apt-cache.cc:1727
-#, fuzzy
-msgid "You should explicitly select one to show."
-msgstr "Bisognerebbe esplicitarne uno per installarlo."
-
-#: cmdline/apt-cache.cc:1728
-#, fuzzy, c-format
-msgid "Package %s is a virtual package with multiple providers."
-msgstr " è un pacchetto virtuale fornito da:"
-
-#: cmdline/apt-cache.cc:1754 cmdline/apt-shell.cc:3567
-#, fuzzy
-msgid "No packages found"
-msgstr " indici di pacchetti e "
+#: cmdline/apt-cache.cc:489 cmdline/apt-cache.cc:707 cmdline/apt-cache.cc:1040
+#: cmdline/cmdline.cc:955 cmdline/cmdline.cc:1068 cmdline/cmdline.cc:1162
+#: cmdline/cmdline.cc:1251 cmdline/cmdline.cc:1508
+#, c-format
+msgid "Unable to locate package %s"
+msgstr "Impossibile trovare il pacchetto %s"
 
-#: cmdline/apt-cache.cc:1831
+#: cmdline/apt-cache.cc:994
 #, fuzzy
 msgid "Package Files:"
 msgstr "Pacchetto "
 
-#: cmdline/apt-cache.cc:1838 cmdline/apt-cache.cc:1928
+#: cmdline/apt-cache.cc:1001 cmdline/apt-cache.cc:1091
 msgid "Cache is out of sync, can't x-ref a package file"
 msgstr ""
 
-#: cmdline/apt-cache.cc:1839
+#: cmdline/apt-cache.cc:1002
 #, c-format
 msgid "%4i %s\n"
 msgstr ""
 
-#: cmdline/apt-cache.cc:1851
+#: cmdline/apt-cache.cc:1014
 #, fuzzy
 msgid "Pinned Packages:"
 msgstr "Pacchetto: "
 
-#: cmdline/apt-cache.cc:1863 cmdline/apt-cache.cc:1904
+#: cmdline/apt-cache.cc:1026 cmdline/apt-cache.cc:1067
 msgid "(not found)"
 msgstr ""
 
-#: cmdline/apt-cache.cc:1884
+#: cmdline/apt-cache.cc:1047
 #, fuzzy
 msgid "  Installed: "
 msgstr " [Installato]"
 
-#: cmdline/apt-cache.cc:1886 cmdline/apt-cache.cc:1894
+#: cmdline/apt-cache.cc:1049 cmdline/apt-cache.cc:1057
 msgid "(none)"
 msgstr ""
 
-#: cmdline/apt-cache.cc:1891
+#: cmdline/apt-cache.cc:1054
 #, fuzzy
 msgid "  Candidate: "
 msgstr "Versioni proposte"
 
-#: cmdline/apt-cache.cc:1901
+#: cmdline/apt-cache.cc:1064
 #, fuzzy
 msgid "  Package Pin: "
 msgstr "Pacchetto: "
 
-#: cmdline/apt-cache.cc:1910
+#: cmdline/apt-cache.cc:1073
 #, fuzzy
 msgid "  Version Table:"
 msgstr " Versione: "
 
-#: cmdline/apt-cache.cc:1929
+#: cmdline/apt-cache.cc:1092
 #, c-format
 msgid "       %4i %s\n"
 msgstr ""
 
-#: cmdline/apt-cache.cc:1956 cmdline/apt-cdrom.cc:821 cmdline/apt-config.cc:72
-#: cmdline/apt-get.cc:2891 cmdline/apt-shell.cc:3586
+#: cmdline/apt-cache.cc:1119 cmdline/apt-cdrom.cc:824 cmdline/apt-config.cc:72
+#: cmdline/apt-get.cc:2119 cmdline/apt-shell.cc:1948
 #, c-format
 msgid "%s %s for %s %s compiled on %s %s\n"
 msgstr ""
 
-#: cmdline/apt-cache.cc:1963
+#: cmdline/apt-cache.cc:1126
 msgid ""
 "Usage: apt-cache [options] command\n"
 "       apt-cache [options] add file1 [file2 ...]\n"
@@ -240,17 +206,18 @@ msgid ""
 "   dumpavail - Print an available file to stdout\n"
 "   unmet - Show unmet dependencies\n"
 "   search - Search the package list for a regex pattern\n"
+"   searchfile - Search the packages for a file\n"
 "   show - Show a readable record for the package\n"
 "   depends - Show raw dependency information for a package\n"
-"   whatdepends - Show packages depending on given items\n"
-"   whatprovides - Show packages that provide given items\n"
+"   whatdepends - Show packages depending on given capabilities\n"
+"   whatprovides - Show packages that provide given capabilities\n"
 "   pkgnames - List the names of all packages\n"
 "   dotty - Generate package graphs for GraphVis\n"
 "   xvcg - Generate package graphs for xvcg\n"
 "   policy - Show policy settings\n"
 msgstr ""
 
-#: cmdline/apt-cache.cc:1996
+#: cmdline/apt-cache.cc:1160
 msgid ""
 "\n"
 "Options:\n"
@@ -279,11 +246,11 @@ msgstr "Problema nell'apertura di %s"
 msgid "Failed to open %s.new"
 msgstr "Impossibile aprire %s.new"
 
-#: cmdline/apt-cdrom.cc:545 cmdline/apt-cdrom.cc:786
+#: cmdline/apt-cdrom.cc:545 cmdline/apt-cdrom.cc:789
 msgid "Using CD-ROM mount point "
 msgstr "Utilizzo del punto di montaggio del CD-ROM "
 
-#: cmdline/apt-cdrom.cc:553 cmdline/apt-cdrom.cc:808 methods/cdrom.cc:81
+#: cmdline/apt-cdrom.cc:553 cmdline/apt-cdrom.cc:811 methods/cdrom.cc:81
 #: methods/cdrom.cc:193
 #, c-format
 msgid "Unable to read the cdrom database %s"
@@ -298,16 +265,16 @@ msgstr "Smontaggio del CD-ROM"
 msgid "Please insert a Disc in the drive and press enter"
 msgstr "Prego, inserire un Disco nel drive e premere enter"
 
-#: cmdline/apt-cdrom.cc:575 cmdline/apt-cdrom.cc:787
+#: cmdline/apt-cdrom.cc:575 cmdline/apt-cdrom.cc:790
 msgid "Mounting CD-ROM"
 msgstr "Montaggio del CD-ROM"
 
-#: cmdline/apt-cdrom.cc:577 cmdline/apt-cdrom.cc:789
+#: cmdline/apt-cdrom.cc:577 cmdline/apt-cdrom.cc:792
 #, fuzzy
 msgid "Failed to mount the cdrom."
 msgstr "Impossibile montare CD-ROM."
 
-#: cmdline/apt-cdrom.cc:581 cmdline/apt-cdrom.cc:792
+#: cmdline/apt-cdrom.cc:581 cmdline/apt-cdrom.cc:795
 msgid "Identifying.. "
 msgstr "Identificazione.. "
 
@@ -315,28 +282,28 @@ msgstr "Identificazione.. "
 msgid "Scanning Disc for index files..  "
 msgstr "Ricerca di file di indice nel Disco.. "
 
-#: cmdline/apt-cdrom.cc:618
+#: cmdline/apt-cdrom.cc:621
 msgid "I found (binary):"
 msgstr "Trovato (binario):"
 
-#: cmdline/apt-cdrom.cc:621
+#: cmdline/apt-cdrom.cc:624
 msgid "I found (source):"
 msgstr "Trovato (sorgente):"
 
-#: cmdline/apt-cdrom.cc:636
+#: cmdline/apt-cdrom.cc:639
 msgid "Found "
 msgstr "Trovato "
 
-#: cmdline/apt-cdrom.cc:636
+#: cmdline/apt-cdrom.cc:639
 #, fuzzy
 msgid " package indexes and "
 msgstr " indici di pacchetti e "
 
-#: cmdline/apt-cdrom.cc:637
+#: cmdline/apt-cdrom.cc:640
 msgid " source indexes."
 msgstr " indici di sorgenti."
 
-#: cmdline/apt-cdrom.cc:644
+#: cmdline/apt-cdrom.cc:647
 #, fuzzy
 msgid ""
 "Unable to locate any package files, perhaps this is not an APT enabled disc"
@@ -344,37 +311,37 @@ msgstr ""
 "Impossibile trovare pacchetti, forse non si tratta di un disco predisposto "
 "per apt."
 
-#: cmdline/apt-cdrom.cc:668
+#: cmdline/apt-cdrom.cc:671
 msgid "Found label '"
 msgstr "Incontrata l'etichetta '"
 
-#: cmdline/apt-cdrom.cc:677
+#: cmdline/apt-cdrom.cc:680
 #, fuzzy
 msgid "Please provide a name for this Disc, such as 'Distribution Disk 1'"
 msgstr "Proponi un nome per questo disco, come 'Miadistro 4.0 disco 1'"
 
-#: cmdline/apt-cdrom.cc:686
+#: cmdline/apt-cdrom.cc:689
 msgid "That is not a valid name, try again "
 msgstr "Nome non valido, prova ancora "
 
-#: cmdline/apt-cdrom.cc:700
+#: cmdline/apt-cdrom.cc:703
 msgid "This Disc is called:"
 msgstr "Il nome di questo disco è:"
 
-#: cmdline/apt-cdrom.cc:733
+#: cmdline/apt-cdrom.cc:736
 msgid "Source List entries for this Disc are:"
 msgstr "Le liste di sorgenti per questo Disco sono:"
 
-#: cmdline/apt-cdrom.cc:766
+#: cmdline/apt-cdrom.cc:769
 msgid "Repeat this process for the rest of the CDs in your set."
 msgstr "Ripetere questo procedimento per gli altri CD nel tuo set."
 
-#: cmdline/apt-cdrom.cc:811
+#: cmdline/apt-cdrom.cc:814
 #, fuzzy
 msgid "Stored Label: '"
 msgstr " Etichetta: "
 
-#: cmdline/apt-cdrom.cc:827
+#: cmdline/apt-cdrom.cc:830
 msgid ""
 "Usage: apt-cdrom [options] command\n"
 "\n"
@@ -418,210 +385,96 @@ msgid ""
 "  -o=? Set an arbitary configuration option, eg -o dir::cache=/tmp\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:160 cmdline/apt-shell.cc:182
-#, fuzzy
-msgid "The following packages have unmet dependencies:"
-msgstr "Purtroppo i seguenti pacchetti non soddisfano tutte le dipendenze:"
-
-#: cmdline/apt-get.cc:258 cmdline/apt-shell.cc:280
-#, fuzzy, c-format
-msgid "but %s is installed"
-msgstr " è installato"
-
-#: cmdline/apt-get.cc:260 cmdline/apt-shell.cc:282
-#, fuzzy, c-format
-msgid "but %s is to be installed"
-msgstr " dovrà essere installato"
-
-#: cmdline/apt-get.cc:267 cmdline/apt-shell.cc:289
-#, fuzzy
-msgid "but it is not installable"
-msgstr "non è installabile"
-
-#: cmdline/apt-get.cc:269 cmdline/apt-shell.cc:291
-#, fuzzy
-msgid "but it is a virtual package"
-msgstr "è un pacchetto virtuale"
-
-#: cmdline/apt-get.cc:272 cmdline/apt-shell.cc:294
-#, fuzzy
-msgid "but it is not installed"
-msgstr "non è installato"
-
-#: cmdline/apt-get.cc:272 cmdline/apt-shell.cc:294
-#, fuzzy
-msgid "but it is not going to be installed"
-msgstr "non verrà installato"
-
-#: cmdline/apt-get.cc:277 cmdline/apt-shell.cc:299
-msgid " or"
-msgstr " o"
-
-#: cmdline/apt-get.cc:306 cmdline/apt-shell.cc:329
-msgid "The following NEW packages will be installed:"
-msgstr "Saranno installati i seguenti pacchetti NUOVI:"
-
-#: cmdline/apt-get.cc:358 cmdline/apt-shell.cc:382
-#, fuzzy
-msgid "The following packages will be REPLACED:"
-msgstr "Verranno ELIMINATI i seguenti pacchetti:"
-
-#: cmdline/apt-get.cc:359 cmdline/apt-shell.cc:383
-msgid "The following packages will be REMOVED:"
-msgstr "Verranno ELIMINATI i seguenti pacchetti:"
-
-#: cmdline/apt-get.cc:381 cmdline/apt-shell.cc:412
-msgid "The following packages have been kept back"
-msgstr "I seguenti pacchetti sono stati mantenuti"
-
-#: cmdline/apt-get.cc:402 cmdline/apt-shell.cc:440
-msgid "The following packages will be upgraded"
-msgstr "Verranno aggiornati i seguenti pacchetti"
-
-#: cmdline/apt-get.cc:423 cmdline/apt-shell.cc:468
-#, fuzzy
-msgid "The following packages will be DOWNGRADED"
-msgstr "Verranno ELIMINATI i seguenti pacchetti:"
-
-#: cmdline/apt-get.cc:443 cmdline/apt-shell.cc:490
-msgid "The following held packages will be changed:"
-msgstr "Verranno cambiati i seguenti pacchetti:"
-
-#: cmdline/apt-get.cc:532 cmdline/apt-shell.cc:581
-#, c-format
-msgid "%s (due to %s) "
-msgstr "%s (dovuto a %s) "
-
-#: cmdline/apt-get.cc:540 cmdline/apt-shell.cc:589
-#, fuzzy
-msgid ""
-"WARNING: The following essential packages will be removed\n"
-"This should NOT be done unless you know exactly what you are doing!"
-msgstr ""
-"Questo NON dovrebbe essere fatto a meno di non sapere esattamente quello che "
-"si sta facendo!"
-
-#: cmdline/apt-get.cc:594 cmdline/apt-shell.cc:655
-#, fuzzy, c-format
-msgid "%lu upgraded, %lu newly installed, "
-msgstr " pacchetti aggiornati, "
-
-#: cmdline/apt-get.cc:598 cmdline/apt-shell.cc:659
-#, fuzzy, c-format
-msgid "%lu reinstalled, "
-msgstr " reinstallati, "
-
-#: cmdline/apt-get.cc:600 cmdline/apt-shell.cc:661
-#, c-format
-msgid "%lu downgraded, "
-msgstr ""
-
-#: cmdline/apt-get.cc:603 cmdline/apt-shell.cc:664
-#, c-format
-msgid "%lu replaced, "
-msgstr ""
-
-#: cmdline/apt-get.cc:606 cmdline/apt-shell.cc:668
-#, c-format
-msgid "%lu removed and %lu not upgraded.\n"
-msgstr ""
-
-#: cmdline/apt-get.cc:610 cmdline/apt-shell.cc:675
-#, fuzzy, c-format
-msgid "%lu not fully installed or removed.\n"
-msgstr " pacchetti non completamente installati o rimossi."
-
-#: cmdline/apt-get.cc:632
+#: cmdline/apt-get.cc:158
 msgid "There are changes to be made"
 msgstr ""
 
-#: cmdline/apt-get.cc:698 cmdline/apt-shell.cc:803
+#: cmdline/apt-get.cc:193 cmdline/apt-shell.cc:255
 msgid "Correcting dependencies..."
 msgstr "Correzione delle dipendenze..."
 
-#: cmdline/apt-get.cc:701 cmdline/apt-shell.cc:806
+#: cmdline/apt-get.cc:196 cmdline/apt-shell.cc:258
 msgid " failed."
 msgstr " fallito."
 
-#: cmdline/apt-get.cc:704 cmdline/apt-shell.cc:809
+#: cmdline/apt-get.cc:199 cmdline/apt-shell.cc:261
 msgid "Unable to correct dependencies"
 msgstr "Impossibile correggere le dipendenze"
 
-#: cmdline/apt-get.cc:707 cmdline/apt-shell.cc:812
+#: cmdline/apt-get.cc:202 cmdline/apt-shell.cc:264
 msgid "Unable to minimize the upgrade set"
 msgstr "Impossibile ridurre il gruppo da aggiornare"
 
-#: cmdline/apt-get.cc:709 cmdline/apt-shell.cc:814
+#: cmdline/apt-get.cc:204 cmdline/apt-shell.cc:266
 msgid " Done"
 msgstr " Fatto"
 
-#: cmdline/apt-get.cc:713
+#: cmdline/apt-get.cc:208
 #, fuzzy
 msgid "You might want to run `apt-get --fix-broken install' to correct these."
 msgstr "Potresti eseguire `apt-get -f install' per correggerli."
 
-#: cmdline/apt-get.cc:716 cmdline/apt-shell.cc:821
+#: cmdline/apt-get.cc:211 cmdline/apt-shell.cc:273
 #, fuzzy
 msgid "Unmet dependencies. Try using --fix-broken."
 msgstr "Dipendenze irrisolte. Prova ad usare -f."
 
-#: cmdline/apt-get.cc:774 cmdline/apt-shell.cc:879
+#: cmdline/apt-get.cc:268 cmdline/apt-shell.cc:330
 #, fuzzy
 msgid "Packages need to be removed but Remove is disabled."
 msgstr ""
 "Devono essere eliminati dei pacchetti ma è stato specificato No Remove."
 
-#: cmdline/apt-get.cc:800 cmdline/apt-get.cc:2223 cmdline/apt-get.cc:2258
-#: cmdline/apt-shell.cc:905 cmdline/apt-shell.cc:2208
-#: cmdline/apt-shell.cc:2244
+#: cmdline/apt-get.cc:294 cmdline/apt-get.cc:1542 cmdline/apt-shell.cc:356
+#: cmdline/apt-shell.cc:1479 cmdline/cmdline.cc:713
 msgid "Unable to lock the download directory"
 msgstr "Impossible bloccare lo scaricamento della directory"
 
-#: cmdline/apt-get.cc:810 cmdline/apt-get.cc:2306 cmdline/apt-get.cc:2580
-#: cmdline/apt-shell.cc:915 cmdline/apt-shell.cc:2303 apt-pkg/cachefile.cc:71
+#: cmdline/apt-get.cc:304 cmdline/apt-get.cc:1590 cmdline/apt-get.cc:1808
+#: cmdline/apt-shell.cc:366 cmdline/apt-shell.cc:1538 apt-pkg/cachefile.cc:71
 msgid "The list of sources could not be read."
 msgstr "Non è possibile leggere la lista delle fonti."
 
-#: cmdline/apt-get.cc:830 cmdline/apt-shell.cc:935
+#: cmdline/apt-get.cc:324 cmdline/apt-shell.cc:386
 #, fuzzy, c-format
 msgid "Need to get %sB/%sB of archives.\n"
 msgstr "Impossibile recuperare alcuni archivi."
 
-#: cmdline/apt-get.cc:833 cmdline/apt-shell.cc:938
+#: cmdline/apt-get.cc:327 cmdline/apt-shell.cc:389
 #, fuzzy, c-format
 msgid "Need to get %sB of archives.\n"
 msgstr "Impossibile recuperare alcuni archivi."
 
-#: cmdline/apt-get.cc:838 cmdline/apt-shell.cc:722 cmdline/apt-shell.cc:943
+#: cmdline/apt-get.cc:332 cmdline/apt-shell.cc:205 cmdline/apt-shell.cc:394
 #, c-format
 msgid "After unpacking %sB of additional disk space will be used.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:841 cmdline/apt-shell.cc:725 cmdline/apt-shell.cc:946
+#: cmdline/apt-get.cc:335 cmdline/apt-shell.cc:208 cmdline/apt-shell.cc:397
 #, c-format
 msgid "After unpacking %sB disk space will be freed.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:859 cmdline/apt-shell.cc:964
+#: cmdline/apt-get.cc:353 cmdline/apt-shell.cc:415
 #, fuzzy, c-format
 msgid "You don't have enough free space in %s."
 msgstr "Peccato, non hai spazio sufficiente in %s"
 
-#: cmdline/apt-get.cc:868 cmdline/apt-shell.cc:973
+#: cmdline/apt-get.cc:362 cmdline/apt-shell.cc:424
 msgid "There are problems and -y was used without --force-yes"
 msgstr "Ci sono dei problemi e -y è stato usato senza --force-yes"
 
-#: cmdline/apt-get.cc:874 cmdline/apt-get.cc:894 cmdline/apt-shell.cc:979
-#: cmdline/apt-shell.cc:999
+#: cmdline/apt-get.cc:368 cmdline/apt-get.cc:388 cmdline/apt-shell.cc:430
+#: cmdline/apt-shell.cc:450
 msgid "Trivial Only specified but this is not a trivial operation."
 msgstr ""
 "E' stato specificato `Solo triviale' ma questa non è un'operazione triviale."
 
-#: cmdline/apt-get.cc:876 cmdline/apt-shell.cc:981
+#: cmdline/apt-get.cc:370 cmdline/apt-shell.cc:432
 msgid "Yes, do as I say!"
 msgstr ""
 
-#: cmdline/apt-get.cc:878 cmdline/apt-shell.cc:983
+#: cmdline/apt-get.cc:372 cmdline/apt-shell.cc:434
 #, fuzzy, c-format
 msgid ""
 "You are about to do something potentially harmful\n"
@@ -630,31 +483,31 @@ msgid ""
 msgstr "Sei sul punto di commettere un'azione potenzialmente dannosa"
 
 # cattivo?
-#: cmdline/apt-get.cc:884 cmdline/apt-get.cc:903 cmdline/apt-shell.cc:740
-#: cmdline/apt-shell.cc:989 cmdline/apt-shell.cc:1008
+#: cmdline/apt-get.cc:378 cmdline/apt-get.cc:397 cmdline/apt-shell.cc:223
+#: cmdline/apt-shell.cc:440 cmdline/apt-shell.cc:459
 #, fuzzy
 msgid "Abort."
 msgstr "Terminato."
 
-#: cmdline/apt-get.cc:899 cmdline/apt-shell.cc:738 cmdline/apt-shell.cc:1004
+#: cmdline/apt-get.cc:393 cmdline/apt-shell.cc:221 cmdline/apt-shell.cc:455
 msgid "Do you want to continue? [Y/n] "
 msgstr "Vuoi proseguire? [S/n] "
 
-#: cmdline/apt-get.cc:977 cmdline/apt-get.cc:1082 cmdline/apt-get.cc:1594
-#: cmdline/apt-get.cc:2447 cmdline/apt-shell.cc:1081 cmdline/apt-shell.cc:1658
+#: cmdline/apt-get.cc:471 cmdline/apt-get.cc:576 cmdline/apt-get.cc:993
+#: cmdline/apt-get.cc:1720 cmdline/apt-shell.cc:532 cmdline/apt-shell.cc:1014
 #, fuzzy, c-format
 msgid "Failed to fetch %s  %s\n"
 msgstr "Recupero fallito"
 
-#: cmdline/apt-get.cc:995 cmdline/apt-shell.cc:1099
+#: cmdline/apt-get.cc:489 cmdline/apt-shell.cc:550
 msgid "Some files failed to download"
 msgstr "Scaricamento di alcuni file fallito"
 
-#: cmdline/apt-get.cc:996 cmdline/apt-get.cc:2456 cmdline/apt-shell.cc:1100
+#: cmdline/apt-get.cc:490 cmdline/apt-get.cc:1729 cmdline/apt-shell.cc:551
 msgid "Download complete and in download only mode"
 msgstr ""
 
-#: cmdline/apt-get.cc:1002 cmdline/apt-shell.cc:1106
+#: cmdline/apt-get.cc:496 cmdline/apt-shell.cc:557
 #, fuzzy
 msgid ""
 "Unable to fetch some archives, maybe run apt-get update or try with --fix-"
@@ -662,61 +515,67 @@ msgid ""
 msgstr "Recupero di alcuni archivi impossibile. E provare con --fix-missing?"
 
 # forse?
-#: cmdline/apt-get.cc:1006 cmdline/apt-shell.cc:1110
+#: cmdline/apt-get.cc:500 cmdline/apt-shell.cc:561
 msgid "--fix-missing and media swapping is not currently supported"
 msgstr "al momento --fix-missing e il cambio di supporto non sono supportati"
 
 # media swapping?
-#: cmdline/apt-get.cc:1011 cmdline/apt-shell.cc:1115
+#: cmdline/apt-get.cc:505 cmdline/apt-shell.cc:566
 msgid "Unable to correct missing packages."
 msgstr "Impossible correggere i pacchetti persi."
 
-#: cmdline/apt-get.cc:1012 cmdline/apt-shell.cc:1116
+#: cmdline/apt-get.cc:506 cmdline/apt-shell.cc:567
 msgid "Aborting Install."
 msgstr "Installazione in fase di interruzione."
 
-#: cmdline/apt-get.cc:1087 cmdline/apt-get.cc:2452
+#: cmdline/apt-get.cc:581 cmdline/apt-get.cc:1725
 msgid "Failed to fetch some archives."
 msgstr "Impossibile recuperare alcuni archivi."
 
-#: cmdline/apt-get.cc:1181 cmdline/apt-get.cc:1789 cmdline/apt-get.cc:1852
-#: cmdline/apt-get.cc:1887 cmdline/apt-get.cc:2345 cmdline/apt-shell.cc:1251
-#: cmdline/apt-shell.cc:1923 cmdline/apt-shell.cc:1958
+#: cmdline/apt-get.cc:675 cmdline/apt-get.cc:1188 cmdline/apt-get.cc:1251
+#: cmdline/apt-get.cc:1286 cmdline/apt-get.cc:1629 cmdline/apt-shell.cc:702
+#: cmdline/apt-shell.cc:1279 cmdline/apt-shell.cc:1314
 #, fuzzy, c-format
 msgid "Selecting %s for '%s'\n"
 msgstr "Nota, selezionando "
 
-#: cmdline/apt-get.cc:1187 cmdline/apt-shell.cc:1257
+#: cmdline/apt-get.cc:681 cmdline/apt-shell.cc:708
 #, fuzzy, c-format
 msgid "Package %s is a virtual package with no good providers.\n"
 msgstr " è un pacchetto virtuale fornito da:"
 
-#: cmdline/apt-get.cc:1201 cmdline/apt-get.cc:1261 cmdline/apt-shell.cc:1271
-#: cmdline/apt-shell.cc:1331
+#: cmdline/apt-get.cc:687 cmdline/apt-get.cc:743 cmdline/apt-shell.cc:714
+#: cmdline/apt-shell.cc:770 cmdline/cmdline.cc:1518
+#, fuzzy, c-format
+msgid "Package %s is a virtual package provided by:\n"
+msgstr " è un pacchetto virtuale fornito da:"
+
+#: cmdline/apt-get.cc:695 cmdline/apt-get.cc:755 cmdline/apt-shell.cc:722
+#: cmdline/apt-shell.cc:782
 msgid " [Installed]"
 msgstr " [Installato]"
 
-#: cmdline/apt-get.cc:1206 cmdline/apt-get.cc:1266 cmdline/apt-shell.cc:1276
-#: cmdline/apt-shell.cc:1336
+#: cmdline/apt-get.cc:700 cmdline/apt-get.cc:760 cmdline/apt-shell.cc:727
+#: cmdline/apt-shell.cc:787
 msgid "You should explicitly select one to install."
 msgstr "Bisognerebbe esplicitarne uno per installarlo."
 
-#: cmdline/apt-get.cc:1207 cmdline/apt-shell.cc:1277
+#: cmdline/apt-get.cc:701 cmdline/apt-shell.cc:728
 #, fuzzy, c-format
 msgid "Package %s is a virtual package with multiple good providers.\n"
 msgstr " è un pacchetto virtuale fornito da:"
 
-#: cmdline/apt-get.cc:1218 cmdline/apt-shell.cc:1288
+#: cmdline/apt-get.cc:712 cmdline/apt-shell.cc:739
 #, fuzzy, c-format
 msgid "Skipping %s, it is already installed and upgrade is not set.\n"
 msgstr ", è già installato e l'opzione no-upgrade è abilitata."
 
-#: cmdline/apt-get.cc:1236 cmdline/apt-shell.cc:1306
+#: cmdline/apt-get.cc:730 cmdline/apt-shell.cc:757
 #, fuzzy, c-format
 msgid "Package %s is not installed, so not removed\n"
 msgstr "Il pacchetto %s non è installato"
 
-#: cmdline/apt-get.cc:1272 cmdline/apt-shell.cc:1342
+#: cmdline/apt-get.cc:766 cmdline/apt-shell.cc:793
 #, c-format
 msgid ""
 "Package %s has no available version, but exists in the database.\n"
@@ -725,71 +584,71 @@ msgid ""
 "of sources.list\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:1294 cmdline/apt-shell.cc:1364
+#: cmdline/apt-get.cc:788 cmdline/apt-shell.cc:815
 msgid "However the following packages replace it:"
 msgstr "Comunque, i pacchetti seguenti lo sostituiscono:"
 
-#: cmdline/apt-get.cc:1297 cmdline/apt-shell.cc:1367
+#: cmdline/apt-get.cc:791 cmdline/apt-shell.cc:818
 #, c-format
 msgid "Package %s has no installation candidate"
 msgstr "Il pacchetto %s non ha alcun candidato di installazione"
 
-#: cmdline/apt-get.cc:1317 cmdline/apt-shell.cc:1393
+#: cmdline/apt-get.cc:811 cmdline/apt-shell.cc:844
 #, fuzzy, c-format
 msgid "Reinstallation of %s is not possible, it cannot be downloaded.\n"
 msgstr " non è possibile, non si può scaricarlo"
 
-#: cmdline/apt-get.cc:1325 cmdline/apt-shell.cc:1401
+#: cmdline/apt-get.cc:819 cmdline/apt-shell.cc:852
 #, fuzzy, c-format
 msgid "%s is already the newest version.\n"
 msgstr " è già la versione pi&ugrave nuova"
 
-#: cmdline/apt-get.cc:1354 cmdline/apt-shell.cc:1430
+#: cmdline/apt-get.cc:848 cmdline/apt-shell.cc:881
 #, c-format
 msgid "Release %s'%s' for '%s' was not found"
 msgstr ""
 
-#: cmdline/apt-get.cc:1356 cmdline/apt-shell.cc:1432
+#: cmdline/apt-get.cc:850 cmdline/apt-shell.cc:883
 #, c-format
 msgid "Version %s'%s' for '%s' was not found"
 msgstr ""
 
-#: cmdline/apt-get.cc:1364 cmdline/apt-shell.cc:1440
+#: cmdline/apt-get.cc:858 cmdline/apt-shell.cc:891
 #, c-format
 msgid "Selected version %s (%s) for %s\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:1367 cmdline/apt-shell.cc:1443
+#: cmdline/apt-get.cc:861 cmdline/apt-shell.cc:894
 #, fuzzy, c-format
 msgid "Selected version %s for %s\n"
 msgstr "Nota, selezionando "
 
-#: cmdline/apt-get.cc:1495
+#: cmdline/apt-get.cc:894
 msgid "The update command takes no arguments"
 msgstr ""
 
-#: cmdline/apt-get.cc:1518 cmdline/apt-shell.cc:1585
+#: cmdline/apt-get.cc:917 cmdline/apt-shell.cc:941
 #, fuzzy, c-format
 msgid "Sources list %s could not be read"
 msgstr "Non è possibile leggere la lista delle fonti."
 
-#: cmdline/apt-get.cc:1521 cmdline/apt-shell.cc:1588
+#: cmdline/apt-get.cc:920 cmdline/apt-shell.cc:944
 #, c-format
 msgid "Sources list %s doesn't exist"
 msgstr ""
 
-#: cmdline/apt-get.cc:1534 cmdline/apt-shell.cc:1600
+#: cmdline/apt-get.cc:933 cmdline/apt-shell.cc:956
 msgid "Unable to lock the list directory"
 msgstr "Impossibile bloccare la directory di lista"
 
-#: cmdline/apt-get.cc:1566 cmdline/apt-shell.cc:1630
+#: cmdline/apt-get.cc:965 cmdline/apt-shell.cc:986
 msgid ""
 "Release files for some repositories could not be retrieved or authenticated. "
 "Such repositories are being ignored."
 msgstr ""
 
 # o MD5sum, come in 1051?
-#: cmdline/apt-get.cc:1634 cmdline/apt-shell.cc:1692
+#: cmdline/apt-get.cc:1033 cmdline/apt-shell.cc:1048
 msgid ""
 "Some index files failed to download, they have been ignored, or old ones "
 "used instead."
@@ -797,34 +656,34 @@ msgstr ""
 "Lo scaricamento di alcuni archivi di indice non è riuscito, sono stati "
 "ignorati, o al loro posto sono stati utilizzati i vecchi."
 
-#: cmdline/apt-get.cc:1653 cmdline/apt-shell.cc:1721
+#: cmdline/apt-get.cc:1052 cmdline/apt-shell.cc:1077
 msgid "Internal Error, AllUpgrade broke stuff"
 msgstr "Errore interno, AllUpgrade si è rotto"
 
-#: cmdline/apt-get.cc:1750 cmdline/apt-get.cc:1767 cmdline/apt-shell.cc:1823
-#: cmdline/apt-shell.cc:1840
+#: cmdline/apt-get.cc:1149 cmdline/apt-get.cc:1166 cmdline/apt-shell.cc:1179
+#: cmdline/apt-shell.cc:1196
 #, fuzzy, c-format
 msgid "Couldn't parse name '%s'"
 msgstr "Il pacchetto %s non è stato trovato"
 
-#: cmdline/apt-get.cc:1862 cmdline/apt-get.cc:1901 cmdline/apt-shell.cc:1933
-#: cmdline/apt-shell.cc:1973
+#: cmdline/apt-get.cc:1261 cmdline/apt-get.cc:1300 cmdline/apt-shell.cc:1289
+#: cmdline/apt-shell.cc:1329
 #, c-format
 msgid "Couldn't find package %s"
 msgstr "Il pacchetto %s non è stato trovato"
 
-#: cmdline/apt-get.cc:1876 cmdline/apt-shell.cc:1947 cmdline/cmdline.cc:43
+#: cmdline/apt-get.cc:1275 cmdline/apt-shell.cc:1303 cmdline/cmdline.cc:47
 #, fuzzy, c-format
 msgid "Regex compilation error - %s"
 msgstr "Errore di compilazione dell'espressione regolare"
 
 # o regex, come in 1066?
-#: cmdline/apt-get.cc:1931
+#: cmdline/apt-get.cc:1330
 #, fuzzy
 msgid "You might want to run `apt-get --fix-broken install' to correct these:"
 msgstr "Potresti eseguire `apt-get -f install' per correggerli:"
 
-#: cmdline/apt-get.cc:1934
+#: cmdline/apt-get.cc:1333
 #, fuzzy
 msgid ""
 "Unmet dependencies. Try 'apt-get --fix-broken install' with no packages (or "
@@ -833,14 +692,14 @@ msgstr ""
 "Dipendenze non soddisfatte. Prova 'apt-get -f install' senza pacchetti (o "
 "specifica una soluzione)."
 
-#: cmdline/apt-get.cc:1956 cmdline/apt-shell.cc:2036
+#: cmdline/apt-get.cc:1355 cmdline/apt-shell.cc:1392
 msgid ""
 "Some packages could not be installed. This may mean that you have\n"
 "requested an impossible situation or that some of the repositories\n"
 "in use are in an inconsistent state at the moment."
 msgstr ""
 
-#: cmdline/apt-get.cc:1963 cmdline/apt-shell.cc:2043
+#: cmdline/apt-get.cc:1362 cmdline/apt-shell.cc:1399
 #, fuzzy
 msgid ""
 "Since you only requested a single operation it is extremely likely that\n"
@@ -849,130 +708,125 @@ msgid ""
 msgstr ""
 "Dal momento che hai richiesto un' operazione singola è molto probabile che"
 
-#: cmdline/apt-get.cc:1968 cmdline/apt-shell.cc:2048
+#: cmdline/apt-get.cc:1367 cmdline/apt-shell.cc:1404
 msgid "The following information may help to resolve the situation:"
 msgstr "La seguente informazione ti può aiutare a risolvere il problema:"
 
-#: cmdline/apt-get.cc:1971 cmdline/apt-shell.cc:2052
+#: cmdline/apt-get.cc:1370 cmdline/apt-shell.cc:1408
 #, fuzzy
 msgid "Broken packages"
 msgstr "Spiacente, pacchetti danneggiati"
 
-#: cmdline/apt-get.cc:1998
+#: cmdline/apt-get.cc:1397
 msgid "The following extra packages will be installed:"
 msgstr "Verranno installati i seguenti pacchetti extra: "
 
-#: cmdline/apt-get.cc:2078
+#: cmdline/apt-get.cc:1477
 #, fuzzy
 msgid "Suggested packages:"
 msgstr "Pacchetto: "
 
-#: cmdline/apt-get.cc:2079
+#: cmdline/apt-get.cc:1478
 #, fuzzy
 msgid "Recommended packages:"
 msgstr "Spiacente, pacchetti danneggiati"
 
-#: cmdline/apt-get.cc:2103 cmdline/apt-shell.cc:2079
+#: cmdline/apt-get.cc:1502 cmdline/apt-shell.cc:1435
 msgid "Calculating Upgrade... "
 msgstr "Calcolo dell'aggiornamento... "
 
-#: cmdline/apt-get.cc:2106 cmdline/apt-shell.cc:2082 methods/connect.cc:102
+#: cmdline/apt-get.cc:1505 cmdline/apt-shell.cc:1438 methods/connect.cc:102
 #: methods/ftp.cc:706
 msgid "Failed"
 msgstr "Fallito"
 
-#: cmdline/apt-get.cc:2122 cmdline/apt-shell.cc:2094
+#: cmdline/apt-get.cc:1521 cmdline/apt-shell.cc:1450
 msgid "Done"
 msgstr "Fatto"
 
-#: cmdline/apt-get.cc:2301
+#: cmdline/apt-get.cc:1585
 msgid "Must specify at least one package to fetch source for"
 msgstr "Devi specificare almeno un pacchetto per cui recuperare il sorgente"
 
-#: cmdline/apt-get.cc:2358 cmdline/apt-get.cc:2598 cmdline/apt-shell.cc:2321
+#: cmdline/apt-get.cc:1642 cmdline/apt-get.cc:1826 cmdline/apt-shell.cc:1556
 #, c-format
 msgid "Unable to find a source package for %s"
 msgstr "Impossibile trovare un pacchetto sorgente per %s"
 
-#: cmdline/apt-get.cc:2407
+#: cmdline/apt-get.cc:1680
 #, fuzzy, c-format
 msgid "You don't have enough free space in %s"
 msgstr "Peccato, non hai spazio sufficiente in %s"
 
-#: cmdline/apt-get.cc:2412
+#: cmdline/apt-get.cc:1685
 #, fuzzy, c-format
 msgid "Need to get %sB/%sB of source archives.\n"
 msgstr " di archivi sorgente."
 
-#: cmdline/apt-get.cc:2415
+#: cmdline/apt-get.cc:1688
 #, fuzzy, c-format
 msgid "Need to get %sB of source archives.\n"
 msgstr " di archivi sorgente."
 
-#: cmdline/apt-get.cc:2421
+#: cmdline/apt-get.cc:1694
 #, fuzzy, c-format
 msgid "Fetch Source %s\n"
 msgstr "Download del sorgente"
 
-#: cmdline/apt-get.cc:2486 cmdline/apt-get.cc:2537
+#: cmdline/apt-get.cc:1754
 #, fuzzy, c-format
 msgid "Build command '%s' failed.\n"
 msgstr "Comando di Build '"
 
-#: cmdline/apt-get.cc:2498 cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:1766
 #, fuzzy, c-format
 msgid "Unpack command '%s' failed.\n"
 msgstr "Comando di spacchettamento '"
 
-#: cmdline/apt-get.cc:2508
-#, fuzzy, c-format
-msgid "Skipping unpack of already unpacked source in %s\n"
-msgstr "Non spacchetto. Sorgente gia' scompattato in "
-
-#: cmdline/apt-get.cc:2557
+#: cmdline/apt-get.cc:1785
 msgid "Child process failed"
 msgstr "Fallito il processo figlio"
 
-#: cmdline/apt-get.cc:2575 cmdline/apt-shell.cc:2298
+#: cmdline/apt-get.cc:1803 cmdline/apt-shell.cc:1533
 #, fuzzy
 msgid "Must specify at least one package to check builddeps for"
 msgstr "Devi specificare almeno un pacchetto per cui recuperare il sorgente"
 
-#: cmdline/apt-get.cc:2603 cmdline/apt-shell.cc:2326
+#: cmdline/apt-get.cc:1831 cmdline/apt-shell.cc:1561
 #, fuzzy, c-format
 msgid "Unable to get build-dependency information for %s"
 msgstr "Impossibile correggere le dipendenze"
 
-#: cmdline/apt-get.cc:2623 cmdline/apt-shell.cc:2346
+#: cmdline/apt-get.cc:1851 cmdline/apt-shell.cc:1581
 #, c-format
 msgid "%s has no build depends.\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2694 cmdline/apt-shell.cc:2417
+#: cmdline/apt-get.cc:1922 cmdline/apt-shell.cc:1652
 #, c-format
 msgid ""
 "%s dependency for %s cannot be satisfied because the package %s cannot be "
 "found"
 msgstr ""
 
-#: cmdline/apt-get.cc:2746 cmdline/apt-shell.cc:2469
+#: cmdline/apt-get.cc:1974 cmdline/apt-shell.cc:1704
 #, c-format
 msgid ""
 "%s dependency for %s cannot be satisfied because no available versions of "
 "package %s can satisfy version requirements"
 msgstr ""
 
-#: cmdline/apt-get.cc:2781 cmdline/apt-shell.cc:2503
+#: cmdline/apt-get.cc:2009 cmdline/apt-shell.cc:1738
 #, c-format
 msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
 msgstr ""
 
-#: cmdline/apt-get.cc:2806 cmdline/apt-shell.cc:2528
+#: cmdline/apt-get.cc:2034 cmdline/apt-shell.cc:1763
 #, fuzzy, c-format
 msgid "Failed to satisfy %s dependency for %s: %s"
 msgstr "Impossibile correggere le dipendenze"
 
-#: cmdline/apt-get.cc:2823 cmdline/apt-shell.cc:2542
+#: cmdline/apt-get.cc:2051 cmdline/apt-shell.cc:1777
 #, fuzzy, c-format
 msgid ""
 "Some broken packages were found while trying to process build-dependencies "
@@ -980,16 +834,16 @@ msgid ""
 "You might want to run `apt-get --fix-broken install' to correct these."
 msgstr "Potresti eseguire `apt-get -f install' per correggerli."
 
-#: cmdline/apt-get.cc:2829
+#: cmdline/apt-get.cc:2057
 #, fuzzy
 msgid "Failed to process build dependencies"
 msgstr "Impossibile correggere le dipendenze"
 
-#: cmdline/apt-get.cc:2896 cmdline/apt-shell.cc:3591
+#: cmdline/apt-get.cc:2124 cmdline/apt-shell.cc:1953
 msgid "Supported Modules:"
 msgstr ""
 
-#: cmdline/apt-get.cc:2937
+#: cmdline/apt-get.cc:2165
 msgid ""
 "Usage: apt-get [options] command\n"
 "       apt-get [options] install|remove pkg1 [pkg2 ...]\n"
@@ -1012,7 +866,7 @@ msgid ""
 "   check - Verify that there are no broken dependencies\n"
 msgstr ""
 
-#: cmdline/apt-get.cc:2965
+#: cmdline/apt-get.cc:2193
 msgid ""
 "\n"
 "Options:\n"
@@ -1035,93 +889,74 @@ msgid ""
 "                       This APT has Super Cow Powers.\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:146 cmdline/apt-shell.cc:4298
+#: cmdline/apt-shell.cc:141 cmdline/apt-shell.cc:2663
 #, fuzzy
 msgid "There are broken packages. "
 msgstr "Spiacente, pacchetti danneggiati"
 
-#: cmdline/apt-shell.cc:147 cmdline/apt-shell.cc:2006
-#: cmdline/apt-shell.cc:4299
+#: cmdline/apt-shell.cc:142 cmdline/apt-shell.cc:1362
+#: cmdline/apt-shell.cc:2664
 msgid "Run `check' to see them."
 msgstr ""
 
-#: cmdline/apt-shell.cc:148
+#: cmdline/apt-shell.cc:143
 msgid "You can try to fix them automatically with `install --fix-broken'0."
 msgstr ""
 
-#: cmdline/apt-shell.cc:158
+#: cmdline/apt-shell.cc:153
 msgid "Excessive arguments"
 msgstr ""
 
-#: cmdline/apt-shell.cc:671
-#, c-format
-msgid "%lu removed and %lu kept.\n"
-msgstr ""
-
-#: cmdline/apt-shell.cc:700
+#: cmdline/apt-shell.cc:183
 #, fuzzy, c-format
 msgid "Will need more %sB of archives.\n"
 msgstr "Impossibile recuperare alcuni archivi."
 
-#: cmdline/apt-shell.cc:703
+#: cmdline/apt-shell.cc:186
 #, fuzzy, c-format
 msgid "Will need less %sB of archives.\n"
 msgstr "Impossibile recuperare alcuni archivi."
 
-#: cmdline/apt-shell.cc:709
+#: cmdline/apt-shell.cc:192
 #, c-format
 msgid "After unpacking will need more %sB of disk space.\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:712
+#: cmdline/apt-shell.cc:195
 #, c-format
 msgid "After unpacking will need less %sB of disk space.\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:717
+#: cmdline/apt-shell.cc:200
 #, c-format
 msgid "Will need %sB of archives.\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:735
+#: cmdline/apt-shell.cc:218
 msgid "Unrequested changes are needed to execute this operation."
 msgstr ""
 
-#: cmdline/apt-shell.cc:818
+#: cmdline/apt-shell.cc:270
 #, fuzzy
 msgid "You might want to run `install --fix-broken' to correct these."
 msgstr "Potresti eseguire `apt-get -f install' per correggerli."
 
-#: cmdline/apt-shell.cc:1708 cmdline/apt-shell.cc:1746
-#: cmdline/apt-shell.cc:2070 cmdline/apt-shell.cc:2111
-#: cmdline/apt-shell.cc:2288 cmdline/apt-shell.cc:3903
+#: cmdline/apt-shell.cc:1064 cmdline/apt-shell.cc:1102
+#: cmdline/apt-shell.cc:1426 cmdline/apt-shell.cc:1523
+#: cmdline/apt-shell.cc:2267
 msgid "You have no permissions for that"
 msgstr ""
 
-#: cmdline/apt-shell.cc:2005
+#: cmdline/apt-shell.cc:1361
 #, fuzzy
 msgid "There are still broken packages. "
 msgstr "Spiacente, pacchetti danneggiati"
 
-#: cmdline/apt-shell.cc:2007 cmdline/apt-shell.cc:4300
+#: cmdline/apt-shell.cc:1363 cmdline/apt-shell.cc:2665
 msgid "You can try to fix them automatically with `install --fix-broken'."
 msgstr ""
 
-#: cmdline/apt-shell.cc:3420
-msgid "Name"
-msgstr ""
-
-#: cmdline/apt-shell.cc:3421
-#, fuzzy
-msgid "Installed"
-msgstr " [Installato]"
-
-#: cmdline/apt-shell.cc:3422
-#, fuzzy
-msgid "Candidate"
-msgstr "Versioni proposte"
-
-#: cmdline/apt-shell.cc:3632
+#: cmdline/apt-shell.cc:1994
 msgid ""
 "\n"
 "Main commands:\n"
@@ -1130,7 +965,7 @@ msgid ""
 "   remove - Remove packages\n"
 "   keep - Keep packages\n"
 "   upgrade - Perform a global upgrade\n"
-"   dist-upgrade - Perform a globla distribution upgrade\n"
+"   dist-upgrade - Perform a global distribution upgrade\n"
 "   build-dep - Install build-dependencies for source packages\n"
 "   update - Retrieve new lists of packages\n"
 "   commit - Apply the changes in the system\n"
@@ -1141,9 +976,11 @@ msgid ""
 "   showpkg - Show some general information for a single package\n"
 "   list/ls - List packages\n"
 "   search - Search the package list for a regex pattern\n"
+"   searchfile - Search the packages for a file\n"
 "   script - Run scripts.\n"
 "   depends - Show raw dependency information for a package\n"
-"   whatdepends - Show raw dependency information on a package\n"
+"   whatdepends - Show packages depending on given capabilities\n"
+"   whatprovides - Show packages that provide given capabilities\n"
 "   check - Verify that there are no broken dependencies\n"
 "   unmet - Show unmet dependencies\n"
 "   clean - Erase downloaded archive files\n"
@@ -1154,7 +991,7 @@ msgid ""
 "                       This APT has Super Cow Powers.\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3674
+#: cmdline/apt-shell.cc:2038
 msgid ""
 "Usage: install [options] pkg1[=ver] [pkg2 ...]\n"
 "\n"
@@ -1171,7 +1008,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3692
+#: cmdline/apt-shell.cc:2056
 msgid ""
 "Usage: remove [options] pkg1 [pkg2 ...]\n"
 "\n"
@@ -1188,7 +1025,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3710
+#: cmdline/apt-shell.cc:2074
 msgid ""
 "Usage: keep [options] pkg1 [pkg2 ...]\n"
 "\n"
@@ -1206,7 +1043,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3729
+#: cmdline/apt-shell.cc:2093
 msgid ""
 "Usage: upgrade [options]\n"
 "\n"
@@ -1222,7 +1059,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3745
+#: cmdline/apt-shell.cc:2109
 msgid ""
 "Usage: dist-upgrade [options]\n"
 "\n"
@@ -1238,7 +1075,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3761
+#: cmdline/apt-shell.cc:2125
 msgid ""
 "Usage: showpkg [options] pkg1 [pkg2 ...]\n"
 "\n"
@@ -1250,7 +1087,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3774
+#: cmdline/apt-shell.cc:2138
 msgid ""
 "Usage: show [options] pkg1 [pkg2 ...]\n"
 "\n"
@@ -1263,7 +1100,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3788
+#: cmdline/apt-shell.cc:2152
 msgid ""
 "Usage: depends [options] pkg1 [pkg2 ...]\n"
 "\n"
@@ -1275,7 +1112,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3801
+#: cmdline/apt-shell.cc:2165
 msgid ""
 "Usage: whatdepends [options] pkg1 [pkg2 ...]\n"
 "\n"
@@ -1287,7 +1124,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3814
+#: cmdline/apt-shell.cc:2178
 msgid ""
 "Usage: unmet [options]\n"
 "\n"
@@ -1299,7 +1136,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3827
+#: cmdline/apt-shell.cc:2191
 msgid ""
 "Usage: search [options] <regex>\n"
 "\n"
@@ -1314,7 +1151,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3844
+#: cmdline/apt-shell.cc:2208
 msgid ""
 "Usage: list/ls [options] [pattern ...]\n"
 "\n"
@@ -1331,7 +1168,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3862
+#: cmdline/apt-shell.cc:2226
 msgid ""
 "Usage: commit [options]\n"
 "\n"
@@ -1343,7 +1180,7 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3875
+#: cmdline/apt-shell.cc:2239
 msgid ""
 "Usage: script [options] script1 [script2]\n"
 "\n"
@@ -1355,22 +1192,178 @@ msgid ""
 "\n"
 msgstr ""
 
-#: cmdline/apt-shell.cc:3886
+#: cmdline/apt-shell.cc:2250
 msgid "No help for that"
 msgstr ""
 
-#: cmdline/apt-shell.cc:4308
+#: cmdline/apt-shell.cc:2673
 msgid "Welcome to the APT shell. Type \"help\" for more information."
 msgstr ""
 
-#: cmdline/apt-shell.cc:4348
+#: cmdline/apt-shell.cc:2713
 msgid "Exceeded maximum number of command arguments"
 msgstr ""
 
-#: cmdline/cmdline.cc:21
+#: cmdline/cmdline.cc:25
 msgid "Y"
 msgstr "S"
 
+#: cmdline/cmdline.cc:201
+#, fuzzy
+msgid "The following packages have unmet dependencies:"
+msgstr "Purtroppo i seguenti pacchetti non soddisfano tutte le dipendenze:"
+
+#: cmdline/cmdline.cc:299
+#, fuzzy, c-format
+msgid "but %s is installed"
+msgstr " è installato"
+
+#: cmdline/cmdline.cc:301
+#, fuzzy, c-format
+msgid "but %s is to be installed"
+msgstr " dovrà essere installato"
+
+#: cmdline/cmdline.cc:308
+#, fuzzy
+msgid "but it is not installable"
+msgstr "non è installabile"
+
+#: cmdline/cmdline.cc:310
+#, fuzzy
+msgid "but it is a virtual package"
+msgstr "è un pacchetto virtuale"
+
+#: cmdline/cmdline.cc:313
+#, fuzzy
+msgid "but it is not installed"
+msgstr "non è installato"
+
+#: cmdline/cmdline.cc:313
+#, fuzzy
+msgid "but it is not going to be installed"
+msgstr "non verrà installato"
+
+#: cmdline/cmdline.cc:318
+msgid " or"
+msgstr " o"
+
+#: cmdline/cmdline.cc:348
+msgid "The following NEW packages will be installed:"
+msgstr "Saranno installati i seguenti pacchetti NUOVI:"
+
+#: cmdline/cmdline.cc:401
+#, fuzzy
+msgid "The following packages will be REPLACED:"
+msgstr "Verranno ELIMINATI i seguenti pacchetti:"
+
+#: cmdline/cmdline.cc:402
+msgid "The following packages will be REMOVED:"
+msgstr "Verranno ELIMINATI i seguenti pacchetti:"
+
+#: cmdline/cmdline.cc:431
+msgid "The following packages have been kept back"
+msgstr "I seguenti pacchetti sono stati mantenuti"
+
+#: cmdline/cmdline.cc:459
+msgid "The following packages will be upgraded"
+msgstr "Verranno aggiornati i seguenti pacchetti"
+
+#: cmdline/cmdline.cc:487
+#, fuzzy
+msgid "The following packages will be DOWNGRADED"
+msgstr "Verranno ELIMINATI i seguenti pacchetti:"
+
+#: cmdline/cmdline.cc:509
+msgid "The following held packages will be changed:"
+msgstr "Verranno cambiati i seguenti pacchetti:"
+
+#: cmdline/cmdline.cc:600
+#, c-format
+msgid "%s (due to %s) "
+msgstr "%s (dovuto a %s) "
+
+#: cmdline/cmdline.cc:608
+#, fuzzy
+msgid ""
+"WARNING: The following essential packages will be removed\n"
+"This should NOT be done unless you know exactly what you are doing!"
+msgstr ""
+"Questo NON dovrebbe essere fatto a meno di non sapere esattamente quello che "
+"si sta facendo!"
+
+#: cmdline/cmdline.cc:674
+#, fuzzy, c-format
+msgid "%lu upgraded, %lu newly installed, "
+msgstr " pacchetti aggiornati, "
+
+#: cmdline/cmdline.cc:678
+#, fuzzy, c-format
+msgid "%lu reinstalled, "
+msgstr " reinstallati, "
+
+#: cmdline/cmdline.cc:680
+#, c-format
+msgid "%lu downgraded, "
+msgstr ""
+
+#: cmdline/cmdline.cc:683
+#, c-format
+msgid "%lu replaced, "
+msgstr ""
+
+#: cmdline/cmdline.cc:687
+#, c-format
+msgid "%lu removed and %lu not upgraded.\n"
+msgstr ""
+
+#: cmdline/cmdline.cc:690
+#, c-format
+msgid "%lu removed and %lu kept.\n"
+msgstr ""
+
+#: cmdline/cmdline.cc:694
+#, fuzzy, c-format
+msgid "%lu not fully installed or removed.\n"
+msgstr " pacchetti non completamente installati o rimossi."
+
+#: cmdline/cmdline.cc:916
+#, fuzzy, c-format
+msgid "Package %s version %s has an unmet dep:\n"
+msgstr " ha una dipendenza irrisolta:"
+
+#: cmdline/cmdline.cc:1530
+#, fuzzy
+msgid "You should explicitly select one to show."
+msgstr "Bisognerebbe esplicitarne uno per installarlo."
+
+#: cmdline/cmdline.cc:1531
+#, fuzzy, c-format
+msgid "Package %s is a virtual package with multiple providers."
+msgstr " è un pacchetto virtuale fornito da:"
+
+#: cmdline/cmdline.cc:1557
+#, fuzzy
+msgid "No packages found"
+msgstr " indici di pacchetti e "
+
+#: cmdline/cmdline.cc:1614
+msgid "Name"
+msgstr ""
+
+#: cmdline/cmdline.cc:1615
+#, fuzzy
+msgid "Installed"
+msgstr " [Installato]"
+
+#: cmdline/cmdline.cc:1616
+#, fuzzy
+msgid "Candidate"
+msgstr "Versioni proposte"
+
+#: cmdline/cmdline.cc:1727
+msgid "You must give exactly one pattern"
+msgstr "Devi fornire esattamente un modello"
+
 #: apt-pkg/contrib/cdromutl.cc:60
 #, fuzzy, c-format
 msgid "Unable to stat the mount point %s"
@@ -1518,12 +1511,12 @@ msgstr ""
 msgid "Sub-process %s received a segmentation fault."
 msgstr ""
 
-#: apt-pkg/contrib/fileutl.cc:374 apt-pkg/rpm/rpmpm.cc:623
+#: apt-pkg/contrib/fileutl.cc:374 apt-pkg/rpm/rpmpm.cc:634
 #, c-format
 msgid "Sub-process %s returned an error code (%u)"
 msgstr ""
 
-#: apt-pkg/contrib/fileutl.cc:376 apt-pkg/rpm/rpmpm.cc:626
+#: apt-pkg/contrib/fileutl.cc:376 apt-pkg/rpm/rpmpm.cc:637
 #, fuzzy, c-format
 msgid "Sub-process %s exited unexpectedly"
 msgstr "Il metodo %s è terminato inaspettatamente!"
@@ -1568,15 +1561,20 @@ msgstr "Problema in SelectFile"
 msgid "Problem syncing the file"
 msgstr "Problema in SelectFile"
 
-#: apt-pkg/contrib/mmap.cc:82
+#: apt-pkg/contrib/mmap.cc:81
 msgid "Can't mmap an empty file"
 msgstr ""
 
-#: apt-pkg/contrib/mmap.cc:87
+#: apt-pkg/contrib/mmap.cc:86
 #, c-format
 msgid "Couldn't make mmap of %lu bytes"
 msgstr ""
 
+#: apt-pkg/contrib/mmap.cc:198
+#, fuzzy
+msgid "Failed to ftruncate"
+msgstr "Recupero fallito"
+
 #: apt-pkg/contrib/progress.cc:154
 #, c-format
 msgid "%c%s... Error!"
@@ -1592,107 +1590,107 @@ msgstr ""
 msgid "Selection %s not found"
 msgstr ""
 
-#: apt-pkg/rpm/repomd.cc:44 apt-pkg/rpm/rpmlistparser.cc:552
+#: apt-pkg/rpm/repomd.cc:48 apt-pkg/rpm/rpmlistparser.cc:553
 #: apt-pkg/repository.cc:40
 #, fuzzy, c-format
 msgid "could not open Release file '%s'"
 msgstr "Impossibile aprire l'indice hash"
 
-#: apt-pkg/rpm/rpmhandler.cc:482
+#: apt-pkg/rpm/rpmhandler.cc:485
 #, fuzzy
 msgid "could not rewind RPMFileHandler"
 msgstr "Impossibile aprire l'indice hash"
 
-#: apt-pkg/rpm/rpmhandler.cc:519 apt-pkg/rpm/rpmhandler.cc:526
-#: apt-pkg/rpm/rpmpm.cc:684 apt-pkg/rpm/rpmpm.cc:689
+#: apt-pkg/rpm/rpmhandler.cc:522 apt-pkg/rpm/rpmhandler.cc:529
+#: apt-pkg/rpm/rpmpm.cc:695 apt-pkg/rpm/rpmpm.cc:700
 #, fuzzy, c-format
 msgid "Failed reading file %s"
 msgstr "Recupero dell' archivio hash fallito:"
 
-#: apt-pkg/rpm/rpmhandler.cc:690
+#: apt-pkg/rpm/rpmhandler.cc:693
 #, fuzzy
 msgid "Unable to determine the file size"
 msgstr "Impossibile ridurre il gruppo da aggiornare"
 
-#: apt-pkg/rpm/rpmhandler.cc:739
+#: apt-pkg/rpm/rpmhandler.cc:742
 #, fuzzy
 msgid "could not open RPM database"
 msgstr "Impossibile aprire l'indice hash"
 
-#: apt-pkg/rpm/rpmhandler.cc:746
+#: apt-pkg/rpm/rpmhandler.cc:749
 msgid "could not create RPM database iterator"
 msgstr ""
 
-#: apt-pkg/rpm/rpmhandler.cc:912
+#: apt-pkg/rpm/rpmhandler.cc:917
 #, fuzzy, c-format
 msgid "Failed to open package index %s"
 msgstr "Impossibile analizzare il pacchetto %s (1)"
 
-#: apt-pkg/rpm/rpmhandler.cc:916
+#: apt-pkg/rpm/rpmhandler.cc:921
 #, fuzzy, c-format
 msgid "Corrupted package index %s"
 msgstr "Il pacchetto %s non è stato trovato"
 
-#: apt-pkg/rpm/rpmhandler.cc:925
-#, fuzzy, c-format
-msgid "Failed to open filelist index %s"
-msgstr "Impossibile aprire %s.new"
-
-#: apt-pkg/rpm/rpmhandler.cc:955
+#: apt-pkg/rpm/rpmhandler.cc:940
 #, c-format
 msgid "Inconsistent metadata, package count doesn't match in %s"
 msgstr ""
 
-#: apt-pkg/rpm/rpmindexfile.cc:376 apt-pkg/rpm/rpmindexfile.cc:728
+#: apt-pkg/rpm/rpmhandler.cc:1343
+#, fuzzy, c-format
+msgid "Failed to open filelist index %s"
+msgstr "Impossibile aprire %s.new"
+
+#: apt-pkg/rpm/rpmindexfile.cc:376 apt-pkg/rpm/rpmindexfile.cc:729
 #, c-format
 msgid "Problem with SelectFile %s"
 msgstr "Problema con SelectFile %s"
 
-#: apt-pkg/rpm/rpmindexfile.cc:385 apt-pkg/rpm/rpmindexfile.cc:737
-#: apt-pkg/rpm/rpmindexfile.cc:853
+#: apt-pkg/rpm/rpmindexfile.cc:385 apt-pkg/rpm/rpmindexfile.cc:738
+#: apt-pkg/rpm/rpmindexfile.cc:855
 #, fuzzy, c-format
 msgid "Failed to stat %s"
 msgstr "Recupero fallito"
 
 #: apt-pkg/rpm/rpmindexfile.cc:394 apt-pkg/rpm/rpmindexfile.cc:430
-#: apt-pkg/rpm/rpmindexfile.cc:746 apt-pkg/rpm/rpmindexfile.cc:775
+#: apt-pkg/rpm/rpmindexfile.cc:747 apt-pkg/rpm/rpmindexfile.cc:776
 #, c-format
 msgid "Problem opening %s"
 msgstr "Problema nell'apertura di %s"
 
-#: apt-pkg/rpm/rpmindexfile.cc:400 apt-pkg/rpm/rpmindexfile.cc:752
-#: apt-pkg/rpm/rpmindexfile.cc:858
+#: apt-pkg/rpm/rpmindexfile.cc:400 apt-pkg/rpm/rpmindexfile.cc:753
+#: apt-pkg/rpm/rpmindexfile.cc:860
 #, c-format
 msgid "Problem with MergeList %s"
 msgstr "Problema con la MergeList %s"
 
-#: apt-pkg/rpm/rpmindexfile.cc:435 apt-pkg/rpm/rpmindexfile.cc:780
-#: apt-pkg/rpm/rpmindexfile.cc:876
+#: apt-pkg/rpm/rpmindexfile.cc:435 apt-pkg/rpm/rpmindexfile.cc:781
+#: apt-pkg/rpm/rpmindexfile.cc:878
 #, fuzzy, c-format
 msgid "Problem with MergeFileProvides %s"
 msgstr "Problema con la MergeList %s"
 
-#: apt-pkg/rpm/rpmindexfile.cc:843 apt-pkg/rpm/rpmindexfile.cc:872
+#: apt-pkg/rpm/rpmindexfile.cc:845 apt-pkg/rpm/rpmindexfile.cc:874
 #, fuzzy
 msgid "Problem opening RPM database"
 msgstr "Problema nell'apertura di %s"
 
-#: apt-pkg/rpm/rpmindexfile.cc:847
+#: apt-pkg/rpm/rpmindexfile.cc:849
 #, fuzzy
 msgid "Problem with SelectFile RPM Database"
 msgstr "Problema con SelectFile %s"
 
-#: apt-pkg/rpm/rpmindexfile.cc:1079 apt-pkg/sourcelist.cc:98
+#: apt-pkg/rpm/rpmindexfile.cc:1082 apt-pkg/sourcelist.cc:98
 #, fuzzy, c-format
 msgid "Malformed line %lu in source list %s (URI)"
 msgstr "Linea %u errata nella lista di sorgenti %s (URI)"
 
-#: apt-pkg/rpm/rpmindexfile.cc:1081 apt-pkg/sourcelist.cc:100
+#: apt-pkg/rpm/rpmindexfile.cc:1084 apt-pkg/sourcelist.cc:100
 #, fuzzy, c-format
 msgid "Malformed line %lu in source list %s (dist)"
 msgstr "Linea %u errata nella lista di sorgenti %s (dist)"
 
-#: apt-pkg/rpm/rpmindexfile.cc:1084 apt-pkg/sourcelist.cc:103
+#: apt-pkg/rpm/rpmindexfile.cc:1087 apt-pkg/sourcelist.cc:103
 #, fuzzy, c-format
 msgid "Malformed line %lu in source list %s (URI parse)"
 msgstr "Linea %u errata nella lista di sorgenti %s (URI)"
@@ -1722,32 +1720,32 @@ msgstr ""
 msgid "Bad NotAutomatic flag"
 msgstr ""
 
-#: apt-pkg/rpm/rpmpackagedata.cc:46
+#: apt-pkg/rpm/rpmpackagedata.cc:50
 #, fuzzy, c-format
 msgid "could not open package priority file %s"
 msgstr "Il pacchetto %s non è stato trovato"
 
-#: apt-pkg/rpm/rpmpackagedata.cc:55
+#: apt-pkg/rpm/rpmpackagedata.cc:59
 #, c-format
 msgid "no data in %s"
 msgstr ""
 
-#: apt-pkg/rpm/rpmpackagedata.cc:105
+#: apt-pkg/rpm/rpmpackagedata.cc:109
 #, c-format
 msgid "Bad regular expression '%s' in option RPM::Hold."
 msgstr ""
 
-#: apt-pkg/rpm/rpmpackagedata.cc:128
+#: apt-pkg/rpm/rpmpackagedata.cc:132
 #, c-format
 msgid "Bad regular expression '%s' in option RPM::Allow-Duplicated."
 msgstr ""
 
-#: apt-pkg/rpm/rpmpackagedata.cc:145
+#: apt-pkg/rpm/rpmpackagedata.cc:149
 #, c-format
 msgid "Bad entry '%s' in option RPM::FakeProvides."
 msgstr ""
 
-#: apt-pkg/rpm/rpmpackagedata.cc:199
+#: apt-pkg/rpm/rpmpackagedata.cc:203
 #, c-format
 msgid "Bad regular expression '%s' in URI translation"
 msgstr ""
@@ -1775,77 +1773,77 @@ msgstr "Impossibile creare una pipe IPC per il subprocesso"
 msgid "Failure running script %s"
 msgstr ""
 
-#: apt-pkg/rpm/rpmpm.cc:312
+#: apt-pkg/rpm/rpmpm.cc:323
 msgid "Unknown pkgRPMPM operation."
 msgstr ""
 
-#: apt-pkg/rpm/rpmpm.cc:549
+#: apt-pkg/rpm/rpmpm.cc:560
 msgid "Executing RPM ("
 msgstr ""
 
-#: apt-pkg/rpm/rpmpm.cc:589
+#: apt-pkg/rpm/rpmpm.cc:600
 #, fuzzy
 msgid "Could not exec "
 msgstr "Il pacchetto %s non è stato trovato"
 
-#: apt-pkg/rpm/rpmpm.cc:604
+#: apt-pkg/rpm/rpmpm.cc:615
 #, fuzzy
 msgid "Couldn't wait for subprocess"
 msgstr "Il pacchetto %s non è stato trovato"
 
-#: apt-pkg/rpm/rpmpm.cc:620
+#: apt-pkg/rpm/rpmpm.cc:631
 #, c-format
 msgid "Sub-process %s recieved a segmentation fault."
 msgstr ""
 
-#: apt-pkg/rpm/rpmpm.cc:630 apt-pkg/rpm/rpmpm.cc:896
+#: apt-pkg/rpm/rpmpm.cc:641 apt-pkg/rpm/rpmpm.cc:909
 #, fuzzy
 msgid "Done."
 msgstr "Fatto"
 
-#: apt-pkg/rpm/rpmpm.cc:680
+#: apt-pkg/rpm/rpmpm.cc:691
 #, fuzzy, c-format
 msgid "Failed opening %s"
 msgstr "Problema nell'apertura di %s"
 
-#: apt-pkg/rpm/rpmpm.cc:693 apt-pkg/rpm/rpmpm.cc:717
+#: apt-pkg/rpm/rpmpm.cc:704 apt-pkg/rpm/rpmpm.cc:728
 #, fuzzy, c-format
 msgid "Failed adding %s to transaction %s"
 msgstr "Impossibile rinominare %s in %s"
 
-#: apt-pkg/rpm/rpmpm.cc:773
+#: apt-pkg/rpm/rpmpm.cc:784
 #, fuzzy
 msgid "Could not open RPM database"
 msgstr "Impossibile aprire l'indice hash"
 
-#: apt-pkg/rpm/rpmpm.cc:835 apt-pkg/rpm/rpmpm.cc:848
+#: apt-pkg/rpm/rpmpm.cc:848 apt-pkg/rpm/rpmpm.cc:861
 msgid "Transaction set check failed"
 msgstr ""
 
-#: apt-pkg/rpm/rpmpm.cc:868
+#: apt-pkg/rpm/rpmpm.cc:881
 #, c-format
 msgid "Ordering failed for %d packages"
 msgstr ""
 
-#: apt-pkg/rpm/rpmpm.cc:872
+#: apt-pkg/rpm/rpmpm.cc:885
 msgid "Committing changes..."
 msgstr ""
 
-#: apt-pkg/rpm/rpmpm.cc:888
+#: apt-pkg/rpm/rpmpm.cc:901
 msgid "Error while running transaction"
 msgstr ""
 
-#: apt-pkg/rpm/rpmpm.cc:894
+#: apt-pkg/rpm/rpmpm.cc:907
 #, fuzzy
 msgid "Some errors occurred while running transaction"
 msgstr "Errore nel processare %s (NewVersion1)"
 
-#: apt-pkg/rpm/rpmrecords.cc:174 apt-pkg/rpm/rpmsrcrecords.cc:177
+#: apt-pkg/rpm/rpmrecords.cc:176 apt-pkg/rpm/rpmsrcrecords.cc:179
 #, fuzzy
 msgid "Could not allocate buffer for record text"
 msgstr "Impossibile attendere il sottoprocesso"
 
-#: apt-pkg/rpm/rpmsystem.cc:263
+#: apt-pkg/rpm/rpmsystem.cc:262
 #, fuzzy, c-format
 msgid "Unable to determine version for package %s"
 msgstr "Impossibile ridurre il gruppo da aggiornare"
@@ -1886,7 +1884,7 @@ msgid "MD5Sum mismatch"
 msgstr ""
 
 #: apt-pkg/acquire-item.cc:397
-msgid "Uknown compression extension, trying uncompressed"
+msgid "Unknown compression extension, trying uncompressed"
 msgstr ""
 
 #: apt-pkg/acquire-item.cc:508
@@ -1985,12 +1983,12 @@ msgstr "Versioni proposte"
 msgid "Dependency Generation"
 msgstr "Generazione delle dipendenze"
 
-#: apt-pkg/init.cc:141
+#: apt-pkg/init.cc:135
 #, fuzzy, c-format
 msgid "Packaging system '%s' is not supported"
 msgstr "Il pacchetto %s non è installato"
 
-#: apt-pkg/init.cc:157
+#: apt-pkg/init.cc:151
 #, fuzzy
 msgid "Unable to determine a suitable system type"
 msgstr "Impossibile ridurre il gruppo da aggiornare"
@@ -2588,3 +2586,7 @@ msgstr ""
 #: methods/rsh.cc:333
 msgid "Connection closed prematurely"
 msgstr ""
+
+#, fuzzy
+#~ msgid "Skipping unpack of already unpacked source in %s\n"
+#~ msgstr "Non spacchetto. Sorgente gia' scompattato in "
index a3425a7..a151417 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: apt 0.5.15lorg3\n"
 "Report-Msgid-Bugs-To: apt-rpm@lists.laiskiainen.org\n"
-"POT-Creation-Date: 2006-06-08 17:14+0300\n"
+"POT-Creation-Date: 2006-08-22 01:03+0300\n"
 "PO-Revision-Date: 2006-05-05 00:08+0900\n"
 "Last-Translator: Daisuke SUZUKI <daisuke@linux.or.jp>\n"
 "Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n"
@@ -64,162 +64,129 @@ msgstr ""
 msgid "Password: "
 msgstr "パスワード: "
 
-#: cmdline/apt-cache.cc:157 cmdline/apt-shell.cc:3077
-#, c-format
-msgid "Package %s version %s has an unmet dep:\n"
-msgstr "パッケージ %s のバージョン %s は解決不可能な依存情報を持っています:\n"
-
-#: cmdline/apt-cache.cc:197 cmdline/apt-cache.cc:565 cmdline/apt-cache.cc:660
-#: cmdline/apt-cache.cc:750 cmdline/apt-cache.cc:1024
-#: cmdline/apt-cache.cc:1291 cmdline/apt-cache.cc:1705
-#: cmdline/apt-cache.cc:1877 cmdline/apt-shell.cc:2629
-#: cmdline/apt-shell.cc:2727 cmdline/apt-shell.cc:2820
-#: cmdline/apt-shell.cc:3120 cmdline/apt-shell.cc:3539
-#, c-format
-msgid "Unable to locate package %s"
-msgstr "パッケージ %s を特定することができません"
-
-#: cmdline/apt-cache.cc:254
+#: cmdline/apt-cache.cc:94
 msgid "Total Package Names : "
 msgstr "パッケージ名 : "
 
-#: cmdline/apt-cache.cc:294
+#: cmdline/apt-cache.cc:134
 msgid "  Normal Packages: "
 msgstr "  通常パッケージ: "
 
-#: cmdline/apt-cache.cc:295
+#: cmdline/apt-cache.cc:135
 msgid "  Pure Virtual Packages: "
 msgstr "  純粋バーチャルパッケージ: "
 
-#: cmdline/apt-cache.cc:296
+#: cmdline/apt-cache.cc:136
 msgid "  Single Virtual Packages: "
 msgstr "  単一バーチャルパッケージ: "
 
-#: cmdline/apt-cache.cc:297
+#: cmdline/apt-cache.cc:137
 msgid "  Mixed Virtual Packages: "
 msgstr "  複合バーチャルパッケージ: "
 
-#: cmdline/apt-cache.cc:298
+#: cmdline/apt-cache.cc:138
 msgid "  Missing: "
 msgstr "  不明: "
 
-#: cmdline/apt-cache.cc:300
+#: cmdline/apt-cache.cc:140
 msgid "Total Distinct Versions: "
 msgstr "合計バージョン: "
 
-#: cmdline/apt-cache.cc:302
+#: cmdline/apt-cache.cc:142
 msgid "Total Dependencies: "
 msgstr "合計依存数: "
 
-#: cmdline/apt-cache.cc:305
+#: cmdline/apt-cache.cc:145
 msgid "Total Ver/File relations: "
 msgstr "合計 Ver/File 関係: "
 
-#: cmdline/apt-cache.cc:307
+#: cmdline/apt-cache.cc:147
 msgid "Total Provides Mappings: "
 msgstr "合計提供マッピング: "
 
-#: cmdline/apt-cache.cc:319
+#: cmdline/apt-cache.cc:159
 msgid "Total Globbed Strings: "
 msgstr "合計 Glob 文字列: "
 
-#: cmdline/apt-cache.cc:333
+#: cmdline/apt-cache.cc:173
 msgid "Total Dependency Version space: "
 msgstr "合計依存バージョン空間: "
 
-#: cmdline/apt-cache.cc:338
+#: cmdline/apt-cache.cc:178
 msgid "Total Slack space: "
 msgstr "合計スラック空間"
 
-#: cmdline/apt-cache.cc:346
+#: cmdline/apt-cache.cc:186
 msgid "Total Space Accounted for: "
 msgstr "Total Space Accounted for: "
 
-#: cmdline/apt-cache.cc:484 cmdline/apt-cache.cc:1501
-#: cmdline/apt-shell.cc:3198
+#: cmdline/apt-cache.cc:323 cmdline/cmdline.cc:1032
 #, c-format
 msgid "Package file %s is out of sync."
 msgstr "パッケージファイル %s は同期されていません"
 
-#: cmdline/apt-cache.cc:1576 cmdline/apt-shell.cc:3244
-msgid "You must give exactly one pattern"
-msgstr "パターンは1つだけ指定して下さい"
-
-#: cmdline/apt-cache.cc:1715 cmdline/apt-get.cc:1193 cmdline/apt-get.cc:1249
-#: cmdline/apt-shell.cc:1263 cmdline/apt-shell.cc:1319
-#, c-format
-msgid "Package %s is a virtual package provided by:\n"
-msgstr "%s は以下のパッケージで提供されているバーチャルパッケージです。\n"
-
-#: cmdline/apt-cache.cc:1727
-msgid "You should explicitly select one to show."
-msgstr "表示するパッケージを明示的に選択する必要があります。"
-
-#: cmdline/apt-cache.cc:1728
+#: cmdline/apt-cache.cc:489 cmdline/apt-cache.cc:707 cmdline/apt-cache.cc:1040
+#: cmdline/cmdline.cc:955 cmdline/cmdline.cc:1068 cmdline/cmdline.cc:1162
+#: cmdline/cmdline.cc:1251 cmdline/cmdline.cc:1508
 #, c-format
-msgid "Package %s is a virtual package with multiple providers."
-msgstr ""
-"パッケージ %s は複数のパッケージで提供されているバーチャルパッケージです。"
-
-#: cmdline/apt-cache.cc:1754 cmdline/apt-shell.cc:3567
-msgid "No packages found"
-msgstr "パッケージがみつかりません"
+msgid "Unable to locate package %s"
+msgstr "パッケージ %s を特定することができません"
 
-#: cmdline/apt-cache.cc:1831
+#: cmdline/apt-cache.cc:994
 msgid "Package Files:"
 msgstr "パッケージファイル:"
 
-#: cmdline/apt-cache.cc:1838 cmdline/apt-cache.cc:1928
+#: cmdline/apt-cache.cc:1001 cmdline/apt-cache.cc:1091
 msgid "Cache is out of sync, can't x-ref a package file"
 msgstr ""
 "キャッシュは同期されていません。パッケージファイルのクロスリファレンスをたど"
 "れません"
 
-#: cmdline/apt-cache.cc:1839
+#: cmdline/apt-cache.cc:1002
 #, c-format
 msgid "%4i %s\n"
 msgstr "%4i %s\n"
 
-#: cmdline/apt-cache.cc:1851
+#: cmdline/apt-cache.cc:1014
 msgid "Pinned Packages:"
 msgstr "Pinパッケージ:"
 
-#: cmdline/apt-cache.cc:1863 cmdline/apt-cache.cc:1904
+#: cmdline/apt-cache.cc:1026 cmdline/apt-cache.cc:1067
 msgid "(not found)"
 msgstr "(見つかりません)"
 
-#: cmdline/apt-cache.cc:1884
+#: cmdline/apt-cache.cc:1047
 msgid "  Installed: "
 msgstr "  インストール済: "
 
-#: cmdline/apt-cache.cc:1886 cmdline/apt-cache.cc:1894
+#: cmdline/apt-cache.cc:1049 cmdline/apt-cache.cc:1057
 msgid "(none)"
 msgstr "(なし)"
 
-#: cmdline/apt-cache.cc:1891
+#: cmdline/apt-cache.cc:1054
 msgid "  Candidate: "
 msgstr "  候補: "
 
-#: cmdline/apt-cache.cc:1901
+#: cmdline/apt-cache.cc:1064
 msgid "  Package Pin: "
 msgstr "  パッケージ Pin: "
 
-#: cmdline/apt-cache.cc:1910
+#: cmdline/apt-cache.cc:1073
 msgid "  Version Table:"
 msgstr "  バージョンテーブル: "
 
-#: cmdline/apt-cache.cc:1929
+#: cmdline/apt-cache.cc:1092
 #, c-format
 msgid "       %4i %s\n"
 msgstr "       %4i %s\n"
 
-#: cmdline/apt-cache.cc:1956 cmdline/apt-cdrom.cc:821 cmdline/apt-config.cc:72
-#: cmdline/apt-get.cc:2891 cmdline/apt-shell.cc:3586
+#: cmdline/apt-cache.cc:1119 cmdline/apt-cdrom.cc:824 cmdline/apt-config.cc:72
+#: cmdline/apt-get.cc:2119 cmdline/apt-shell.cc:1948
 #, c-format
 msgid "%s %s for %s %s compiled on %s %s\n"
 msgstr "%s %s for %s %s compiled on %s %s\n"
 
-#: cmdline/apt-cache.cc:1963
+#: cmdline/apt-cache.cc:1126
 #, fuzzy
 msgid ""
 "Usage: apt-cache [options] command\n"
@@ -240,10 +207,11 @@ msgid ""
 "   dumpavail - Print an available file to stdout\n"
 "   unmet - Show unmet dependencies\n"
 "   search - Search the package list for a regex pattern\n"
+"   searchfile - Search the packages for a file\n"
 "   show - Show a readable record for the package\n"
 "   depends - Show raw dependency information for a package\n"
-"   whatdepends - Show packages depending on given items\n"
-"   whatprovides - Show packages that provide given items\n"
+"   whatdepends - Show packages depending on given capabilities\n"
+"   whatprovides - Show packages that provide given capabilities\n"
 "   pkgnames - List the names of all packages\n"
 "   dotty - Generate package graphs for GraphVis\n"
 "   xvcg - Generate package graphs for xvcg\n"
@@ -277,7 +245,7 @@ msgstr ""
 "   xvcg - xvcg 用のパッケージグラフを生成する\n"
 "   policy - ポリシー設定情報を表示する\n"
 
-#: cmdline/apt-cache.cc:1996
+#: cmdline/apt-cache.cc:1160
 msgid ""
 "\n"
 "Options:\n"
@@ -316,11 +284,11 @@ msgstr "%s を開いています"
 msgid "Failed to open %s.new"
 msgstr "%s.new を開くことができません"
 
-#: cmdline/apt-cdrom.cc:545 cmdline/apt-cdrom.cc:786
+#: cmdline/apt-cdrom.cc:545 cmdline/apt-cdrom.cc:789
 msgid "Using CD-ROM mount point "
 msgstr "CDROM のマウントポイントとして以下を使用します: "
 
-#: cmdline/apt-cdrom.cc:553 cmdline/apt-cdrom.cc:808 methods/cdrom.cc:81
+#: cmdline/apt-cdrom.cc:553 cmdline/apt-cdrom.cc:811 methods/cdrom.cc:81
 #: methods/cdrom.cc:193
 #, c-format
 msgid "Unable to read the cdrom database %s"
@@ -334,15 +302,15 @@ msgstr "CDROM をアンマウントしています"
 msgid "Please insert a Disc in the drive and press enter"
 msgstr "CDROM をドライブに挿入してエンターキーを押して下さい"
 
-#: cmdline/apt-cdrom.cc:575 cmdline/apt-cdrom.cc:787
+#: cmdline/apt-cdrom.cc:575 cmdline/apt-cdrom.cc:790
 msgid "Mounting CD-ROM"
 msgstr "CDROM をマウントしています"
 
-#: cmdline/apt-cdrom.cc:577 cmdline/apt-cdrom.cc:789
+#: cmdline/apt-cdrom.cc:577 cmdline/apt-cdrom.cc:792
 msgid "Failed to mount the cdrom."
 msgstr "CDROM のマウントに失敗しました"
 
-#: cmdline/apt-cdrom.cc:581 cmdline/apt-cdrom.cc:792
+#: cmdline/apt-cdrom.cc:581 cmdline/apt-cdrom.cc:795
 msgid "Identifying.. "
 msgstr "CDROM の検出中.. "
 
@@ -350,62 +318,62 @@ msgstr "CDROM の検出中.. "
 msgid "Scanning Disc for index files..  "
 msgstr "CDROM のインデックスファイルのスキャン中.."
 
-#: cmdline/apt-cdrom.cc:618
+#: cmdline/apt-cdrom.cc:621
 msgid "I found (binary):"
 msgstr "バイナリCDを検出:"
 
-#: cmdline/apt-cdrom.cc:621
+#: cmdline/apt-cdrom.cc:624
 msgid "I found (source):"
 msgstr "ソースCDを検出:"
 
-#: cmdline/apt-cdrom.cc:636
+#: cmdline/apt-cdrom.cc:639
 msgid "Found "
 msgstr "検出 "
 
-#: cmdline/apt-cdrom.cc:636
+#: cmdline/apt-cdrom.cc:639
 msgid " package indexes and "
 msgstr " パッケージインデックス "
 
-#: cmdline/apt-cdrom.cc:637
+#: cmdline/apt-cdrom.cc:640
 msgid " source indexes."
 msgstr " ソースインデックス"
 
-#: cmdline/apt-cdrom.cc:644
+#: cmdline/apt-cdrom.cc:647
 msgid ""
 "Unable to locate any package files, perhaps this is not an APT enabled disc"
 msgstr ""
 "パッケージファイルを見付けることができませんでした。APT 対応の DISK ではない"
 "ようです"
 
-#: cmdline/apt-cdrom.cc:668
+#: cmdline/apt-cdrom.cc:671
 msgid "Found label '"
 msgstr "検出したラベル '"
 
-#: cmdline/apt-cdrom.cc:677
+#: cmdline/apt-cdrom.cc:680
 msgid "Please provide a name for this Disc, such as 'Distribution Disk 1'"
 msgstr "この DISK に名前をつけてください。例) 'Distribution Disk 1'"
 
-#: cmdline/apt-cdrom.cc:686
+#: cmdline/apt-cdrom.cc:689
 msgid "That is not a valid name, try again "
 msgstr "不正な名称です。再試行してください "
 
-#: cmdline/apt-cdrom.cc:700
+#: cmdline/apt-cdrom.cc:703
 msgid "This Disc is called:"
 msgstr "この DISK は: "
 
-#: cmdline/apt-cdrom.cc:733
+#: cmdline/apt-cdrom.cc:736
 msgid "Source List entries for this Disc are:"
 msgstr "この DISK の sources.list のエントリ:"
 
-#: cmdline/apt-cdrom.cc:766
+#: cmdline/apt-cdrom.cc:769
 msgid "Repeat this process for the rest of the CDs in your set."
 msgstr "この処理を他の CDROM のためにくり返します。"
 
-#: cmdline/apt-cdrom.cc:811
+#: cmdline/apt-cdrom.cc:814
 msgid "Stored Label: '"
 msgstr "保存されたラベル: '"
 
-#: cmdline/apt-cdrom.cc:827
+#: cmdline/apt-cdrom.cc:830
 msgid ""
 "Usage: apt-cdrom [options] command\n"
 "\n"
@@ -480,200 +448,94 @@ msgstr ""
 "  -c=? 指定した設定ファイルを読みこむ\n"
 "  -o=? 指定した設定オプションを適用する (例: -o dir::cache=/tmp)\n"
 
-#: cmdline/apt-get.cc:160 cmdline/apt-shell.cc:182
-msgid "The following packages have unmet dependencies:"
-msgstr "以下のパッケージは解決できない依存関係を持っています:"
-
-#: cmdline/apt-get.cc:258 cmdline/apt-shell.cc:280
-#, c-format
-msgid "but %s is installed"
-msgstr "しかし、%s がすでにインストールされています"
-
-#: cmdline/apt-get.cc:260 cmdline/apt-shell.cc:282
-#, c-format
-msgid "but %s is to be installed"
-msgstr "しかし、%s がインストールされています"
-
-#: cmdline/apt-get.cc:267 cmdline/apt-shell.cc:289
-msgid "but it is not installable"
-msgstr "それをインストールすることができません"
-
-#: cmdline/apt-get.cc:269 cmdline/apt-shell.cc:291
-msgid "but it is a virtual package"
-msgstr "それは仮想パッケージです"
-
-#: cmdline/apt-get.cc:272 cmdline/apt-shell.cc:294
-msgid "but it is not installed"
-msgstr "それはインストールされていません"
-
-#: cmdline/apt-get.cc:272 cmdline/apt-shell.cc:294
-msgid "but it is not going to be installed"
-msgstr "それはインストールされません"
-
-#: cmdline/apt-get.cc:277 cmdline/apt-shell.cc:299
-msgid " or"
-msgstr " または"
-
-#: cmdline/apt-get.cc:306 cmdline/apt-shell.cc:329
-msgid "The following NEW packages will be installed:"
-msgstr "以下のパッケージが新たにインストールされます:"
-
-#: cmdline/apt-get.cc:358 cmdline/apt-shell.cc:382
-msgid "The following packages will be REPLACED:"
-msgstr "以下のパッケージがリプレースされます:"
-
-#: cmdline/apt-get.cc:359 cmdline/apt-shell.cc:383
-msgid "The following packages will be REMOVED:"
-msgstr "以下のパッケージが削除されます:"
-
-#: cmdline/apt-get.cc:381 cmdline/apt-shell.cc:412
-msgid "The following packages have been kept back"
-msgstr "以下のパッケージは保留されます:"
-
-#: cmdline/apt-get.cc:402 cmdline/apt-shell.cc:440
-msgid "The following packages will be upgraded"
-msgstr "以下のパッケージがアップグレードされます:"
-
-#: cmdline/apt-get.cc:423 cmdline/apt-shell.cc:468
-msgid "The following packages will be DOWNGRADED"
-msgstr "以下のパッケージがダウングレードされます:"
-
-#: cmdline/apt-get.cc:443 cmdline/apt-shell.cc:490
-msgid "The following held packages will be changed:"
-msgstr "以下の保留パッケージが変更されます"
-
-#: cmdline/apt-get.cc:532 cmdline/apt-shell.cc:581
-#, c-format
-msgid "%s (due to %s) "
-msgstr "%s (%s が依存) "
-
-#: cmdline/apt-get.cc:540 cmdline/apt-shell.cc:589
-msgid ""
-"WARNING: The following essential packages will be removed\n"
-"This should NOT be done unless you know exactly what you are doing!"
-msgstr ""
-"*注意* 以下の重要なパッケージが削除されます\n"
-"何をしようとしているか分からない場合は、*絶対に*実行してはいけません"
-
-#: cmdline/apt-get.cc:594 cmdline/apt-shell.cc:655
-#, c-format
-msgid "%lu upgraded, %lu newly installed, "
-msgstr "アップグレード: %lu 個, 新規インストール: %lu 個, "
-
-#: cmdline/apt-get.cc:598 cmdline/apt-shell.cc:659
-#, c-format
-msgid "%lu reinstalled, "
-msgstr "再インストール: %lu 個, "
-
-#: cmdline/apt-get.cc:600 cmdline/apt-shell.cc:661
-#, c-format
-msgid "%lu downgraded, "
-msgstr "ダウングレード: %lu 個, "
-
-#: cmdline/apt-get.cc:603 cmdline/apt-shell.cc:664
-#, c-format
-msgid "%lu replaced, "
-msgstr "リプレース: %lu 個, "
-
-#: cmdline/apt-get.cc:606 cmdline/apt-shell.cc:668
-#, c-format
-msgid "%lu removed and %lu not upgraded.\n"
-msgstr "削除: %lu 個, 保留: %lu 個\n"
-
-#: cmdline/apt-get.cc:610 cmdline/apt-shell.cc:675
-#, c-format
-msgid "%lu not fully installed or removed.\n"
-msgstr "%lu 個のパッケージが完全にインストールまたは削除されていません。\n"
-
-#: cmdline/apt-get.cc:632
+#: cmdline/apt-get.cc:158
 msgid "There are changes to be made"
 msgstr "適用すべき変更があります"
 
-#: cmdline/apt-get.cc:698 cmdline/apt-shell.cc:803
+#: cmdline/apt-get.cc:193 cmdline/apt-shell.cc:255
 msgid "Correcting dependencies..."
 msgstr "依存関係を解決しています..."
 
-#: cmdline/apt-get.cc:701 cmdline/apt-shell.cc:806
+#: cmdline/apt-get.cc:196 cmdline/apt-shell.cc:258
 msgid " failed."
 msgstr " 失敗しました。"
 
-#: cmdline/apt-get.cc:704 cmdline/apt-shell.cc:809
+#: cmdline/apt-get.cc:199 cmdline/apt-shell.cc:261
 msgid "Unable to correct dependencies"
 msgstr "依存関係を解決することができません"
 
-#: cmdline/apt-get.cc:707 cmdline/apt-shell.cc:812
+#: cmdline/apt-get.cc:202 cmdline/apt-shell.cc:264
 msgid "Unable to minimize the upgrade set"
 msgstr "アップグレードセットを最小化できません"
 
-#: cmdline/apt-get.cc:709 cmdline/apt-shell.cc:814
+#: cmdline/apt-get.cc:204 cmdline/apt-shell.cc:266
 msgid " Done"
 msgstr " 完了"
 
-#: cmdline/apt-get.cc:713
+#: cmdline/apt-get.cc:208
 msgid "You might want to run `apt-get --fix-broken install' to correct these."
 msgstr ""
 "これらを解決するためには 'apt-get --fix-broken install' を実行する必要がある"
 "かもしれません。"
 
-#: cmdline/apt-get.cc:716 cmdline/apt-shell.cc:821
+#: cmdline/apt-get.cc:211 cmdline/apt-shell.cc:273
 msgid "Unmet dependencies. Try using --fix-broken."
 msgstr "未解決の依存関係があります。--fix-broken オプションをためして下さい。"
 
-#: cmdline/apt-get.cc:774 cmdline/apt-shell.cc:879
+#: cmdline/apt-get.cc:268 cmdline/apt-shell.cc:330
 msgid "Packages need to be removed but Remove is disabled."
 msgstr "パッケージは削除される必要がありますが、削除は無効になっています。"
 
-#: cmdline/apt-get.cc:800 cmdline/apt-get.cc:2223 cmdline/apt-get.cc:2258
-#: cmdline/apt-shell.cc:905 cmdline/apt-shell.cc:2208
-#: cmdline/apt-shell.cc:2244
+#: cmdline/apt-get.cc:294 cmdline/apt-get.cc:1542 cmdline/apt-shell.cc:356
+#: cmdline/apt-shell.cc:1479 cmdline/cmdline.cc:713
 msgid "Unable to lock the download directory"
 msgstr "ダウンロードディレクトリをロックできません"
 
-#: cmdline/apt-get.cc:810 cmdline/apt-get.cc:2306 cmdline/apt-get.cc:2580
-#: cmdline/apt-shell.cc:915 cmdline/apt-shell.cc:2303 apt-pkg/cachefile.cc:71
+#: cmdline/apt-get.cc:304 cmdline/apt-get.cc:1590 cmdline/apt-get.cc:1808
+#: cmdline/apt-shell.cc:366 cmdline/apt-shell.cc:1538 apt-pkg/cachefile.cc:71
 msgid "The list of sources could not be read."
 msgstr "ソースリストを読むことができません"
 
-#: cmdline/apt-get.cc:830 cmdline/apt-shell.cc:935
+#: cmdline/apt-get.cc:324 cmdline/apt-shell.cc:386
 #, c-format
 msgid "Need to get %sB/%sB of archives.\n"
 msgstr "%sB/%sB のアーカイブを取得する必要があります。\n"
 
-#: cmdline/apt-get.cc:833 cmdline/apt-shell.cc:938
+#: cmdline/apt-get.cc:327 cmdline/apt-shell.cc:389
 #, c-format
 msgid "Need to get %sB of archives.\n"
 msgstr "%sB のアーカイブを取得する必要があります。\n"
 
-#: cmdline/apt-get.cc:838 cmdline/apt-shell.cc:722 cmdline/apt-shell.cc:943
+#: cmdline/apt-get.cc:332 cmdline/apt-shell.cc:205 cmdline/apt-shell.cc:394
 #, c-format
 msgid "After unpacking %sB of additional disk space will be used.\n"
 msgstr "展開後に %sB のディスク容量が追加消費されます。\n"
 
-#: cmdline/apt-get.cc:841 cmdline/apt-shell.cc:725 cmdline/apt-shell.cc:946
+#: cmdline/apt-get.cc:335 cmdline/apt-shell.cc:208 cmdline/apt-shell.cc:397
 #, c-format
 msgid "After unpacking %sB disk space will be freed.\n"
 msgstr "展開後に %sB が解放されます。\n"
 
-#: cmdline/apt-get.cc:859 cmdline/apt-shell.cc:964
+#: cmdline/apt-get.cc:353 cmdline/apt-shell.cc:415
 #, c-format
 msgid "You don't have enough free space in %s."
 msgstr "%s に十分な空きスペースがありません"
 
-#: cmdline/apt-get.cc:868 cmdline/apt-shell.cc:973
+#: cmdline/apt-get.cc:362 cmdline/apt-shell.cc:424
 msgid "There are problems and -y was used without --force-yes"
 msgstr ""
 "問題が発生しましたが、-y オプションが --force-yes とともに指定されていません"
 
-#: cmdline/apt-get.cc:874 cmdline/apt-get.cc:894 cmdline/apt-shell.cc:979
-#: cmdline/apt-shell.cc:999
+#: cmdline/apt-get.cc:368 cmdline/apt-get.cc:388 cmdline/apt-shell.cc:430
+#: cmdline/apt-shell.cc:450
 msgid "Trivial Only specified but this is not a trivial operation."
 msgstr ""
 
-#: cmdline/apt-get.cc:876 cmdline/apt-shell.cc:981
+#: cmdline/apt-get.cc:370 cmdline/apt-shell.cc:432
 msgid "Yes, do as I say!"
 msgstr "Yes, do as I say!"
 
-#: cmdline/apt-get.cc:878 cmdline/apt-shell.cc:983
+#: cmdline/apt-get.cc:372 cmdline/apt-shell.cc:434
 #, c-format
 msgid ""
 "You are about to do something potentially harmful\n"
@@ -685,30 +547,30 @@ msgstr ""
 "'%s'\n"
 " ?] "
 
-#: cmdline/apt-get.cc:884 cmdline/apt-get.cc:903 cmdline/apt-shell.cc:740
-#: cmdline/apt-shell.cc:989 cmdline/apt-shell.cc:1008
+#: cmdline/apt-get.cc:378 cmdline/apt-get.cc:397 cmdline/apt-shell.cc:223
+#: cmdline/apt-shell.cc:440 cmdline/apt-shell.cc:459
 msgid "Abort."
 msgstr "中断しました。"
 
-#: cmdline/apt-get.cc:899 cmdline/apt-shell.cc:738 cmdline/apt-shell.cc:1004
+#: cmdline/apt-get.cc:393 cmdline/apt-shell.cc:221 cmdline/apt-shell.cc:455
 msgid "Do you want to continue? [Y/n] "
 msgstr "続行しますか? [Y/n]"
 
-#: cmdline/apt-get.cc:977 cmdline/apt-get.cc:1082 cmdline/apt-get.cc:1594
-#: cmdline/apt-get.cc:2447 cmdline/apt-shell.cc:1081 cmdline/apt-shell.cc:1658
+#: cmdline/apt-get.cc:471 cmdline/apt-get.cc:576 cmdline/apt-get.cc:993
+#: cmdline/apt-get.cc:1720 cmdline/apt-shell.cc:532 cmdline/apt-shell.cc:1014
 #, c-format
 msgid "Failed to fetch %s  %s\n"
 msgstr "以下の取得に失敗しました: %s  %s\n"
 
-#: cmdline/apt-get.cc:995 cmdline/apt-shell.cc:1099
+#: cmdline/apt-get.cc:489 cmdline/apt-shell.cc:550
 msgid "Some files failed to download"
 msgstr "幾つかのファイルの取得に失敗しました"
 
-#: cmdline/apt-get.cc:996 cmdline/apt-get.cc:2456 cmdline/apt-shell.cc:1100
+#: cmdline/apt-get.cc:490 cmdline/apt-get.cc:1729 cmdline/apt-shell.cc:551
 msgid "Download complete and in download only mode"
 msgstr "パッケージの取得が完了しました。(取得のみのモードです)"
 
-#: cmdline/apt-get.cc:1002 cmdline/apt-shell.cc:1106
+#: cmdline/apt-get.cc:496 cmdline/apt-shell.cc:557
 msgid ""
 "Unable to fetch some archives, maybe run apt-get update or try with --fix-"
 "missing?"
@@ -716,60 +578,66 @@ msgstr ""
 "幾つかのアーカイブが取得できません。'apt-get update' を実行するか、--fix-"
 "missing オプションを試して下さい。"
 
-#: cmdline/apt-get.cc:1006 cmdline/apt-shell.cc:1110
+#: cmdline/apt-get.cc:500 cmdline/apt-shell.cc:561
 msgid "--fix-missing and media swapping is not currently supported"
 msgstr "--fix-missing とメディア交換は現在同時にはサポートされていません"
 
-#: cmdline/apt-get.cc:1011 cmdline/apt-shell.cc:1115
+#: cmdline/apt-get.cc:505 cmdline/apt-shell.cc:566
 msgid "Unable to correct missing packages."
 msgstr "足りないパッケージを取得することができません。"
 
-#: cmdline/apt-get.cc:1012 cmdline/apt-shell.cc:1116
+#: cmdline/apt-get.cc:506 cmdline/apt-shell.cc:567
 msgid "Aborting Install."
 msgstr "インストールを中断しました。"
 
-#: cmdline/apt-get.cc:1087 cmdline/apt-get.cc:2452
+#: cmdline/apt-get.cc:581 cmdline/apt-get.cc:1725
 msgid "Failed to fetch some archives."
 msgstr "幾つかのアーカイブの取得に失敗しました。"
 
-#: cmdline/apt-get.cc:1181 cmdline/apt-get.cc:1789 cmdline/apt-get.cc:1852
-#: cmdline/apt-get.cc:1887 cmdline/apt-get.cc:2345 cmdline/apt-shell.cc:1251
-#: cmdline/apt-shell.cc:1923 cmdline/apt-shell.cc:1958
+#: cmdline/apt-get.cc:675 cmdline/apt-get.cc:1188 cmdline/apt-get.cc:1251
+#: cmdline/apt-get.cc:1286 cmdline/apt-get.cc:1629 cmdline/apt-shell.cc:702
+#: cmdline/apt-shell.cc:1279 cmdline/apt-shell.cc:1314
 #, c-format
 msgid "Selecting %s for '%s'\n"
 msgstr "'%2$s' として %1$s を選択しました\n"
 
-#: cmdline/apt-get.cc:1187 cmdline/apt-shell.cc:1257
+#: cmdline/apt-get.cc:681 cmdline/apt-shell.cc:708
 #, c-format
 msgid "Package %s is a virtual package with no good providers.\n"
 msgstr "パッケージ %s は提供されていないバーチャルパッケージです。\n"
 
-#: cmdline/apt-get.cc:1201 cmdline/apt-get.cc:1261 cmdline/apt-shell.cc:1271
-#: cmdline/apt-shell.cc:1331
+#: cmdline/apt-get.cc:687 cmdline/apt-get.cc:743 cmdline/apt-shell.cc:714
+#: cmdline/apt-shell.cc:770 cmdline/cmdline.cc:1518
+#, c-format
+msgid "Package %s is a virtual package provided by:\n"
+msgstr "%s は以下のパッケージで提供されているバーチャルパッケージです。\n"
+
+#: cmdline/apt-get.cc:695 cmdline/apt-get.cc:755 cmdline/apt-shell.cc:722
+#: cmdline/apt-shell.cc:782
 msgid " [Installed]"
 msgstr " [インストール済]"
 
-#: cmdline/apt-get.cc:1206 cmdline/apt-get.cc:1266 cmdline/apt-shell.cc:1276
-#: cmdline/apt-shell.cc:1336
+#: cmdline/apt-get.cc:700 cmdline/apt-get.cc:760 cmdline/apt-shell.cc:727
+#: cmdline/apt-shell.cc:787
 msgid "You should explicitly select one to install."
 msgstr "インストールするパッケージを明示的に選択する必要があります。"
 
-#: cmdline/apt-get.cc:1207 cmdline/apt-shell.cc:1277
+#: cmdline/apt-get.cc:701 cmdline/apt-shell.cc:728
 #, c-format
 msgid "Package %s is a virtual package with multiple good providers.\n"
 msgstr "パッケージ %s は複数で提供されているバーチャルパッケージです。\n"
 
-#: cmdline/apt-get.cc:1218 cmdline/apt-shell.cc:1288
+#: cmdline/apt-get.cc:712 cmdline/apt-shell.cc:739
 #, c-format
 msgid "Skipping %s, it is already installed and upgrade is not set.\n"
 msgstr "%s はすでにインストールされているため、スキップします。\n"
 
-#: cmdline/apt-get.cc:1236 cmdline/apt-shell.cc:1306
+#: cmdline/apt-get.cc:730 cmdline/apt-shell.cc:757
 #, c-format
 msgid "Package %s is not installed, so not removed\n"
 msgstr "パッケージ %s はインストールされていませんので、削除は行われません\n"
 
-#: cmdline/apt-get.cc:1272 cmdline/apt-shell.cc:1342
+#: cmdline/apt-get.cc:766 cmdline/apt-shell.cc:793
 #, c-format
 msgid ""
 "Package %s has no available version, but exists in the database.\n"
@@ -783,65 +651,65 @@ msgstr ""
 "ジが存在するリポジトリが sources.list に書かれていなかったという状況が考\n"
 "えられます。\n"
 
-#: cmdline/apt-get.cc:1294 cmdline/apt-shell.cc:1364
+#: cmdline/apt-get.cc:788 cmdline/apt-shell.cc:815
 msgid "However the following packages replace it:"
 msgstr "以下のパッケージで置き換えられます:"
 
-#: cmdline/apt-get.cc:1297 cmdline/apt-shell.cc:1367
+#: cmdline/apt-get.cc:791 cmdline/apt-shell.cc:818
 #, c-format
 msgid "Package %s has no installation candidate"
 msgstr "パッケージ %s はインストールすることができません"
 
-#: cmdline/apt-get.cc:1317 cmdline/apt-shell.cc:1393
+#: cmdline/apt-get.cc:811 cmdline/apt-shell.cc:844
 #, c-format
 msgid "Reinstallation of %s is not possible, it cannot be downloaded.\n"
 msgstr ""
 "* %s をダウンロードすることができないため、再インストールは不可能です。\n"
 
-#: cmdline/apt-get.cc:1325 cmdline/apt-shell.cc:1401
+#: cmdline/apt-get.cc:819 cmdline/apt-shell.cc:852
 #, c-format
 msgid "%s is already the newest version.\n"
 msgstr "* %s は既に最新バージョンがインストールされています。\n"
 
-#: cmdline/apt-get.cc:1354 cmdline/apt-shell.cc:1430
+#: cmdline/apt-get.cc:848 cmdline/apt-shell.cc:881
 #, c-format
 msgid "Release %s'%s' for '%s' was not found"
 msgstr "パッケージ '%3$s' のリリース %1$s'%2$s' が見付かりません"
 
-#: cmdline/apt-get.cc:1356 cmdline/apt-shell.cc:1432
+#: cmdline/apt-get.cc:850 cmdline/apt-shell.cc:883
 #, c-format
 msgid "Version %s'%s' for '%s' was not found"
 msgstr "パッケージ '%3$s' のバージョン %1$s'%2$s' が見付かりません"
 
-#: cmdline/apt-get.cc:1364 cmdline/apt-shell.cc:1440
+#: cmdline/apt-get.cc:858 cmdline/apt-shell.cc:891
 #, c-format
 msgid "Selected version %s (%s) for %s\n"
 msgstr "%3$s としてバージョン %1$s (%2$s) を選択しました\n"
 
-#: cmdline/apt-get.cc:1367 cmdline/apt-shell.cc:1443
+#: cmdline/apt-get.cc:861 cmdline/apt-shell.cc:894
 #, c-format
 msgid "Selected version %s for %s\n"
 msgstr "%2$s のバージョン %1$s を選択しました\n"
 
-#: cmdline/apt-get.cc:1495
+#: cmdline/apt-get.cc:894
 msgid "The update command takes no arguments"
 msgstr "update コマンドは引数をとりません"
 
-#: cmdline/apt-get.cc:1518 cmdline/apt-shell.cc:1585
+#: cmdline/apt-get.cc:917 cmdline/apt-shell.cc:941
 #, c-format
 msgid "Sources list %s could not be read"
 msgstr "ソースリスト %s を読みこむことができません"
 
-#: cmdline/apt-get.cc:1521 cmdline/apt-shell.cc:1588
+#: cmdline/apt-get.cc:920 cmdline/apt-shell.cc:944
 #, c-format
 msgid "Sources list %s doesn't exist"
 msgstr "ソースリスト %s が存在しません"
 
-#: cmdline/apt-get.cc:1534 cmdline/apt-shell.cc:1600
+#: cmdline/apt-get.cc:933 cmdline/apt-shell.cc:956
 msgid "Unable to lock the list directory"
 msgstr "listディレクトリをロックすることができません"
 
-#: cmdline/apt-get.cc:1566 cmdline/apt-shell.cc:1630
+#: cmdline/apt-get.cc:965 cmdline/apt-shell.cc:986
 msgid ""
 "Release files for some repositories could not be retrieved or authenticated. "
 "Such repositories are being ignored."
@@ -849,7 +717,7 @@ msgstr ""
 "いくつかのリポジトリのリリースファイルが取得できませんでした。取得できなかっ"
 "たリポジトリは無視されます。"
 
-#: cmdline/apt-get.cc:1634 cmdline/apt-shell.cc:1692
+#: cmdline/apt-get.cc:1033 cmdline/apt-shell.cc:1048
 msgid ""
 "Some index files failed to download, they have been ignored, or old ones "
 "used instead."
@@ -857,34 +725,34 @@ msgstr ""
 "いくつかのインデックスファイルのダウンロードに失敗、無視、あるいは古いものが"
 "使用されました。"
 
-#: cmdline/apt-get.cc:1653 cmdline/apt-shell.cc:1721
+#: cmdline/apt-get.cc:1052 cmdline/apt-shell.cc:1077
 msgid "Internal Error, AllUpgrade broke stuff"
 msgstr "内部エラー、AllUpgrade は何かを破壊します"
 
-#: cmdline/apt-get.cc:1750 cmdline/apt-get.cc:1767 cmdline/apt-shell.cc:1823
-#: cmdline/apt-shell.cc:1840
+#: cmdline/apt-get.cc:1149 cmdline/apt-get.cc:1166 cmdline/apt-shell.cc:1179
+#: cmdline/apt-shell.cc:1196
 #, c-format
 msgid "Couldn't parse name '%s'"
 msgstr "'%s' をパースすることができませんでした"
 
-#: cmdline/apt-get.cc:1862 cmdline/apt-get.cc:1901 cmdline/apt-shell.cc:1933
-#: cmdline/apt-shell.cc:1973
+#: cmdline/apt-get.cc:1261 cmdline/apt-get.cc:1300 cmdline/apt-shell.cc:1289
+#: cmdline/apt-shell.cc:1329
 #, c-format
 msgid "Couldn't find package %s"
 msgstr "パッケージ %s が見付かりません"
 
-#: cmdline/apt-get.cc:1876 cmdline/apt-shell.cc:1947 cmdline/cmdline.cc:43
+#: cmdline/apt-get.cc:1275 cmdline/apt-shell.cc:1303 cmdline/cmdline.cc:47
 #, c-format
 msgid "Regex compilation error - %s"
 msgstr "正規表現の展開エラー - %s"
 
-#: cmdline/apt-get.cc:1931
+#: cmdline/apt-get.cc:1330
 msgid "You might want to run `apt-get --fix-broken install' to correct these:"
 msgstr ""
 "以下の問題を解決するために 'apt-get --fix-broken install' を実行する必要があ"
 "るかもしれません:"
 
-#: cmdline/apt-get.cc:1934
+#: cmdline/apt-get.cc:1333
 msgid ""
 "Unmet dependencies. Try 'apt-get --fix-broken install' with no packages (or "
 "specify a solution)."
@@ -892,7 +760,7 @@ msgstr ""
 "未解決の依存情報です。'apt-get --fix-broken install' を実行してみてください"
 "(又は解決パッケージを明示してください)。"
 
-#: cmdline/apt-get.cc:1956 cmdline/apt-shell.cc:2036
+#: cmdline/apt-get.cc:1355 cmdline/apt-shell.cc:1392
 #, fuzzy
 msgid ""
 "Some packages could not be installed. This may mean that you have\n"
@@ -904,7 +772,7 @@ msgstr ""
 "たり、まだIncomingから移動されていない)不安定なディストリビューション\n"
 "を使用していないでしょうか。"
 
-#: cmdline/apt-get.cc:1963 cmdline/apt-shell.cc:2043
+#: cmdline/apt-get.cc:1362 cmdline/apt-shell.cc:1399
 msgid ""
 "Since you only requested a single operation it is extremely likely that\n"
 "the package is simply not installable and a bug report against\n"
@@ -913,105 +781,100 @@ msgstr ""
 "単純な操作だけを行った時に、パッケージがインストール\n"
 "できない場合は、バグリポートしてください。"
 
-#: cmdline/apt-get.cc:1968 cmdline/apt-shell.cc:2048
+#: cmdline/apt-get.cc:1367 cmdline/apt-shell.cc:1404
 msgid "The following information may help to resolve the situation:"
 msgstr "以下の情報がこの問題を解決するために役立つかもしれません:"
 
-#: cmdline/apt-get.cc:1971 cmdline/apt-shell.cc:2052
+#: cmdline/apt-get.cc:1370 cmdline/apt-shell.cc:1408
 msgid "Broken packages"
 msgstr "壊れたパッケージです"
 
-#: cmdline/apt-get.cc:1998
+#: cmdline/apt-get.cc:1397
 msgid "The following extra packages will be installed:"
 msgstr "以下の追加パッケージがインストールされます:"
 
-#: cmdline/apt-get.cc:2078
+#: cmdline/apt-get.cc:1477
 msgid "Suggested packages:"
 msgstr "推奨されたパッケージ:"
 
-#: cmdline/apt-get.cc:2079
+#: cmdline/apt-get.cc:1478
 msgid "Recommended packages:"
 msgstr "推奨されたパッケージ:"
 
-#: cmdline/apt-get.cc:2103 cmdline/apt-shell.cc:2079
+#: cmdline/apt-get.cc:1502 cmdline/apt-shell.cc:1435
 msgid "Calculating Upgrade... "
 msgstr "アップグレードパッケージを検出しています... "
 
-#: cmdline/apt-get.cc:2106 cmdline/apt-shell.cc:2082 methods/connect.cc:102
+#: cmdline/apt-get.cc:1505 cmdline/apt-shell.cc:1438 methods/connect.cc:102
 #: methods/ftp.cc:706
 msgid "Failed"
 msgstr "失敗"
 
-#: cmdline/apt-get.cc:2122 cmdline/apt-shell.cc:2094
+#: cmdline/apt-get.cc:1521 cmdline/apt-shell.cc:1450
 msgid "Done"
 msgstr "完了"
 
-#: cmdline/apt-get.cc:2301
+#: cmdline/apt-get.cc:1585
 msgid "Must specify at least one package to fetch source for"
 msgstr ""
 "ソースを取得するには少なくともひとつのパッケージ名を指定する必要があります"
 
-#: cmdline/apt-get.cc:2358 cmdline/apt-get.cc:2598 cmdline/apt-shell.cc:2321
+#: cmdline/apt-get.cc:1642 cmdline/apt-get.cc:1826 cmdline/apt-shell.cc:1556
 #, c-format
 msgid "Unable to find a source package for %s"
 msgstr "%s のソースパッケージが見付かりません"
 
-#: cmdline/apt-get.cc:2407
+#: cmdline/apt-get.cc:1680
 #, c-format
 msgid "You don't have enough free space in %s"
 msgstr "%s に十分な空きスペースがありません"
 
-#: cmdline/apt-get.cc:2412
+#: cmdline/apt-get.cc:1685
 #, c-format
 msgid "Need to get %sB/%sB of source archives.\n"
 msgstr "%sB/%sB のソースアーカイブを取得します。\n"
 
-#: cmdline/apt-get.cc:2415
+#: cmdline/apt-get.cc:1688
 #, c-format
 msgid "Need to get %sB of source archives.\n"
 msgstr "%sB のソースアーカイブを取得します。\n"
 
-#: cmdline/apt-get.cc:2421
+#: cmdline/apt-get.cc:1694
 #, c-format
 msgid "Fetch Source %s\n"
 msgstr "ソース %s を取得します\n"
 
-#: cmdline/apt-get.cc:2486 cmdline/apt-get.cc:2537
+#: cmdline/apt-get.cc:1754
 #, c-format
 msgid "Build command '%s' failed.\n"
 msgstr "ビルドコマンド '%s' が失敗しました\n"
 
-#: cmdline/apt-get.cc:2498 cmdline/apt-get.cc:2520
+#: cmdline/apt-get.cc:1766
 #, c-format
 msgid "Unpack command '%s' failed.\n"
 msgstr "展開コマンド '%s' が失敗しました\n"
 
-#: cmdline/apt-get.cc:2508
-#, c-format
-msgid "Skipping unpack of already unpacked source in %s\n"
-msgstr "すでに %s に展開されたソースがあるため、展開をスキップします\n"
-
-#: cmdline/apt-get.cc:2557
+#: cmdline/apt-get.cc:1785
 msgid "Child process failed"
 msgstr "子プロセスが失敗しました"
 
-#: cmdline/apt-get.cc:2575 cmdline/apt-shell.cc:2298
+#: cmdline/apt-get.cc:1803 cmdline/apt-shell.cc:1533
 msgid "Must specify at least one package to check builddeps for"
 msgstr ""
 "check builddeps を実行するには少なくともひとつのパッケージを指定する必要があ"
 "ります"
 
-#: cmdline/apt-get.cc:2603 cmdline/apt-shell.cc:2326
+#: cmdline/apt-get.cc:1831 cmdline/apt-shell.cc:1561
 #, c-format
 msgid "Unable to get build-dependency information for %s"
 msgstr "%s のビルド依存情報を取得することができません"
 
-#: cmdline/apt-get.cc:2623 cmdline/apt-shell.cc:2346
+#: cmdline/apt-get.cc:1851 cmdline/apt-shell.cc:1581
 #, c-format
 msgid "%s has no build depends.\n"
 msgstr "%s はビルド依存が指定されていません\n"
 
-#: cmdline/apt-get.cc:2694 cmdline/apt-shell.cc:2417
+#: cmdline/apt-get.cc:1922 cmdline/apt-shell.cc:1652
 #, c-format
 msgid ""
 "%s dependency for %s cannot be satisfied because the package %s cannot be "
@@ -1020,7 +883,7 @@ msgstr ""
 "パッケージ %3$s が見つからないため、%2$s の %1$s の依存を満たすことができませ"
 "ん。"
 
-#: cmdline/apt-get.cc:2746 cmdline/apt-shell.cc:2469
+#: cmdline/apt-get.cc:1974 cmdline/apt-shell.cc:1704
 #, c-format
 msgid ""
 "%s dependency for %s cannot be satisfied because no available versions of "
@@ -1029,17 +892,17 @@ msgstr ""
 "%3$s の必要とされているパージョンのパッケージが見つからないため、%2$s の %1"
 "$s の依存を満たすことができません。"
 
-#: cmdline/apt-get.cc:2781 cmdline/apt-shell.cc:2503
+#: cmdline/apt-get.cc:2009 cmdline/apt-shell.cc:1738
 #, c-format
 msgid "Failed to satisfy %s dependency for %s: Installed package %s is too new"
 msgstr ""
 
-#: cmdline/apt-get.cc:2806 cmdline/apt-shell.cc:2528
+#: cmdline/apt-get.cc:2034 cmdline/apt-shell.cc:1763
 #, c-format
 msgid "Failed to satisfy %s dependency for %s: %s"
 msgstr "%2$s の %1$s 依存関係を解決することができません: %3$s"
 
-#: cmdline/apt-get.cc:2823 cmdline/apt-shell.cc:2542
+#: cmdline/apt-get.cc:2051 cmdline/apt-shell.cc:1777
 #, c-format
 msgid ""
 "Some broken packages were found while trying to process build-dependencies "
@@ -1051,15 +914,15 @@ msgstr ""
 "これらを解決するためには 'apt-get --fix-broken install' を実行する必要がある"
 "かもしれません。"
 
-#: cmdline/apt-get.cc:2829
+#: cmdline/apt-get.cc:2057
 msgid "Failed to process build dependencies"
 msgstr "ビルド依存関係を解決することができません"
 
-#: cmdline/apt-get.cc:2896 cmdline/apt-shell.cc:3591
+#: cmdline/apt-get.cc:2124 cmdline/apt-shell.cc:1953
 msgid