← Back to issue list

different contents or permissions error

View original Github issue

Metadata

Project
rockcraft
Number
#790
Type
issue
State
open
Author
yanksyoon
Labels
Created
Updated
Closed

Current evaluation

Rockcraft npm plugin with npm-include-node writes node_modules into /lib, colliding with a second part's libpq5_libs stage-packages, causing a 'different contents or permissions' merge error. No maintainer response in 587 days.

Suggested action: needs triage

Reason: The issue has zero comments, no labels, and no maintainer interaction in 587 days, so it has never been triaged. The expressjs extension now installs node_modules under /lib/node_modules/<app> and even documents a workaround for a similar ca-certificates merge conflict, but nothing in the repo addresses the raw npm-plugin /lib collision reported here, so it needs a maintainer to confirm whether it is a bug or expected craft-parts behavior.

Impact: 40 Quick Win: 18.0 Staleness: 90 Complexity: 55 Confidence: 55 Support Request: 30

Issue body

### Bug Description Hello team! A follow up from the [Matrix thread](https://matrix.to/#/!NPPCseDHKRvSBMUEXN:ubuntu.com/$upouJFvo8bjWS08ZNTe9yDtELNuVPh4qbs-ue3vEbbM?via=ubuntu.com&via=matrix.org) regarding the error when trying to merge the `lib` directory together. The problem seems to be with the [NPM plugin](https://documentation.ubuntu.com/rockcraft/en/1.5.3/common/craft-parts/reference/plugins/npm_plugin/), when using `npm-include-node:true` and `npm-node-version` options, which writes `node_modules` to the `/lib` directory. This requires a dummy package.json at the source/root directory. ```package.json { "name": "app", "version": "0.0.0", "private": true, "scripts": { "start": "node ./bin/www" }, "dependencies": { "cookie-parser": "~1.4.4", "debug": "~2.6.9", "express": "~4.16.1", "http-errors": "~1.6.3", "jade": "~1.11.0", "morgan": "~1.9.1" } } ``` ### To Reproduce 1. Create the files above (rockcraft.yaml, package.json). 2. rockcraft pack 3. error: `Detailed information: Parts 'test/runtime' and 'expressjs-framework/install' list the following files, but with different contents or permissions: lib` ### Environment Ubuntu 22.04 LTS ### rockcraft.yaml ```yaml name: demo title: demo version: '0.1' summary: summary description: lib dir issue demo base: bare build-base: ubuntu@24.04 platforms: amd64: build-on: - amd64 build-for: - amd64 parts: test/install: plugin: npm npm-include-node: true npm-node-version: node source: . build-packages: [] stage-packages: - bash_bins test/runtime: plugin: nil stage-packages: - libpq5_libs ``` ### Relevant log output ```shell N/A ```

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 40
Quick Win: 18.0
Staleness: 90
Complexity: 55
Confidence: 55
Support Request: 30
needs triage Rockcraft npm plugin with npm-include-node writes node_modules into /lib, colliding with a second part's libpq5_libs stage-packages, causing a 'different contents or permissions' merge error. No maintainer response in 587 days.
qwen/qwen3.6-35b-a3b
Staleness: 85
Complexity: 45
Confidence: 80
Support Request: 15
needs triage Bug report detailing a 'different contents or permissions' error when merging lib directories during rockcraft pack with the NPM plugin. Includes reproduction steps but remains completely unassessed and inactive for over 18 months.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 55
Confidence: 70
Support Request: 10
needs triage Unlabelled bug report describing a craft-parts staging conflict where the npm plugin writes node_modules to /lib, causing a permissions error during rockcraft pack. Currently inactive for over 1.5 years with no maintainer response.
qwen3.6-35b-a3b-mtp-q6
Staleness: 95
Complexity: 70
Confidence: 70
Support Request: 15
needs triage Bug report about a lib directory merge conflict error during rockcraft pack with the npm plugin. Submitted 530 days ago with no maintainer response, labels, or log output. Requires assessment for current relevance and reproducibility.
qwen3.6-35b-a3b-mtp-q6
Staleness: 88
Complexity: 50
Confidence: 85
Support Request: 10
needs triage Bug causing a "different contents or permissions" error when merging lib during rockcraft pack. Triggered by NPM plugin writing node_modules to /lib with npm-include-node and npm-node-version. Open 511 days, untriaged, awaiting assignment.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#1001 npm plugin fails in the presence of `base-files` craft-parts open npm plugin (and any part creating bin/lib dirs) conflicts with base-files' bin/lib symlinks at staging, breaking rockcraft pack. Triaged (internal ticket); prototype fix #1004 unmerged; maintainer re-asked reporter 10 days ago if still reproducible, awaiting reply.
70%