Explorar el Código

merge with debian-experimental-ma

David Kalnischkies hace 16 años
padre
commit
d1aa91622b

+ 2 - 1
apt-pkg/acquire-item.h

@@ -27,6 +27,7 @@
 #include <apt-pkg/pkgrecords.h>
 #include <apt-pkg/pkgrecords.h>
 #include <apt-pkg/indexrecords.h>
 #include <apt-pkg/indexrecords.h>
 #include <apt-pkg/hashes.h>
 #include <apt-pkg/hashes.h>
+#include <apt-pkg/weakptr.h>
 
 
 /** \addtogroup acquire
 /** \addtogroup acquire
  *  @{
  *  @{
@@ -46,7 +47,7 @@
  *
  *
  *  \see pkgAcquire
  *  \see pkgAcquire
  */
  */
-class pkgAcquire::Item
+class pkgAcquire::Item : public WeakPointable
 {  
 {  
    protected:
    protected:
    
    

+ 2 - 1
apt-pkg/acquire-worker.h

@@ -20,6 +20,7 @@
 #define PKGLIB_ACQUIRE_WORKER_H
 #define PKGLIB_ACQUIRE_WORKER_H
 
 
 #include <apt-pkg/acquire.h>
 #include <apt-pkg/acquire.h>
+#include <apt-pkg/weakptr.h>
 
 
 
 
 /** \brief A fetch subprocess.
 /** \brief A fetch subprocess.
@@ -41,7 +42,7 @@
  *
  *
  *  \sa pkgAcqMethod, pkgAcquire::Item, pkgAcquire
  *  \sa pkgAcqMethod, pkgAcquire::Item, pkgAcquire
  */
  */
-class pkgAcquire::Worker
+class pkgAcquire::Worker : public WeakPointable
 {
 {
    friend class pkgAcquire;
    friend class pkgAcquire;
    
    

+ 2 - 1
apt-pkg/acquire.h

@@ -67,6 +67,7 @@
 #define PKGLIB_ACQUIRE_H
 #define PKGLIB_ACQUIRE_H
 
 
 #include <apt-pkg/macros.h>
 #include <apt-pkg/macros.h>
+#include <apt-pkg/weakptr.h>
 
 
 #include <vector>
 #include <vector>
 #include <string>
 #include <string>
@@ -376,7 +377,7 @@ class pkgAcquire
  *
  *
  *  An item may have several assocated ItemDescs over its lifetime.
  *  An item may have several assocated ItemDescs over its lifetime.
  */
  */
-struct pkgAcquire::ItemDesc
+struct pkgAcquire::ItemDesc : public WeakPointable
 {
 {
    /** \brief The URI from which to download this item. */
    /** \brief The URI from which to download this item. */
    string URI;
    string URI;

+ 62 - 0
apt-pkg/contrib/weakptr.h

@@ -0,0 +1,62 @@
+/* weakptr.h - An object which supports weak pointers.
+ *
+ * Copyright (C) 2010 Julian Andres Klode <jak@debian.org>
+ * 
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301, USA.
+ */
+
+#ifndef WEAK_POINTER_H
+#define WEAK_POINTER_H
+
+#include <set>
+/**
+ * Class for objects providing support for weak pointers.
+ *
+ * This class allows for the registration of certain pointers as weak,
+ * which will cause them to be set to NULL when the destructor of the
+ * object is called.
+ */
+class WeakPointable {
+private:
+    std::set<WeakPointable**> pointers;
+
+public:
+
+    /**
+     * Add a new weak pointer.
+     */
+    inline void AddWeakPointer(WeakPointable** weakptr) {
+       pointers.insert(weakptr);
+    }
+
+    /**
+     * Remove the weak pointer from the list of weak pointers.
+     */
+    inline void RemoveWeakPointer(WeakPointable **weakptr) {
+       pointers.erase(weakptr);
+    }
+
+    /**
+     * Deconstruct the object, set all weak pointers to NULL.
+     */
+    ~WeakPointable() {
+        std::set<WeakPointable**>::iterator iter = pointers.begin();
+        while (iter != pointers.end())
+            **(iter++) = NULL;
+    }
+};
+
+#endif // WEAK_POINTER_H

+ 2 - 1
apt-pkg/deb/debrecords.cc

@@ -20,7 +20,8 @@
 /* */
 /* */
 debRecordParser::debRecordParser(string FileName,pkgCache &Cache) : 
 debRecordParser::debRecordParser(string FileName,pkgCache &Cache) : 
                   File(FileName,FileFd::ReadOnly), 
                   File(FileName,FileFd::ReadOnly), 
-                  Tags(&File,Cache.Head().MaxVerFileSize + 200)
+                  Tags(&File, std::max(Cache.Head().MaxVerFileSize, 
+				       Cache.Head().MaxDescFileSize) + 200)
 {
 {
 }
 }
 									/*}}}*/
 									/*}}}*/

+ 1 - 1
apt-pkg/makefile

@@ -25,7 +25,7 @@ SOURCE = contrib/mmap.cc contrib/error.cc contrib/strutl.cc \
 	 contrib/fileutl.cc 
 	 contrib/fileutl.cc 
 HEADERS = mmap.h error.h configuration.h fileutl.h  cmndline.h netrc.h\
 HEADERS = mmap.h error.h configuration.h fileutl.h  cmndline.h netrc.h\
 	  md5.h crc-16.h cdromutl.h strutl.h sptr.h sha1.h sha256.h hashes.h \
 	  md5.h crc-16.h cdromutl.h strutl.h sptr.h sha1.h sha256.h hashes.h \
-	  macros.h
+	  macros.h weakptr.h
 
 
 # Source code for the core main library
 # Source code for the core main library
 SOURCE+= pkgcache.cc version.cc depcache.cc \
 SOURCE+= pkgcache.cc version.cc depcache.cc \

+ 27 - 0
cmdline/apt-cache.cc

@@ -14,7 +14,9 @@
 									/*}}}*/
 									/*}}}*/
 // Include Files							/*{{{*/
 // Include Files							/*{{{*/
 #include <apt-pkg/error.h>
 #include <apt-pkg/error.h>
+#include <cassert>
 #include <apt-pkg/pkgcachegen.h>
 #include <apt-pkg/pkgcachegen.h>
+#include <apt-pkg/cachefile.h>
 #include <apt-pkg/init.h>
 #include <apt-pkg/init.h>
 #include <apt-pkg/progress.h>
 #include <apt-pkg/progress.h>
 #include <apt-pkg/sourcelist.h>
 #include <apt-pkg/sourcelist.h>
@@ -1406,6 +1408,29 @@ bool Search(CommandLine &CmdL)
        return _error->Error("Write to stdout failed");
        return _error->Error("Write to stdout failed");
    return true;
    return true;
 }
 }
+
+
+/* show automatically installed packages (sorted) */
+bool ShowAuto(CommandLine &CmdL)
+{
+   OpProgress op;
+   pkgDepCache DepCache(GCache);
+   DepCache.Init(&op);
+
+   std::vector<string> packages;
+   packages.reserve(GCache->HeaderP->PackageCount / 3);
+   
+   for (pkgCache::PkgIterator P = GCache->PkgBegin(); P.end() == false; P++)
+      if (DepCache[P].Flags & pkgCache::Flag::Auto)
+         packages.push_back(P.Name());
+
+    std::sort(packages.begin(), packages.end());
+    
+    for (vector<string>::iterator I = packages.begin(); I != packages.end(); I++)
+            cout << *I << "\n";
+
+   return true;
+}
 									/*}}}*/
 									/*}}}*/
 // ShowPackage - Dump the package record to the screen			/*{{{*/
 // ShowPackage - Dump the package record to the screen			/*{{{*/
 // ---------------------------------------------------------------------
 // ---------------------------------------------------------------------
@@ -1777,6 +1802,7 @@ bool ShowHelp(CommandLine &Cmd)
       "   unmet - Show unmet dependencies\n"
       "   unmet - Show unmet dependencies\n"
       "   search - Search the package list for a regex pattern\n"
       "   search - Search the package list for a regex pattern\n"
       "   show - Show a readable record for the package\n"
       "   show - Show a readable record for the package\n"
+      "   showauto - Display a list of automatically installed packages\n"
       "   depends - Show raw dependency information for a package\n"
       "   depends - Show raw dependency information for a package\n"
       "   rdepends - Show reverse dependency information for a package\n"
       "   rdepends - Show reverse dependency information for a package\n"
       "   pkgnames - List the names of all packages in the system\n"
       "   pkgnames - List the names of all packages in the system\n"
@@ -1841,6 +1867,7 @@ int main(int argc,const char *argv[])					/*{{{*/
                                     {"xvcg",&XVcg},
                                     {"xvcg",&XVcg},
                                     {"show",&ShowPackage},
                                     {"show",&ShowPackage},
                                     {"pkgnames",&ShowPkgNames},
                                     {"pkgnames",&ShowPkgNames},
+                                    {"showauto",&ShowAuto},
                                     {"policy",&Policy},
                                     {"policy",&Policy},
                                     {"madison",&Madison},
                                     {"madison",&Madison},
                                     {0,0}};
                                     {0,0}};

+ 49 - 1
cmdline/apt-get.cc

@@ -1315,6 +1315,10 @@ pkgSrcRecords::Parser *FindSrc(const char *Name,pkgRecords &Recs,
 		  break;
 		  break;
 	       fuzzy = true;
 	       fuzzy = true;
 	       Ver = Pkg.VersionList();
 	       Ver = Pkg.VersionList();
+	       // exit right away from the Pkg.VersionList() loop if we
+	       // don't have any versions
+	       if (Ver.end() == true)
+		  break;
 	    }
 	    }
 	    // We match against a concrete version (or a part of this version)
 	    // We match against a concrete version (or a part of this version)
 	    if (VerTag.empty() == false &&
 	    if (VerTag.empty() == false &&
@@ -1934,7 +1938,7 @@ bool DoInstall(CommandLine &CmdL)
 	       string target = Start.TargetPkg().FullName(true) + " ";
 	       string target = Start.TargetPkg().FullName(true) + " ";
 	       pkgCache::PkgIterator const TarPkg = Start.TargetPkg();
 	       pkgCache::PkgIterator const TarPkg = Start.TargetPkg();
 	       if (TarPkg->SelectedState == pkgCache::State::Install ||
 	       if (TarPkg->SelectedState == pkgCache::State::Install ||
-	           TarPkg->SelectedState == pkgCache::State::Hold ||
+		   TarPkg->SelectedState == pkgCache::State::Hold ||
 		   Cache[Start.TargetPkg()].Install())
 		   Cache[Start.TargetPkg()].Install())
 	       {
 	       {
 		  foundInstalledInOrGroup=true;
 		  foundInstalledInOrGroup=true;
@@ -2010,6 +2014,46 @@ bool DoInstall(CommandLine &CmdL)
 
 
    return InstallPackages(Cache,false);   
    return InstallPackages(Cache,false);   
 }
 }
+
+/* mark packages as automatically/manually installed. */
+bool DoMarkAuto(CommandLine &CmdL)
+{
+   bool Action = true;
+   int AutoMarkChanged = 0;
+   OpTextProgress progress;
+   CacheFile Cache;
+   if (Cache.Open() == false)
+      return false;
+
+   if (strcasecmp(CmdL.FileList[0],"markauto") == 0)
+      Action = true;
+   else if (strcasecmp(CmdL.FileList[0],"unmarkauto") == 0)
+      Action = false;
+
+   for (const char **I = CmdL.FileList + 1; *I != 0; I++)
+   {
+      const char *S = *I;
+      // Locate the package
+      pkgCache::PkgIterator Pkg = Cache->FindPkg(S);
+      if (Pkg.end() == true) {
+         return _error->Error(_("Couldn't find package %s"),S);
+      }
+      else
+      {
+         if (!Action)
+            ioprintf(c1out,_("%s set to manually installed.\n"), Pkg.Name());
+         else
+            ioprintf(c1out,_("%s set to automatically installed.\n"),
+                      Pkg.Name());
+
+         Cache->MarkAuto(Pkg,Action);
+         AutoMarkChanged++;
+      }
+   }
+   if (AutoMarkChanged && ! _config->FindB("APT::Get::Simulate",false))
+      return Cache->writeStateFile(NULL);
+   return false;
+}
 									/*}}}*/
 									/*}}}*/
 // DoDistUpgrade - Automatic smart upgrader				/*{{{*/
 // DoDistUpgrade - Automatic smart upgrader				/*{{{*/
 // ---------------------------------------------------------------------
 // ---------------------------------------------------------------------
@@ -2796,6 +2840,8 @@ bool ShowHelp(CommandLine &CmdL)
       "   clean - Erase downloaded archive files\n"
       "   clean - Erase downloaded archive files\n"
       "   autoclean - Erase old downloaded archive files\n"
       "   autoclean - Erase old downloaded archive files\n"
       "   check - Verify that there are no broken dependencies\n"
       "   check - Verify that there are no broken dependencies\n"
+      "   markauto - Mark the given packages as automatically installed\n"
+      "   unmarkauto - Mark the given packages as manually installed\n"
       "\n"
       "\n"
       "Options:\n"
       "Options:\n"
       "  -h  This help text.\n"
       "  -h  This help text.\n"
@@ -2902,6 +2948,8 @@ int main(int argc,const char *argv[])					/*{{{*/
                                    {"purge",&DoInstall},
                                    {"purge",&DoInstall},
 				   {"autoremove",&DoInstall},
 				   {"autoremove",&DoInstall},
 				   {"purge",&DoInstall},
 				   {"purge",&DoInstall},
+				   {"markauto",&DoMarkAuto},
+				   {"unmarkauto",&DoMarkAuto},
                                    {"dist-upgrade",&DoDistUpgrade},
                                    {"dist-upgrade",&DoDistUpgrade},
                                    {"dselect-upgrade",&DoDSelectUpgrade},
                                    {"dselect-upgrade",&DoDSelectUpgrade},
 				   {"build-dep",&DoBuildDep},
 				   {"build-dep",&DoBuildDep},

+ 2 - 1
cmdline/apt-mark

@@ -8,7 +8,7 @@ import os.path
 try:
 try:
     import apt_pkg
     import apt_pkg
 except ImportError:
 except ImportError:
-    print "Error importing apt_pkg, is python-apt installed?"
+    print >> sys.stderr, "Error importing apt_pkg, is python-apt installed?"
     sys.exit(1)
     sys.exit(1)
     
     
 actions = { "markauto" : 1,
 actions = { "markauto" : 1,
@@ -68,6 +68,7 @@ if __name__ == "__main__":
     # option parsing
     # option parsing
     parser = OptionParser()
     parser = OptionParser()
     parser.usage = "%prog [options] {markauto|unmarkauto} packages..."
     parser.usage = "%prog [options] {markauto|unmarkauto} packages..."
+    parser.epilog = "apt-mark is deprecated, use apt-get markauto/unmarkauto."
     parser.add_option("-f", "--file", action="store", type="string",
     parser.add_option("-f", "--file", action="store", type="string",
                       dest="filename",
                       dest="filename",
                       help="read/write a different file")
                       help="read/write a different file")

+ 1 - 1
configure.in

@@ -18,7 +18,7 @@ AC_CONFIG_AUX_DIR(buildlib)
 AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in)
 AC_CONFIG_HEADER(include/config.h:buildlib/config.h.in include/apti18n.h:buildlib/apti18n.h.in)
 
 
 dnl -- SET THIS TO THE RELEASE VERSION --
 dnl -- SET THIS TO THE RELEASE VERSION --
-AC_DEFINE_UNQUOTED(VERSION,"0.7.25")
+AC_DEFINE_UNQUOTED(VERSION,"0.7.26~exp4")
 PACKAGE="apt"
 PACKAGE="apt"
 AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")
 AC_DEFINE_UNQUOTED(PACKAGE,"$PACKAGE")
 AC_SUBST(PACKAGE)
 AC_SUBST(PACKAGE)

+ 53 - 30
debian/changelog

@@ -1,20 +1,31 @@
-apt (0.7.26~exp4) UNRELEASED; urgency=low
+apt (0.7.26~exp5) UNRELEASED; urgency=low
 
 
-  [ Michael Vogt ]
-  * [ Abi break ] apt-pkg/acquire-item.{cc,h}:
-    - add "IsIndexFile" to constructor of pkgAcqFile so that it sends
-      the right cache control headers
-  * apt-pkg/depcache.cc:
-    - fix incorrect std::cout usage for debug output
-  * test/libapt/getlanguages_test.cc:
-    - Add test for Esperanto that has nocounty associated with them
-      (LP: #560956)
+  [ David Kalnischkies ]
+  * cmdline/apt-get.cc:
+    - rerun dpkg-source in source if --fix-broken is given (Closes: #576752)
+    - don't suggest held packages as they are installed (Closes: #578135)
+  * cmdline/apt-cache.cc:
+    - use GroupCount for package names in stats and add a package struct line
+  * methods/rred.cc:
+    - use the patchfile modification time instead of the one from the
+      "old" file - thanks to Philipp Weis for noticing! (Closes: #571541)
+  * debian/rules:
+    - remove targets refering to CVS or arch as they are useless
+
+  [ Jari Aalto ]
+  * debian/rules:
+    - spell out some less known options to reduce manpage consulation-rate
+    - Use POSIX command substitution: $(<command sequence>)
+    - Remove EOL whitespace (Closes: #577804)
+
+ -- David Kalnischkies <kalnischkies@gmail.com>  Thu, 06 May 2010 16:10:39 +0200
+
+apt (0.7.26~exp4) experimental; urgency=low
 
 
   [ David Kalnischkies ]
   [ David Kalnischkies ]
   * apt-pkg/depcache.cc:
   * apt-pkg/depcache.cc:
     - rewrite the pseudo package reinstaller to be more intelligent
     - rewrite the pseudo package reinstaller to be more intelligent
       in his package choices
       in his package choices
-    - return in SingleArch a package also for "any"
   * apt-pkg/packagemanager.cc:
   * apt-pkg/packagemanager.cc:
     - don't try to "unpack" pseudo packages twice
     - don't try to "unpack" pseudo packages twice
   * apt-pkg/contrib/fileutl.cc:
   * apt-pkg/contrib/fileutl.cc:
@@ -33,8 +44,6 @@ apt (0.7.26~exp4) UNRELEASED; urgency=low
     - regex for package names executed on Grp- not PkgIterator
     - regex for package names executed on Grp- not PkgIterator
     - show non-candidates as fallback for virtual packages (Closes: #578385)
     - show non-candidates as fallback for virtual packages (Closes: #578385)
     - set also "all" to this version for pseudo packages in TryToChangeVer
     - set also "all" to this version for pseudo packages in TryToChangeVer
-    - rerun dpkg-source in source if --fix-broken is given (Closes: #576752)
-    - don't suggest held packages as they are installed (Closes: #578135)
   * apt-pkg/deb/dpkgpm.cc:
   * apt-pkg/deb/dpkgpm.cc:
     - remove Chroot-Directory from files passed to install commands.
     - remove Chroot-Directory from files passed to install commands.
       Thanks to Kel Modderman for report & patch! (Closes: #577226)
       Thanks to Kel Modderman for report & patch! (Closes: #577226)
@@ -43,7 +52,6 @@ apt (0.7.26~exp4) UNRELEASED; urgency=low
   * cmdline/apt-cache.cc:
   * cmdline/apt-cache.cc:
     - align Installed and Candidate Version in policy so they can be compared
     - align Installed and Candidate Version in policy so they can be compared
       easier, thanks Ralf Gesellensetter for the pointer! (Closes: #578657)
       easier, thanks Ralf Gesellensetter for the pointer! (Closes: #578657)
-    - use GroupCount for package names in stats and add a package struct line
   * doc/apt.ent:
   * doc/apt.ent:
     - Add a note about APT_CONFIG in the -c description (Closes: #578267)
     - Add a note about APT_CONFIG in the -c description (Closes: #578267)
   * doc/po/de.po:
   * doc/po/de.po:
@@ -60,11 +68,6 @@ apt (0.7.26~exp4) UNRELEASED; urgency=low
   * apt-pkg/pkgcache.h:
   * apt-pkg/pkgcache.h:
     - enhance the Groups ABI by providing a ID as the other structs does
     - enhance the Groups ABI by providing a ID as the other structs does
     - check also the size of the Group struct then checking for the others
     - check also the size of the Group struct then checking for the others
-  * methods/rred.cc:
-    - use the patchfile modification time instead of the one from the
-      "old" file - thanks to Philipp Weis for noticing! (Closes: #571541)
-  * debian/rules:
-    - remove targets refering to CVS or arch as they are useless
 
 
   [ Jari Aalto ]
   [ Jari Aalto ]
   * cmdline/apt-get.cc:
   * cmdline/apt-get.cc:
@@ -73,12 +76,39 @@ apt (0.7.26~exp4) UNRELEASED; urgency=low
   * dselect/install:
   * dselect/install:
     - modernize if-statements not to use 'x' (Closes: #577117)
     - modernize if-statements not to use 'x' (Closes: #577117)
     - replace backticks with POSIX $() (Closes: #577116)
     - replace backticks with POSIX $() (Closes: #577116)
+
+  [ Michael Vogt ]
+  * [ Abi break ] apt-pkg/acquire-item.{cc,h}:
+    - add "IsIndexFile" to constructor of pkgAcqFile so that it sends
+      the right cache control headers
+  * cmdline/apt-get.cc:
+    - fix crash when pkg.VersionList() is empty
+  * apt-pkg/depcache.cc:
+    - fix incorrect std::cout usage for debug output
+  * test/libapt/getlanguages_test.cc:
+    - Add test for Esperanto that has nocounty associated with them
+      (LP: #560956)
+  * apt-pkg/deb/debrecords.cc:
+    - fix max tag buffer size (LP: #545336, closes: #578959)
   * debian/rules:
   * debian/rules:
-    - spell out some less known options to reduce manpage consulation-rate
-    - Use POSIX command substitution: $(<command sequence>)
-    - Remove EOL whitespace (Closes: #577804)
+    - install html doxygen in libapt-pkg-doc 
+  * debian/control:
+    - build-depend on doxygen
+
+  [ Julian Andres Klode ]
+  * apt-pkg/contrib/weakptr.h:
+    - add a class WeakPointable which allows one to register weak pointers to
+      an object which will be set to NULL when the object is deallocated.
+  * [ABI break] apt-pkg/acquire{-worker,-item,}.h:
+    - subclass pkgAcquire::{Worker,Item,ItemDesc} from WeakPointable.
+  * apt-pkg/pkgcache.cc:
+    - Merge fix from David to correct handling in single-arch environments.
+  * cmdline/apt-cache.cc:
+    - Add a showauto command to apt-cache.
+  * cmdline/apt-get.cc:
+    - Add apt-get markauto and unmarkauto commands.
 
 
- -- David Kalnischkies <kalnischkies@gmail.com>  Sat, 03 Apr 2010 14:58:39 +0200
+ -- Michael Vogt <mvo@debian.org>  Thu, 06 May 2010 09:32:54 +0200
 
 
 apt (0.7.26~exp3) experimental; urgency=low
 apt (0.7.26~exp3) experimental; urgency=low
 
 
@@ -1584,13 +1614,6 @@ apt (0.7.6) unstable; urgency=low
 
 
  -- Otavio Salvador <otavio@debian.org>  Wed, 01 Aug 2007 19:49:51 -0300
  -- Otavio Salvador <otavio@debian.org>  Wed, 01 Aug 2007 19:49:51 -0300
 
 
-apt (0.7.6) unstable; urgency=low
-
-  * Applied patch from Aurelien Jarno <aurel32@debian.org> to fix wrong
-    directory downloading on non-linux architectures (closes: #435597)
-
- -- Otavio Salvador <otavio@debian.org>  Wed, 01 Aug 2007 19:49:51 -0300
-
 apt (0.7.5) unstable; urgency=low
 apt (0.7.5) unstable; urgency=low
 
 
   [ Otavio Salvador ]
   [ Otavio Salvador ]

+ 4 - 1
debian/control

@@ -6,7 +6,7 @@ Uploaders: Michael Vogt <mvo@debian.org>, Otavio Salvador <otavio@debian.org>,
  Christian Perrier <bubulle@debian.org>, Daniel Burrows <dburrows@debian.org>,
  Christian Perrier <bubulle@debian.org>, Daniel Burrows <dburrows@debian.org>,
  Luca Bruno <lethalman88@gmail.com>, Julian Andres Klode <jak@debian.org>
  Luca Bruno <lethalman88@gmail.com>, Julian Andres Klode <jak@debian.org>
 Standards-Version: 3.8.4
 Standards-Version: 3.8.4
-Build-Depends: debhelper (>= 5.0), libdb-dev, gettext (>= 0.12), libcurl4-gnutls-dev | libcurl3-gnutls-dev (>= 7.15.5), debiandoc-sgml, xsltproc, docbook-xsl, po4a (>= 0.34-2), autotools-dev, autoconf, automake
+Build-Depends: debhelper (>= 5.0), libdb-dev, gettext (>= 0.12), libcurl4-gnutls-dev | libcurl3-gnutls-dev (>= 7.15.5), debiandoc-sgml, xsltproc, docbook-xsl, po4a (>= 0.34-2), autotools-dev, autoconf, automake, doxygen
 Build-Conflicts: autoconf2.13, automake1.4
 Build-Conflicts: autoconf2.13, automake1.4
 
 
 Package: apt
 Package: apt
@@ -51,6 +51,9 @@ Section: doc
 Description: Documentation for APT development
 Description: Documentation for APT development
  This package contains documentation for development of the APT
  This package contains documentation for development of the APT
  Debian package manipulation program and its libraries.
  Debian package manipulation program and its libraries.
+ .
+ This includes the source code documentation generated by doxygen
+ in html format.
 
 
 Package: apt-utils
 Package: apt-utils
 Architecture: any
 Architecture: any

+ 2 - 1
debian/rules

@@ -145,7 +145,8 @@ libapt-pkg-doc: build-doc debian/shlibs.local
 			    $(BLD)/docs/files* \
 			    $(BLD)/docs/files* \
 			    $(BLD)/docs/method* \
 			    $(BLD)/docs/method* \
 			    doc/libapt-pkg2_to_3.txt \
 			    doc/libapt-pkg2_to_3.txt \
-			    doc/style.txt
+			    doc/style.txt \
+			    $(BLD)/doc/doxygen/html
 	dh_installexamples -p$@
 	dh_installexamples -p$@
 
 
 	dh_installchangelogs -p$@
 	dh_installchangelogs -p$@