DFSG NEW Queue

DFSG, Licensing & New Packages Team

Review: execline 2.10.0.0-1

Package Information

Descriptionsmall and non-interactive scripting language

Execline is a (non-interactive) scripting language, like sh; but its syntax is quite different from a traditional shell syntax. The execlineb program is meant to be used as an interpreter for a text file; the other commands are essentially useful inside an execlineb script.

Execline is as powerful as a shell: it features conditional loops, getopt-style option handling, filename globbing, and more. Meanwhile, its syntax is far more logic and predictable than the shell's syntax, and has no security issues.

Documentation is provided in execline-doc package.

Binaries are installed in /usr/lib/execline/bin. Use the /usr/bin/execlineb wrapper or add /usr/lib/execline/bin to PATH.

MaintainerShengjing Zhu <zhsj@debian.org>
Changed ByShengjing Zhu <zhsj@debian.org>
Sponsorzhsj@debian.org
Distributionunstable
Architectureany all
VCSgit: https://salsa.debian.org/zhsj/execline.git (browse)
Popcon Installs134
Binary NEWYes (new binary packages of a source already in sid)
Trackerhttps://tracker.debian.org/pkg/execline
Uploaded4 hours ago

Potential Library Transition

The maintainer says no transition is needed and asked us to review anyway.

This library is only used by s6 and related packages, which are all my packages. https://tracker.debian.org/s6

— zhsj, 2 hours ago

New Package Report

.changes◂
Version2.10.0.0-1
Changed-ByShengjing Zhu <zhsj@debian.org>
Architecturesource amd64 all
Distributionunstable
DateFri, 06 Nov 2026 02:23:00 +0800
Sourceexecline
Changelog◂
execline (2.10.0.0-1) unstable; urgency=medium
 .
   * New upstream version 2.10.0.0
   * Bump SO version to 2.10
   * Bump skalibs-dev to 2.16.0.0
.dsc◂
Sectionadmin
Priorityoptional
Componentmain
Package-Listexecline deb admin optional arch=any
execline-doc deb doc optional arch=all
libexecline-dev deb libdevel optional arch=any
libexecline2.10 deb libs optional arch=any
debian/copyright◂
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: execline
Source: https://skarnet.org/software/execline/

Files: *
Copyright: 2011-2018 Laurent Bercot <ska-skaware@skarnet.org>
License: ISC

Files: debian/*
Copyright: 2018, Shengjing Zhu <i@zhsj.me>
License: ISC

License: ISC
 Permission to use, copy, modify, and/or distribute this software for
 any purpose with or without fee is hereby granted, provided that the
 above copyright notice and this permission notice appear in all copies.
 .
 THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

DFSG Assistant LLM REVIEW 1 blocker, 0 important, 2 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 2 hours ago.

Report◂

DFSG NEW review for execline version 2.10.0.0-1

Summary

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

Licensing

The licensing itself is DFSG-compliant: every .c and .h file carries /* ISC license. */, COPYING is the ISC text, doc/index.html says ISC, and the only other licence statement in the tree is the public-domain dedication in doc/quine-dam.txt; there are no non-free terms. debian/copyright is DEP-5, but it is inaccurate: its catch-all Files: * stanza attributes DCO (© 2004, 2006 The Linux Foundation and its contributors, a verbatim-only licence document) and doc/quine-dam.txt ("Public Domain.") to Laurent Bercot under ISC.

Packaging

Packaging is good overall: debhelper compat 14 with plain dh, cross-build-friendly Build-Depends-Arch, correct Multi-Arch/Section/Suggests fields, a symbols file with Build-Depends-Package, an autopkgtest, no patches, and Standards-Version 4.7.4 (current for Policy 4.7.4.1). One real gap: libexecline-dev does not depend on skalibs-dev although the only header it installs includes skalibs headers, so the -dev package alone cannot compile against the library.

Issues

blocker licensing 1. Files: * names Laurent Bercot and ISC for DCO, which is © 2004, 2006 The Linux Foundation and its contributors under a verbatim-only licence ◂
  • Files: debian/copyright:5-7, DCO:4-10
  • Basis: checked, in the package or with a reference tool
  • Evidence: debian/copyright: Files: * / Copyright: 2011-2018 Laurent Bercot <ska-skaware@skarnet.org> / License: ISC; DCO: Copyright (C) 2004, 2006 The Linux Foundation and its contributors. and Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
  • Problem: The catch-all stanza is the only one matching DCO, so the package records the wrong copyright holder and the wrong licence for it. DCO is not ISC: it permits redistribution of the document verbatim only, so ISC's permission to modify does not apply, and its holder is the Linux Foundation and its contributors. DEP-5 requires the copyright and licence of each file to be recorded; debian/copyright is therefore inaccurate (the prescan flagged this file).
  • Fix: Add a stanza Files: DCO, Copyright: 2004, 2006 The Linux Foundation and its contributors, License: DCO, plus a stand-alone License: DCO paragraph holding the DCO text (there is no file for it in /usr/share/common-licenses).
minor licensing 2. Files: * names Laurent Bercot and ISC for doc/quine-dam.txt, which declares itself Public Domain ◂
  • Files: debian/copyright:5-7, doc/quine-dam.txt:1-3
  • Basis: checked, in the package or with a reference tool
  • Evidence: doc/quine-dam.txt: #! /command/execlineb -P / # Public Domain. / # See comments below.
  • Problem: The only stanza matching this file claims ISC and a Laurent Bercot copyright for a file whose own header dedicates it to the public domain (and which has no such holder). The package stays free, but debian/copyright misstates this file's licence.
  • Fix: Add Files: doc/quine-dam.txt, Copyright: none, License: public-domain and a short stand-alone License: public-domain paragraph reproducing the public-domain dedication.
