[SRU] Pegjs should not provide nodejs.

Bug #1880680 reported by Gianfranco Costamagna on 2020-05-26
This bug affects 1 person
Affects Status Importance Assigned to Milestone
pegjs (Ubuntu)

Bug Description


* There is no nodejs provided by pegjs, even if the pegjs binary seems to say so.
* There is missing usr/bin/pegjs binary

[Test Case]

 * Use nodejs libraries with just pegjs installed will show this bug (nodejs dependency wrongly satisfied)

[Regression Potential]

 * Really, Really, none.
It will increase uninstallability of riscv64, because nodejs is not built there. But this is really what we want, because no nodejs library can run without a nodejs interpreter.

[Other Info]

 * pegjs in focal provides nodejs breaking the world when installed.
 * I prefer to keep the binary the same as the groovy one, fixing the same bugs fixed in the Debian upload. And described in the Impact section.

Also pegjs in groovy should be probably hinted to go in release.

Nodejs is not part of riscv64, so pegjs is not migrating because it will make the uninstallability count increase

Changed in pegjs (Ubuntu):
status: New → Fix Committed
Changed in pegjs (Ubuntu Focal):
importance: Undecided → High

trying: pegjs
skipped: pegjs (0, 2, 27)
    got: 122+0: a-7:a-7:a-8:i-2:p-7:r-83:s-8
    * riscv64: ea-utils, r-bioc-biovizbase, r-bioc-deseq2, r-cran-haplo.stats, r-cran-hmisc, r-cran-qgraph, r-cran-rgl, r-cran-rms, r-cran-treescape, r-cran-treespace, r-cran-wgcna

An upload of pegjs to focal-proposed has been rejected from the upload queue for the following reason: "Contains packaging changes unrelated to the stated bug".

This is the diff I intend to SRU in focal.

