Skip to content

RebornOS-Team/calamares-core

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Calamares Core for RebornOS

Discord Server License: GPL v3 GitHub release (latest by date) Release Pre-Release (Git)

Note: This project should not carry any RebornOS-specific configuration except for the installer packaging files (PKGBUILD, build scripts), icons, and launch scripts. Use the calamares-configuration project for other RebornOS-specific configuration.

This is a fork of the Calamares project. It is highly recommended to keep this project updated.

Cloning

In order to download the source code to your local computer for testing, or for development, you can clone from the remote repository using either SSH, or HTTPS. Below are instructions on how to do so using Gitlab hosted code as remote.

HTTPS

git clone https://github.com/RebornOS-Team/calamares-core.git 

OR

SSH

git clone [email protected]:RebornOS-Team/calamares-core.git

Local development

(Optional) Clean-up old packages and directories

You usually do not need to do this unless the build fails. The build process following cleanup is usually slow because it has to start from scratch. Change to the project directory (cd calamares-core) and run

sh scripts/clean.sh

1. Build

The below script will build the ISO image (and install any prerequisites). Change to the project directory (cd calamares-core) and run th below. You can specify any commandline parameters to makepkg by passing it to the below script

sh scripts/build.sh

2. Run

Change to the project directory (cd calamares-core) and run the below. You can specify any commandline parameters to calamares by passing it to the below script

sh scripts/run.sh

Packaging

Change to the project directory (cd calamares-core) and run any of the below scripts:

  • sh packaging/setup.sh <MODE>: Builds and installs a package

  • sh packaging/build-package.sh <MODE>: Just builds a package without installing it locally

  • sh packaging/install-package.sh <MODE>: Just installs a package locally, except if no built package is detected, a package is built.

  • where <MODE> can be one of the below

    1. local: Selects calamares-core-local from the local project that you have cloned already.
    2. git: Selects calamares-core-git from the latest git commit.
    3. stable: Selects calamares-core from the git tag corresponding to the pkgver specified in the PKGBUILD. If pkgver=3.3.0_alpha2_2, then the git tag v3.3.0_alpha2_2 is used for packaging.

Note: Any additional parameters passed to the above scripts are automatically sent to makepkg or pacman (whichever is applicable).

Updating

To keep this project in sync with the upstream Calamares source, please follow the below steps. Change to the project directory (cd calamares-core) before continuing...

  1. Fetch changes from the upstream Github source: The below script clones the upstream Calamares source to the _calamares branch (force overwrites it).
sh scripts/update_calamares_branch.sh
  1. Merge upstream changes
git checkout main

git merge calamares
  1. Manually handle merge conflicts: Follow this guide for commandline operations or this guide if you are using Visual Studio Code.

  2. Push updates back to the project: After all the merge conflicts are handled and you stage all the changes, you are ready to push the updates with git push.


Calamares: Distribution-Independent Installer Framework


Current issue GitHub release GitHub Build Status GitHub license

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.

  • Join us on Matrix (needs a Matrix account)

Languages

  • C++ 73.7%
  • Python 8.0%
  • QML 7.4%
  • CMake 4.8%
  • Roff 3.3%
  • Shell 2.2%
  • C 0.6%