minor packaging 3. libexecline-dev does not depend on skalibs-dev, though the header it installs includes skalibs headers ◂
  • Files: debian/control:50-56, src/include/execline/execline.h:8-10
  • Basis: checked, in the package or with a reference tool
  • Evidence: debian/control: Package: libexecline-dev / Depends: / libexecline2.10 (= ${binary:Version}),; header: #include <skalibs/gccattributes.h>, #include <skalibs/buffer.h>, #include <skalibs/stralloc.h>
  • Problem: Installing libexecline-dev alone does not give a working development environment: #include <execline/execline.h> cannot be preprocessed without skalibs-dev, and linking against the shipped libexecline.a needs libskarnet.a from skalibs-dev. Policy 8.4 requires a -dev package to install everything needed to compile against its library (its footnote explicitly allows the files to be split as long as the -dev package depends on the other packages). skalibs-dev is Multi-Arch: same, so adding it keeps M-A compatibility.
  • Fix: Add skalibs-dev to the Depends of libexecline-dev.
Verified ◂
  • Every file of debian/ was read except debian/watch (out of scope). The whole tree was grepped case-insensitively for Copyright, (C), ©, SPDX-License-Identifier, Licensed under, Permission is hereby granted, GNU/GPL/LGPL, Apache, Mozilla, public domain, BSD, MIT, All rights reserved, Creative Commons, non-commercial; the only hits are the ISC statements, the DCO text and the Public Domain. line in doc/quine-dam.txt.
  • All .c/.h source files seen (src/execline, src/libexecline, src/include, src/include-local) start with /* ISC license. */; COPYING is ISC; doc/index.html states "execline is free software ... ISC license"; the quine-jriou/prj/sertonix files and examples/etc/* carry no separate terms and fall under the project licence.
  • No built files, binaries, images, fonts, PDFs, minified code or archives in the tree: a glob for png/jpg/svg/ttf/otf/woff/pdf/zip/gz/xz/o/a/so/pyc/jar returned nothing. All upstream text files are plain source, docs or tiny example data files.
  • Generated files have their generators present: configure <- tools/configure.template (and package/configure-snippets/), package/deps.mak and src//deps-exe/* <- tools/gen-deps.sh (rules also regenerates deps.mak), src/multicall/execline.c <- tools/gen-multicall.sh (only for --enable-multicall, not enabled). doc/*.html are hand-written; the Makefile has no doc build target.
  • DCO's changing is not allowed clause restricts the licence document itself only (the same wording the GPL's own text uses) and Debian distributes it verbatim, so it is not a DFSG problem; what is wrong is its attribution in debian/copyright.
  • debian/copyright is DEP-5 with Format 1.0; its 2011-2018 year range against COPYING's 2011-2026 is year drift only.
  • Standards-Version 4.7.4 matches Policy 4.7.4.1 in its first two components; debhelper-compat 14 is the recommended level on this system. Changelog is unstable, version 2.10.0.0-1 against the single orig tarball; source format is 3.0 (quilt) with no debian/patches and an empty quilt applied-patches.
  • Build-Depends-Arch: skalibs-dev (>= 2.16.0.0) is satisfiable: skalibs 2.15.1.0-1 is archived and 2.16.0.0-1 is waiting in NEW (apt-cache).
  • Packaging details checked: symbols file libexecline.so.2.10 with Build-Depends-Package: libexecline-dev; libexecline2.10/libexecline-dev Multi-Arch: same, execline-doc Multi-Arch: foreign; execline Suggests execline-doc (Policy 12.3 allows at most Suggests there); autopkgtest quine has no Depends, so autopkgtest assumes @ and installs execline for /usr/bin/execlineb.
  • execline-doc installs the HTML under /usr/share/doc/execline and doc-base and debian/execlineb.1 both point there; Policy 12.3 encourages exactly this layout for a -doc package, so it is not a fault.
  • debian/rules hardening=+all is not lost: upstream configure moves the environment's CPPFLAGS/CFLAGS/LDFLAGS into *_POST and re-applies them after its own flags, and the rules pass --disable-rpath, so dpkg-buildflags settings survive.
  • uscan found the packaged version as the newest upstream release (upstream 2.10.0.0, packaged 2.10.0.0).
Not confirmed ◂
  • File modes are not visible with the read-only tools: debian/execlineb must be executable to become /usr/bin/execlineb and debian/tests/quine-input is executed by the test, but autopkgtest only adds the execute bit to the test script itself.
  • src/include/execline/execline.h:43 declares el_spawn1 but no file in src/libexecline defines it, so a consumer calling it would fail to link; this looks like an upstream API defect rather than a packaging one, and it is not in the symbols file, so it does not affect the ABI check. Not confirmed as such without a build.
Proposed changes ◂

None.

Uploader's response to the LLM review

The uploader rejected this upload in response to the review.

Review Information

rejected — allocated to dfsg-uploader 1 hour ago, started 1 hour ago, completed 1 hour ago.

Final Comment

The uploader rejected this upload in response to the automated (LLM) review of it, so that they can fix the problems it found and upload again.

Back to Dashboard | View all reviews for this package