This repository contains automation to create Samba RPMs for CentOS Stream 8/9, RHEL and Fedora from the upstream code repository. In order to allow building from a variety of git refspecs, the following make target format is used:
$ make < rpms.centos | rpms.fedora | rpms.rhel > [ vers=< os-version > refspec=< branch-name | tag-name | h:<git-commit-hash> > git_repo_url=< git_repo_url > ceph_repo_base_url=< ceph_repo_base_url > ceph_repo_gpgkey=< ceph_repo_gpgkey > ]
A Few examples:
$ make rpms.centos refspec=v4-20-test
$ make rpms.fedora vers=39 refspec=samba-4.19.6
$ make rpms.rhel refspec=h:a0862d6d6de
$ make rpms.rhel refspec=release-8.0 git_repo_url=https://github.com/ibmstorage/samba.git
$ make rpms.centos refspec=v4-20-test ceph_repo_base_url=https://download.ceph.com/rpm-squid/el9/ ceph_repo_gpgkey=https://download.ceph.com/keys/release.asc
As of now, versions 4.19 and 4.20 and the master branch are supported. In the
absence of the refspec argument the master branch is built by default. The
above format is also applicable for other make
targets. In the absence of
vers argument 9 and 40 will be the default for RHEL/CentOS and Fedora
respectively.
Except on CentOS Stream 8 and RHEL, in addition to vfs-glusterfs and vfs-cephfs, Active Directory Domain Controller components are also built as RPMs.
These are automatically run as nightly jobs for CentOS Stream 8/9 and Fedora 39/40 on centos-ci and published as yum repositories.
In order to match one-to-one with the dependencies from RHEL repositories we have the following two options:
- Register the host running the build targets to ensure that mock has access to mandatorily required RHEL repositories(BaseOS, AppStream and CodeReadyBuilder)
- If you want to leave the host as it is, use
ORG_ID
andACT_KEY
environment variables to perform the build operation via podman containers whereORG_ID
is the organizational ID andACT_KEY
is the activation key name used for registration purposes within container.
The latest Ceph dev build for the main branch is used by default. We find this build by querying shaman.ceph.com.
If the ceph_repo_base_url variable is provided, the Ceph repo will be created with that value as the baseurl in the repo instead. Optionally, ceph_repo_gpgkey can be given to support gpg signed releases.