[med-svn] [Git][med-team/jellyfish][master] 3 commits: Catch exceptions by reference

Andreas Tille gitlab at salsa.debian.org
Fri Sep 14 07:08:35 BST 2018


Andreas Tille pushed to branch master at Debian Med / jellyfish


Commits:
7ced039b by Andreas Tille at 2018-09-03T09:45:01Z
Catch exceptions by reference

- - - - -
12fb37bc by Andreas Tille at 2018-09-03T09:47:02Z
Enabling python bindings does not work - leave it as todo item

- - - - -
69f40959 by Andreas Tille at 2018-09-03T09:56:50Z
Do not replace random '-L' strings in command line

- - - - -


6 changed files:

- debian/README.todo
- debian/changelog
- + debian/patches/fix_catch.patch
- + debian/patches/fix_replacement_of_-L_option.patch
- debian/patches/series
- debian/rules


Changes:

=====================================
debian/README.todo
=====================================
@@ -3,3 +3,5 @@ docs/ directory is out of date but regenerating it produces errors
 ruby bindings break policy using upstream's install
 
 turning on the hardening options breaks the build
+
+python bindings for swig


=====================================
debian/changelog
=====================================
@@ -5,8 +5,9 @@ jellyfish (2.2.10-1) UNRELEASED; urgency=medium
   * Standards-Version: 4.1.4
   * Adapt watch file to also catch v$VERSION tarball names
   * Clean up quilt patches
-  * Try to enable swig Python bindings
-  TODO: ... but failed
+  * Catch exceptions by reference
+  * Do not replace random '-L' strings in command line
+    Closes: #907819
 
  -- Andreas Tille <tille at debian.org>  Mon, 03 Sep 2018 08:34:22 +0200
 


=====================================
debian/patches/fix_catch.patch
=====================================
@@ -0,0 +1,58 @@
+Author: Andreas Tille <tille at debian.org>
+Last-Update: Mon, 03 Sep 2018 08:34:22 +0200
+Description: Catch exceptions by reference
+  see https://blog.knatten.org/2010/04/02/always-catch-exceptions-by-referenc
+
+--- a/sub_commands/count_main.cc
++++ b/sub_commands/count_main.cc
+@@ -360,7 +360,7 @@ int count_main(int argc, char *argv[])
+         uint64_t max = args.upper_count_given ? args.upper_count_arg : std::numeric_limits<uint64_t>::max();
+         try {
+           merge_files(files, args.output_arg, header, min, max);
+-        } catch(MergeError e) {
++        } catch(MergeError &e) {
+           err::die(err::msg() << e.what());
+         }
+         if(!args.no_unlink_flag) {
+--- a/include/jellyfish/hash_counter.hpp
++++ b/include/jellyfish/hash_counter.hpp
+@@ -213,7 +213,7 @@ protected:
+           new_ary_ = new  array(ary_->size(), ary_->key_len(), ary_->val_len() + 1,
+                                 ary_->max_reprobe(), ary_->reprobes());
+         }
+-      } catch(typename array::ErrorAllocation e) {
++      } catch(typename array::ErrorAllocation &e) {
+         new_ary_ = 0;
+       }
+     }
+--- a/sub_commands/merge_main.cc
++++ b/sub_commands/merge_main.cc
+@@ -33,7 +33,7 @@ int merge_main(int argc, char *argv[])
+ 
+   try {
+     merge_files(args.input_arg, args.output_arg, out_header, min, max);
+-  } catch(MergeError e) {
++  } catch(MergeError &e) {
+     err::die(err::msg() << e.what());
+   }
+ 
+--- a/sub_commands/query_main.cc
++++ b/sub_commands/query_main.cc
+@@ -60,7 +60,7 @@ void query_from_cmdline(std::vector<cons
+       if(canonical)
+         m.canonicalize();
+       out << m << " " << db.check(m) << "\n";
+-    } catch(std::length_error e) {
++    } catch(std::length_error &e) {
+       std::cerr << "Invalid mer '" << *it << "'\n";
+     }
+   }
+@@ -77,7 +77,7 @@ void query_from_stdin(const Database& db
+       if(canonical)
+         m.canonicalize();
+       out << db.check(m) << std::endl;  // a flush is need for interactive use
+-    } catch(std::length_error e) {
++    } catch(std::length_error &e) {
+       std::cerr << "Invalid mer '" << buffer << "'" << std::endl;
+     }
+   }


