You are not logged in.

#1 2023-09-24 23:24:33

clayton
Member
Registered: 2023-09-24
Posts: 1

custom calamares configuration. package chooser not working.

hello! smile

first time posting.
I'm working on a custom Calamares configuration. everything works great besides the package chooser module. despite me setting the mode to optionalmultiple, it only let's the user select one package. it does at least install the selected package correctly.

here is my packagechooser.conf:

# SPDX-FileCopyrightText: no
# SPDX-License-Identifier: CC0-1.0
#
# Configuration for the low-density software chooser
---
# Software selection mode, to set whether the software packages
# can be chosen singly, or multiply.
#
# Possible modes are "optional", "required" (for zero-or-one or exactly-one)
# or "optionalmultiple", "requiredmultiple" (for zero-or-more
# or one-or-more).
mode: optionalmultiple

# Software installation method:
#
# - "legacy" or "custom" or "contextualprocess"
#   When set to "legacy", writes a GlobalStorage value for the choice that
#   has been made. The key is *packagechooser_<id>*. The module's
#   instance name is used; see the *instances* section of `settings.conf`.
#   If there is just one packagechooser module, and no special instance is set,
#   resulting GS key is probably *packagechooser_packagechooser*.
#
#   The GS value is a comma-separated list of the IDs of the selected
#   packages, or an empty string if none is selected.
#
#   With "legacy" installation, you should have a contextualprocess or similar
#   module somewhere in the `exec` phase to process the GlobalStorage key
#   and actually **do** something for the packages.
#
# - "packages"
#   When set to "packages", writes GlobalStorage values suitable for
#   consumption by the *packages* module (which should appear later
#   in the `exec` section. These package settings will then be handed
#   off to whatever package manager is configured there.
#
# There is no need to put this module in the `exec` section. There
# are no jobs that this module provides. You should put **other**
# modules, either *contextualprocess* or *packages* or some custom
# module, in the `exec` section to do the actual work.
method: packages


# Human-visible strings in this module. These are all optional.
# The following translated keys are used:
#  - *step*, used in the overall progress view (left-hand pane)
#
# Each key can have a [locale] added to it, which is used as
# the translated string for that locale. For the strings
# associated with the "no-selection" item, see *items*, below
# with the explicit item-*id* "".
#
labels:
    step: "Packages"
    step[nl]: "Pakketten"

# (Optional) item-*id* of pre-selected list-view item.
# Pre-selects one of the items below.
# default: kde

# Items to display in the chooser. In general, this should be a
# pretty short list to avoid overwhelming the UI. This is a list
# of objects, and the items are displayed in list order.
#
# Either provide the data for an item in the list (using the keys
# below), or use existing AppData XML files, or use AppStream cache
# as a source for the data.
#
# For data provided by the list: the item has an id, which is used in
# setting the value of *packagechooser_<module-id>*. The following field
# is mandatory:
#
#  - *id*
#       ID for the product. The ID "" is special, and is used for
#       "no package selected". Only include this if the mode allows
#       selecting none. The name and description given for the "no package
#       selected" item are displayed when the module starts.
#
# Each item must adhere to one of three "styles" of item. Which styles
# are supported depends on compile-time dependencies of Calamares.
# Both AppData and AppStream may **optionally** be available.
#
# # Generic Items #
#
# These items are always supported. They require the most configuration
# **in this file** and duplicate information that may be available elsewhere
# (e.g. in AppData or AppStream), but do not require any additional
# dependencies. These items have the following **mandatory** fields:
#
#  - *name*
#       Human-readable name of the product. To provide translations,
#       add a *[lang]* decoration as part of the key name, e.g. `name[nl]`
#       for Dutch. The list of usable languages can be found in
#       `CMakeLists.txt` or as part of the debug output of Calamares.
#  - *description*
#       Human-readable description. These can be translated as well.
#  - *screenshot*
#       Path to a single screenshot of the product. May be a filesystem
#       path or a QRC path, e.g. ":/images/no-selection.png".
#
# The following field is **optional** for an item:
#
#  - *packages* :
#       List of package names for the product. If using the *method*
#       "packages", consider this item mandatory (because otherwise
#       selecting the item would install no packages).
#
# # AppData Items #
#
# For data provided by AppData XML: the item has an *appdata*
# key which points to an AppData XML file in the local filesystem.
# This file is parsed to provide the id (from AppData id), name
# (from AppData name), description (from AppData description paragraphs
# or the summary entries), and a screenshot (the default screenshot
# from AppData). No package is set (but that is unused anyway).
#
# AppData may contain IDs that are not useful inside Calamares,
# and the screenshot URL may be remote -- a remote URL will not
# be loaded and the screenshot will be missing. An item with *appdata*
# **may** specify an ID or screenshot path, as above. This will override
# the settings from AppData.
#
# # AppStream Items #
#
# For data provided by AppStream cache: the item has an *appstream*
# key which matches the AppStream identifier in the cache (e.g.
# *org.kde.kwrite.desktop*). Data is retrieved from the AppStream
# cache for that ID. The package name is set from the AppStream data.
#
# An item for AppStream may also contain an *id* and a *screenshot*
# key which will override the data from AppStream.
items:
    - id: ""
      # packages: [] # This item installs no packages
      name: "media"
      name[nl]: "Geen desktop"
      description: "multimedia apps"
      description[nl]: "Kies eventueel een desktop-omgeving uit deze lijst. Als u geen desktop-omgeving wenst te gebruiken, kies er dan geen. In dat geval start het systeem straks op in tekst-modus en kunt u later alsnog een desktop-omgeving installeren."
#      screenshot: ":/images/no-selection.png"
    - id: vlc
      packages: [ vlc ]
      name: "vlc"
      description: "the classic media player"
#      screenshot: ":/images/kde.png"
    - id: ""
      packages: []
      name: "browsers"
      description: "web browsers"
#      screenshot: ":/images/gnome.png"
    - id: chromium
      packages: [ chromium ]
      name: "chromium"
      description: "lightweight browser similar to chrome"
#      screenshot: ":/images/calamares.png"
    - id: firefox
      packages: [ firefox ]
      name: "firefox"
      description: "mozilla firefox"
#      appstream: org.kde.kwrite.desktop

Offline

#2 2023-10-01 16:11:22

eznix
Member
Registered: 2020-06-29
Posts: 25

Re: custom calamares configuration. package chooser not working.

I am not associated with the Archlinux team, but my wild guess would be they don't support Calamares' configuration questions.

Offline

#3 2023-10-02 11:12:04

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,824

Re: custom calamares configuration. package chooser not working.

That's correct, though if clayton is aiming to create a custom install system they can choose whichever method they prefer.

There are packages for calamares in the AUR, and there's even https://aur.archlinux.org/packages/arch … res-config .

Try contacting the creator of that config ?


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

Board footer

Powered by FluxBB