Merge branch 'debian/sid' into ubuntu/master
[ntk/apt.git] / cmdline / apt-get.cc
index da7d28a..469e8f5 100644 (file)
@@ -1195,7 +1195,7 @@ bool DoBuildDep(CommandLine &CmdL)
               for (; Ver != verlist.end(); ++Ver)
               {
                  forbidden.clear();
-                 if (Ver->MultiArch == pkgCache::Version::None || Ver->MultiArch == pkgCache::Version::All)
+                 if (Ver->MultiArch == pkgCache::Version::None)
                  {
                     if (colon == string::npos)
                        Pkg = Ver.ParentPkg().Group().FindPkg(hostArch);
@@ -1213,7 +1213,7 @@ bool DoBuildDep(CommandLine &CmdL)
                     else if (strcmp(D->Package.c_str() + colon, ":native") == 0)
                        Pkg = Ver.ParentPkg().Group().FindPkg("native");
                  }
-                 else if ((Ver->MultiArch & pkgCache::Version::Foreign) == pkgCache::Version::Foreign)
+                 else if ((Ver->MultiArch & pkgCache::Version::Foreign) == pkgCache::Version::Foreign || Ver->MultiArch == pkgCache::Version::All)
                  {
                     if (colon == string::npos)
                        Pkg = Ver.ParentPkg().Group().FindPkg("native");
@@ -1503,7 +1503,10 @@ bool DownloadChangelog(CacheFile &CacheFile, pkgAcquire &Fetcher,
       return true;
 
    // error
-   return _error->Error("changelog download failed");
+   pkgRecords Recs(CacheFile);
+   pkgRecords::Parser &rec=Recs.Lookup(Ver.FileList());
+   string srcpkg = rec.SourcePkg().empty() ? Pkg.Name() : rec.SourcePkg();
+   return _error->Error("changelog for this version is not (yet) available; try https://launchpad.net/ubuntu/+source/%s/+changelog", srcpkg.c_str());
 }
                                                                        /*}}}*/
 // DoChangelog - Get changelog from the command line                   /*{{{*/