=====================================
debian/patches/fix_replacement_of_-L_option.patch
=====================================
@@ -0,0 +1,79 @@
+Description: Do not replace random '-L' strings in command line
+Bug-Debian: https://bugs.debian.org/907819
+Author: Andreas Tille <tille at debian.org>
+Last-Update: Mon, 03 Sep 2018 08:34:22 +0200
+
+--- a/examples/count_in_file/Makefile
++++ b/examples/count_in_file/Makefile
+@@ -1,6 +1,6 @@
+ CC = g++
+ CXXFLAGS = $(shell pkg-config --cflags jellyfish-2.0) -std=c++0x -Wall -O3
+-LDFLAGS = -Wl,--rpath=$(shell pkg-config --libs-only-L jellyfish-2.0 | sed -e 's/-L//g')
++LDFLAGS = -Wl,--rpath=$(shell pkg-config --libs-only-L jellyfish-2.0 | sed -e 's/ -L/ /g')
+ LDLIBS = $(shell pkg-config --libs jellyfish-2.0)
+ 
+ all: count_in_file
+--- a/examples/jf_count_dump/Makefile
++++ b/examples/jf_count_dump/Makefile
+@@ -1,6 +1,6 @@
+ CC = g++
+ CXXFLAGS = $(shell pkg-config --cflags jellyfish-2.0) -std=c++0x -Wall -O3
+-LDFLAGS = -Wl,--rpath=$(shell pkg-config --libs-only-L jellyfish-2.0 | sed -e 's/-L//g')
++LDFLAGS = -Wl,--rpath=$(shell pkg-config --libs-only-L jellyfish-2.0 | sed -e 's/ -L/ /g')
+ LDLIBS = $(shell pkg-config --libs jellyfish-2.0)
+ 
+ all: jf_count_dump
+--- a/examples/query_per_sequence/Makefile
++++ b/examples/query_per_sequence/Makefile
+@@ -1,6 +1,6 @@
+ CC = g++
+ CXXFLAGS = $(shell pkg-config --cflags jellyfish-2.0) -std=c++0x -Wall -O3
+-LDFLAGS = -Wl,--rpath=$(shell pkg-config --libs-only-L jellyfish-2.0 | sed -e 's/-L//g')
++LDFLAGS = -Wl,--rpath=$(shell pkg-config --libs-only-L jellyfish-2.0 | sed -e 's/ -L/ /g')
+ LDLIBS = $(shell pkg-config --libs jellyfish-2.0)
+ 
+ all: query_per_sequence
+--- a/swig/Tuprules.tup
++++ b/swig/Tuprules.tup
+@@ -80,7 +80,7 @@ endif
+ ifdef JELLYFISH_RPATH
+   JELLYFISH_RPATH = @(JELLYFISH_RPATH)
+ else
+-  JELLYFISH_RPATH = `pkg-config --libs-only-L jellyfish-2.0 | sed -e 's/-L/-Wl,-rpath,/g'`
++  JELLYFISH_RPATH = `pkg-config --libs-only-L jellyfish-2.0 | sed -e 's/ -L/ -Wl,-rpath,/g'`
+ endif
+ 
+ ifdef RUBY_CFLAGS
+--- a/swig/perl5/Makefile.PL
++++ b/swig/perl5/Makefile.PL
+@@ -19,7 +19,7 @@ my $pkg = "jellyfish-2.0";
+ my $jf_cflags = pkgconfig("--cflags $pkg");
+ my $jf_libs   = pkgconfig("--libs $pkg");
+ my $jf_rpath  = pkgconfig("--libs-only-L $pkg");
+-$jf_rpath =~ s/-L/-Wl,-rpath,/g;
++$jf_rpath =~ s/ -L/ -Wl,-rpath,/g;
+ 
+ print("$jf_cflags\n$jf_libs\n$jf_rpath\n");
+ 
+--- a/swig/ruby/extconf.rb
++++ b/swig/ruby/extconf.rb
+@@ -13,7 +13,7 @@ end
+ 
+ $defs << pkgconfig("--cflags jellyfish-2.0") << '-std=c++0x'
+ libs = [pkgconfig("--libs jellyfish-2.0"),
+-        pkgconfig("--libs-only-L jellyfish-2.0").gsub(/-L/, "-Wl,-rpath,")]
++        pkgconfig("--libs-only-L jellyfish-2.0").gsub(/ -L/, " -Wl,-rpath,")]
+ 
+ if Array === $libs
+   $libs += libs
+--- a/swig/python/setup.py
++++ b/swig/python/setup.py
+@@ -17,7 +17,7 @@ def pkgconfig(s):
+ jf_libs    = [re.sub(r'-l', '', x) for x in pkgconfig("--libs-only-l jellyfish-2.0")]
+ jf_include = [re.sub(r'-I', '', x) for x in pkgconfig("--cflags-only-I jellyfish-2.0")]
+ jf_cflags  = pkgconfig("--cflags-only-other jellyfish-2.0")
+-jf_libdir  = [re.sub(r'-L', '', x) for x in pkgconfig("--libs-only-L jellyfish-2.0")]
++jf_libdir  = [re.sub(r' -L', ' ', x) for x in pkgconfig("--libs-only-L jellyfish-2.0")]
+ jf_rpath   = [re.sub(r'^', '-Wl,-rpath,', x) for x in jf_libdir]
+ jf_ldflags = pkgconfig("--libs-only-other jellyfish-2.0")
+ 


