repoinit
provides tooling and configuration for packaging software into either RPMs or bootable ISOs, with built-in support for uploading generated artifacts to a https://repo.redborder.com
.
It is intended for developers who need a repeatable and configurable way to build and distribute system images or packages.
repo.redborder.com
is on deprecation. We normally usepackages.redborder.com
.- Developers can access to
rbrepo.redbordersc.lan
. rbrepo
andrbrepo-devel
are on deprecation. We can usehttps://github.com/redBorder/redborder-repo
, which points topackages.redborder.com
.
- Build RPM packages or full ISO images.
- Architecture-aware configuration (x86, ARM, etc.).
- Modular structure for extending and customizing builds.
- Ready-to-use Kickstart and repo configs.
- Automated upload to the web server after build.
*.sh
scripts → Main entry points for building packages and ISOs.build_common.sh
– shared helpers used across other scripts.build_minimal_structure.sh
– sets up the minimal directory structure for builds.build_module.sh
– builds individual modules/packages.make_isofile.sh
– generates a bootable ISO image.
- Config files:
sdk7.cfg
– Config file for running mock for a Centos 7sdk9.cfg
– Config file for running mock for a Rocky 9.repoinit_project
,.sdk7_project
– SDK and repo definitions per architecture.ks-base.cfg
,isolinux-base.cfg
– Kickstart and bootloader configurations for ISOs.rbrepo.cfg
,rbrepo.repo
– repository definitions.
modules/
– source modules available for packaging.projects/IPS/
– example project layout.Jenkinsfile
– CI/CD integration.splash.png
– boot splash for generated ISOs.
- A Red Hat–based operating system (CentOS, RHEL, Rocky Linux, AlmaLinux, etc.) is expected as the build environment.
- Basic development and packaging tools must be installed:
yum install -y epel-release mock
git clone https://github.com/redBorder/repoinit.git
cd repoinit
To build a minimal build structure:
./build_minimal_structure.sh
To build a module/package:
To build just one of the directories:
./build_module.sh <module-name>
To create an ISO image:
./make_isofile.sh
To build a full release (RPMs + ISO), run the appropriate script for your architecture and configuration.
By default, generated packages/ISOs are uploaded to the configured repo.redborder.com
.
This project is meant for:
- Developers working on packaging modules and systems.
- Release supervisors responsible for generating and publishing official RPM/ISO releases.
- External contributors
http://www.smorgasbork.com/2014/07/16/building-a-custom-centos-7-kickstart-disc-part-1/ http://kfei.logdown.com/posts/143152-build-your-own-customized-install-disc-from-centos-64 https://fedoraproject.org/wiki/QA:Testcase_Kickstart_File_Path_Ks_Cfg https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Installation_Guide/chap-anaconda-boot-options.html#list-boot-options-sources
- Fork the repo
- Create a feature branch (git checkout -b feature/your-feature)
- Commit your changes
- Open a Pull Request