[Aptitude-devel] Bug#708812: Bug#708812: [aptitude] aptitude segfaults upon being called.

Andreas Barth aba at ayous.org
Sat Aug 17 16:24:51 BST 2013


* Andreas Barth (aba at ayous.org) [130816 15:11]:
> * Andreas Barth (aba at ayous.org) [130816 11:27]:
> > * Axel Beckert (abe at debian.org) [130815 17:55]:
> > > Andreas Barth wrote:
> > > > * Andreas Barth (aba at ayous.org) [130815 13:18]:
> > > > > As google-mock is now uploaded (and should be built on all
> > > > > architectures within the next hours - already built on most), could
> > > > > you please upload a new version of aptitude to unstable soon (the
> > > > > current version plus the gcc-4.8-patches worked for me, and produced a
> > > > > working aptitude on mipsel)?
> > > > 
> > > > can you please upload a new aptitude version? Or should I just NMU
> > > > aptitude with the required patches for gcc-4.8?
> > > 
> > > You are aware of that it needs more than just the patches for gcc-4.8
> > > to get aptitude build again properly?
> > 
> > I built (and installed and run) aptitude successfully on mipsel prior
> > to my NMU of google-mock. Might be that I had luck or whatever - I
> > will try this built now in a current chroot and see what happens.
> 
> Just rebuilt and it works fine. I will make proper packages from that,
> plus provide the patches I used somewhere, so you could review what I
> did.

Works. I put up the source package for inspection on
http://alius.ayous.org/~aba/.aptitude/

If wanted, I could upload the full package into unstable (or if I
don't get a no, I will upload it in a week).

The relevant patch is below.


Andi



diff -Nru aptitude-0.6.8.2/debian/changelog aptitude-0.6.8.2/debian/changelog
--- aptitude-0.6.8.2/debian/changelog	2012-11-05 01:52:16.000000000 +0000
+++ aptitude-0.6.8.2/debian/changelog	2013-08-16 13:25:14.000000000 +0000
@@ -1,3 +1,13 @@
+aptitude (0.6.8.2-1.1) unstable; urgency=low
+
+  * cherrypick from git:
+    + 794b91 fix FTBFS with g++-4.8
+    + c142a7 task_list is not extern
+  * re-upload to unstable to have again a working package on mips*.
+    Closes: #708812, #714186
+
+ -- Andreas Barth <aba at ayous.org>  Fri, 16 Aug 2013 13:19:40 +0000
+
 aptitude (0.6.8.2-1) unstable; urgency=low
 
   * [all]: Support for matching architectures using specification
diff -Nru aptitude-0.6.8.2/debian/patches/aptitude-0.6.8.2-1.1 aptitude-0.6.8.2/debian/patches/aptitude-0.6.8.2-1.1
--- aptitude-0.6.8.2/debian/patches/aptitude-0.6.8.2-1.1	1970-01-01 00:00:00.000000000 +0000
+++ aptitude-0.6.8.2/debian/patches/aptitude-0.6.8.2-1.1	2013-08-17 11:39:40.000000000 +0000
@@ -0,0 +1,63 @@
+Description: necessary change to make aptitude buildable in sid again
+   * cherrypick from git:
+     + 794b91 fix FTBFS with g++-4.8
+     + c142a7 task_list is not extern
+Author: Andreas Barth <aba at ayous.org>
+Bug-Debian: http://bugs.debian.org/708812
+Bug-Debian: http://bugs.debian.org/714186
+
+--- aptitude-0.6.8.2.orig/src/generic/apt/aptitude_resolver_universe.cc
++++ aptitude-0.6.8.2/src/generic/apt/aptitude_resolver_universe.cc
+@@ -822,7 +822,6 @@ std::ostream &operator<<(std::ostream &o
+ 
+ cfg_level aptitude_universe::parse_level(const std::string &s)
+ {
+-  typedef generic_problem_resolver<aptitude_universe> aptitude_resolver;
+   if(s == "maximum")
+     return cfg_level::make_level(cost_limits::maximum_level);
+   else if(s == "minimum" || s == "")
+--- aptitude-0.6.8.2.orig/src/generic/apt/resolver_manager.cc
++++ aptitude-0.6.8.2/src/generic/apt/resolver_manager.cc
+@@ -384,7 +384,7 @@ void resolver_manager::write_test_contro
+ 
+ 	typedef generic_choice_set<aptitude_universe> choice_set;
+ 	typedef generic_choice<aptitude_universe> choice;
+-	typedef aptitude_resolver_package package;
++	// typedef aptitude_resolver_package package;
+ 	typedef aptitude_resolver_version version;
+ 	typedef aptitude_resolver_dep dep;
+ 	const choice_set &choices = sol.get_choices();
+--- aptitude-0.6.8.2.orig/src/generic/apt/tasks.h
++++ aptitude-0.6.8.2/src/generic/apt/tasks.h
+@@ -63,9 +63,6 @@ public:
+   int relevance;
+ };
+ 
+-// Stores the various tasks.
+-extern std::map<std::string, task> *task_list;
+-
+ task *find_task(const std::string &name);
+ 
+ /** \brief Get the set of tasks associated with the given package.
+--- aptitude-0.6.8.2.orig/src/generic/problemresolver/choice.h
++++ aptitude-0.6.8.2/src/generic/problemresolver/choice.h
+@@ -405,8 +405,6 @@ struct generic_compare_choices_by_effect
+ {
+   int operator()(const generic_choice<PackageUniverse> &c1, const generic_choice<PackageUniverse> &c2) const
+   {
+-    typedef typename PackageUniverse::version version;
+-    typedef typename PackageUniverse::dep dep;
+     using aptitude::util::compare3;
+ 
+     if(c1.get_type() < c2.get_type())
+--- aptitude-0.6.8.2.orig/src/pkg_grouppolicy.cc
++++ aptitude-0.6.8.2/src/pkg_grouppolicy.cc
+@@ -1096,8 +1096,6 @@ public:
+ void pkg_grouppolicy_task::add_package(const pkgCache::PkgIterator &pkg,
+ 				       pkg_subtree *root)
+ {
+-  using aptitude::apt::task_list;
+-
+   set<string> *tasks = aptitude::apt::get_tasks(pkg);
+ 
+   eassert(tasks);
diff -Nru aptitude-0.6.8.2/debian/patches/series aptitude-0.6.8.2/debian/patches/series
--- aptitude-0.6.8.2/debian/patches/series	1970-01-01 00:00:00.000000000 +0000
+++ aptitude-0.6.8.2/debian/patches/series	2013-08-17 11:39:43.000000000 +0000
@@ -0,0 +1 @@
+aptitude-0.6.8.2-1.1



More information about the Aptitude-devel mailing list