=====================================
debian/patches/series
=====================================
@@ -1,3 +1,5 @@
 manpage_whatis_entry.patch
 reproducible.patch
 portability.patch
+fix_catch.patch
+fix_replacement_of_-L_option.patch


=====================================
debian/rules
=====================================
@@ -29,7 +29,7 @@ override_dh_install:
 	chrpath --delete debian/*/usr/lib/python*/dist-packages/_dna_jellyfish*.so
 	
 	dh_auto_configure --sourcedirectory=swig/perl5
-	dh_auto_configure --sourcedirectory=swig/python
+#	dh_auto_configure --sourcedirectory=swig/python
 	dh_auto_build --sourcedirectory=swig/perl5
 	dh_auto_install --sourcedirectory=swig/perl5
 	chrpath --delete debian/tmp/usr/lib/*/perl5/*/auto/jellyfish/jellyfish.so
@@ -42,7 +42,7 @@ override_dh_install:
 			debian/tmp/usr/lib/*/lib$(DEB_SOURCE)-*.so
 
 override_dh_auto_configure:
-	dh_auto_configure -- --enable-swig --enable-perl-binding --enable-python-binding
+	dh_auto_configure -- --enable-swig --enable-perl-binding # --enable-python-binding
 
 override_dh_clean:
 	dh_clean



View it on GitLab: https://salsa.debian.org/med-team/jellyfish/compare/ea26fa3aa9903765de174c706b905c3c2ac9cc1a...69f40959442997142e115c4634999724d71f3963

-- 
View it on GitLab: https://salsa.debian.org/med-team/jellyfish/compare/ea26fa3aa9903765de174c706b905c3c2ac9cc1a...69f40959442997142e115c4634999724d71f3963
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20180914/851e25ac/attachment-0001.html>


More information about the debian-med-commit mailing list