The EasyApache 4 Git Repository and Build Updates
Last modified: September 26, 2024
Overview
This document explains how the EasyApache 4 build process works and how you can receive updates when we update the Git™ repositories.
EasyApache 4 repositories
EasyApache 4 uses many Git repositories, which each include master
and production
branches.
- The
production
branch is the primary branch. It contains changes that are ready for the public to use. - The
master
branch provides a preview of upcoming releases. It is useful to integrators who require time to adjust their own products.
When we merge a change into either the master
or production
branch of an EasyApache 4 repository, the system builds the change into a package. If the package builds successfully, the system then pushes the change upstream into the corresponding branch in the GitHub® repository. The system then sends a notification of the change to that branch’s mailing list.
EasyApache 4 build notifications
We send notifications when we make changes to the EasyApache 4 repositories. The emails contain the following information:
- The commit message or messages.
- The updated package with a shortened commit SHA.
To receive notifications when we update a repository, subscribe to one of our notification mailing lists.
-
Master — This list reports any changes to the
master
branch. These changes are not ready for public use. -
Production — This list reports any changes to the
production
branch.
These mailing lists generate a large amount of traffic. We strongly recommend that you keep the list in digest
mode.
Build an EasyApache 4 RPM
- Only attempt to create your own RPM Package Manager (RPM) if you are an experienced system administrator. An incorrect configuration can cause your system to become unstable.
- We do not provide support for custom RPMs or instructions on how to build them.
- You can also build your RPMs with the source RPMs that our OBS repository provides. We strongly recommend that you only use the GitHub RPMs.
EasyApache 4 allows custom-built RPMs. Most users will not build their own RPMs, but if you require a custom configuration, you can use this option.
After you customize an RPM, you can build it with one of the following tools:
After you successfully build and package your RPM or Software Collection (SCL), upload it to your own repository. For more information, read our Package Manager Basics documentation.
Software collections
- You must package any software language RPMs as an SCL.
- You cannot create an Apache collection as an SCL.
- You cannot use SCLs on servers that run Ubuntu®.
An SCL is an alternate path inside the /opt
file that the full file system a software requires. When you enable an SCL, it adds its alternate path within that environment. The following situations use an SCL’s alternate path to determine its software version:
- Commands that do not specify a path.
- Scripts that use the
/usr/bin/env
file to determine their path.
EasyApache 4’s MultiPHP system requires an ea-
prefix on all SCLs except PHP SCLs, allowing the use of vendor-provided packages for PHP only. Read our About PHP documentation to learn more about vendor-provided PHP SCLs.
Regardless of whether an SCL uses a PHP vendor-provided prefix or the standard ea-
prefix, Software Collection standards determine the rest of the name. We strongly recommend that you use the same naming convention for Apache packages.
Implement multiple repositories
If you wish to use cPanel EasyApache 4 repositories alongside a personal or third-party repository, you must adhere to the following restrictions:
- Do not modify or remove the
ea-profiles-cpanel
package. EasyApache 4 requires this package to function. - You must name your packages with the
ea-profiles-vendor
syntax, wherevendor
represents a vendor’s name. - The package must install your profiles in the
/etc/cpanel/ea4/profiles/vendor/vendorname
directory, wherevendorname
represents a vendor’s name.