CI: AppImage support
- Add a script for building a Calamares AppImage file (this is useful in *some* limited contexts, not a general way to distribute Calamares since it's much more efficient to use installed libs). - Add example config files for this AppImage build. - Download the linuxdeploy tools if they are missing - Document script flags some more
This commit is contained in:
parent
2b7832857c
commit
ed2f9b744d
45
ci/AppImage.md
Normal file
45
ci/AppImage.md
Normal file
@ -0,0 +1,45 @@
|
||||
# AppImage building for Calamares
|
||||
|
||||
> It is possible to build Calamares as an AppImage (perhaps other
|
||||
> containerized formats as well). This might make sense for
|
||||
> OEM phase-1 deployments in environments where Calamares is
|
||||
> not using the native toolkit.
|
||||
|
||||
## AppImage tools
|
||||
|
||||
You will need
|
||||
- [`linuxdeploy-x86_64.AppImage`](https://github.com/linuxdeploy/linuxdeploy/releases)
|
||||
- [`linuxdeploy-plugin-qt-x86_64.AppImage`](https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases)
|
||||
- [`linuxdeploy-plugin-conda.sh`](https://github.com/linuxdeploy/linuxdeploy-plugin-conda)
|
||||
|
||||
These tools should run -- they are bundled as AppImages after all -- on
|
||||
any modern Linux system. The [AppImage packaging documentation](https://docs.appimage.org/packaging-guide/)
|
||||
explains how the whole tooling works.
|
||||
|
||||
If the tools are not present, the build script (see below) will download them,
|
||||
but you should save them for later.
|
||||
|
||||
## AppImage build
|
||||
|
||||
From the **source** directory, run `ci/AppImage.sh`:
|
||||
- Use `--tools-dir` to copy the tools from a local cache rather than
|
||||
downloading them again.
|
||||
- Run it with `--cmake-args` for special CMake handling.
|
||||
- Use `--skip-build` to avoid rebuilding Calamares all the time.
|
||||
- Use `--config-dir` to copy in Calamares configuration files (e.g.
|
||||
*settings.conf* and the module configuration files) from a given
|
||||
directory.
|
||||
|
||||
The build process will:
|
||||
- copy (or download) the AppImage tools into a fresh build directory
|
||||
- configure and build Calamares with suitable settings
|
||||
- modifies the standard `.desktop` file to be AppImage-compatible
|
||||
- builds the image with the AppImage tools
|
||||
|
||||
## AppImage caveats
|
||||
|
||||
The resulting AppImage, `Calamares-x86_64.AppImage`, can be run as if it is
|
||||
a regular Calamares executable. For internal reasons it always passes the
|
||||
`-X` flag; any other command-line flags are passed in unchanged. Internally,
|
||||
`XDG_*_DIRS` are used to get Calamares to find the resources inside the AppImage
|
||||
rather than in the host system.
|
227
ci/AppImage.sh
Normal file
227
ci/AppImage.sh
Normal file
@ -0,0 +1,227 @@
|
||||
#! /bin/sh
|
||||
#
|
||||
# SPDX-License-Identifier: BSD-2-Clause
|
||||
#
|
||||
# Copyright 2019 Adriaan de Groot <adridg@FreeBSD.org>
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
||||
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
# POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
### END LICENSES
|
||||
|
||||
### USAGE
|
||||
#
|
||||
# Shell script to help build an AppImage for Calamares.
|
||||
#
|
||||
# Usage:
|
||||
# AppImage.sh [-T|--tools-dir <dir>]
|
||||
# [-C|--cmake-args <args>]
|
||||
# [-c|--config-dir <dir>]
|
||||
# [-s|--skip-build]
|
||||
#
|
||||
# Multiple --cmake-args arguments will be collected together and passed to
|
||||
# CMake before building the application.
|
||||
#
|
||||
# Use --tools-dir to indicate where the linuxdeploy tools are located.
|
||||
#
|
||||
# Use --config to copy a config-directory (with settings.conf and others)
|
||||
# into the resulting image,
|
||||
#
|
||||
### END USAGE
|
||||
|
||||
TOOLS_DIR="."
|
||||
CMAKE_ARGS=""
|
||||
NO_SKIP_BUILD="true"
|
||||
CONFIG_DIR=""
|
||||
while test "$#" -gt 0
|
||||
do
|
||||
case "x$1" in
|
||||
x--help|x-h)
|
||||
sed -e '1,/USAGE/d' -e '/END.USAGE/,$d' < "$0"
|
||||
return 0
|
||||
;;
|
||||
x--tools-dir|x-T)
|
||||
TOOLS_DIR="$2"
|
||||
shift
|
||||
;;
|
||||
x--cmake-args|x-C)
|
||||
CMAKE_ARGS="$CMAKE_ARGS $2"
|
||||
shift
|
||||
;;
|
||||
x--config-dir|x-c)
|
||||
CONFIG_DIR="$2"
|
||||
shift
|
||||
;;
|
||||
x--skip-build|x-s)
|
||||
NO_SKIP_BUILD="false"
|
||||
;;
|
||||
*)
|
||||
echo "! Unknown argument '$1'."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
test "$#" -gt 0 || { echo "! Missing arguments."; exit 1; }
|
||||
shift
|
||||
done
|
||||
|
||||
### Check where we're running
|
||||
#
|
||||
BIN_DIR=$( cd $( dirname "$0" ) && pwd -P )
|
||||
test -d "$BIN_DIR" || { echo "! Could not find BIN_DIR"; exit 1; }
|
||||
test -f "$BIN_DIR/AppImage.sh" || { echo "! $BIN_DIR does not have AppImage.sh"; exit 1; }
|
||||
|
||||
SRC_DIR=$( cd "$BIN_DIR/.." && pwd -P )
|
||||
test -d "$SRC_DIR" || { echo "! Could not find SRC_DIR"; exit 1; }
|
||||
test -d "$SRC_DIR/ci" || { echo "! $SRC_DIR isn't a top-level Calamares checkout"; exit 1; }
|
||||
test -f "$SRC_DIR/CMakeLists.txt" || { echo "! SRC_DIR is missing CMakeLists.txt"; exit 1; }
|
||||
|
||||
### Check pre-requisites
|
||||
#
|
||||
BUILD_DIR=build-AppImage
|
||||
test -d "$BUILD_DIR" || mkdir -p "$BUILD_DIR"
|
||||
test -d "$BUILD_DIR" || { echo "! Could not create $BUILD_DIR"; exit 1; }
|
||||
|
||||
for tool in linuxdeploy-x86_64.AppImage linuxdeploy-plugin-qt-x86_64.AppImage linuxdeploy-plugin-conda.sh
|
||||
do
|
||||
if test -x "$BUILD_DIR/$tool" ; then
|
||||
# This tool is ok
|
||||
:
|
||||
else
|
||||
if test -f "$TOOLS_DIR/$tool" ; then
|
||||
cp "$TOOLS_DIR/$tool" "$BUILD_DIR/$tool" || exit 1
|
||||
else
|
||||
fetch=$( grep "^# URL .*$tool\$" "$0" | sed 's/# URL *//' )
|
||||
curl -L -o "$BUILD_DIR/$tool" "$fetch"
|
||||
fi
|
||||
chmod +x "$BUILD_DIR/$tool"
|
||||
test -x "$BUILD_DIR/$tool" || { echo "! Missing tool $tool in tools-dir $TOOLS_DIR"; exit 1; }
|
||||
fi
|
||||
done
|
||||
|
||||
if test -z "$CONFIG_DIR" ; then
|
||||
echo "# Using basic settings.conf"
|
||||
else
|
||||
test -f "$CONFIG_DIR/settings.conf" || { echo "! No settings.conf in $CONFIG_DIR"; exit 1; }
|
||||
fi
|
||||
|
||||
### Clean up build-directory
|
||||
#
|
||||
rm -rf "$BUILD_DIR/AppDir"
|
||||
if $NO_SKIP_BUILD ; then
|
||||
rm -rf "$BUILD_DIR/build"
|
||||
mkdir "$BUILD_DIR/build" || { echo "! Could not create $BUILD_DIR/build for the cmake-build."; exit 1; }
|
||||
else
|
||||
test -d "$BUILD_DIR/build" || { echo "! No build found in $BUILD_DIR, but --skip-build is given."; exit 1; }
|
||||
test -x "$BUILD_DIR/build/calamares" || { echo "! No complete build found in $BUILD_DIR/build ."; exit 1; }
|
||||
fi
|
||||
mkdir "$BUILD_DIR/AppDir" || { echo "! Could not create $BUILD_DIR/AppDir for the AppImage install."; exit 1; }
|
||||
LOG_FILE="$BUILD_DIR/AppImage.log"
|
||||
rm -f "$LOG_FILE"
|
||||
|
||||
### Build Calamares
|
||||
#
|
||||
if $NO_SKIP_BUILD ; then
|
||||
echo "# Running cmake ..."
|
||||
(
|
||||
cd "$BUILD_DIR/build" &&
|
||||
cmake "$SRC_DIR" -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_LIBDIR=lib $CMAKE_ARGS
|
||||
) > "$LOG_FILE" 2>&1 || { tail -10 "$LOG_FILE" ; echo "! Could not run CMake"; exit 1; }
|
||||
echo "# Running make ..."
|
||||
(
|
||||
cd "$BUILD_DIR/build" &&
|
||||
make -j4
|
||||
) > "$LOG_FILE" 2>&1 || { tail -10 "$LOG_FILE" ; echo "! Could not run make"; exit 1; }
|
||||
fi
|
||||
echo "# Running make install ..."
|
||||
(
|
||||
cd "$BUILD_DIR/build" &&
|
||||
make install DESTDIR=../AppDir
|
||||
) > "$LOG_FILE" 2>&1 || { tail -10 "$LOG_FILE" ; echo "! Could not run make install"; exit 1; }
|
||||
|
||||
### Modify installation
|
||||
#
|
||||
IMAGE_DIR="$BUILD_DIR/AppDir"
|
||||
|
||||
# Munge the desktop file to not use absolute paths or pkexec
|
||||
sed -i \
|
||||
-e 's+^Exec=.*+Exec=calamares+' \
|
||||
-e 's+^Name=.*+Name=Calamares+' \
|
||||
"$IMAGE_DIR"/usr/share/applications/calamares.desktop
|
||||
|
||||
# Replace the executable with a shell-proxy
|
||||
test -x "$IMAGE_DIR/usr/bin/calamares" || { echo "! Does not seem to have installed calamares"; exit 1; }
|
||||
mv "$IMAGE_DIR/usr/bin/calamares" "$IMAGE_DIR/usr/bin/calamares.bin"
|
||||
cat > "$IMAGE_DIR/usr/bin/calamares" <<"EOF"
|
||||
#! /bin/sh
|
||||
#
|
||||
# Calamares proxy-script
|
||||
export XDG_DATA_DIRS="$APPDIR/usr/share/calamares:"
|
||||
export XDG_CONFIG_DIRS="$APPDIR/etc/calamares:$D/usr/share:"
|
||||
cd "$APPDIR"
|
||||
exec "$APPDIR"/usr/bin/calamares.bin -X "$@"
|
||||
EOF
|
||||
chmod 755 "$IMAGE_DIR/usr/bin/calamares"
|
||||
test -x "$IMAGE_DIR/usr/bin/calamares" || { echo "! Does not seem to have proxy for calamares"; exit 1; }
|
||||
|
||||
### Install additional files
|
||||
#
|
||||
PLUGIN_DIR=$( qmake -query QT_INSTALL_PLUGINS )
|
||||
for plugin in \
|
||||
libpmsfdiskbackendplugin.so \
|
||||
libpmdummybackendplugin.so
|
||||
do
|
||||
cp "$PLUGIN_DIR/$plugin" "$IMAGE_DIR/usr/lib" || { echo "! Could not copy plugin $plugin"; exit 1; }
|
||||
done
|
||||
|
||||
# Install configuration files
|
||||
ETC_DIR="$IMAGE_DIR"/etc/calamares
|
||||
mkdir -p "$ETC_DIR"
|
||||
test -d "$ETC_DIR" || { echo "! Could not create /etc/calamares in image."; exit 1; }
|
||||
|
||||
if test -z "$CONFIG_DIR" ; then
|
||||
echo "# Using basic settings.conf"
|
||||
cp "$SRC_DIR/settings.conf" "$ETC_DIR"
|
||||
else
|
||||
test -f "$CONFIG_DIR/settings.conf" || { echo "! No settings.conf in $CONFIG_DIR"; exit 1; }
|
||||
mkdir -p "$ETC_DIR/modules"
|
||||
cp "$CONFIG_DIR/settings.conf" "$ETC_DIR"
|
||||
test -d "$CONFIG_DIR/modules" && cp -r "$CONFIG_DIR/modules" "$ETC_DIR"
|
||||
test -d "$CONFIG_DIR/branding" && cp -r "$CONFIG_DIR/branding" "$IMAGE_DIR/usr/share/calamares"
|
||||
fi
|
||||
|
||||
### Build the AppImage
|
||||
#
|
||||
#
|
||||
echo "# Building AppImage"
|
||||
(
|
||||
export QT_SELECT=qt5 # Otherwise might pick Qt4 in image
|
||||
export LD_LIBRARY_PATH=AppDir/usr/lib # RPATH isn't set in the executable
|
||||
cd "$BUILD_DIR" &&
|
||||
./linuxdeploy-x86_64.AppImage --appdir=AppDir/ --plugin=qt --output=appimage
|
||||
) > "$LOG_FILE" 2>&1 || { tail -10 "$LOG_FILE" ; echo "! Could not create image"; exit 1; }
|
||||
|
||||
exit 0
|
||||
### Database for installation
|
||||
#
|
||||
# URL https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
|
||||
# URL https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage
|
||||
# URL https://raw.githubusercontent.com/TheAssassin/linuxdeploy-plugin-conda/master/linuxdeploy-plugin-conda.sh
|
BIN
data/config-appimage/branding/default/squid.png
Normal file
BIN
data/config-appimage/branding/default/squid.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 10 KiB |
28
data/config-appimage/modules/displaymanager.conf
Normal file
28
data/config-appimage/modules/displaymanager.conf
Normal file
@ -0,0 +1,28 @@
|
||||
# Configure one or more display managers (e.g. SDDM)
|
||||
# with a "best effort" approach.
|
||||
---
|
||||
#The DM module attempts to set up all the DMs found in this list, in that precise order.
|
||||
#It also sets up autologin, if the feature is enabled in globalstorage.
|
||||
#The displaymanagers list can also be set in globalstorage, and in that case it overrides anything set up here.
|
||||
displaymanagers:
|
||||
- slim
|
||||
- sddm
|
||||
- lightdm
|
||||
- gdm
|
||||
- mdm
|
||||
- lxdm
|
||||
- kdm
|
||||
|
||||
#Enable the following settings to force a desktop environment in your displaymanager configuration file:
|
||||
#defaultDesktopEnvironment:
|
||||
# executable: "startkde"
|
||||
# desktopFile: "plasma"
|
||||
|
||||
#If true, try to ensure that the user, group, /var directory etc. for the
|
||||
#display manager are set up correctly. This is normally done by the distribution
|
||||
#packages, and best left to them. Therefore, it is disabled by default.
|
||||
basicSetup: false
|
||||
|
||||
#If true, setup autologin for openSUSE. This only makes sense on openSUSE
|
||||
#derivatives or other systems where /etc/sysconfig/displaymanager exists.
|
||||
sysconfigSetup: false
|
21
data/config-appimage/modules/finished.conf
Normal file
21
data/config-appimage/modules/finished.conf
Normal file
@ -0,0 +1,21 @@
|
||||
# Configuration for the "finished" page, which is usually shown only at
|
||||
# the end of the installation (successful or not).
|
||||
---
|
||||
# The finished page can hold a "restart system now" checkbox.
|
||||
# If this is false, no checkbox is shown and the system is not restarted
|
||||
# when Calamares exits.
|
||||
restartNowEnabled: true
|
||||
|
||||
# Initial state of the checkbox "restart now". Only relevant when the
|
||||
# checkbox is shown by restartNowEnabled.
|
||||
restartNowChecked: false
|
||||
|
||||
# If the checkbox is shown, and the checkbox is checked, then when
|
||||
# Calamares exits from the finished-page it will run this command.
|
||||
# If not set, falls back to "shutdown -r now".
|
||||
restartNowCommand: "systemctl -i reboot"
|
||||
|
||||
# When the last page is (successfully) reached, send a DBus notification
|
||||
# to the desktop that the installation is done. This works only if the
|
||||
# user as whom Calamares is run, can reach the regular desktop session bus.
|
||||
notifyOnFinished: false
|
16
data/config-appimage/modules/keyboard.conf
Normal file
16
data/config-appimage/modules/keyboard.conf
Normal file
@ -0,0 +1,16 @@
|
||||
# NOTE: you must have ckbcomp installed and runnable
|
||||
# on the live system, for keyboard layout previews.
|
||||
---
|
||||
# The name of the file to write X11 keyboard settings to
|
||||
# The default value is the name used by upstream systemd-localed.
|
||||
# Relative paths are assumed to be relative to /etc/X11/xorg.conf.d
|
||||
xOrgConfFileName: "/etc/X11/xorg.conf.d/00-keyboard.conf"
|
||||
|
||||
# The path to search for keymaps converted from X11 to kbd format
|
||||
# Leave this empty if the setting does not make sense on your distribution.
|
||||
convertedKeymapPath: "/lib/kbd/keymaps/xkb"
|
||||
|
||||
# Write keymap configuration to /etc/default/keyboard, usually
|
||||
# found on Debian-related systems.
|
||||
# Defaults to true if nothing is set.
|
||||
#writeEtcDefaultKeyboard: true
|
31
data/config-appimage/modules/locale.conf
Normal file
31
data/config-appimage/modules/locale.conf
Normal file
@ -0,0 +1,31 @@
|
||||
---
|
||||
# This settings are used to set your default system time zone.
|
||||
# Time zones are usually located under /usr/share/zoneinfo and
|
||||
# provided by the 'tzdata' package of your Distribution.
|
||||
#
|
||||
# Distributions using systemd can list available
|
||||
# time zones by using the timedatectl command.
|
||||
# timedatectl list-timezones
|
||||
#
|
||||
# The starting timezone (e.g. the pin-on-the-map) when entering
|
||||
# the locale page can be set through keys *region* and *zone*.
|
||||
# If either is not set, defaults to America/New_York.
|
||||
#
|
||||
region: "Europe"
|
||||
zone: "Amsterdam"
|
||||
|
||||
|
||||
# Enable only when your Distribution is using an
|
||||
# custom path for locale.gen
|
||||
#localeGenPath: "PATH_TO/locale.gen"
|
||||
|
||||
# GeoIP based Language settings:
|
||||
#
|
||||
# GeoIP need an working Internet connection.
|
||||
#
|
||||
geoipUrl: "https://geoip.kde.org/v1/calamares"
|
||||
|
||||
# GeoIP style. Leave commented out for the "legacy" interpretation.
|
||||
# This setting only makes sense if geoipUrl is set, enabliing geoIP.
|
||||
geoipStyle: "json"
|
||||
|
62
data/config-appimage/modules/users.conf
Normal file
62
data/config-appimage/modules/users.conf
Normal file
@ -0,0 +1,62 @@
|
||||
# Configuration for the one-user-system user module.
|
||||
#
|
||||
# Besides these settings, the user module also places the following
|
||||
# keys into the globalconfig area, based on user input in the view step.
|
||||
#
|
||||
# - hostname
|
||||
# - username
|
||||
# - password (obscured)
|
||||
# - autologinUser (if enabled, set to username)
|
||||
#
|
||||
# These globalconfig keys are set when the jobs for this module
|
||||
# are created.
|
||||
---
|
||||
# Used as default groups for the created user.
|
||||
# Adjust to your Distribution defaults.
|
||||
defaultGroups:
|
||||
- users
|
||||
- lp
|
||||
- video
|
||||
- network
|
||||
- storage
|
||||
- wheel
|
||||
- audio
|
||||
|
||||
# Some Distributions require a 'autologin' group for the user.
|
||||
# Autologin causes a user to become automatically logged in to
|
||||
# the desktop environment on boot.
|
||||
# Disable when your Distribution does not require such a group.
|
||||
autologinGroup: autologin
|
||||
# You can control the initial state for the 'autologin checkbox' in UsersViewStep here.
|
||||
# Possible values are: true to enable or false to disable the checkbox by default
|
||||
doAutologin: true
|
||||
|
||||
# When set to a non-empty string, Calamares creates a sudoers file for the user.
|
||||
# /etc/sudoers.d/10-installer
|
||||
# Remember to add sudoersGroup to defaultGroups.
|
||||
#
|
||||
# If your Distribution already sets up a group of sudoers in its packaging,
|
||||
# remove this setting (delete or comment out the line below). Otherwise,
|
||||
# the setting will be duplicated in the /etc/sudoers.d/10-installer file,
|
||||
# potentially confusing users.
|
||||
sudoersGroup: wheel
|
||||
|
||||
# Setting this to false , causes the root account to be disabled.
|
||||
setRootPassword: true
|
||||
# You can control the initial state for the 'root password checkbox' in UsersViewStep here.
|
||||
# Possible values are: true to enable or false to disable the checkbox by default.
|
||||
# When enabled the user password is used for the root account too.
|
||||
# NOTE: doReusePassword requires setRootPassword to be enabled.
|
||||
doReusePassword: true
|
||||
|
||||
# These are optional password-requirements that a distro can enforce
|
||||
# on the user. The values given in this sample file disable each check,
|
||||
# as if the check was not listed at all.
|
||||
passwordRequirements:
|
||||
minLength: -1 # Password at least this many characters
|
||||
maxLength: -1 # Password at most this many characters
|
||||
libpwquality:
|
||||
- minlen=0
|
||||
- minclass=0
|
||||
|
||||
userShell: /bin/bash
|
46
data/config-appimage/modules/welcome.conf
Normal file
46
data/config-appimage/modules/welcome.conf
Normal file
@ -0,0 +1,46 @@
|
||||
# Configuration for the welcome module. The welcome page
|
||||
# displays some information from the branding file.
|
||||
# Which parts it displays can be configured through
|
||||
# the show* variables.
|
||||
#
|
||||
# In addition to displaying the welcome page, this module
|
||||
# can check requirements for installation.
|
||||
---
|
||||
# Display settings for various buttons on the welcome page.
|
||||
showSupportUrl: true
|
||||
showKnownIssuesUrl: true
|
||||
showReleaseNotesUrl: true
|
||||
|
||||
# Requirements checking. These are general, generic, things
|
||||
# that are checked. They may not match with the actual requirements
|
||||
# imposed by other modules in the system.
|
||||
requirements:
|
||||
# Amount of available disk, in GB. Floating-point is allowed here.
|
||||
# Note that this does not account for *usable* disk, so it is possible
|
||||
# to pass this requirement, yet have no space to install to.
|
||||
requiredStorage: 5.5
|
||||
|
||||
# Amount of available RAM, in GB. Floating-point is allowed here.
|
||||
requiredRam: 1.0
|
||||
|
||||
# To check for internet connectivity, Calamares does a HTTP GET
|
||||
# on this URL; on success (e.g. HTTP code 200) internet is OK.
|
||||
internetCheckUrl: http://google.com
|
||||
|
||||
# List conditions to check. Each listed condition will be
|
||||
# probed in some way, and yields true or false according to
|
||||
# the host system satisfying the condition.
|
||||
#
|
||||
# This sample file lists all the conditions that are known.
|
||||
check:
|
||||
- ram
|
||||
- power
|
||||
- internet
|
||||
- root
|
||||
- screen
|
||||
# List conditions that **must** be satisfied (from the list
|
||||
# of conditions, above) for installation to proceed.
|
||||
# If any of these conditions are not met, the user cannot
|
||||
# continue past the welcome page.
|
||||
required:
|
||||
- ram
|
35
data/config-appimage/settings.conf
Normal file
35
data/config-appimage/settings.conf
Normal file
@ -0,0 +1,35 @@
|
||||
# Configuration file for Calamares
|
||||
# Syntax is YAML 1.2
|
||||
---
|
||||
modules-search: [ usr/lib/calamares/modules ]
|
||||
|
||||
# YAML: list of maps of string:string key-value pairs.
|
||||
#instances:
|
||||
#- id: owncloud
|
||||
# module: webview
|
||||
# config: owncloud.conf
|
||||
|
||||
# Sequence section. This section describes the sequence of modules, both
|
||||
# viewmodules and jobmodules, as they should appear and/or run.
|
||||
sequence:
|
||||
- show:
|
||||
- welcome
|
||||
- locale
|
||||
- keyboard
|
||||
- users
|
||||
- summary
|
||||
- exec:
|
||||
- locale
|
||||
- keyboard
|
||||
- users
|
||||
- displaymanager
|
||||
- networkcfg
|
||||
- show:
|
||||
- finished
|
||||
|
||||
branding: default
|
||||
|
||||
prompt-install: false
|
||||
# OEM mode
|
||||
dont-chroot: true
|
||||
disable-cancel: false
|
Loading…
Reference in New Issue
Block a user