Red Hat: Difference between revisions
Jump to navigation
Jump to search
(Created with some packaging notes and sources.) |
|||
Line 19: | Line 19: | ||
===Initialize an RPM build environment=== | ===Initialize an RPM build environment=== | ||
Creates the | Creates the directory tree under ~/rpmbuild. | ||
{{code|inline=y|lang=bash|rpmdev-setuptree}} | {{code|inline=y|lang=bash|rpmdev-setuptree}} |
Revision as of 21:27, 5 June 2023
Personal notes on the use of Red Hat's Linux distributions and their derivatives (RHEL, Fedora, CentOS, Alma, etc.).
Package Development
Preparing a development environment, getting upstream sources to modify, and building.
Environment preparation
Install development tools
Red Hat's term for the usual...
dnf groupinstall "Development Tools" "Development Libraries"
...and the RPM tools.
dnf install -y rpmdevtools rpmlint
Initialize an RPM build environment
Creates the directory tree under ~/rpmbuild.
rpmdev-setuptree
Install a package's build dependencies
dnf builddep $PACKAGE
Retrieving upstream sources
Using the package manager
dnf can fetch SRPMs from the repository.
dnf download --source $PACKAGE
Extracting the SRPMs will give you a SPEC, a source tarball, and any distribution patches.
rpm2cpio $PACKAGE.src.rpm | cpio -idmv
Using git
Individual git repositories for packages are accessible from Fedora Package Sources.