content/wiki/pkg/release.md

75 lines
3.1 KiB
Markdown

On this package you will find information about MatterLinux release cycle and
version numbering.
## Release Cycle
MatterLinux will make a new release once a year. A new release means every package will be updated
to a more recent version. Packages will replace the old ones,
meaning old packages will no longer be available and support for the old release will end.
If you are using an old release, you will able to update to the latest one by running a
full update using the [MatterLinux Package Manager](/wiki/package_man).
During the testing of the new release, repos for the new release will be located
at [next.matterlinux.xyz](https://next.matterlinux.xyz).
### Package Updates
Packages usually won't be updated to a more recent version during the life of a MatterLinux release,
however sometimes packages may be updated for bug fixes, security issues and minor improvements.
### ISOs and Release Archives
- ISO: A bootable disk image
- Release Archive: An archive used during the installation of a release
With new release, a new ISO and a release archive will be published. ISO and release
archive file for a release may update before the next release to keep the
packages in these archive files and the ISOs up-to-date.
### Learn the version you are using
You can learn the MatterLinux release version you are using by printing
out the `/etc/os-release` file:
```
# cat /etc/os-release
```
## Version Numbering
MatterLinux and all it's projects are version numbered after the year.
For example MatterLinux release for the year 2024 is versioned "MatterLinux 24".
Minor numbers may be added for other releases. For example the 2nd release of the
MatterLinux 24 ISO would be named "MatterLinux 24.01".
Similarly 15th release of the MatterLinux package manager for the year 2024
is versioned "24.14".
## Building Releases
You can build an up-to-date ISO and a release archive using MatterLinux [tools](https://git.matterlinux.xyz/matter/tools).
These tools can be installed with the `tools` package.
You should be on a MatterLinux system for a proper build!
### Building the Release Archive
To build a release archive, you can use the `matter-base` tool. This tool will create a temporary directory,
install all the required base packages into it and then it will archive it all up for the final archive.
All you need to do is to specify a name for the archive, for example:
```
# matter-base matterlinux_example-build
```
### Building the ISOs
Official ISOs are built using the `matter-iso` tool. By providing a release archive and a configuration
directory to this tool, you can create an ISO image.
> **Note**
>
> ISO image is created using `grub-mkrescue`, so you should install `libisoburn` before proceeding.
As the configuration directory, you can clone the [official ISO configuration](https://git.matterlinux.xyz/Matter/iso).
Or you can use your own custom configuration.
To build the ISO with the release archive that we created on the previous example, using the configuration directory
located at `./iso`:
```
# matter-iso matterlinux_example-build.tar.gz iso
```
The final ISO should be available at `./iso/dist/<name_version>.iso` after the build.