DFSG NEW Queue

DFSG, Licensing & New Packages Team

Review: node-graphlib-dot 0.6.4+ds-1

Package Information

DescriptionDOT language parser and writer for graphlib

graphlib-dot reads graphs written in the DOT language of Graphviz into graphlib graphs, and writes graphlib graphs back as DOT. It is used together with dagre and dagre-d3 to lay out and draw directed graphs in web pages.

Besides the Node.js module, the package ships browser bundles in /usr/share/nodejs/graphlib-dot/dist/ (global graphlibDot): graphlib-dot.js includes graphlib and lodash, graphlib-dot.core.js expects them as the globals graphlib and _.

Node.js is an event-based server-side JavaScript engine.

MaintainerDebian Javascript Maintainers <pkg-javascript-devel@lists.alioth.debian.org>
Changed ByJuan Manuel Méndez Rey <juan.mendezr@proton.me>
Sponsortsimonq2@debian.org
Distributionunstable
Architectureall
VCSgit: https://salsa.debian.org/js-team/node-graphlib-dot.git (browse)
Closes#1149861
Trackerhttps://tracker.debian.org/pkg/node-graphlib-dot
Uploaded11 days ago

New Package Report

.changes◂
Version0.6.4+ds-1
Changed-ByJuan Manuel Méndez Rey <juan.mendezr@proton.me>
Architecturesource all
Distributionunstable
DateSat, 03 Oct 2026 14:00:00 +0200
Sourcenode-graphlib-dot
Changelog◂
node-graphlib-dot (0.6.4+ds-1) unstable; urgency=medium
 .
   * Initial release. (Closes: #1149861)
.dsc◂
Priorityoptional
Componentmain
Package-Listnode-graphlib-dot deb javascript optional arch=all
Sectionjavascript
debian/copyright◂
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: graphlib-dot
Upstream-Contact: https://github.com/dagrejs/graphlib-dot/issues
Source: https://github.com/dagrejs/graphlib-dot
Comment:
 The orig tarball is repacked (+ds) to drop files generated by upstream's
 release process; debian/rules builds them again from source:
  - dist/: browserify bundles of the library, with graphlib and lodash
    inside;
  - lib/dot-grammar.js: the DOT parser that PEG.js generates from
    src/dot-grammar.pegjs.
Files-Excluded:
 dist
 lib/dot-grammar.js

Files: *
Copyright: 2012-2013, Chris Pettitt
License: Expat

Files: debian/*
Copyright: 2026, Juan Manuel Méndez Rey <juan.mendezr@proton.me>
License: Expat

License: Expat
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
 in the Software without restriction, including without limitation the rights
 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 copies of the Software, and to permit persons to whom the Software is
 furnished to do so, subject to the following conditions:
 .
 The above copyright notice and this permission notice shall be included in
 all copies or substantial portions of the Software.
 .
 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 THE SOFTWARE.

DFSG Assistant LLM REVIEW 0 blocker, 0 important, 0 minor

This is an LLM based review using a Debian Inference based workflow. It was not written by a member of the DFSG team and has not been checked by one. It is not a decision on the package: it may be wrong, and it may have missed things.

Reviewed 10 days ago.

Report◂

DFSG NEW review for node-graphlib-dot version 0.6.4+ds-1

Summary

  • Licensing is DFSG-compliant and debian/copyright is accurate: Yes
  • Packaging is of good quality: Yes
  • Issues: 0 blocker, 0 important, 0 minor
  • debian/watch: version 5
  • debian/copyright: machine-readable
  • Scan before the review: nothing found

Licensing

Every file in the tree is covered by the DEP-5 debian/copyright: upstream under Files: * as Expat, with the 2012-2013 Chris Pettitt notice that matches LICENSE, browser.js and package.json, and the packaging under a later debian/* stanza for Juan Manuel Méndez Rey. The full Expat text is included, correctly, since Expat is not in /usr/share/common-licenses, and the licence combines fine with the MIT/Expat code of graphlib and lodash. The +ds repack drops exactly dist/ and lib/dot-grammar.js, whose inputs (browser.js, lib/*.js, src/dot-grammar.pegjs) are shipped, so no file lacks its preferred form for modification. No non-free terms, unlicensed files or unnamed holders were found; the prescan's holder check was clean.

Packaging

Modern, complete packaging: debhelper compat 14 with dh-sequence-nodejs, a full Build-Depends (browserify, uglifyjs, pegjs, graphlib, lodash, and mocha/chai under <!nocheck>), debian/rules regenerating the parser and browser bundles that the repack removed while debian/clean removes them again, and tests wired both into the build (pkg-js-tools' dh_auto_test runs debian/tests/pkg-js/test) and into autopkgtest (Testsuite: autopkgtest-pkg-nodejs, which autodep8 supports). Standards-Version: 4.7.4 is current against Policy 4.7.4.1, the changelog, Vcs fields, gbp.conf and upstream/metadata are consistent, and no patches or maintainer scripts are needed. The graphlib and lodash code in the full browser bundle is recorded with Static-Built-Using, a valid dpkg field.

Issues

None.

Verified ◂
  • Read every file under debian/ except debian/watch (out of scope), and every non-debian file in the tree; lib/write-one.js, lib/build-graph.js and package-lock.json were only sampled (the last contains no licence material).
  • The only copyright notices in the source are in LICENSE and browser.js: Copyright (c) 2012-2013 Chris Pettitt, Expat. debian/copyright names him for Files: * with the complete Expat text, and names Juan Manuel Méndez Rey for debian/*; both match the files.
  • Grep over the whole tree for Copyright, (C), ©, SPDX-License-Identifier, Licensed under, Permission is hereby granted, GNU General/Lesser, Apache License, Mozilla Public, public domain, All rights reserved and for restrictive wording (commercial, proprietary, not permitted, non-free) found nothing beyond the Expat notices; the prescan's holder check likewise found every holder named.
  • lib/lodash.js, lib/graphlib.js and test/chai.js are short shims that require() the Debian packages or fall back to a browser global; they are not copies of lodash, graphlib or chai, so the embedded-javascript-library override for lib/lodash.js is justified and no vendored library needs its own stanza.
  • The repack is consistent with the documentation: dist/ and lib/dot-grammar.js are absent from both node-graphlib-dot_0.6.4+ds.orig.tar.xz and the unpacked tree, and absent from the .debian.tar.xz; src/dot-grammar.pegjs, browser.js and lib/*.js are present, debian/rules:14-25 regenerates the parser and bundles, and debian/clean removes them.
  • No binaries, images, fonts, PDFs or minified JavaScript are in the source tree (a glob for the usual binary/minified extensions returned nothing); package-lock.json is npm's lockfile, not code, and the only third-party code is the graphlib/lodash that the build bundles from Debian's packages.
  • debian/rules:27-36 records node-graphlibrary and node-lodash with exact source versions in Static-Built-Using; the field exists in dpkg (Dpkg::Control::FieldsCore allows it for packages, deb-control(5) documents it since dpkg 1.21.3) and apt-cache confirms both source packages exist. The full bundle really does contain them, because browserify is called with -r $(GRAPHLIB):graphlib -r $(LODASH):lodash.
  • The Build-Depends names resolve: node-browserify, uglifyjs, node-graphlibrary and node-lodash are real packages in the archive; pegjs, node-chai, node-mocha and dh-sequence-nodejs are virtual and provided by node-pegjs, chai, mocha and dh-nodejs (apt-cache).
  • Testsuite: autopkgtest-pkg-nodejs plus debian/tests/pkg-js/test is the documented autodep8 nodejs mechanism (read /usr/share/autodep8/support/nodejs/detect and generate); pkg-js-tools' buildsystem runs the same file during the build (/usr/share/perl5/Debian/Debhelper/Buildsystem/nodejs.pm, sub test), so node-mocha/node-chai are correctly <!nocheck> and node-graphlibrary/node-lodash cover the tests' require("graphlib")/require("lodash").
  • Standards-Version: 4.7.4 matches the first two components of Policy 4.7.4.1, so it is current; debian/changelog is 0.6.4+ds-1 in unstable with an ITP closure, debian/source/format is 3.0 (quilt), and Vcs-*, Homepage, debian/gbp.conf and debian/upstream/metadata agree with the source.
  • The four test files that debian/tests/pkg-js/test runs use only chai-4-compatible assertions; the chai-1 alias .eqls occurs only in test/bundle-test.js, which is not run. No maintainer scripts, .maintscript, install/links files or patches exist, and none are needed.
  • No file was found with a different licence: the tree is uniformly Expat/MIT, so the licences combined in the package are compatible.
  • uscan found the packaged version as the newest upstream release (upstream 0.6.4, packaged 0.6.4+ds).
Not confirmed ◂
  • Could not run anything: the pegjs, browserify and uglifyjs steps were not executed and the generated lib/dot-grammar.js and dist/ bundles were therefore not inspected; that the parser generated by Debian's PEG.js 0.10 matches the behaviour of upstream's 0.8 build rests on the rules comment and the test-suite design, not on a run.
  • Could not verify that node-pegjs, the only provider of the virtual pegjs Build-Depends, installs the /usr/bin/pegjs that debian/rules:18 invokes; a build on a clean chroot would show it, and nothing in the package indicates another provider.
  • Could not confirm, without running browserify, that --no-bundle-external leaves graphlib and lodash out of dist/graphlib-dot.core.js, as debian/control's description states; if it does not, the description would be slightly inaccurate but the bundle would still work.
  • Did not review debian/watch (checked separately) and could not check network-only facts such as the ITP bug or the Salsa repository.
Proposed changes ◂

None.

Uploader's response to the LLM review

The uploader was emailed about the review 10 days ago.

Review Information

accepted — allocated to awm 10 days ago, started 10 days ago, completed 10 days ago.

Final Comment

Back to Dashboard | View all reviews for this package