Call for testing: Snapcraft 7.2.0

I am pleased to announce that Snapcraft 7.2.0 is now on the candidate channel.

Preliminary release notes are available at https://github.com/snapcore/snapcraft/releases/tag/7.2.0

Releasing to stable, if no issues are found, is scheduled for 2022-10-20T03:00:00Z

2 Likes

Fails to build a core22 base-snap-using snap when executed with:

snapcraft

Returning the following log (pulled from the ~/.cache/snapcraft/log folder):

2022-10-16 22:05:20.537 Starting Snapcraft 7.2.0
2022-10-16 22:05:20.537 lifecycle command: 'pack', arguments: Namespace(bind_ssh=False, build_for=None, debug=False, destructive_mode=False, directory=None, enable_developer_debug=False, enable_experimental_extensions=False, enable_experimental_target_arch=False, enable_experimental_ua_services=False, enable_manifest=False, http_proxy=None, https_proxy=None, manifest_image_information=None, output=None, provider=None, target_arch=None, ua_token=None, use_lxd=False)
2022-10-16 22:05:20.537 command: pack, arguments: Namespace(bind_ssh=False, build_for=None, debug=False, destructive_mode=False, directory=None, enable_developer_debug=False, enable_experimental_extensions=False, enable_experimental_target_arch=False, enable_experimental_ua_services=False, enable_manifest=False, http_proxy=None, https_proxy=None, manifest_image_information=None, output=None, provider=None, target_arch=None, ua_token=None, use_lxd=False)
2022-10-16 22:05:20.559 Skipping build-on: arm64 build-for: ['arm64'] because build-on doesn't match host arch: amd64
2022-10-16 22:05:20.559 CPU count (from process affinity): 16
2022-10-16 22:05:20.559 Invalid SNAPCRAFT_MAX_PARALLEL_BUILD_COUNT value
2022-10-16 22:05:20.559 Running on amd64 for amd64
2022-10-16 22:05:20.563 Checking build provider availability
2022-10-16 22:05:20.569 Retrieved snap config: {}
2022-10-16 22:05:20.569 Using default provider 'lxd' on linux system.
2022-10-16 22:05:20.570 Emitter: Pausing control of the terminal
2022-10-16 22:05:21.007 Emitter: Resuming control of the terminal
2022-10-16 22:05:21.007 Launching instance...
2022-10-16 22:06:15.455 Emitter: Pausing control of the terminal
2022-10-16 22:08:46.540 Emitter: Resuming control of the terminal
2022-10-16 22:08:48.203 Failed to execute pack in instance.
2022-10-16 22:08:48.203 Detailed information: Run the same command again with --debug to shell into the environment if you wish to introspect this failure.
2022-10-16 22:08:48.207 Traceback (most recent call last):
2022-10-16 22:08:48.207   File "/snap/snapcraft/8420/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 553, in _run_in_provider
2022-10-16 22:08:48.207     instance.execute_run(cmd, check=True, cwd=output_dir)
2022-10-16 22:08:48.207   File "/snap/snapcraft/8420/lib/python3.8/site-packages/craft_providers/lxd/lxd_instance.py", line 289, in execute_run
2022-10-16 22:08:48.207     return self.lxc.exec(
2022-10-16 22:08:48.207   File "/snap/snapcraft/8420/lib/python3.8/site-packages/craft_providers/lxd/lxc.py", line 329, in exec
2022-10-16 22:08:48.207     return runner(final_cmd, **kwargs)  # pylint: disable=subprocess-run-check
2022-10-16 22:08:48.207   File "/snap/snapcraft/8420/usr/lib/python3.8/subprocess.py", line 516, in run
2022-10-16 22:08:48.207     raise CalledProcessError(retcode, process.args,
2022-10-16 22:08:48.207 subprocess.CalledProcessError: Command '['lxc', '--project', 'snapcraft', 'exec', 'local:snapcraft-ubuntu-accomplishments-on-amd64-for-amd64-19796221', '--cwd', '/root/project', '--', 'env', 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin', 'SNAPCRAFT_MANAGED_MODE=1', 'snapcraft', 'pack', '--verbosity=brief', '--build-for', 'amd64']' returned non-zero exit status 1.
2022-10-16 22:08:48.207 Full execution log: '/home/dani/.cache/snapcraft/log/snapcraft-20221016-220520.536566.log'

The yaml is below (an attempt at porting ubuntu-accomplishments to core22, but haven’t verified it builds yet cos I need to use 7.2.0 for the passthrough keyword to be supported in an app marked as daemon: simple):

name: ubuntu-accomplishments
base: core22
version: '0.2'
summary: Ubuntu Accomplishments
description: |
  The Ubuntu Accomplishments system provides a simple, cohesive way to browse
  different opportunities in the Ubuntu community and beyond, find out how to
  participate and accomplish them, and see different accomplishments in one
  place.
grade: stable
confinement: strict
compression: lzo

architectures:
  - build-on: amd64
    build-for: amd64
  - build-on: arm64
    build-for: arm64

parts:
  flutter-git:
    source: https://github.com/flutter/flutter.git
    source-branch: stable
    plugin: nil
    override-build: |
      set -eux
      mkdir -p $CRAFT_PART_INSTALL/usr/bin
      mkdir -p $CRAFT_PART_INSTALL/usr/libexec
      cp -r $CRAFT_PART_SRC $CRAFT_PART_INSTALL/usr/libexec/flutter
      ln -sf $CRAFT_PART_INSTALL/usr/libexec/flutter/bin/flutter $CRAFT_PART_INSTALL/usr/bin/flutter
      export PATH="$CRAFT_PART_INSTALL/usr/bin:$PATH"
      flutter doctor
      flutter channel stable
      flutter upgrade
    build-packages:
      - clang
      - cmake
      - curl
      - ninja-build
      - unzip
    override-prime: ''

  daemon:
    after: [flutter-git]
    plugin: nil
    source: https://github.com/UbuntuAccomplishments/daemon.git
    override-build: |
      dart pub get
      dart run build_runner build --delete-conflicting-outputs
      dart compile exe --output accomplishments-daemon bin/accom_daemon.dart
      install -m755 -D -t $SNAPCRAFT_PART_INSTALL/bin accomplishments-daemon
      install -m644 -D -t $SNAPCRAFT_PART_INSTALL/usr/share/accomplishments/daemon/data data/ubuntu-accomplishments-system.svg
      install -m644 -D -t $SNAPCRAFT_PART_INSTALL/usr/share/accomplishments/daemon data/daemon/validation-key.pub
    stage-packages:
      - klibc-utils
      - python3
      - python3-launchpadlib # for community-accomplishments
      - python3-requests # for community-accomplishments

  viewer:
    after: [flutter-git]
    plugin: nil
    source: https://github.com/UbuntuAccomplishments/viewer.git
    build-packages: [rsync]
    override-build: |
      flutter pub get
      flutter pub run build_runner build --delete-conflicting-outputs
      flutter build linux --release -v
      craftctl set version="$(jq -r '.version' build/flutter_assets/version.json)"
      mkdir -p $CRAFT_PART_INSTALL/bin
      cp -r build/linux/*/release/bundle/* $CRAFT_PART_INSTALL/bin/
      sed -i -e 's|\(Icon=\).*|\1/bin/data/flutter_assets/data/media/ubuntu-accomplishments.svg|' \
          $CRAFT_PART_INSTALL/bin/data/flutter_assets/data/software.desktop

  community-accomplishments:
    plugin: nil
    source: https://github.com/UbuntuAccomplishments/community-accomplishments.git
    override-build: |
      ./install.sh $SNAPCRAFT_PART_INSTALL/usr/share/accomplishments
  
  desktop-accomplishments:
    plugin: nil
    source: https://github.com/UbuntuAccomplishments/desktop-accomplishments.git
    override-build: |
      ./install.sh $SNAPCRAFT_PART_INSTALL/usr/share/accomplishments
    stage:
      # these still need porting or removing entirely
      - -usr/share/accomplishments/accomplishments/ubuntu-desktop/*/accessories/accomplishments-shared-with-validation-server.accomplishment
      - -usr/share/accomplishments/accomplishments/ubuntu-desktop/*/gaming/gnomine*.accomplishment
      - -usr/share/accomplishments/accomplishments/ubuntu-desktop/*/gaming/mahjongg*.accomplishment
      - -usr/share/accomplishments/accomplishments/ubuntu-desktop/*/gaming/sudoku*.accomplishment
      - -usr/share/accomplishments/accomplishments/ubuntu-desktop/*/general/installed-on-nexus7.accomplishment
      - -usr/share/accomplishments/accomplishments/ubuntu-desktop/*/multimedia/importshotwell.accomplishment
      - -usr/share/accomplishments/accomplishments/ubuntu-desktop/*/multimedia/multimedia-added-music.accomplishment
      - -usr/share/accomplishments/accomplishments/ubuntu-desktop/*/multimedia/multimedia-added-photos.accomplishment
      - -usr/share/accomplishments/accomplishments/ubuntu-desktop/*/multimedia/musicinrhythmbox.accomplishment
      - -usr/share/accomplishments/accomplishments/ubuntu-desktop/*/networking/gwibber-*.accomplishment
      - -usr/share/accomplishments/accomplishments/ubuntu-desktop/*/productivity/libreoffice-create-document.accomplishment

layout:
    /usr/share/libdrm/amdgpu.ids:
        symlink: $SNAP/gnome-platform/usr/share/libdrm/amdgpu.ids

slots:
  accomplishments-service:
    interface: dbus
    bus: session
    name: org.ubuntu.Accomplishments

plugs:
  accomplishments-viewer:
    interface: dbus
    bus: session
    name: org.ubuntu.Accomplishments
  etc-lsb-release:
    interface: system-files
    read:
      - /etc/lsb-release
  # gnomine-scores:
  #   interface: personal-files
  #   read:
  #     - $HOME/.local/share/gnome-mines/scores
  # mahjongg-scores:
  #   interface: system-files
  #   read:
  #     - $HOME/.local/share/gnome-mahjongg/history
  # sudoku-scores:
  #   interface: personal-files
  #   read:
  #     - $HOME/.local/share/gnome-sudoku/finished
  # missing rythmbox plug
  # missing shotwell plug

apps:
  daemon:
    command: bin/accomplishments-daemon
    daemon: simple
    passthrough:
      daemon-scope: user
    slots:
      - accomplishments-service # the dbus service
    plugs:
      - gsettings
      - hardware-observe
      - home
      - log-observe
      - network
      # our custom system access below:
      # - gnomine-scores
      # - mahjongg-scores
      # - sudoku-scores
      - etc-lsb-release

  ubuntu-accomplishments:
    command: bin/accomplishments_viewer
    common-id: org.ubuntu.Accomplishments
    desktop: bin/data/flutter_assets/data/software.desktop
    extensions: [gnome]
    plugs:
      - accomplishments-viewer # the dbus service

The yaml above should be used to replace the yaml currently sitting in https://github.com/UbuntuAccomplishments/accomplishments-snap.

Can you please share

/home/dani/.cache/snapcraft/log/snapcraft-20221016-220520.536566.log

?

The log above was /home/dani/.cache/snapcraft/log/snapcraft-20221016-220520.536566.log

Included again for confirmation that I copied the right file (my own verification cos I think that was the file I copied, but now I’m not certain):

2022-10-16 22:05:20.537 Starting Snapcraft 7.2.0
2022-10-16 22:05:20.537 lifecycle command: 'pack', arguments: Namespace(bind_ssh=False, build_for=None, debug=False, destructive_mode=False, directory=None, enable_developer_debug=False, enable_experimental_extensions=False, enable_experimental_target_arch=False, enable_experimental_ua_services=False, enable_manifest=False, http_proxy=None, https_proxy=None, manifest_image_information=None, output=None, provider=None, target_arch=None, ua_token=None, use_lxd=False)
2022-10-16 22:05:20.537 command: pack, arguments: Namespace(bind_ssh=False, build_for=None, debug=False, destructive_mode=False, directory=None, enable_developer_debug=False, enable_experimental_extensions=False, enable_experimental_target_arch=False, enable_experimental_ua_services=False, enable_manifest=False, http_proxy=None, https_proxy=None, manifest_image_information=None, output=None, provider=None, target_arch=None, ua_token=None, use_lxd=False)
2022-10-16 22:05:20.559 Skipping build-on: arm64 build-for: ['arm64'] because build-on doesn't match host arch: amd64
2022-10-16 22:05:20.559 CPU count (from process affinity): 16
2022-10-16 22:05:20.559 Invalid SNAPCRAFT_MAX_PARALLEL_BUILD_COUNT value
2022-10-16 22:05:20.559 Running on amd64 for amd64
2022-10-16 22:05:20.563 Checking build provider availability
2022-10-16 22:05:20.569 Retrieved snap config: {}
2022-10-16 22:05:20.569 Using default provider 'lxd' on linux system.
2022-10-16 22:05:20.570 Emitter: Pausing control of the terminal
2022-10-16 22:05:21.007 Emitter: Resuming control of the terminal
2022-10-16 22:05:21.007 Launching instance...
2022-10-16 22:06:15.455 Emitter: Pausing control of the terminal
2022-10-16 22:08:46.540 Emitter: Resuming control of the terminal
2022-10-16 22:08:48.203 Failed to execute pack in instance.
2022-10-16 22:08:48.203 Detailed information: Run the same command again with --debug to shell into the environment if you wish to introspect this failure.
2022-10-16 22:08:48.207 Traceback (most recent call last):
2022-10-16 22:08:48.207   File "/snap/snapcraft/8420/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 553, in _run_in_provider
2022-10-16 22:08:48.207     instance.execute_run(cmd, check=True, cwd=output_dir)
2022-10-16 22:08:48.207   File "/snap/snapcraft/8420/lib/python3.8/site-packages/craft_providers/lxd/lxd_instance.py", line 289, in execute_run
2022-10-16 22:08:48.207     return self.lxc.exec(
2022-10-16 22:08:48.207   File "/snap/snapcraft/8420/lib/python3.8/site-packages/craft_providers/lxd/lxc.py", line 329, in exec
2022-10-16 22:08:48.207     return runner(final_cmd, **kwargs)  # pylint: disable=subprocess-run-check
2022-10-16 22:08:48.207   File "/snap/snapcraft/8420/usr/lib/python3.8/subprocess.py", line 516, in run
2022-10-16 22:08:48.207     raise CalledProcessError(retcode, process.args,
2022-10-16 22:08:48.207 subprocess.CalledProcessError: Command '['lxc', '--project', 'snapcraft', 'exec', 'local:snapcraft-ubuntu-accomplishments-on-amd64-for-amd64-19796221', '--cwd', '/root/project', '--', 'env', 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin', 'SNAPCRAFT_MANAGED_MODE=1', 'snapcraft', 'pack', '--verbosity=brief', '--build-for', 'amd64']' returned non-zero exit status 1.
2022-10-16 22:08:48.207 Full execution log: '/home/dani/.cache/snapcraft/log/snapcraft-20221016-220520.536566.log'
1 Like

Thanks @lucyllewy, the missing log file should be fixed with https://github.com/snapcore/snapcraft/pull/3950

More details about linters available in 7.2.0 for core22 snaps available in Snapcraft linters.

here’s the console output with --verbosity=debug as requested by @sergiusens via a different venue:

2022-10-18 17:50:41.523 Starting Snapcraft 7.2.0                               
2022-10-18 17:50:41.523 Logging execution to '/home/dani/.cache/snapcraft/log/snapcraft-20221018-175041.522088.log'                                            
2022-10-18 17:50:41.524 lifecycle command: 'pack', arguments: Namespace(bind_ssh=False, build_for=None, debug=False, destructive_mode=False, directory=None, enable_developer_debug=False, enable_experimental_extensions=False, enable_experimental_target_arch=False, enable_experimental_ua_services=False, enable_manifest=False, http_proxy=None, https_proxy=None, manifest_image_information=None, output=None, provider=None, target_arch=None, ua_token=None, use_lxd=False)          
2022-10-18 17:50:41.524 command: pack, arguments: Namespace(bind_ssh=False, build_for=None, debug=False, destructive_mode=False, directory=None, enable_developer_debug=False, enable_experimental_extensions=False, enable_experimental_target_arch=False, enable_experimental_ua_services=False, enable_manifest=False, http_proxy=None, https_proxy=None, manifest_image_information=None, output=None, provider=None, target_arch=None, ua_token=None, use_lxd=False)                      
2022-10-18 17:50:41.546 Skipping build-on: arm64 build-for: ['arm64'] because build-on doesn't match host arch: amd64                                          
2022-10-18 17:50:41.546 CPU count (from process affinity): 16                  
2022-10-18 17:50:41.546 Invalid SNAPCRAFT_MAX_PARALLEL_BUILD_COUNT value       
2022-10-18 17:50:41.547 Running on amd64 for amd64                             
2022-10-18 17:50:41.551 Checking build provider availability                   
2022-10-18 17:50:41.572 Retrieved snap config: {}                              
2022-10-18 17:50:41.572 Using default provider 'lxd' on linux system.          
2022-10-18 17:50:41.572 Emitter: Pausing control of the terminal               
2022-10-18 17:50:42.020 Emitter: Resuming control of the terminal              
2022-10-18 17:50:42.020 Launching instance...                                  
2022-10-18 17:50:46.261 Emitter: Pausing control of the terminal               
2022-10-18 16:50:49.853 Starting Snapcraft 7.2.0                               
2022-10-18 16:50:49.853 Logging execution to '/tmp/snapcraft.log'              
2022-10-18 16:50:49.855 lifecycle command: 'pack', arguments: Namespace(bind_ssh=False, build_for='amd64', debug=False, destructive_mode=False, directory=None, enable_developer_debug=False, enable_experimental_extensions=False, enable_experimental_target_arch=False, enable_experimental_ua_services=False, enable_manifest=False, http_proxy=None, https_proxy=None, manifest_image_information=None, output=None, provider=None, target_arch=None, ua_token=None, use_lxd=False)       
2022-10-18 16:50:49.855 command: pack, arguments: Namespace(bind_ssh=False, build_for='amd64', debug=False, destructive_mode=False, directory=None, enable_developer_debug=False, enable_experimental_extensions=False, enable_experimental_target_arch=False, enable_experimental_ua_services=False, enable_manifest=False, http_proxy=None, https_proxy=None, manifest_image_information=None, output=None, provider=None, target_arch=None, ua_token=None, use_lxd=False)                   
2022-10-18 16:50:49.886 Skipping build-on: arm64 build-for: ['arm64'] because build-on doesn't match host arch: amd64                                          
2022-10-18 16:50:49.887 CPU count (from process affinity): 4                   
2022-10-18 16:50:49.887 Invalid SNAPCRAFT_MAX_PARALLEL_BUILD_COUNT value       
2022-10-18 16:50:49.887 Running on amd64 for amd64                             
2022-10-18 16:50:49.891 Initializing parts lifecycle                           
2022-10-18 16:50:49.891 is_snap: True, SNAP_NAME set to snapcraft              
2022-10-18 16:50:49.896 load state file: /root/parts/community-accomplishments/state/pull                                                                      
2022-10-18 16:50:49.902 load state file: /root/parts/flutter-git/state/pull    
2022-10-18 16:50:49.909 load state file: /root/parts/daemon/state/pull         
2022-10-18 16:50:49.917 load state file: /root/parts/desktop-accomplishments/state/pull                                                                        
2022-10-18 16:50:49.924 load state file: /root/parts/gnome/sdk/state/pull      
2022-10-18 16:50:49.928 load state file: /root/parts/viewer/state/pull         
2022-10-18 16:50:49.935 load state file: /root/parts/community-accomplishments/state/overlay                                                                   
2022-10-18 16:50:49.940 load state file: /root/parts/flutter-git/state/overlay 
2022-10-18 16:50:49.948 load state file: /root/parts/daemon/state/overlay      
2022-10-18 16:50:49.954 load state file: /root/parts/desktop-accomplishments/state/overlay                                                                     
2022-10-18 16:50:49.961 load state file: /root/parts/gnome/sdk/state/overlay   
2022-10-18 16:50:49.964 load state file: /root/parts/viewer/state/overlay      
2022-10-18 16:50:49.970 load state file: /root/parts/community-accomplishments/state/build                                                                     
2022-10-18 16:50:49.990 load state file: /root/parts/flutter-git/state/build   
2022-10-18 16:50:50.013 load state file: /root/parts/flutter-git/state/stage   
2022-10-18 16:50:51.287 process community-accomplishments:Step.PULL            
2022-10-18 16:50:51.287 check if Part('community-accomplishments'):Step.PULL is dirty                                                                          
2022-10-18 16:50:51.294 check if Part('community-accomplishments'):Step.PULL is outdated                                                                       
2022-10-18 16:50:51.294 add action community-accomplishments:Step.PULL(ActionType.SKIP)                                                                        
2022-10-18 16:50:51.294 process flutter-git:Step.PULL                          
2022-10-18 16:50:51.294 check if Part('flutter-git'):Step.PULL is dirty        
2022-10-18 16:50:51.294 check if Part('flutter-git'):Step.PULL is outdated     
2022-10-18 16:50:51.294 add action flutter-git:Step.PULL(ActionType.SKIP)      
2022-10-18 16:50:51.294 process daemon:Step.PULL                               
2022-10-18 16:50:51.295 check if Part('daemon'):Step.PULL is dirty             
2022-10-18 16:50:51.295 check if Part('daemon'):Step.PULL is outdated          
2022-10-18 16:50:51.295 add action daemon:Step.PULL(ActionType.SKIP)           
2022-10-18 16:50:51.295 process desktop-accomplishments:Step.PULL              
2022-10-18 16:50:51.295 check if Part('desktop-accomplishments'):Step.PULL is dirty                                                                            
2022-10-18 16:50:51.295 check if Part('desktop-accomplishments'):Step.PULL is outdated                                                                         
2022-10-18 16:50:51.295 add action desktop-accomplishments:Step.PULL(ActionType.SKIP)                                                                          
2022-10-18 16:50:51.295 process gnome/sdk:Step.PULL                            
2022-10-18 16:50:51.295 check if Part('gnome/sdk'):Step.PULL is dirty          
2022-10-18 16:50:51.295 check if Part('gnome/sdk'):Step.PULL is outdated       
2022-10-18 16:50:51.297 ignore patterns: ['*.snap']                            
2022-10-18 16:50:51.297 updated files: set()                                   
2022-10-18 16:50:51.297 updated directories: set()                             
2022-10-18 16:50:51.297 add action gnome/sdk:Step.PULL(ActionType.SKIP)        
2022-10-18 16:50:51.297 process viewer:Step.PULL                               
2022-10-18 16:50:51.297 check if Part('viewer'):Step.PULL is dirty             
2022-10-18 16:50:51.298 check if Part('viewer'):Step.PULL is outdated          
2022-10-18 16:50:51.298 add action viewer:Step.PULL(ActionType.SKIP)           
2022-10-18 16:50:51.298 process community-accomplishments:Step.OVERLAY         
2022-10-18 16:50:51.298 check if Part('community-accomplishments'):Step.OVERLAY is dirty                                                                       
2022-10-18 16:50:51.298 check if Part('community-accomplishments'):Step.OVERLAY is outdated                                                                    
2022-10-18 16:50:51.298 add action community-accomplishments:Step.OVERLAY(ActionType.SKIP)                                                                     
2022-10-18 16:50:51.298 process flutter-git:Step.OVERLAY                       
2022-10-18 16:50:51.298 check if Part('flutter-git'):Step.OVERLAY is dirty     
2022-10-18 16:50:51.298 check if Part('flutter-git'):Step.OVERLAY is outdated  
2022-10-18 16:50:51.298 add action flutter-git:Step.OVERLAY(ActionType.SKIP)   
2022-10-18 16:50:51.298 process daemon:Step.OVERLAY                            
2022-10-18 16:50:51.298 check if Part('daemon'):Step.OVERLAY is dirty          
2022-10-18 16:50:51.298 check if Part('daemon'):Step.OVERLAY is outdated       
2022-10-18 16:50:51.298 add action daemon:Step.OVERLAY(ActionType.SKIP)        
2022-10-18 16:50:51.298 process desktop-accomplishments:Step.OVERLAY           
2022-10-18 16:50:51.298 check if Part('desktop-accomplishments'):Step.OVERLAY is dirty                                                                         
2022-10-18 16:50:51.299 check if Part('desktop-accomplishments'):Step.OVERLAY is outdated                                                                      
2022-10-18 16:50:51.299 add action desktop-accomplishments:Step.OVERLAY(ActionType.SKIP)                                                                       
2022-10-18 16:50:51.299 process gnome/sdk:Step.OVERLAY                         
2022-10-18 16:50:51.299 check if Part('gnome/sdk'):Step.OVERLAY is dirty       
2022-10-18 16:50:51.299 check if Part('gnome/sdk'):Step.OVERLAY is outdated    
2022-10-18 16:50:51.299 add action gnome/sdk:Step.OVERLAY(ActionType.SKIP)     
2022-10-18 16:50:51.299 process viewer:Step.OVERLAY                            
2022-10-18 16:50:51.299 check if Part('viewer'):Step.OVERLAY is dirty          
2022-10-18 16:50:51.299 check if Part('viewer'):Step.OVERLAY is outdated       
2022-10-18 16:50:51.299 add action viewer:Step.OVERLAY(ActionType.SKIP)        
2022-10-18 16:50:51.299 process community-accomplishments:Step.BUILD           
2022-10-18 16:50:51.300 check if Part('community-accomplishments'):Step.BUILD is dirty                                                                         
2022-10-18 16:50:51.300 check if Part('community-accomplishments'):Step.BUILD is outdated                                                                      
2022-10-18 16:50:51.300 add action community-accomplishments:Step.BUILD(ActionType.SKIP)                                                                       
2022-10-18 16:50:51.300 process flutter-git:Step.BUILD                         
2022-10-18 16:50:51.300 check if Part('flutter-git'):Step.BUILD is dirty       
2022-10-18 16:50:51.300 check if Part('flutter-git'):Step.BUILD is outdated    
2022-10-18 16:50:51.300 add action flutter-git:Step.BUILD(ActionType.SKIP)     
2022-10-18 16:50:51.300 process daemon:Step.BUILD                              
2022-10-18 16:50:51.300 check if Part('flutter-git'):Step.STAGE is outdated    
2022-10-18 16:50:51.300 check if Part('flutter-git'):Step.STAGE is dirty       
2022-10-18 16:50:51.300 check if Part('flutter-git'):Step.BUILD is outdated    
2022-10-18 16:50:51.300 check if Part('flutter-git'):Step.BUILD is dirty       
2022-10-18 16:50:51.300 check if Part('flutter-git'):Step.OVERLAY is outdated  
2022-10-18 16:50:51.301 check if Part('flutter-git'):Step.OVERLAY is dirty     
2022-10-18 16:50:51.301 check if Part('flutter-git'):Step.PULL is outdated     
2022-10-18 16:50:51.301 check if Part('flutter-git'):Step.PULL is dirty        
2022-10-18 16:50:51.302 add action daemon:Step.BUILD(ActionType.RUN)           
2022-10-18 16:50:51.302 process desktop-accomplishments:Step.BUILD             
2022-10-18 16:50:51.302 add action desktop-accomplishments:Step.BUILD(ActionType.RUN)                                                                          
2022-10-18 16:50:51.302 process gnome/sdk:Step.BUILD                           
2022-10-18 16:50:51.302 add action gnome/sdk:Step.BUILD(ActionType.RUN)        
2022-10-18 16:50:51.303 process viewer:Step.BUILD                              
2022-10-18 16:50:51.303 check if Part('flutter-git'):Step.STAGE is outdated    
2022-10-18 16:50:51.303 check if Part('flutter-git'):Step.STAGE is dirty       
2022-10-18 16:50:51.303 check if Part('flutter-git'):Step.BUILD is outdated    
2022-10-18 16:50:51.303 check if Part('flutter-git'):Step.BUILD is dirty       
2022-10-18 16:50:51.303 check if Part('flutter-git'):Step.OVERLAY is outdated  
2022-10-18 16:50:51.303 check if Part('flutter-git'):Step.OVERLAY is dirty     
2022-10-18 16:50:51.303 check if Part('flutter-git'):Step.PULL is outdated     
2022-10-18 16:50:51.303 check if Part('flutter-git'):Step.PULL is dirty        
2022-10-18 16:50:51.303 add action viewer:Step.BUILD(ActionType.RUN)           
2022-10-18 16:50:51.304 process community-accomplishments:Step.STAGE           
2022-10-18 16:50:51.304 add action community-accomplishments:Step.STAGE(ActionType.RUN)                                                                        
2022-10-18 16:50:51.304 process flutter-git:Step.STAGE                         
2022-10-18 16:50:51.304 check if Part('flutter-git'):Step.STAGE is dirty       
2022-10-18 16:50:51.304 check if Part('flutter-git'):Step.STAGE is outdated    
2022-10-18 16:50:51.304 add action flutter-git:Step.STAGE(ActionType.SKIP)     
2022-10-18 16:50:51.304 process daemon:Step.STAGE                              
2022-10-18 16:50:51.304 check if Part('flutter-git'):Step.STAGE is outdated    
2022-10-18 16:50:51.304 check if Part('flutter-git'):Step.STAGE is dirty       
2022-10-18 16:50:51.304 check if Part('flutter-git'):Step.BUILD is outdated    
2022-10-18 16:50:51.304 check if Part('flutter-git'):Step.BUILD is dirty       
2022-10-18 16:50:51.304 check if Part('flutter-git'):Step.OVERLAY is outdated  
2022-10-18 16:50:51.304 check if Part('flutter-git'):Step.OVERLAY is dirty     
2022-10-18 16:50:51.304 check if Part('flutter-git'):Step.PULL is outdated     
2022-10-18 16:50:51.304 check if Part('flutter-git'):Step.PULL is dirty        
2022-10-18 16:50:51.304 add action daemon:Step.STAGE(ActionType.RUN)           
2022-10-18 16:50:51.305 process desktop-accomplishments:Step.STAGE             
2022-10-18 16:50:51.305 add action desktop-accomplishments:Step.STAGE(ActionType.RUN)                                                                          
2022-10-18 16:50:51.305 process gnome/sdk:Step.STAGE                           
2022-10-18 16:50:51.305 add action gnome/sdk:Step.STAGE(ActionType.RUN)        
2022-10-18 16:50:51.305 process viewer:Step.STAGE                              
2022-10-18 16:50:51.305 check if Part('flutter-git'):Step.STAGE is outdated    
2022-10-18 16:50:51.305 check if Part('flutter-git'):Step.STAGE is dirty       
2022-10-18 16:50:51.305 check if Part('flutter-git'):Step.BUILD is outdated    
2022-10-18 16:50:51.305 check if Part('flutter-git'):Step.BUILD is dirty       
2022-10-18 16:50:51.306 check if Part('flutter-git'):Step.OVERLAY is outdated  
2022-10-18 16:50:51.306 check if Part('flutter-git'):Step.OVERLAY is dirty     
2022-10-18 16:50:51.306 check if Part('flutter-git'):Step.PULL is outdated     
2022-10-18 16:50:51.306 check if Part('flutter-git'):Step.PULL is dirty        
2022-10-18 16:50:51.306 add action viewer:Step.STAGE(ActionType.RUN)           
2022-10-18 16:50:51.307 process community-accomplishments:Step.PRIME           
2022-10-18 16:50:51.307 add action community-accomplishments:Step.PRIME(ActionType.RUN)                                                                        
2022-10-18 16:50:51.307 process flutter-git:Step.PRIME                         
2022-10-18 16:50:51.307 add action flutter-git:Step.PRIME(ActionType.RUN)      
2022-10-18 16:50:51.307 process daemon:Step.PRIME                              
2022-10-18 16:50:51.308 check if Part('flutter-git'):Step.PRIME is outdated    
2022-10-18 16:50:51.308 check if Part('flutter-git'):Step.PRIME is dirty       
2022-10-18 16:50:51.308 check if Part('flutter-git'):Step.STAGE is outdated    
2022-10-18 16:50:51.308 check if Part('flutter-git'):Step.STAGE is dirty       
2022-10-18 16:50:51.308 check if Part('flutter-git'):Step.BUILD is outdated    
2022-10-18 16:50:51.308 check if Part('flutter-git'):Step.BUILD is dirty       
2022-10-18 16:50:51.308 check if Part('flutter-git'):Step.OVERLAY is outdated  
2022-10-18 16:50:51.308 check if Part('flutter-git'):Step.OVERLAY is dirty     
2022-10-18 16:50:51.308 check if Part('flutter-git'):Step.PULL is outdated     
2022-10-18 16:50:51.308 check if Part('flutter-git'):Step.PULL is dirty        
2022-10-18 16:50:51.308 add action daemon:Step.PRIME(ActionType.RUN)           
2022-10-18 16:50:51.308 process desktop-accomplishments:Step.PRIME             
2022-10-18 16:50:51.308 add action desktop-accomplishments:Step.PRIME(ActionType.RUN)                                                                          
2022-10-18 16:50:51.309 process gnome/sdk:Step.PRIME                           
2022-10-18 16:50:51.309 add action gnome/sdk:Step.PRIME(ActionType.RUN)        
2022-10-18 16:50:51.309 process viewer:Step.PRIME                              
2022-10-18 16:50:51.309 check if Part('flutter-git'):Step.PRIME is outdated    
2022-10-18 16:50:51.309 check if Part('flutter-git'):Step.PRIME is dirty       
2022-10-18 16:50:51.309 check if Part('flutter-git'):Step.STAGE is outdated    
2022-10-18 16:50:51.309 check if Part('flutter-git'):Step.STAGE is dirty       
2022-10-18 16:50:51.309 check if Part('flutter-git'):Step.BUILD is outdated    
2022-10-18 16:50:51.309 check if Part('flutter-git'):Step.BUILD is dirty       
2022-10-18 16:50:51.309 check if Part('flutter-git'):Step.OVERLAY is outdated  
2022-10-18 16:50:51.309 check if Part('flutter-git'):Step.OVERLAY is dirty     
2022-10-18 16:50:51.309 check if Part('flutter-git'):Step.PULL is outdated     
2022-10-18 16:50:51.309 check if Part('flutter-git'):Step.PULL is dirty        
2022-10-18 16:50:51.309 add action viewer:Step.PRIME(ActionType.RUN)           
2022-10-18 16:50:51.310 Executing parts lifecycle...                           
2022-10-18 16:50:51.310 source build packages: {'git'}                         
2022-10-18 16:50:51.310 part build packages: ['clang', 'cmake', 'curl', 'ninja-build', 'unzip']                                                                
2022-10-18 16:50:51.310 source build packages: {'git'}                         
2022-10-18 16:50:51.310 source build packages: {'git'}                         
2022-10-18 16:50:51.310 source build packages: {'git'}                         
2022-10-18 16:50:51.311 ignore patterns: ['*.snap']                            
2022-10-18 16:50:51.311 plugin build packages: {'gcc', 'make'}                 
2022-10-18 16:50:51.311 part build snaps: ['gnome-42-2204-sdk']                
2022-10-18 16:50:51.311 part build packages: ['rsync']                         
2022-10-18 16:50:51.311 source build packages: {'git'}                         
2022-10-18 16:50:51.311 Requested build-packages: ['clang', 'cmake', 'curl', 'gcc', 'git', 'make', 'ninja-build', 'rsync', 'unzip']                            
2022-10-18 16:50:51.743 Marking ninja-build (and its dependencies) to be fetched                                                                               
2022-10-18 16:50:51.744 package: ninja-build                                   
2022-10-18 16:50:51.749 Marking make (and its dependencies) to be fetched      
2022-10-18 16:50:51.749 package: make                                          
2022-10-18 16:50:51.753 Marking curl (and its dependencies) to be fetched      
2022-10-18 16:50:51.754 package: curl                                          
2022-10-18 16:50:51.758 Marking rsync (and its dependencies) to be fetched     
2022-10-18 16:50:51.758 package: rsync                                         
2022-10-18 16:50:51.762 Marking unzip (and its dependencies) to be fetched     
2022-10-18 16:50:51.762 package: unzip                                         
2022-10-18 16:50:51.766 Marking git (and its dependencies) to be fetched       
2022-10-18 16:50:51.766 package: git                                           
2022-10-18 16:50:51.770 Marking clang (and its dependencies) to be fetched     
2022-10-18 16:50:51.770 package: clang                                         
2022-10-18 16:50:51.776 Marking gcc (and its dependencies) to be fetched       
2022-10-18 16:50:51.776 package: gcc                                           
2022-10-18 16:50:51.780 Marking cmake (and its dependencies) to be fetched     
2022-10-18 16:50:51.780 package: cmake                                         
2022-10-18 16:50:51.801 Requested build-packages already installed: ['clang', 'cmake', 'curl', 'gcc', 'git', 'make', 'ninja-build', 'rsync', 'unzip']          
2022-10-18 16:50:52.681 verify plugin environment for part 'community-accomplishments'                                                                         
2022-10-18 16:50:52.687 verify plugin environment for part 'flutter-git'       
2022-10-18 16:50:52.688 verify plugin environment for part 'daemon'            
2022-10-18 16:50:52.690 verify plugin environment for part 'desktop-accomplishments'                                                                           
2022-10-18 16:50:52.691 verify plugin environment for part 'gnome/sdk'         
2022-10-18 16:50:52.692 verify plugin environment for part 'viewer'            
2022-10-18 16:50:52.694 Executing parts lifecycle: skip pull community-accomplishments (already ran)                                                           
2022-10-18 16:50:52.694 Executing action                                       
2022-10-18 16:50:52.694 execute action community-accomplishments:Action(part_name='community-accomplishments', step=Step.PULL, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)})                        
2022-10-18 16:50:52.694 Skip execution of Action(part_name='community-accomplishments', step=Step.PULL, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)}) (because already ran)                         
2022-10-18 16:50:52.695 Executed: skip pull community-accomplishments (already ran)                                                                            
2022-10-18 16:50:52.695 Executing parts lifecycle: skip pull flutter-git (already ran)                                                                         
2022-10-18 16:50:52.695 Executing action                                       
2022-10-18 16:50:52.696 execute action flutter-git:Action(part_name='flutter-git', step=Step.PULL, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)})                                                    
2022-10-18 16:50:52.696 Skip execution of Action(part_name='flutter-git', step=Step.PULL, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)}) (because already ran)                                       
2022-10-18 16:50:52.697 Executed: skip pull flutter-git (already ran)          
2022-10-18 16:50:52.697 Executing parts lifecycle: skip pull daemon (already ran)                                                                              
2022-10-18 16:50:52.697 Executing action                                       
2022-10-18 16:50:52.697 execute action daemon:Action(part_name='daemon', step=Step.PULL, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)})                                                              
2022-10-18 16:50:52.697 Skip execution of Action(part_name='daemon', step=Step.PULL, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)}) (because already ran)                                            
2022-10-18 16:50:52.698 Executed: skip pull daemon (already ran)               
2022-10-18 16:50:52.698 Executing parts lifecycle: skip pull desktop-accomplishments (already ran)                                                             
2022-10-18 16:50:52.698 Executing action                                       
2022-10-18 16:50:52.698 execute action desktop-accomplishments:Action(part_name='desktop-accomplishments', step=Step.PULL, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)})                            
2022-10-18 16:50:52.698 Skip execution of Action(part_name='desktop-accomplishments', step=Step.PULL, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)}) (because already ran)                           
2022-10-18 16:50:52.699 Executed: skip pull desktop-accomplishments (already ran)                                                                              
2022-10-18 16:50:52.699 Executing parts lifecycle: skip pull gnome/sdk (already ran)                                                                           
2022-10-18 16:50:52.699 Executing action                                       
2022-10-18 16:50:52.700 execute action gnome/sdk:Action(part_name='gnome/sdk', step=Step.PULL, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)})                                                        
2022-10-18 16:50:52.700 Skip execution of Action(part_name='gnome/sdk', step=Step.PULL, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)}) (because already ran)                                         
2022-10-18 16:50:52.701 Executed: skip pull gnome/sdk (already ran)            
2022-10-18 16:50:52.701 Executing parts lifecycle: skip pull viewer (already ran)                                                                              
2022-10-18 16:50:52.701 Executing action                                       
2022-10-18 16:50:52.701 execute action viewer:Action(part_name='viewer', step=Step.PULL, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)})                                                              
2022-10-18 16:50:52.701 Skip execution of Action(part_name='viewer', step=Step.PULL, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)}) (because already ran)                                            
2022-10-18 16:50:52.702 Executed: skip pull viewer (already ran)               
2022-10-18 16:50:52.702 Executing parts lifecycle: skip overlay community-accomplishments (already ran)                                                        
2022-10-18 16:50:52.702 Executing action                                       
2022-10-18 16:50:52.703 execute action community-accomplishments:Action(part_name='community-accomplishments', step=Step.OVERLAY, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)})                     
2022-10-18 16:50:52.703 Skip execution of Action(part_name='community-accomplishments', step=Step.OVERLAY, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)}) (because already ran)                      
2022-10-18 16:50:52.704 Executed: skip overlay community-accomplishments (already ran)                                                                         
2022-10-18 16:50:52.704 Executing parts lifecycle: skip overlay flutter-git (already ran)                                                                      
2022-10-18 16:50:52.704 Executing action                                       
2022-10-18 16:50:52.704 execute action flutter-git:Action(part_name='flutter-git', step=Step.OVERLAY, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)})                                                 
2022-10-18 16:50:52.705 Skip execution of Action(part_name='flutter-git', step=Step.OVERLAY, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)}) (because already ran)                                    
2022-10-18 16:50:52.706 Executed: skip overlay flutter-git (already ran)       
2022-10-18 16:50:52.706 Executing parts lifecycle: skip overlay daemon (already ran)                                                                           
2022-10-18 16:50:52.706 Executing action                                       
2022-10-18 16:50:52.706 execute action daemon:Action(part_name='daemon', step=Step.OVERLAY, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)})                                                           
2022-10-18 16:50:52.706 Skip execution of Action(part_name='daemon', step=Step.OVERLAY, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)}) (because already ran)                                         
2022-10-18 16:50:52.707 Executed: skip overlay daemon (already ran)            
2022-10-18 16:50:52.707 Executing parts lifecycle: skip overlay desktop-accomplishments (already ran)                                                          
2022-10-18 16:50:52.707 Executing action                                       
2022-10-18 16:50:52.707 execute action desktop-accomplishments:Action(part_name='desktop-accomplishments', step=Step.OVERLAY, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)})                         
2022-10-18 16:50:52.707 Skip execution of Action(part_name='desktop-accomplishments', step=Step.OVERLAY, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)}) (because already ran)                        
2022-10-18 16:50:52.708 Executed: skip overlay desktop-accomplishments (already ran)                                                                           
2022-10-18 16:50:52.709 Executing parts lifecycle: skip overlay gnome/sdk (already ran)                                                                        
2022-10-18 16:50:52.709 Executing action                                       
2022-10-18 16:50:52.709 execute action gnome/sdk:Action(part_name='gnome/sdk', step=Step.OVERLAY, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)})                                                     
2022-10-18 16:50:52.709 Skip execution of Action(part_name='gnome/sdk', step=Step.OVERLAY, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)}) (because already ran)                                      
2022-10-18 16:50:52.710 Executed: skip overlay gnome/sdk (already ran)         
2022-10-18 16:50:52.710 Executing parts lifecycle: skip overlay viewer (already ran)                                                                           
2022-10-18 16:50:52.710 Executing action                                       
2022-10-18 16:50:52.710 execute action viewer:Action(part_name='viewer', step=Step.OVERLAY, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)})                                                           
2022-10-18 16:50:52.710 Skip execution of Action(part_name='viewer', step=Step.OVERLAY, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)}) (because already ran)                                         
2022-10-18 16:50:52.711 Executed: skip overlay viewer (already ran)            
2022-10-18 16:50:52.711 Executing parts lifecycle: skip build community-accomplishments (already ran)                                                          
2022-10-18 16:50:52.711 Executing action                                       
2022-10-18 16:50:52.711 execute action community-accomplishments:Action(part_name='community-accomplishments', step=Step.BUILD, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)})                       
2022-10-18 16:50:52.711 Skip execution of Action(part_name='community-accomplishments', step=Step.BUILD, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)}) (because already ran)                        
2022-10-18 16:50:52.712 Executed: skip build community-accomplishments (already ran)                                                                           
2022-10-18 16:50:52.712 Executing parts lifecycle: skip build flutter-git (already ran)                                                                        
2022-10-18 16:50:52.713 Executing action                                       
2022-10-18 16:50:52.713 execute action flutter-git:Action(part_name='flutter-git', step=Step.BUILD, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)})                                                   
2022-10-18 16:50:52.713 Skip execution of Action(part_name='flutter-git', step=Step.BUILD, action_type=ActionType.SKIP, reason='already ran', project_vars={'version': ProjectVar(value='0.2', updated=False), 'grade': ProjectVar(value='stable', updated=False)}) (because already ran)                                      
2022-10-18 16:50:52.714 Executed: skip build flutter-git (already ran)         
2022-10-18 16:50:52.714 Executing parts lifecycle: build daemon                
2022-10-18 16:50:52.714 Executing action                                       
2022-10-18 16:50:52.714 execute action daemon:Action(part_name='daemon', step=Step.BUILD, action_type=ActionType.RUN, reason=None, project_vars=None)          
2022-10-18 16:50:52.714 load state file: /root/parts/daemon/state/pull         
2022-10-18 16:50:53.225 fix artifacts: unpack_dir='/root/parts/daemon/install' 
2022-10-18 16:50:53.385 remove directory /root/parts/daemon/build              
2022-10-18 16:50:53.408 :: + dart pub get                                      
2022-10-18 16:50:53.409 :: /bin/bash: line 54: dart: command not found         
2022-10-18 16:50:53.608 'override-build' in part 'daemon' failed with code 127.
Review the scriptlet and make sure it's correct.                               
2022-10-18 16:50:53.611 Traceback (most recent call last):                     
2022-10-18 16:50:53.611   File "/snap/snapcraft/8420/lib/python3.8/site-packages/snapcraft/parts/parts.py", line 169, in run                                   
2022-10-18 16:50:53.611     aex.execute(action, stdout=stream, stderr=stream)  
2022-10-18 16:50:53.611   File "/snap/snapcraft/8420/lib/python3.8/site-packages/craft_parts/executor/executor.py", line 301, in execute                       
2022-10-18 16:50:53.611     self._executor.execute(actions, stdout=stdout, stderr=stderr)                                                                      
2022-10-18 16:50:53.611   File "/snap/snapcraft/8420/lib/python3.8/site-packages/craft_parts/executor/executor.py", line 126, in execute                       
2022-10-18 16:50:53.611     self._run_action(act, stdout=stdout, stderr=stderr)
2022-10-18 16:50:53.611   File "/snap/snapcraft/8420/lib/python3.8/site-packages/craft_parts/executor/executor.py", line 189, in _run_action                   
2022-10-18 16:50:53.611     handler.run_action(action, stdout=stdout, stderr=stderr)                                                                           
2022-10-18 16:50:53.611   File "/snap/snapcraft/8420/lib/python3.8/site-packages/craft_parts/executor/part_handler.py", line 161, in run_action                
2022-10-18 16:50:53.611     state = handler(step_info, stdout=stdout, stderr=stderr)                                                                           
2022-10-18 16:50:53.611   File "/snap/snapcraft/8420/lib/python3.8/site-packages/craft_parts/executor/part_handler.py", line 297, in _run_build                
2022-10-18 16:50:53.611     self._run_step(                                    
2022-10-18 16:50:53.611   File "/snap/snapcraft/8420/lib/python3.8/site-packages/craft_parts/executor/part_handler.py", line 469, in _run_step                 
2022-10-18 16:50:53.611     step_handler.run_scriptlet(                        
2022-10-18 16:50:53.611   File "/snap/snapcraft/8420/lib/python3.8/site-packages/craft_parts/executor/step_handler.py", line 265, in run_scriptlet             
2022-10-18 16:50:53.611     raise errors.ScriptletRunError(                    
2022-10-18 16:50:53.611 craft_parts.errors.ScriptletRunError: 'override-build' in part 'daemon' failed with code 127.                                          
2022-10-18 16:50:53.611 Review the scriptlet and make sure it's correct.       
2022-10-18 16:50:53.611                                                        
2022-10-18 16:50:53.611 The above exception was the direct cause of the following exception:                                                                   
2022-10-18 16:50:53.611 Traceback (most recent call last):                     
2022-10-18 16:50:53.611   File "/snap/snapcraft/8420/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 284, in _run_command                      
2022-10-18 16:50:53.611     _run_lifecycle_and_pack(                           
2022-10-18 16:50:53.611   File "/snap/snapcraft/8420/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 327, in _run_lifecycle_and_pack           
2022-10-18 16:50:53.611     lifecycle.run(                                     
2022-10-18 16:50:53.612   File "/snap/snapcraft/8420/lib/python3.8/site-packages/snapcraft/parts/parts.py", line 184, in run                                   
2022-10-18 16:50:53.612     raise errors.PartsLifecycleError(str(err)) from err
2022-10-18 16:50:53.612 snapcraft.errors.PartsLifecycleError: 'override-build' in part 'daemon' failed with code 127.                                          
2022-10-18 16:50:53.612 Review the scriptlet and make sure it's correct.       
2022-10-18 17:50:53.792 Emitter: Resuming control of the terminal              
2022-10-18 17:50:55.239 Failed to execute pack in instance.                    
2022-10-18 17:50:55.240 Detailed information: Run the same command again with --debug to shell into the environment if you wish to introspect this failure.    
2022-10-18 17:50:55.245 Traceback (most recent call last):                     
2022-10-18 17:50:55.245   File "/snap/snapcraft/8420/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 553, in _run_in_provider                  
2022-10-18 17:50:55.245     instance.execute_run(cmd, check=True, cwd=output_dir)                                                                              
2022-10-18 17:50:55.245   File "/snap/snapcraft/8420/lib/python3.8/site-packages/craft_providers/lxd/lxd_instance.py", line 289, in execute_run                
2022-10-18 17:50:55.245     return self.lxc.exec(                              
2022-10-18 17:50:55.245   File "/snap/snapcraft/8420/lib/python3.8/site-packages/craft_providers/lxd/lxc.py", line 329, in exec                                
2022-10-18 17:50:55.245     return runner(final_cmd, **kwargs)  # pylint: disable=subprocess-run-check                                                         
2022-10-18 17:50:55.245   File "/snap/snapcraft/8420/usr/lib/python3.8/subprocess.py", line 516, in run                                                        
2022-10-18 17:50:55.245     raise CalledProcessError(retcode, process.args,    
2022-10-18 17:50:55.245 subprocess.CalledProcessError: Command '['lxc', '--project', 'snapcraft', 'exec', 'local:snapcraft-ubuntu-accomplishments-on-amd64-for-amd64-19796221', '--cwd', '/root/project', '--', 'env', 'PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin', 'SNAPCRAFT_MANAGED_MODE=1', 'snapcraft', 'pack', '--verbosity=debug', '--build-for', 'amd64']' returned non-zero exit status 1.                                                          
2022-10-18 17:50:55.245 Full execution log: '/home/dani/.cache/snapcraft/log/snapcraft-20221018-175041.522088.log'

For what it is worth, a new release date has been set for 2022-10-24T03:00:00Z

Snapcraft 7.2.3 is now on stable.

1 Like

@sergiusens After update to 7.2.3 I have this error message.

snapcraft (7.x/stable) 7.2.3 from Canonical✓ refreshed
root@linuxHostBuildersUbuntu20:~/worker/cmake/LinuxCMakeBuilderQt6/QuasarApp/CQtDeployer# snapcraft 
Launching instance...                                                          
Executed: skip pull cqt-meta (already ran)                                     
Executed: skip pull cqtdeployer (already ran)                                  
Executed: skip overlay cqt-meta (already ran)                                  
Executed: skip overlay cqtdeployer (already ran)                               
Executed: skip build cqt-meta (already ran)                                    
Executed: skip build cqtdeployer (already ran)                                 
Executed: skip stage cqt-meta (already ran)                                    
Executed: skip stage cqtdeployer (already ran)                                 
Executed: skip prime cqt-meta (already ran)                                    
Executed: skip prime cqtdeployer (already ran)                                 
Executed parts lifecycle                                                       
Generated snap metadata                                                        
Created snap package cqtdeployer_1.6.2234.7ed0ca6_amd64.snap                   
Traceback (most recent call last):
  File "/snap/snapcraft/8482/lib/python3.8/site-packages/craft_providers/multipass/multipass.py", line 294, in transfer
    self._run(command)
  File "/snap/snapcraft/8482/lib/python3.8/site-packages/craft_providers/multipass/multipass.py", line 66, in _run
    return subprocess.run(command, check=True, capture_output=True, **kwargs)
  File "/snap/snapcraft/8482/usr/lib/python3.8/subprocess.py", line 516, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['multipass', 'transfer', 'snapcraft-cqtdeployer-on-amd64-for-amd64-1182742:/tmp/snapcraft.log', '/mnt/storage/Workers/ubuntu20/cmake/LinuxCMakeBuilderQt6/QuasarApp/CQtDeployer/craft-providers-yhg4_t4i.temp']' returned non-zero exit status 2.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/snap/snapcraft/8482/bin/snapcraft", line 8, in <module>
    sys.exit(run())
  File "/snap/snapcraft/8482/lib/python3.8/site-packages/snapcraft/cli.py", line 228, in run
    _run_dispatcher(dispatcher)
  File "/snap/snapcraft/8482/lib/python3.8/site-packages/snapcraft/cli.py", line 204, in _run_dispatcher
    dispatcher.run()
  File "/snap/snapcraft/8482/lib/python3.8/site-packages/craft_cli/dispatcher.py", line 448, in run
    return self._loaded_command.run(self._parsed_command_args)
  File "/snap/snapcraft/8482/lib/python3.8/site-packages/snapcraft/commands/lifecycle.py", line 259, in run
    super().run(parsed_args)
  File "/snap/snapcraft/8482/lib/python3.8/site-packages/snapcraft/commands/lifecycle.py", line 132, in run
    parts_lifecycle.run(self.name, parsed_args)
  File "/snap/snapcraft/8482/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 208, in run
    _run_command(
  File "/snap/snapcraft/8482/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 249, in _run_command
    _run_in_provider(project, command_name, parsed_args)
  File "/snap/snapcraft/8482/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 563, in _run_in_provider
    providers.capture_logs_from_instance(instance)
  File "/snap/snapcraft/8482/lib/python3.8/site-packages/snapcraft/providers.py", line 49, in capture_logs_from_instance
    with instance.temporarily_pull_file(
  File "/snap/snapcraft/8482/usr/lib/python3.8/contextlib.py", line 113, in __enter__
    return next(self.gen)
  File "/snap/snapcraft/8482/lib/python3.8/site-packages/craft_providers/executor.py", line 123, in temporarily_pull_file
    self.pull_file(source=source, destination=local_filepath)
  File "/snap/snapcraft/8482/lib/python3.8/site-packages/craft_providers/multipass/multipass_instance.py", line 341, in pull_file
    self._multipass.transfer(
  File "/snap/snapcraft/8482/lib/python3.8/site-packages/craft_providers/multipass/multipass.py", line 296, in transfer
    raise MultipassError(
craft_providers.multipass.errors.MultipassError: Failed to transfer 'snapcraft-cqtdeployer-on-amd64-for-amd64-1182742:/tmp/snapcraft.log' to '/mnt/storage/Workers/ubuntu20/cmake/LinuxCMakeBuilderQt6/QuasarApp/CQtDeployer/craft-providers-yhg4_t4i.temp'.
* Command that failed: 'multipass transfer snapcraft-cqtdeployer-on-amd64-for-amd64-1182742:/tmp/snapcraft.log /mnt/storage/Workers/ubuntu20/cmake/LinuxCMakeBuilderQt6/QuasarApp/CQtDeployer/craft-providers-yhg4_t4i.temp'
* Command exit code: 2
* Command standard error output: b'transfer failed: [sftp pull] error opening file for writing: Permission denied\n'

multipass connections :

Deployer# snap connections multipass
Interface          Plug                         Slot                Notes
firewall-control   multipass:firewall-control   :firewall-control   -
home               multipass:all-home           :home               -
home               multipass:home               :home               -
kvm                multipass:kvm                :kvm                -
libvirt            multipass:libvirt            -                   -
lxd                multipass:lxd                -                   -
multipass-support  multipass:multipass-support  :multipass-support  -
network            multipass:network            :network            -
network-bind       multipass:network-bind       :network-bind       -
network-control    multipass:network-control    :network-control    -
network-manager    multipass:network-manager    :network-manager    -
network-observe    multipass:network-observe    :network-observe    -
removable-media    multipass:removable-media    :removable-media    manual
system-observe     multipass:system-observe     :system-observe     -
unity7             multipass:unity7             :unity7             -
wayland            multipass:wayland            :wayland            -
x11                multipass:x11                :x11                -

snapcraft 7.1.x works correctly

How I can downgrade to 7.1 ?

Thanks for the report. I can reproduce the failure here. I’ll look into a solution.

You should be able to revert with the instructions here.

1 Like

Cross posting - this seems relevant: Snapcraft 7.2 depends on snapd socket at runtime

Cheers, Just

@EndrII, would you be so kind to test my fix?

You can install it with snap refresh snapcraft --channel=latest/edge/pr-3965

I believe the issue is related to a limitation with Multipass snap only having access to the user’s home directory due to snap confinement.

1 Like

Thanks for the report, @jocado. I’ll look into that tomorrow.

2 Likes

Yes, after your fixes, Snapcraft works great. Thank you

1 Like

Attempting to run any snap builds in Docker (using https://github.com/snapcore/snapcraft/blob/main/docker/Dockerfile as a base) fails with Snapcraft 7.2.3:

Traceback (most recent call last):
  File "/snap/snapcraft/current/lib/python3.8/site-packages/snapcraft/cli.py", line 228, in run
    _run_dispatcher(dispatcher)
  File "/snap/snapcraft/current/lib/python3.8/site-packages/snapcraft/cli.py", line 204, in _run_dispatcher
    dispatcher.run()
  File "/snap/snapcraft/current/lib/python3.8/site-packages/craft_cli/dispatcher.py", line 448, in run
    return self._loaded_command.run(self._parsed_command_args)
  File "/snap/snapcraft/current/lib/python3.8/site-packages/snapcraft/commands/lifecycle.py", line 259, in run
    super().run(parsed_args)
  File "/snap/snapcraft/current/lib/python3.8/site-packages/snapcraft/commands/lifecycle.py", line 132, in run
    parts_lifecycle.run(self.name, parsed_args)
  File "/snap/snapcraft/current/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 172, in run
    yaml_data = process_yaml(snap_project.project_file)
  File "/snap/snapcraft/current/lib/python3.8/site-packages/snapcraft/parts/lifecycle.py", line 135, in process_yaml
    yaml_data = yaml_utils.load(yaml_file)
  File "/snap/snapcraft/current/lib/python3.8/site-packages/snapcraft/parts/yaml_utils.py", line 92, in load
    raise errors.LegacyFallback("base is not core22")
snapcraft.errors.LegacyFallback: base is not core22

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/snap/snapcraft/current/lib/python3.8/site-packages/snaphelpers/_env.py", line 58, in __getattr__
    return self._env[attr]
KeyError: 'INSTANCE_NAME'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/snap/snapcraft/current/lib/python3.8/site-packages/snapcraft_legacy/cli/legacy.py", line 27, in legacy_run
    run()
  File "/snap/snapcraft/current/lib/python3.8/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/snap/snapcraft/current/lib/python3.8/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/snap/snapcraft/current/lib/python3.8/site-packages/click/core.py", line 1635, in invoke
    rv = super().invoke(ctx)
  File "/snap/snapcraft/current/lib/python3.8/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/snap/snapcraft/current/lib/python3.8/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/snap/snapcraft/current/lib/python3.8/site-packages/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/snap/snapcraft/current/lib/python3.8/site-packages/snapcraft_legacy/cli/_runner.py", line 130, in run
    snap_command.invoke(ctx)
  File "/snap/snapcraft/current/lib/python3.8/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/snap/snapcraft/current/lib/python3.8/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/snap/snapcraft/current/lib/python3.8/site-packages/snapcraft_legacy/cli/lifecycle.py", line 406, in snap
    _execute(steps.PRIME, parts=tuple(), pack_project=True, output=output, **kwargs)
  File "/snap/snapcraft/current/lib/python3.8/site-packages/snapcraft_legacy/cli/lifecycle.py", line 77, in _execute
    build_provider = get_build_provider(**kwargs)
  File "/snap/snapcraft/current/lib/python3.8/site-packages/snapcraft_legacy/cli/_options.py", line 304, in get_build_provider
    snap_config = common.get_snap_config()
  File "/snap/snapcraft/current/lib/python3.8/site-packages/snapcraft_legacy/internal/common.py", line 390, in get_snap_config
    snap_config = SnapConfigOptions(keys=["provider"])
  File "/snap/snapcraft/current/lib/python3.8/site-packages/snaphelpers/_conf.py", line 47, in __init__
    self._snapctl = snapctl or SnapCtl()
  File "/snap/snapcraft/current/lib/python3.8/site-packages/snaphelpers/_ctl.py", line 68, in __init__
    self._instance_name = env.INSTANCE_NAME
  File "/snap/snapcraft/current/lib/python3.8/site-packages/snaphelpers/_env.py", line 60, in __getattr__
    raise AttributeError(str(e))
AttributeError: 'INSTANCE_NAME'

I came up with a workaround with some hacking around in snapcraft_legacy/internal/common.py:

diff --git a/snapcraft_legacy/internal/common.py b/snapcraft_legacy/internal/common.py
index ad6b0949..c69a5c51 100644
--- a/snapcraft_legacy/internal/common.py
+++ b/snapcraft_legacy/internal/common.py
@@ -384,6 +384,12 @@ def get_snap_config() -> Optional[Dict[str, str]]:
         )
         return None

+    if is_process_container():
+        logger.debug(
+            "Not loading snap config because snapcraft is running in a container"
+        )
+        return None
+
     snap_config = SnapConfigOptions(keys=["provider"])
     snap_config.fetch()

which at least allows the snapcraft commands to complete successfully if I modify that file locally.

1 Like

Thanks @gward-tridium. @jocado reported the same issue here. I’m working on a fix.

@EndrII - Your issue with running snapcraft + multipass is now fixed and released on the channel latest/candidate

1 Like

Thank you, but I will wait for stable release )

1 Like

And 7.2.4 is on stable!