Your message dated Fri, 28 Sep 2018 06:34:12 +0000
with message-id <[email protected]>
and subject line Bug#909753: fixed in npm2deb 0.2.8-4
has caused the Debian Bug report #909753,
regarding fails to find binary package
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
909753: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=909753
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: npm2deb
Version: 0.2.8-1
Severity: normal
Tags: patch

The tool used by the JavaScript team to track progress on packaging,
js_task_edit[1], has trouble dealing with binary packages that have a
different name than the source package. For example, in the OpenPGP
packaging page[2], a bunch of babel packages are marked as missing in
Debian even though they are actually present (e.g. babel-code).

This is because of that bit of rmadison code in mapper.py:

        madison = _getstatusoutput(
            'rmadison -u debian "%s" | tac | grep source' % result['name'])

If you look at the output for `babel-core`, you'll see this can't
possibly work:

    $ rmadison -u debian node-babel-core
    node-babel-core | 6.26.0+dfsg-3 | testing    | all
    node-babel-core | 6.26.0+dfsg-3 | unstable   | all

The "-S" does not help here: it would show binary packages if we
somehow magically found the right source package, but not the
reverse. There's no way the commandline rmadison tool can give us that
information, because that's a limitation of the API.

At least that's what I thought at first. As it turns out, there's an
undocumented `python` output format hidden deep in the entrails of
Dak[3] which, in turn, actually indicate the source package associated
with any binary package found. This nasty business requires us to do
an actual HTTP query in Python, but rmadison does that anyways, so
doing so is not really slower.

The attached patch fixes the bug in my tests: return the source
package instead of the binary package and things all fall into
place. As a bonus, we sort the version numbers with Python's distutils
which should be more reliable than `tac` (if that's even what that
thing was doing).

[1]: https://salsa.debian.org/js-team/js-task-wiki-edit
[2]: https://wiki.debian.org/Javascript/Nodejs/Tasks/openpgp
[3]: https://ftp-team.pages.debian.net/dak/epydoc/dak.daklib.ls-pysrc.html#L77

