194ebeba94
The filesystems may contains huge sparse files (for example the docker data file at path /var/lib/docker/devicemapper/devicemapper/data that is 100G big). These files causes rsync to fail if the target file-system is too small to copy them. The option --sparse tells rsync to turn sequences of nulls into sparse blocks. --sparse, -S Try to handle sparse files efficiently so they take up less space on the destination. If combined with --inplace the file created might not end up with sparse blocks with some combinations of kernel version and/or filesystem type. If --whole-file is in effect (e.g. for a local copy) then it will always work because rsync truncates the file prior to writing out the updated version. Note that versions of rsync older than 3.1.3 will reject the combination of --sparse and --inplace. This adds the rsync short option -S to let rsync handle sparse files. Fixes: 18:03:36 [6]: static CalamaresUtils::ProcessResult CalamaresUtils::System::runCommand(CalamaresUtils::System::RunLocation, const QStringList&, const QString&, const QString&, std::chrono::seconds) Running "env" ("sync") .. Finished. Exit code: 0 .. Target cmd: ("sync") output: rsync: [receiver] write failed on "/tmp/calamares-root-81qie5d1/var/lib/docker/devicemapper/devicemapper/data": No space left on device (28) rsync error: error in file IO (code 11) at receiver.c(378) [receiver=v3.2.3] Signed-off-by: Jeremy Whiting <jpwhiting@kde.org> |
||
---|---|---|
.github | ||
.reuse | ||
.tx | ||
3rdparty | ||
ci | ||
CMakeModules | ||
data | ||
lang | ||
LICENSES | ||
man | ||
src | ||
.clang-format | ||
.editorconfig | ||
.gersemirc | ||
.git-blame-ignore-revs | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
AUTHORS | ||
calamares.desktop | ||
calamares.desktop.in | ||
CalamaresConfig.cmake.in | ||
CHANGES-3.2 | ||
CHANGES-3.3 | ||
cmake_uninstall.cmake.in | ||
CMakeLists.txt | ||
com.github.calamares.calamares.policy | ||
CONTRIBUTING.md | ||
io.calamares.calamares.appdata.xml | ||
README.md | ||
settings.conf |
Calamares: Distribution-Independent Installer Framework
Report a Bug | Translate | Contribute | Chat on Matrix: #calamares:kde.org | Wiki |
---|
Calamares is a distribution-independent system installer, with an advanced partitioning feature for both manual and automated partitioning operations. Calamares is designed to be customizable by distribution maintainers without the need for cumbersome patching, thanks to third-party branding and external modules support.
Target Audience
Calamares is a Linux installer; users who install Linux on a computer will hopefully use it just once, to install their Linux distribution. Calamares is not a "ready to use" application: distributions apply a huge amount of customization and configuration to Calamares, and the target audience for this repository is those distributions, and the people who make those Linux distros.
Calamares has some generic user documentation for end-users, but most of what we have is for distro developers.
Getting Calamares
Clone Calamares from GitHub. The default branch is called calamares.
git clone https://github.com/calamares/calamares.git
Calamares is a KDE-Frameworks and Qt-based, C++17, CMake-built application. The dependencies are explained in CONTRIBUTING.md.
Contributing to Calamares
Calamares welcomes PRs. New issues are welcome, too. There are both the Calamares core repository (this one) and an extensions repository (Calamares extensions).
Contributions to code, modules, documentation, the wiki, and the website are all welcome. There is more information in the CONTRIBUTING.md file.
Join the Conversation
GitHub Issues are one place for discussing Calamares if there are concrete problems or a new feature to discuss. Issues are not a help channel. Visit Matrix for help with configuration or compilation.
Regular Calamares development chit-chat happens in a Matrix
room, #calamares:kde.org
. Responsiveness is best during the day
in Europe, but feel free to idle.
Matrix is persistent, and we'll see your message eventually.