[med-svn] [Git][med-team/obitools][master] 3 commits: qsort.patch: new: replace heapsort by qsort.

Étienne Mollier (@emollier) gitlab at salsa.debian.org
Sat Apr 20 09:44:42 BST 2024



Étienne Mollier pushed to branch master at Debian Med / obitools


Commits:
fb6053e4 by Étienne Mollier at 2024-04-20T10:39:12+02:00
qsort.patch: new: replace heapsort by qsort.

Closes: #1066369

- - - - -
dfb043ab by Étienne Mollier at 2024-04-20T10:40:53+02:00
d/control: declare compliance to standards version 4.7.0.

- - - - -
fd4fb6a9 by Étienne Mollier at 2024-04-20T10:44:10+02:00
ready to upload to unstable.

- - - - -


4 changed files:

- debian/changelog
- debian/control
- + debian/patches/qsort.patch
- debian/patches/series


Changes:

=====================================
debian/changelog
=====================================
@@ -1,3 +1,11 @@
+obitools (1.2.13+dfsg-8) unstable; urgency=medium
+
+  * Team upload.
+  * qsort.patch: new: replace heapsort by qsort. (Closes: #1066369)
+  * d/control: declare compliance to standards version 4.7.0.
+
+ -- Étienne Mollier <emollier at debian.org>  Sat, 20 Apr 2024 10:41:15 +0200
+
 obitools (1.2.13+dfsg-7) unstable; urgency=medium
 
   * Drop cython3 dependency from binary package


=====================================
debian/control
=====================================
@@ -12,7 +12,7 @@ Build-Depends: debhelper-compat (= 13),
                ipython3,
                python3-wheel,
                python3-virtualenv
-Standards-Version: 4.6.2
+Standards-Version: 4.7.0
 Vcs-Browser: https://salsa.debian.org/med-team/obitools
 Vcs-Git: https://salsa.debian.org/med-team/obitools.git
 Homepage: https://pypi.python.org/pypi/OBITools


=====================================
debian/patches/qsort.patch
=====================================
@@ -0,0 +1,34 @@
+Description: Replace heapsort call by qsort.
+ heapsort is a Berkeley function not available by default in Debian libc.
+ This patch implements a change to call qsort instead of heapsort in obitools
+ where needed.
+ .
+ Note that this possibly trades a performance pattern provided by heapsort for
+ the one of qsort: probably increased stack memory consumption according to the
+ manual.  This also makes the sorting result more reproducible when two entries
+ sort equal.
+Author: Étienne Mollier <emollier at debian.org>
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1066369
+Forwarded: no
+Last-Update: 2024-04-20
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- obitools.orig/src/obitools/word/_readindex.pyx
++++ obitools/src/obitools/word/_readindex.pyx
+@@ -56,7 +56,6 @@
+     ctypedef void* pconstvoid "const void*"
+ 
+ cdef extern from "stdlib.h":
+-    void heapsort(void *base, size_t nel, size_t  width, int (*compar)(pconstvoid, pconstvoid))
+     void qsort(void *base, size_t nel, size_t  width, int (*compar)(pconstvoid, pconstvoid))
+     void* bsearch(pconstvoid key, pconstvoid base, size_t nel, size_t width, int (*compar) (pconstvoid, pconstvoid))
+ 
+@@ -505,7 +504,7 @@
+         
+         cmpwordlengthLock.acquire()
+         self._globalwordlength[0]=lword
+-        heapsort(self._wordlist,i,sizeof(pobinuc),cmpwords)
++        qsort(self._wordlist,i,sizeof(pobinuc),cmpwords)
+         cmpwordlengthLock.release()
+         
+         self._lindex=6 if lword >=6 else lword


=====================================
debian/patches/series
=====================================
@@ -4,3 +4,4 @@ fix_path_interpreter
 port_python3.patch
 deocde-bytes-to-str.patch
 no_cython_in_binary_package.patch
+qsort.patch



View it on GitLab: https://salsa.debian.org/med-team/obitools/-/compare/695747eb6703d11dc62ff0a66bd26baa6abd0e1d...fd4fb6a94c0e9e62a89be1f41fc68c7be7c93d1e

-- 
View it on GitLab: https://salsa.debian.org/med-team/obitools/-/compare/695747eb6703d11dc62ff0a66bd26baa6abd0e1d...fd4fb6a94c0e9e62a89be1f41fc68c7be7c93d1e
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/20240420/6e46cb9d/attachment-0001.htm>


More information about the debian-med-commit mailing list