Too many repetitions of the same warning
Metadata
Current evaluation
Resolved in snapcraft 8.4.4. The fix prevents the CRAFT_ARCH_TRIPLET deprecation warning from spamming verbose logs by ensuring it only prints once per deprecated variable usage.
Suggested action: —
No scores available.
Issue body
### Bug Description
Verbose mode is too verbose when mentioning deprecated entries
### To Reproduce
Create a snapcraft.yaml with many `CRAFT_ARCH_TRIPLET` and run in verbose
### Environment
Ubuntu 22.04 LTS
### snapcraft.yaml
```shell
name: ansel
version: "0.0.0"
adopt-info: ansel
grade: stable
confinement: strict
base: core22
compression: lzo
donation: "https://liberapay.com/aurelienpierre"
source-code: "https://github.com/aurelienpierreeng/ansel"
website: "https://ansel.photos"
architectures:
- build-on: amd64
- build-on: arm64
apps:
ansel:
command: usr/bin/ansel --datadir $SNAP/usr/share/ansel --moduledir $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/ansel --configdir $SNAP_USER_DATA --localedir $SNAP/usr/share/locale
environment:
GTK_USE_PORTAL: 0
extensions: [gnome]
plugs:
- opengl
- home
- removable-media
- password-manager-service
- network
- network-bind
common-id: photos.ansel.app
cli:
command: usr/bin/ansel-cli --datadir $SNAP/usr/share/ansel --moduledir $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/ansel --configdir $SNAP_USER_DATA --localedir $SNAP/usr/share/locale
extensions: [gnome]
plugs:
- opengl
- home
- removable-media
- password-manager-service
- network
- network-bind
# https://forum.snapcraft.io/t/help-gdbus-error-this-call-is-not-available-inside-the-sandbox/29969/5
- network-status
lensfun-update-data:
command: usr/bin/lensfun-update-data
environment:
PYTHONPATH: $SNAP/usr/lib/python3/dist-packages
plugs:
- network
slots:
session-dbus-interface:
interface: dbus
name: org.darktable.service
bus: session
layout:
/usr/include/clc:
symlink: $SNAP/usr/include/clc
/usr/lib/clc:
symlink: $SNAP/usr/lib/clc
/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/gallium-pipe:
symlink: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/gallium-pipe
/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/intel-opencl:
symlink: $SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/intel-opencl
build-packages:
- gcc-12
- g++-12
parts:
opencl:
plugin: nil
stage-packages:
- mesa-opencl-icd
- ocl-icd-libopencl1
intel-opencl-icd:
source: https://github.com/intel/compute-runtime/releases/download/23.22.26516.18/intel-opencl-icd_23.22.26516.18_amd64.deb
source-checksum: sha256/934959f815a2692a65a16cfe126b466749d03f14d0184afdf84a6453dba06b04
plugin: dump
libigdgmm12:
source: https://github.com/intel/compute-runtime/releases/download/23.22.26516.18/libigdgmm12_22.3.0_amd64.deb
source-checksum: sha256/de6ed9333a74506de43993eb14c8e0e0eb23314c42b03af66fe9c3df24a8973d
plugin: dump
intel-level-zero-gpu:
source: https://github.com/intel/compute-runtime/releases/download/23.22.26516.18/intel-level-zero-gpu_1.3.26516.18_amd64.deb
source-checksum: sha256/3505f1dad479aaeea1f2460cc9288edc031bead47ac924a9f78b3c01fdcf5d3a
plugin: dump
intel-igc-core:
source: https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.14062.11/intel-igc-core_1.0.14062.11_amd64.deb
source-checksum: sha256/c75dc93b168246f0ac08aea6aef551312f54545771b4637a268de205617d2ab0
plugin: dump
stage:
- -usr/share/doc
- -usr/local
- -usr/lib/igc
organize:
usr/local/lib: usr/lib
intel-igc-opencl:
source: https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.14062.11/intel-igc-opencl_1.0.14062.11_amd64.deb
source-checksum: sha256/cf76d943dbe44d3da2b7bad2a1049b8834030ec03f7cea6270528f5e67251095
plugin: dump
stage:
- -usr/share/doc
- -usr/local
- -usr/lib/igc
organize:
usr/local/lib: usr/lib
ansel:
plugin: cmake
source: .
cmake-parameters:
- -DCMAKE_BUILD_TYPE=Release
# Place the data alongside that coming from stage-packages (e.g. the lensfun database)
- -DCMAKE_INSTALL_PREFIX=/usr
# Support Lua scripts by way of internal Lua implementation
- -DDONT_USE_INTERNAL_LUA=OFF
# Don't overly optimize for build CPU-- stay generic
- -DBINARY_PACKAGE_BUILD=ON
- -DCMAKE_FIND_ROOT_PATH="$SNAPCRAFT_STAGE;/snap/gnome-42-2204-sdk/current"
- -DCMAKE_VERBOSE_MAKEFILE=ON
- -DCMAKE_C_COMPILER="/usr/bin/gcc-12"
- -DCMAKE_CXX_COMPILER="/usr/bin/g++-12"
- -DUSE_LIGHTROOM=ON
- -DUSE_COLORD=ON
stage-packages:
- libasn1-8-heimdal
- libavif13
- libcurl3-gnutls
- libexiv2-27
- libgraphicsmagick-q16-3
- libgssapi3-heimdal
- libhcrypto4-heimdal
- libheimbase1-heimdal
- libheimntlm0-heimdal
- libhx509-5-heimdal
- libimage-exiftool-perl
- libkrb5-26-heimdal
- libgphoto2-6
- libldap-2.5-0
- liblensfun-bin
- liblensfun-data-v1
- liblensfun1
- libnghttp2-14
- libpugixml1v5
- libroken18-heimdal
- librtmp1
- libsasl2-2
- libssh-4
- libwind0-heimdal
build-packages:
- intltool
- libavif-dev
- libexiv2-dev
- libgraphicsmagick1-dev
- liblensfun-dev
- libgphoto2-dev
- libpugixml-dev
- libsdl2-dev
- libsm-dev
- libxml2-utils
- libxrandr-dev
- ninja-build
- patch
- pkg-config
- xsltproc
# -- Missing jsonschema, problems in noiseprofiles.json might go unnoticed
# -- GMIC not found
# Disabled capabilities for now due to interfaces:
#
# Need to test with cups-control interface
# - libcups2-dev
# No colord interface
# - libcolord-dev
# - libcolord-gtk-dev
build-environment:
- LDFLAGS: "-L${CRAFT_STAGE}/usr/lib/${CRAFT_ARCH_TRIPLET} $(pkg-config --libs libheif sdl2 harfbuzz gtk+-3.0 OpenEXR)"
# [-Werror=shadow]
# :: src/src/gui/guides.c:534:63: error: declaration of ‘free’ shadows a global declaration
- CFLAGS: "-O3 $(pkg-config --cflags libheif sdl2 harfbuzz OpenEXR) -Wno-error=type-limits -Wno-error=shadow -Wno-error=unused-value"
# [-Werror=shadow]
# :: usr/include/OpenEXR/ImfRational.h:48:26: error: declaration of ‘d’ shadows a member of ‘Imf_3_1::Rational’
- CXXFLAGS: "-O3 $(pkg-config --cflags libheif sdl2 harfbuzz OpenEXR) -Wno-error=register -Wno-error=shadow"
override-pull: |
craftctl default
craftctl set version=$(git describe --tags)
patch -p0 < "${SNAPCRAFT_PROJECT_DIR}/snap/local/patches/darktable-math_h.patch"
patch -p0 < "${SNAPCRAFT_PROJECT_DIR}/snap/local/patches/darktable-lens_cc.patch"
override-build: |
snapcraftctl build
PYTHONPATH=$SNAPCRAFT_PART_INSTALL/usr/lib/python3/dist-packages $SNAPCRAFT_PART_INSTALL/usr/bin/lensfun-update-data || echo No updates
if [ -d /var/lib/lensfun-updates/version_1/]; then
cp /var/lib/lensfun-updates/version_1/* $SNAPCRAFT_PART_INSTALL/usr/share/lensfun/version_1/
fi
parse-info:
- usr/share/metainfo/photos.ansel.app.appdata.xml
stage:
- -usr/share/man
- -usr/lib/llvm-15
- -usr/lib/clang
after:
- openexr
- osmgpsmap
- heif
heif:
source: https://github.com/strukturag/libheif/releases/download/v1.14.2/libheif-1.14.2.tar.gz
source-checksum: sha256/d016905e247d6952cd7ee4f9b90957350b6a6caa466bc76fdfe6eb302b6d088c
plugin: autotools
autotools-configure-parameters:
- --prefix=/usr
build-environment:
- CC: "/usr/bin/gcc-12"
- CXX: "/usr/bin/g++-12"
stage:
- -usr/share/man
openexr:
source: https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v3.1.5.tar.gz
source-checksum: sha256/93925805c1fc4f8162b35f0ae109c4a75344e6decae5a240afdfce25f8a433ec
plugin: cmake
cmake-parameters:
- -DCMAKE_INSTALL_PREFIX=/usr
- -DDOCS=OFF
- -DOPENEXR_INSTALL_EXAMPLES=OFF
- -DOPENEXR_BUILD_TOOLS=OFF
- -DOPENEXR_INSTALL_TOOLS=OFF
- -DCMAKE_C_COMPILER="/usr/bin/gcc-12"
- -DCMAKE_CXX_COMPILER="/usr/bin/g++-12"
build-environment:
- CFLAGS: "-O3"
prime:
- -usr/include
osmgpsmap:
source: https://github.com/nzjrs/osm-gps-map/releases/download/1.2.0/osm-gps-map-1.2.0.tar.gz
source-checksum: sha256/ddec11449f37b5dffb4bca134d024623897c6140af1f9981a8acc512dbf6a7a5
plugin: autotools
autotools-configure-parameters:
- --prefix=/usr
- --enable-introspection=no
build-packages:
- libcurl4-gnutls-dev
- libssl-dev
- libsoup2.4-dev
build-environment:
- CFLAGS: "-O3"
- CXXFLAGS: "-O3"
- CC: "/usr/bin/gcc-12"
- CXX: "/usr/bin/g++-12"
prime:
- -usr/include
```
### Relevant log output
```shell
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
CRAFT_ARCH_TRIPLET is deprecated, use CRAFT_ARCH_TRIPLET_BUILD_{ON|FOR}
```
### Additional context
_No response_
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Resolved in snapcraft 8.4.4. The fix prevents the CRAFT_ARCH_TRIPLET deprecation warning from spamming verbose logs by ensuring it only prints once per deprecated variable usage. | |
| qwen/qwen3.6-35b-a3b | — | — | Resolved in snapcraft 8.4.4. Excessive repeated deprecation warnings for CRAFT_ARCH_TRIPLET in verbose mode now display only once per variable instead of printing for every architecture. | |
| qwen/qwen3.6-35b-a3b | — | — | Repetitive deprecation warnings in verbose mode were fixed in snapcraft 8.4.4. The update ensures the warning prints only once per build instead of repeating for every architecture. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | The excessive repetition of the CRAFT_ARCH_TRIPLET deprecation warning in verbose mode was resolved in snapcraft 8.4.4. The fix limits the warning to a single output per build, and the issue was closed as already fixed. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Resolved in snapcraft 8.4.4. The repeated CRAFT_ARCH_TRIPLET deprecation warning in verbose mode was fixed to print only once per build instead of duplicating for each architecture. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #3518 yaml: detect and log warning on duplicate keys in snapcraft.yaml (CRAFT-553) | snapcraft | merged | Merged into master after rebasing and approval. Adds a warning check for duplicate keys in snapcraft.yaml, logging all occurrences. Multiple warnings may trigger due to repeated file loads, to be optimized later. |