Basically its the same as the groovy one.
Restore of a pegjs binary in usr/bin (Debian bug: #959615)
Restore recommendation of javascript-common (Debian bug: #956507)
Drop useless lintian overrides.

Drop nodejs provide and recommend it instead
--- pegjs-0.10.0/debian/changelog 2020-04-04 12:58:52.000000000 +0200
+++ pegjs-0.10.0/debian/changelog 2020-05-26 13:29:03.000000000 +0200
@@ -1,3 +1,23 @@
+pegjs (0.10.0-3~ubuntu1.20.04.1) focal; urgency=medium
+ * SRU Upload to Ubuntu focal (LP: #1880680)
+ -- Gianfranco Costamagna <email address hidden> Tue, 26 May 2020 13:29:03 +0200
+pegjs (0.10.0-3) unstable; urgency=medium
+ * Restore /usr/bin/pegjs (Closes: #959615)
+ * Remove nodejs from dependencies and add javascript-common as recommended
+ dependency (Closes: #722488)
+ -- Xavier Guimard <email address hidden> Sun, 03 May 2020 16:01:16 +0200
+pegjs (0.10.0-2) unstable; urgency=medium
+ * Fix dependencies (Closes: #956507)
+ -- Xavier Guimard <email address hidden> Sun, 12 Apr 2020 10:31:49 +0200
 pegjs (0.10.0-1) unstable; urgency=medium

   * Bump debhelper compatibility level to 12
diff -Nru pegjs-0.10.0/debian/control pegjs-0.10.0/debian/control
--- pegjs-0.10.0/debian/control 2020-04-04 12:54:42.000000000 +0200
+++ pegjs-0.10.0/debian/control 2020-05-03 16:01:16.000000000 +0200
@@ -17,10 +17,10 @@
 Package: node-pegjs
 Architecture: all
 Depends: ${misc:Depends}
+Recommends: javascript-common
 Provides: node-peg
  , pegjs
  , libjs-pegjs
- , nodejs
 Description: JavaScript parser generator
  PEG.js is a simple parser generator for JavaScript that produces
  fast parsers with excellent error reporting. You can use it to process
diff -Nru pegjs-0.10.0/debian/lintian-overrides pegjs-0.10.0/debian/lintian-overrides
--- pegjs-0.10.0/debian/lintian-overrides 2020-04-04 12:56:50.000000000 +0200
+++ pegjs-0.10.0/debian/lintian-overrides 1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-# Binary not installed
-node-pegjs: manpage-without-executable usr/share/man/man1/pegjs.1.gz
diff -Nru pegjs-0.10.0/debian/nodejs/links pegjs-0.10.0/debian/nodejs/links
--- pegjs-0.10.0/debian/nodejs/links 1970-01-01 01:00:00.000000000 +0100
+++ pegjs-0.10.0/debian/nodejs/links 2020-05-03 16:00:26.000000000 +0200
@@ -0,0 +1 @@
+pegjs/bin/pegjs /usr/bin/pegjs
                                                                                                                                                                                          53,1 Bot

summary: - Pegjs should not provide nodejs.
+ [SRU] Pegjs should not provide nodejs.
Changed in pegjs (Ubuntu Focal):
status: New → In Progress
description: updated
Łukasz Zemczak (sil2100) wrote :

Hey! Thanks for preparing the SRU! So I think what Steve meant by rejecting the upload is:
1) The addition of javascript-common is not documented anywhere in the SRU, as this feels like a separate change to the bug being fixed here.
2) Restoring of the pegjs binary in usr/bin also seems like a fix for a separate issue, unrelated to 'Pegjs should not provide nodejs.'.

I think the normal procedure here would be to have separate Ubuntu bugs opened for each of those issues (with a separate rationale and test-case section) and added to the .changes file. I guess one might include all that info in this one bug, with separate sections for each change, but that feels a bit less clean.

Chris Halse Rogers (raof) wrote :

For the changelog I would *prefer* that each of the LP bugs have what they actually fix in them. I understand that they're referred to in the previous Debian entries, but the changelog is the primary user-visible documentation of updates and it's nice if it's clear.

It *does* have all the relevant info, though.

Changed in pegjs (Ubuntu Focal):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-focal

Hello Gianfranco, or anyone else affected,

Accepted pegjs into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/pegjs/0.10.0-3~ubuntu1.20.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

pegjs -h
Usage: pegjs [options] [--] [<input_file>]

      --allowed-start-rules <rules> comma-separated list of rules the generated
                                     parser will be allowed to start parsing
                                     from (default: the first rule in the
      --cache make generated parser cache results
  -d, --dependency <dependency> use specified dependency (can be specified
                                     multiple times)
  -e, --export-var <variable> name of a global variable into which the
                                     parser object is assigned to when no module
                                     loader is detected
      --extra-options <options> additional options (in JSON format) to pass
                                     to peg.generate
      --extra-options-file <file> file with additional options (in JSON
                                     format) to pass to peg.generate
      --format <format> format of the generated parser: amd,
                                     commonjs, globals, umd (default: commonjs)
  -h, --help print help and exit
  -O, --optimize <goal> select optimization for speed or size
                                     (default: speed)
  -o, --output <file> output file
      --plugin <plugin> use a specified plugin (can be specified
                                     multiple times)
      --trace enable tracing in generated parser
  -v, --version print version information and exit

tags: added: verification-done verification-done-focal
removed: verification-needed verification-needed-focal

I had to manually install nodejs to make it work, this is a separate debian issue

(this issue was related to nodejs not being provided, not about missing binary, so comment #8 #9 #10 are unrelated)

I can confirm the "nodejs" is not provided anymore by this new package.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package pegjs - 0.10.0-3~ubuntu1.20.04.1

pegjs (0.10.0-3~ubuntu1.20.04.1) focal; urgency=medium

  * SRU Upload to Ubuntu focal (LP: #1880680, LP: #1881148, LP: #1881147)

pegjs (0.10.0-3) unstable; urgency=medium

  * Restore /usr/bin/pegjs (Closes: #959615)
  * Remove nodejs from dependencies and add javascript-common as recommended
    dependency (Closes: #722488)

pegjs (0.10.0-2) unstable; urgency=medium

  * Fix dependencies (Closes: #956507)

 -- Gianfranco Costamagna <email address hidden> Tue, 26 May 2020 13:29:03 +0200

Changed in pegjs (Ubuntu Focal):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for pegjs has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Changed in pegjs (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.