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.
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.
git clone https://github.com/RebornOS-Team/calamares-core.git
OR
git clone [email protected]:RebornOS-Team/calamares-core.git
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
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
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
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 belowlocal
: Selects calamares-core-local from the local project that you have cloned already.git
: Selects calamares-core-git from the latest git commit.stable
: Selects calamares-core from the git tag corresponding to thepkgver
specified in the PKGBUILD. Ifpkgver=3.3.0_alpha2_2
, then the git tagv3.3.0_alpha2_2
is used for packaging.
Note: Any additional parameters passed to the above scripts are automatically sent to
makepkg
orpacman
(whichever is applicable).
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...
- 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
- Merge upstream changes
git checkout main
git merge calamares
-
Manually handle merge conflicts: Follow this guide for commandline operations or this guide if you are using Visual Studio Code.
-
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
.
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.
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.
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.
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.
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.