-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (500, 'testing'), (1, 'experimental'), (1, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.18.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_CA.UTF-8, LC_CTYPE=fr_CA.UTF-8 (charmap=UTF-8), 
LANGUAGE=fr_CA.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages npm2deb depends on:
ii  devscripts                2.18.4
ii  node-github-url-from-git  1.4.0-1
ii  npm                       5.8.0+ds5-1
ii  python3                   3.6.6-1
ii  python3-dateutil          2.6.1-1

npm2deb recommends no packages.

npm2deb suggests no packages.

-- debconf-show failed
--- /usr/lib/python3/dist-packages/npm2deb/mapper.py    2018-08-17 
07:53:04.000000000 -0400
+++ /home/anarcat/mapper.py     2018-09-27 12:30:52.010299687 -0400
@@ -4,10 +4,13 @@
 from subprocess import getstatusoutput as _getstatusoutput
 from fnmatch import fnmatch as _fnmatch
 
+import distutils.version
+
 from npm2deb.utils import debug as _debug
 from npm2deb.utils import debianize_name as _debianize_name
 
 DB_URL = 'https://wiki.debian.org/Javascript/Nodejs/Database'
+MADISON_URL = 
'https://api.ftp-master.debian.org/madison?S=true&f=python&package=%s'
 
 
 class Mapper(object):
@@ -68,19 +71,22 @@
         if not result['name']:
             return result
 
-        madison = _getstatusoutput(
-            'rmadison -u debian "%s" | tac | grep source' % result['name'])
-
-        if madison[0] != 0:
+        data = _urlopen(MADISON_URL % result['name']).read().decode('utf-8')
+        packages = _parseJSON(data)
+        if len(packages) < 1:
             result['name'] = None
             return result
-
-        tmp = madison[1].split('|')
-        if len(tmp) >= 2:
-            result['name'] = tmp[0].strip()
-            result['version'] = tmp[1].strip()
-            result['suite'] = tmp[2].strip()
-            result['repr'] = '%s (%s)' % (result['name'], result['version'])
+        result['version'] = distutils.version.LooseVersion('0:0')
+        for suite, versions in packages[0][result['name']]:
+            for vers, source in versions:
+                if distutils.version.LooseVersion(vers) > version:
+                    result['version'] = distutils.version.LooseVersion(vers)
+                    result['suite'] = suite
+                    result['name'] = source['source']
+                    result['repr'] = '%s (%s)' % (result['name'], 
result['version'])
+        result['version'] = str(result['version'])
+        if result['version'] == '0:0':
+            result['version'] = None
 
         return result
 

--- End Message ---
--- Begin Message ---
Source: npm2deb
Source-Version: 0.2.8-4

We believe that the bug you reported is fixed in the latest version of
npm2deb, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Pirate Praveen <[email protected]> (supplier of updated npm2deb package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Fri, 28 Sep 2018 00:48:55 +0530
Source: npm2deb
Binary: npm2deb
Architecture: source
Version: 0.2.8-4
Distribution: unstable
Urgency: medium
Maintainer: Debian Javascript Maintainers 
<[email protected]>
Changed-By: Pirate Praveen <[email protected]>
Description:
 npm2deb    - tool to help debianize Node.js modules
Closes: 909753
Changes:
 npm2deb (0.2.8-4) unstable; urgency=medium
 .
   * Patch by anarcat to find packages correctly (Closes: #909753)
   * Add autopkgtest test case for view
Checksums-Sha1:
 66e9bda23fdcf31cf1eec2727ba79af4cf139397 2000 npm2deb_0.2.8-4.dsc
 a43eef0c1dea4420cae23130f0a9a368b5d39ee7 5732 npm2deb_0.2.8-4.debian.tar.xz
 e99c3d638aaf20248685418f714e2b8308d24ab7 6219 npm2deb_0.2.8-4_source.buildinfo
Checksums-Sha256:
 9d69e6420bd8bfe90f7099ae96fd36c1ce470d3dd163e4b701a17a93d13692c9 2000 
npm2deb_0.2.8-4.dsc
 e3efab2375bfb4292bdea1a3d004f623bc73871f1f87370d80a7bdaaa2002ab0 5732 
npm2deb_0.2.8-4.debian.tar.xz
 58a56c40d08b51248a0af3ca5dc8b5bc94b8e7f7db138ea5c5d575a35e3293df 6219 
npm2deb_0.2.8-4_source.buildinfo
Files:
 9c692125cd1d1f14978a27b7d6d35574 2000 devel optional npm2deb_0.2.8-4.dsc
 46bdc1bb3078ca64fd5c36e787c6e92a 5732 devel optional 
npm2deb_0.2.8-4.debian.tar.xz
 677491018c829bc2a812119ed355a622 6219 devel optional 
npm2deb_0.2.8-4_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEKnl0ri/BUtd4Z9pKzh+cZ0USwioFAlutye4ACgkQzh+cZ0US
wirkdhAAiFhbh42x6OXN4tpnLHhTERFXZBugFtOsUye0Z+W1VXqXj9CFLGVVHlXr
Cmecuukkfa2dgQNPvWtTNHOTH/+mNOKe3Is3H6OsnuNngqa+LcxPqvQPG+x0Ee0E
Ra5Vd9FNL7Sm0nT4EfQRZqsNxZYxKp6xsZbJvHGMd25kAAtngsQlLpzEwAZRihCf
WU3/P1eXMZ3h5JRJ/Zz8K3yFHluLzEl02I3Fp5xQjQbUqzv0Pt58UXiGGd+Sp+51
zbMgSUOMx0CFf6xG8mh5bMGJaun/QpBtVh29nvwmsU4ZZRISrKjFYudfxlS4TI7H
2LYIBZoXTodypIy99hs7hMm0StZQsJzLCaSld3yM1cAsEa14lDYy9xRw+zXqjhwu
o0KyZt/CXdCxxHPPy62eWfGcAcDFS9+PfS3QPUnTojNdD5sia8zGbX+AIa9Aeh8U
WnOprPrBCFHQcKUiFyuh1CvXyXHllwg98PLvHlk/90dn+8MNL/svuP32BXcfGmWZ
VQ8II3846huIFi1jB2tb5ZFFKM2SXivU8YLw8PlgfnTw+PpOSKSWtF0psTM+Mv3y
B5aRXKg2IFkrje7su4ZhISgHVwRqZ58spk1im1vAreGISHoresWP8ovfg0lZby6c
R8Z0UwQHzRGU1wGTxexJX3cYCYFlElVBTtNXZu4C24Cd9ZN203c=
=gjS8
-----END PGP SIGNATURE-----

--- End Message ---
-- 
Pkg-javascript-devel mailing list
[email protected]
https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-javascript-devel

Reply via email to