Modification time of an element with an open workspace propagates into consumer element's sandbox
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 58/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- python
- Ambito
- build-system
Direzione di ricerca
Inizia riproducendo il problema con il progetto fornito, confrontando la mtime della build sandbox per a.txt con e senza bst workspace open a.bst. Traccia come gli artefatti del workspace vengono preparati nella sandbox di b.bst. Il lavoro è completato quando sia le build con workspace sia quelle senza workspace preservano il timestamp magico.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
When an element has a dependency with an open workspace, that dependency's artifacts get staged with their real mtimes instead of the magic timestamp. This can cause differences between builds with and without the workspace.
Steps to reproduce
A small project to reproduce the issue:
.
├── a.txt
├── elements
│ ├── a.bst
│ ├── alpine.bst
│ └── b.bst
└── project.conf
The context of a.txt are irrelevant, it can be left empty. elements/a.bst carries a.txt:
kind: import
sources:
- kind: local
path: a.txt
config:
target: /
elements/b.bst has a.bst and alpine.bst as build dependencies:
kind: manual
build-depends:
- alpine.bst
- a.bst
project.conf and alpine.bst are set up to pull alpine image
alpine.bst:
kind: import
description: |
Alpine Linux base runtime
sources:
- kind: tar
# This is a post doctored, trimmed down system image
# of the Alpine linux distribution.
#
url: alpine:integration-tests-base.v1.x86_64.tar.xz
ref: 3eb559250ba82b64a68d86d0636a6b127aa5f6d25d3601a79f79214dc9703639
project.conf:
# Unique project name
name: bug-repro
# Required BuildStream version
min-version: 2.7
# Subdirectory where elements are stored
element-path: elements
aliases:
alpine: https://bst-integration-test-images.ams3.cdn.digitaloceanspaces.com/
When no workspace is open, building b.bst, opening its build sandbox, and checking the mtime of a.txt shows that all is well, and modification time is normalised:
$ bst build b.bst
...
$ bst shell --build b.bst
...
[20440600@b.bst:/buildstream/repro/b.bst]$ stat /a.txt
File: /a.txt
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 31h/49d Inode: 2 Links: 1
Access: (0644/-rw-r--r--) Uid: (1876721912/ UNKNOWN) Gid: (1174200513/ UNKNOWN)
Access: 2011-11-11 11:11:11.000000000
Modify: 2011-11-11 11:11:11.000000000
Change: 2011-11-11 11:11:11.000000000
If a.bst's workspace is opened first, the modification time is no longer the magic timestamp but the actual a.bst's build time instead:
$ bst workspace open a.bst
...
$ bst build b.bst
...
$ bst shell --build b.bst
...
[e1f40f6c@b.bst:/buildstream/repro/b.bst]$ stat /a.txt
File: /a.txt
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 31h/49d Inode: 3 Links: 1
Access: (0644/-rw-r--r--) Uid: (1876721912/ UNKNOWN) Gid: (1174200513/ UNKNOWN)
Access: 2011-11-11 11:11:11.000000000
Modify: 2026-08-25 11:06:30.000000000
Change: 2011-11-11 11:11:11.000000000
- Lingua principale
- Python
- Stelle
- 144
- Fork
- 45
- Merge medio
- 20h 38m
- PR unite (30g)
- 6
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/buildstream
-
logging
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
apache/buildstream#2150 · 3 commenti ·
-
question
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
apache/buildstream#2143 · 2 commenti · 1 reazione ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
apache/buildstream#2194 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
apache/buildstream#2184 · 1 commento ·
-
apache/buildstream#2182 · 1 reazione · 1 assegnatario ·
Tutte le issue di apache/buildstream
Issue simili
-
documentation help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
simonw/sqlite-utils#872 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100