different contents or permissions error
Metadata
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. |