From: Prarit Bhargava <prarit@xxxxxxxxxx> The distribution specific Makefile target names begin with rh-. Switch them to be use the distro agnostic dist-. rh-dist-git-test and rh-dist-git are renamed to dist-git-test and dist-git. Signed-off-by: Prarit Bhargava <prarit@xxxxxxxxxx> v2: Update to include jcline's newly added docs v3: Clean up rh-help and rh-full-help output. I made all text conform to 80 chars. --- makefile | 6 +- redhat/Makefile | 281 ++++++++++++------------ redhat/Makefile.cross | 18 +- redhat/configs/README | 2 +- redhat/configs/editconfig | 2 +- redhat/configs/evaluate_configs | 2 +- redhat/docs/index.rst | 8 +- redhat/docs/maintaining.rst | 12 +- redhat/koji/Makefile | 2 +- redhat/koji/kernel.spec | 2 +- redhat/scripts/ci/ark-create-release.sh | 8 +- redhat/scripts/ci/ark-update-configs.sh | 4 +- redhat/scripts/configdiff.sh | 4 +- redhat/scripts/download_cross.sh | 2 +- 14 files changed, 182 insertions(+), 171 deletions(-) diff --git a/makefile b/makefile index 7dc9bcb3267e..819ac9a5cd60 100644 --- a/makefile +++ b/makefile @@ -1,4 +1,4 @@ -ifeq ($(filter rh-% rhg-%,$(MAKECMDGOALS)),) +ifeq ($(filter dist-% distg-%,$(MAKECMDGOALS)),) include Makefile endif @@ -8,9 +8,9 @@ ifeq ("$(origin O)", "command line") _OUTPUT := "$(abspath $(O))" _EXTRA_ARGS := O=$(_OUTPUT) endif -rh-%:: +dist-%:: $(MAKE) -C redhat $(@) $(_EXTRA_ARGS) -rhg-%:: +distg-%:: $(MAKE) -C redhat $(@) $(_EXTRA_ARGS) diff --git a/redhat/Makefile b/redhat/Makefile index 0118e5b9e2e9..1465469cab95 100644 --- a/redhat/Makefile +++ b/redhat/Makefile @@ -57,9 +57,9 @@ KABIDW := $(REDHAT)/kabi-dwarf include Makefile.cross -default: rh-help +default: dist-help -rh-python-check: +dist-python-check: @if [ ! -f /usr/libexec/platform-python ]; then \ if ! which python3 > /dev/null 2>&1; then \ echo "ERROR: Python 3 is needed." ; \ @@ -71,7 +71,7 @@ rh-python-check: exit 1; \ fi -rh-kabi: rh-python-check +dist-kabi: dist-python-check @for KABIARCH in $(ARCH_LIST); do \ $(REDHAT)/kabi/show-kabi -k $(REDHAT)/kabi/kabi-module/ -m \ -a $$KABIARCH -r $(RHEL_MAJOR).$(RHEL_MINOR) > $(REDHAT)/kabi/Module.kabi_$$KABIARCH;\ @@ -83,7 +83,7 @@ rh-kabi: rh-python-check done; @(cd $(REDHAT)/kabi/ && ln -Tsf kabi-rhel$(RHEL_MAJOR)$(RHEL_MINOR) kabi-current) -rh-kabi-dup: rh-python-check +dist-kabi-dup: dist-python-check @for KABIARCH in $(ARCH_LIST); do \ touch $(REDHAT)/kabi/Module.kabi_dup_$$KABIARCH;\ if [ -d $(REDHAT)/kabi/kabi-dup-module/kabi_$$KABIARCH ]; then \ @@ -93,7 +93,7 @@ rh-kabi-dup: rh-python-check fi \ done; -rh-check-kabi: rh-kabi +dist-check-kabi: dist-kabi @if [ ! -e $(_OUTPUT)/Module.symvers ]; then \ echo "ERROR: You must compile the kernel and modules first";\ exit 1;\ @@ -101,7 +101,7 @@ rh-check-kabi: rh-kabi @$(REDHAT)/kabi/check-kabi -k $(REDHAT)/kabi/Module.kabi_$(MACH) \ -s $(_OUTPUT)/Module.symvers -rh-check-kabi-dup: rh-kabi-dup +dist-check-kabi-dup: dist-kabi-dup @if [ ! -e $(_OUTPUT)/Module.symvers ]; then \ echo "ERROR: You must compile the kernel and modules first";\ exit 1;\ @@ -109,18 +109,18 @@ rh-check-kabi-dup: rh-kabi-dup @$(REDHAT)/kabi/check-kabi -k $(REDHAT)/kabi/Module.kabi_dup_$(MACH) \ -s $(_OUTPUT)/Module.symvers -rh-kabi-dw-base: rh-kabi +dist-kabi-dw-base: dist-kabi @echo "Generating baseline dataset for KABI DWARF-based comparison..." @echo "**** GENERATING DWARF-based kABI baseline dataset ****" @$(KABIDW)/run_kabi-dw.sh generate \ $(REDHAT)/kabi/kabi-current/kabi_whitelist_$(CURARCH) \ $(_OUTPUT) $(KABIDW)/base/$(CURARCH)/ -rh-kabi-dw-check: rh-kabi +dist-kabi-dw-check: dist-kabi @if [ ! -d $(KABIDW)/base/$(CURARCH) ]; then \ echo "**** ERROR: ****"; \ echo "Comparison base not found in $(KABIDW)/base/$(CURARCH)."; \ - echo "Please run \"make rh-kabi-dw-base\" first!"; \ + echo "Please run \"make dist-kabi-dw-base\" first!"; \ exit 1; \ fi @echo "**** GENERATING DWARF-based kABI dataset ****" @@ -133,42 +133,42 @@ rh-kabi-dw-check: rh-kabi @echo "**** End of KABI DWARF-based comparison report ****" @rm -rf $(KABIDW)/base/$(CURARCH).tmp -rh-configs-commit: rh-configs-prep +dist-configs-commit: dist-configs-prep @cd $(REDHAT)/configs; VERSION=$(KVERSION) ./generate_all_configs.sh $(FLAVOR) 1; \ ./process_configs.sh -z $(PACKAGE_NAME) $(KVERSION) "" $(FLAVOR) -rh-configs: rh-configs-prep +dist-configs: dist-configs-prep @cd $(REDHAT)/configs; VERSION=$(KVERSION) ./generate_all_configs.sh rhel 1; \ ./process_configs.sh $(PROCESS_CONFIGS_OPTS) $(PACKAGE_NAME) $(KVERSION) -rh-configs-check: rh-configs-prep +dist-configs-check: dist-configs-prep cd $(REDHAT)/configs; ./process_configs.sh $(PROCESS_CONFIGS_CHECK_OPTS) $(PACKAGE_NAME) -rh-configs-prep: rh-clean-configs +dist-configs-prep: dist-clean-configs cd $(REDHAT)/configs; TARGET=$(DIST_TARGET) ./build_configs.sh $(PACKAGE_NAME) $(ARCH_MACH) -rh-configs-arch: ARCH_MACH = $(MACH) -rh-configs-arch: rh-configs +dist-configs-arch: ARCH_MACH = $(MACH) +dist-configs-arch: dist-configs -rh-clean-configs: +dist-clean-configs: cd $(REDHAT)/configs; rm -f kernel-*.config \ kernel-*.config.orig \ kernel-*.config.tmp -rh-clean-sources: +dist-clean-sources: @rm -f $(RPM)/SPECS/* @for i in $(SOURCES)/*; do \ rm -f $$i; \ done; -rh-clean-rpmdirs: +dist-clean-rpmdirs: @for i in $(RPM)/{BUILD,SRPMS,RPMS,SPECS}/*; do \ rm -rf $$i; \ done; -rh-clean: rh-clean-sources rh-clean-configs rh-clean-rpmdirs +dist-clean: dist-clean-sources dist-clean-configs dist-clean-rpmdirs -rh-stub-key: +dist-stub-key: @echo "Copying pre-generated keys"; @echo "*** THIS IS NOT RECOMMENDED ***"; @echo "To be safe, keys should be created once for every build"; @@ -197,7 +197,7 @@ $(KABIDW_TARBALL): @(cd kabi-dwarf && tar cjvf $(SOURCES)/$(KABIDW_TARFILE) base run_kabi-dw.sh) -rh-git-version-check: +dist-git-version-check: @# genspec.sh uses pathspec magic that wasn't introduced until version 2.13 @IFS=" ."; \ set -- $$(git --version); \ @@ -207,7 +207,7 @@ rh-git-version-check: exit 1; \ fi -setup-source: rh-git-version-check rh-clean-sources +setup-source: dist-git-version-check dist-clean-sources @cp $(REDHAT)/$(SPECFILE).template $(SOURCES)/$(SPECFILE) @if [ ! -e $(REDHAT)/$(CHANGELOG) ]; then \ echo "Creating $(CHANGELOG) as copy of $(CHANGELOG_PREV)"; \ @@ -230,7 +230,7 @@ sources-rh: $(TARBALL) @($(FILTERDIFF) $(TESTPATCH).tmp | egrep -v "^index|^diff" >$(TESTPATCH).tmp2; true) @mv $(TESTPATCH).tmp2 $(TESTPATCH).tmp @diff $(TESTPATCH).tmp $(TESTPATCH) > /dev/null || \ - echo "WARNING: There are uncommitted changes in your tree or the changes are not in sync with linux-kernel-test.patch. Either commit the changes or run 'make rh-test-patch'" + echo "WARNING: There are uncommitted changes in your tree or the changes are not in sync with linux-kernel-test.patch. Either commit the changes or run 'make dist-test-patch'" @rm $(TESTPATCH).tmp @cp $(TESTPATCH) $(SOURCES)/linux-kernel-test.patch @cp fedora_files/* $(SOURCES); @@ -262,197 +262,208 @@ sources-rh: $(TARBALL) fi @(cd kabi-dwarf && tar cjvf $(SOURCES)/$(KABIDW_TARFILE) base run_kabi-dw.sh) -rh-sources: setup-source rh-configs-check rh-kabi rh-kabi-dup sources-rh +dist-sources: setup-source dist-configs-check dist-kabi dist-kabi-dup sources-rh -rh-test-patch: +dist-test-patch: @git diff --no-renames HEAD > $(TESTPATCH); @($(FILTERDIFF) $(TESTPATCH) | egrep -v "^index|^diff" >$(TESTPATCH).tmp; true) @mv $(TESTPATCH).tmp $(TESTPATCH); -rh-all-rpms: rh-sources +dist-all-rpms: dist-sources $(RPMBUILD) --define "_sourcedir $(SOURCES)" --define "_builddir $(RPM)/BUILD" --define "_srcrpmdir $(RPM)/SRPMS" --define "_rpmdir $(RPM)/RPMS" --define "_specdir $(RPM)/SPECS" --define "dist $(DIST)" --target $(MACH) -ba $(RPM)/SOURCES/$(PACKAGE_NAME).spec -rh-srpm: rh-sources +dist-srpm: dist-sources $(RPMBUILD) --define "_sourcedir $(SOURCES)" --define "_builddir $(RPM)/BUILD" --define "_srcrpmdir $(RPM)/SRPMS" --define "_rpmdir $(RPM)/RPMS" --define "_specdir $(RPM)/SPECS" --define "dist $(DIST)" --nodeps -bs $(RPM)/SOURCES/$(PACKAGE_NAME).spec -rh-srpm-gcov: - make rh-sources BUILDID=".gcov" BUILDOPTS="+gcov" +dist-srpm-gcov: + make dist-sources BUILDID=".gcov" BUILDOPTS="+gcov" $(RPMBUILD) --define "_sourcedir $(SOURCES)" --define "_builddir $(RPM)/BUILD" --define "_srcrpmdir $(RPM)/SRPMS" --define "_rpmdir $(RPM)/RPMS" --define "_specdir $(RPM)/SPECS" --define "dist $(DIST)" --nodeps -bs $(RPM)/SOURCES/$(PACKAGE_NAME).spec -rh-rpms: rh-sources +dist-rpms: dist-sources $(RPMBUILD) --define "_sourcedir $(SOURCES)" --define "_builddir $(RPM)/BUILD" --define "_srcrpmdir $(RPM)/SRPMS" --define "_rpmdir $(RPM)/RPMS" --define "_specdir $(RPM)/SPECS" --define "dist $(DIST)" --target $(MACH) -bb $(RPM)/SOURCES/$(PACKAGE_NAME).spec -rh-kernel-%: rh-sources +dist-kernel-%: dist-sources $(RPMBUILD) --define "_sourcedir $(SOURCES)" --define "_builddir $(RPM)/BUILD" --define "_srcrpmdir $(RPM)/SRPMS" --define "_rpmdir $(RPM)/RPMS" --define "_specdir $(RPM)/SPECS" --define "dist $(DIST)" --target $(MACH) --with $* --without vdso_install --without perf --without tools -bb $(RPM)/SOURCES/$(PACKAGE_NAME).spec -rh-prep: rh-sources +dist-prep: dist-sources $(RPMBUILD) --define "_sourcedir $(SOURCES)" --define "_builddir $(RPM)/BUILD" --define "_srcrpmdir $(RPM)/SRPMS" --define "_rpmdir $(RPM)/RPMS" --define "_specdir $(RPM)/SPECS" --define "dist $(DIST)" --nodeps --target noarch -bp $(RPM)/SOURCES/$(PACKAGE_NAME).spec -rh-perf: rh-sources +dist-perf: dist-sources $(RPMBUILD) --define "_sourcedir $(SOURCES)" --define "_builddir $(RPM)/BUILD" --define "_srcrpmdir $(RPM)/SRPMS" --define "_rpmdir $(RPM)/RPMS" --define "_specdir $(RPM)/SPECS" --define "dist $(DIST)" --without up --without smp --without zfcpdump --without debug --without doc --without headers --without --without doc --without debuginfo --target $(MACH) -bb $(RPM)/SOURCES/$(PACKAGE_NAME).spec -rh-rpm-baseonly: rh-sources +dist-rpm-baseonly: dist-sources $(RPMBUILD) --define "_sourcedir $(SOURCES)" --define "_builddir $(RPM)/BUILD" --define "_srcrpmdir $(RPM)/SRPMS" --define "_rpmdir $(RPM)/RPMS" --define "_specdir $(RPM)/SPECS" --define "dist $(DIST)" --target $(MACH) --without debug --without debuginfo --without vdso_install --without bpftool --without perf --without tools -bb $(RPM)/SOURCES/$(PACKAGE_NAME).spec # unless you know what you're doing, you don't want to use the next three ones -rh-release-finish: setup-source +dist-release-finish: setup-source @cp $(SOURCES)/$(CHANGELOG) $(REDHAT)/$(CHANGELOG) @git add $(REDHAT)/$(CHANGELOG) @echo $(MARKER) > $(REDHAT)/marker @git add $(REDHAT)/marker @git commit -s ../Makefile.rhelver $(REDHAT)/marker $(REDHAT)/$(CHANGELOG) $(PACKAGE_NAME).spec.template -m "[redhat] $(PACKAGE_NAME)-$(STAMP_VERSION)-$(PREBUILD)$(BUILD)$(BUILDID)" - @$(MAKE) rh-configs - @$(MAKE) rh-kabi - @$(MAKE) rh-kabi-dup + @$(MAKE) dist-configs + @$(MAKE) dist-kabi + @$(MAKE) dist-kabi-dup @$(MAKE) sources-rh -rh-release: rh-clean-sources +dist-release: dist-clean-sources @$(REDHAT)/scripts/new_release.sh $(REDHAT) $(__YSTREAM) $(__ZSTREAM) - @$(MAKE) rh-release-finish -rh-release-tag: + @$(MAKE) dist-release-finish +dist-release-tag: @git tag -a -m "$(PACKAGE_NAME)-$(STAMP_VERSION)-$(PKGRELEASE)" $(PACKAGE_NAME)-$(STAMP_VERSION)-$(PKGRELEASE) -.PHONY: rh-brew rh-koji -rh-brew : BUILD_FLAGS ?= $(BREW_FLAGS) $(TEST_FLAGS) -rh-koji : BUILD_FLAGS ?= $(KOJI_FLAGS) $(TEST_FLAGS) -rhg-brew: BUILD_FLAGS ?= $(BREW_FLAGS) $(TEST_FLAGS) -rhg-koji: BUILD_FLAGS ?= $(KOJI_FLAGS) $(TEST_FLAGS) +.PHONY: dist-brew dist-koji +dist-brew : BUILD_FLAGS ?= $(BREW_FLAGS) $(TEST_FLAGS) +dist-koji : BUILD_FLAGS ?= $(KOJI_FLAGS) $(TEST_FLAGS) +distg-brew: BUILD_FLAGS ?= $(BREW_FLAGS) $(TEST_FLAGS) +distg-koji: BUILD_FLAGS ?= $(KOJI_FLAGS) $(TEST_FLAGS) -rh-brew rh-koji: rh-%: rh-srpm +dist-brew dist-koji: dist-%: dist-srpm $* build $(BUILD_FLAGS) $(BUILD_TARGET) $(SRPMS)/$(PACKAGE_NAME)-$(KVERSION)-$(PKGRELEASE)$(DIST).src.rpm $(OUTPUT_FILE) -rhg-brew rhg-koji: rhg-%: +distg-brew distg-koji: distg-%: $* build $(BUILD_FLAGS) $(BUILD_TARGET) "$(RHGITURL)?redhat/koji#$(RHGITCOMMIT)" .PHONY: $(REDHAT)/rpm/SOURCES/$(PACKAGE_NAME).spec $(REDHAT)/rpm/SOURCES/$(PACKAGE_NAME).spec: - @echo "rh-sources" - @$(MAKE) rh-sources + @echo "dist-sources" + @$(MAKE) dist-sources -rh-dist-git-test: export RH_DIST_GIT_TEST="1" -rh-dist-git-test: rh-dist-git +dist-git-test: export RH_DIST_GIT_TEST="1" +dist-git-test: dist-git -rh-dist-git: rh-srpm $(TARBALL) $(KABI_TARBALL) $(KABIDW_TARBALL) +dist-git: dist-srpm $(TARBALL) $(KABI_TARBALL) $(KABIDW_TARBALL) ifeq ("$(RHDISTGIT_BRANCH)", "") $(error RHDISTGIT_BRANCH unset) endif $(REDHAT)/scripts/rh-dist-git.sh "$(RHDISTGIT_BRANCH)" "$(RHDISTGIT_CACHE)" "$(RHDISTGIT_TMP)" "$(RHDISTGIT)" "$(TARBALL)" "$(KABI_TARBALL)" "$(KABIDW_TARBALL)" "$(__ZSTREAM)" "$(PACKAGE_NAME)" "$(RHEL_MAJOR)" "$(RHPKG_BIN)" "$(SRPMS)/$(PACKAGE_NAME)-$(KVERSION)-$(PKGRELEASE)$(DIST).src.rpm" -rh-rtg: rh-release - @$(MAKE) rh-release-tag - @$(MAKE) rh-dist-git +dist-rtg: dist-release + @$(MAKE) dist-release-tag + @$(MAKE) dist-git # RH_LATEST returns the value of the latest "known good" kernel from brew. # This should not be confused with the latest top-of-tree development tag. -rh-get-latest: +dist-get-latest: $(eval RH_LATEST:=$(shell brew latest-pkg --quiet rhel-${RHEL_MAJOR}.${RHEL_MINOR}.0-candidate kernel | awk ' { print $$1 } ')) @echo "The latest kernel package tag is ${RH_LATEST}." -rh-os-version: +dist-os-version: @echo "OSVERSION: $(RHEL_MAJOR).$(RHEL_MINOR)" -rh-help: +dist-help: @echo 'Cleaning targets:' - @echo ' rh-clean - Clean redhat/configs/ and redhat/rpm/ directories.' + @echo ' dist-clean - Clean redhat/configs/ and redhat/rpm/ directories.' @echo '' @echo 'Building targets:' - @echo ' rh-srpm - Create a source RPM.' - @echo ' rh-all-rpms - Create a source RPM and build binary RPMs locally.' - @echo ' rh-brew - Create a source RPM and call brew to build binary RPMs.' - @echo ' rhg-brew - Build RPMs using a remote git repo. [Configuration needed.]' - @echo ' rh-cross-all-rpms - Build RPMs for all supported archs using a cross compiler.' + @echo ' dist-srpm - Create a source RPM.' + @echo ' dist-all-rpms - Create a source RPM and build binary RPMs locally.' + @echo ' dist-brew - Create a source RPM and call brew to build binary RPMs.' + @echo ' distg-brew - Build RPMs using a remote git repo.' + @echo ' [Configuration needed.]' + @echo ' dist-cross-all-rpms - Build RPMs for all supported archs using a cross' + @echo ' compiler.' @echo '' @echo 'Configuration targets:' - @echo ' rh-configs - Create RHEL config files in redhat/config/.' + @echo ' dist-configs - Create RHEL config files in redhat/config/.' @echo '' - @echo 'For detailed description and full list of targets, run `make rh-full-help`.' + @echo 'For detailed description and full list of targets, run `make dist-full-help`.' @echo '' -rh-full-help: +dist-full-help: @echo 'Cleaning targets:' - @echo ' rh-clean - Do rh-clean-sources, rh-clean-configs, & rh-clean-rpmdirs.' - @echo ' rh-clean-sources - Clean the redhat/rpm/SOURCES/ directory.' - @echo ' rh-clean-configs - Clean the redhat/configs/ directory.' - @echo ' rh-clean-rpmdirs - Clean the redhat/rpm/{BUILD,SRPMS,RPMS,SPECS}/ directories.' + @echo ' dist-clean - Do dist-clean-sources, dist-clean-configs, &' + @echo ' dist-clean-rpmdirs.' + @echo ' dist-clean-sources - Clean the redhat/rpm/SOURCES/ directory.' + @echo ' dist-clean-configs - Clean the redhat/configs/ directory.' + @echo ' dist-clean-rpmdirs - Clean the redhat/rpm/{BUILD,SRPMS,RPMS,SPECS}/' + @echo ' directories.' @echo '' @echo 'Building targets:' @echo ' All RPM/SRPM files will be put under the redhat/rpm/ directory.' @echo '' - @echo ' rh-srpm - Create a source RPM and put it into the redhat/rpm/SRPMS/ directory.' - @echo ' See the rh-brew target for available options.' - @echo ' rh-srpm-gcov - Create a source RPM with gcov enabled and put it into the' - @echo ' redhat/rpm/SRPMS/ directory.' - @echo ' rh-brew - Create a kernel SRPM and then call brew to build the created SRPM.' - @echo ' Add BUILDOPTS="+<opt> -<opt> [...]" to enable/disable build options.' - @echo ' Available <opt>s and their default values:' \ + @echo ' dist-srpm - Create a source RPM and put it into the redhat/rpm/SRPMS/' + @echo ' directory. See the dist-brew target for available options.' + @echo ' dist-srpm-gcov - Create a source RPM with gcov enabled and put it into the' + @echo ' redhat/rpm/SRPMS/ directory.' + @echo ' dist-brew - Create a kernel SRPM and then call brew to build the' + @echo ' created SRPM. Add BUILDOPTS="+<opt> -<opt> [...]" to' + @echo ' enable/disable build options.' + @echo ' Available <opt>s and their default values:' \ $$(sed -n -e 's/^%define with_\([^ \t]*\).*\?_without_.*/+\1/p' \ -e 's/^%define with_\([^ \t]*\).*\?_with_.*/-\1/p' kernel.spec.template | \ - grep -v 'only$$') | fmt -90 - @echo ' rh-koji - Create a kernel SRPM and then call koji to build the created SRPM.' - @echo ' See the rh-brew target for available options.' - @echo ' rhg-brew - Pass HEAD of the current git branch to brew to build an RPM set.' - @echo ' Do not forget to push to the remote repository first.' - @echo ' Preceed make command by RHGITCOMMIT=<commitID> to specify commit ID' - @echo ' to use.' - @echo ' To set the remote repo, invoke: git config rhg.url git://<repo_path>' - @echo ' rhg-koji - Pass HEAD of the current git branch to koji to build an RPM set.' - @echo ' Do not forget to push to the remote repository first.' - @echo ' See the rhg-brew target for options and configuration.' - @echo ' rh-rpms - Create the binary RPMS for the kernel.' - @echo ' See the rh-brew target for available options.' - @echo ' rh-rpm-baseonly - Create the binary RPMS for the kernel and modules only (no' - @echo ' userspace tools or debuginfo).' - @echo ' rh-kernel-<type> - Create binary RPMS for a particular kernel type.' - @echo ' Available <type>s:'\ + grep -v 'only$$') | fmt -80 + @echo ' dist-koji - Create a kernel SRPM and then call koji to build the' + @echo ' created SRPM. See the dist-brew target for available' + @echo ' options.' + @echo ' distg-brew - Pass HEAD of the current git branch to brew to build an' + @echo ' RPM set. Do not forget to push to the remote repository' + @echo ' first. Preceed make command by RHGITCOMMIT=<commitID>' + @echo ' specify commit ID to use.' + @echo ' To set the remote repo, invoke:' + @echo ' git config rhg.url git://<repo_path>' + @echo ' distg-koji - Pass HEAD of the current git branch to koji to build an' + @echo ' RPM set. Do not forget to push to the remote repository' + @echo ' first. See the distg-brew target for options and' + @echo ' configuration.' + @echo ' dist-rpms - Create the binary RPMS for the kernel.' + @echo ' See the dist-brew target for available options.' + @echo ' dist-rpm-baseonly - Create the binary RPMS for the kernel and modules' + @echo ' (no userspace tools or debuginfo).' + @echo ' dist-kernel-<type> - Create binary RPMS for a particular kernel type.' + @echo ' Available <type>s:'\ $$(sed -n 's/^%define with_\([^ ]*only\).*/\1/p' kernel.spec.template) - @echo ' rh-all-rpms - Create the binary RPMS and the SRPM for the kernel.' - @echo ' See the rh-brew target for available options.' - @echo ' rh-prep - Setup the redhat/rpm/BUILD/ directory with the kernel source.' - @echo ' See the rh-brew target for available options.' - @echo ' rh-test-patch - Create a diff against HEAD and put it in linux-kernel-test.patch.' - @echo ' Then linux-kernel-test.patch will be added to the kernel build.' - @echo ' rh-stub-key - Use pre generated keys to speed local test builds.' - @echo ' rh-cross-download - [x86_64 only] download cross compiler rpms.' - @echo ' rh-cross-all-builds - [x86_64 only] execute "rpmbuild -bc" for all supported' - @echo ' archs using RHEL cross compiler.' - @echo ' rh-cross-<arch>-build - [x86_64 only] execute "rpmbuild -bc" for specified' - @echo ' <arch> using RHEL cross compiler.' - @echo ' Supported <arch>s: x86_64'\ + @echo ' dist-all-rpms - Create the binary RPMS and the SRPM for the kernel.' + @echo ' See the dist-brew target for available options.' + @echo ' dist-prep - Setup the redhat/rpm/BUILD/ directory with the kernel' + @echo ' source. See the dist-brew target for available options.' + @echo ' dist-test-patch - Create a diff against HEAD and put it in' + @echo ' linux-kernel-test.patch. This patch will' + @echo ' be added to the kernel build.' + @echo ' dist-stub-key - Use pre generated keys to speed local test builds.' + @echo ' dist-cross-download - [x86_64 only] download cross compiler rpms.' + @echo ' dist-cross-all-builds - [x86_64 only] execute "rpmbuild -bc" for all' + @echo ' supported archs using RHEL cross compiler.' + @echo ' dist-cross-<arch>-build - [x86_64 only] execute "rpmbuild -bc" for specified' + @echo ' <arch> using RHEL cross compiler.' + @echo ' Supported <arch>s: x86_64'\ $$(sed -n 's/.*--target \([^ ]*\).*/\1/p' Makefile.cross | sort -u) - @echo ' rh-cross-all-rpms - [x86_64 only] execute rpm builds for all supported' - @echo ' archs using RHEL cross compiler.' - @echo ' rh-cross-<arch>-rpm - [x86_64 only] execute rpm builds for specified' - @echo ' <arch> using RHEL cross compiler.' - @echo ' See rh-cross-<arch>-build for the supported archs.' + @echo ' dist-cross-all-rpms - [x86_64 only] execute rpm builds for all supported' + @echo ' archs using RHEL cross compiler.' + @echo ' dist-cross-<arch>-rpm - [x86_64 only] execute rpm builds for specified' + @echo ' <arch> using RHEL cross compiler.' + @echo ' See dist-cross-<arch>-build for the supported archs.' @echo '' @echo 'kABI targets:' - @echo ' rh-kabi - Create kABI whitelist files in redhat/kabi/kabi-rhel*/ and' - @echo ' merge kABI checksums into redhat/kabi/Module.kabi_*.' - @echo ' rh-kabi-dup - Merge kABI checksums for Driver Update Program (DUP) whitelist' - @echo ' into redhat/kabi/Module.kabi_dup_*.' - @echo ' rh-check-kabi - Check for changes in kABI whitelisted symbols.' - @echo ' Requires a pre-compiled tree: run `make rh-configs`, copy the' - @echo ' relevant config file from redhat/configs/ to .config, run `make`.' - @echo ' rh-check-kabi-dup - Like rh-check-kabi but uses a DUP kABI whitelist.' - @echo ' rh-kabi-dw-base - Generate the base dataset for kABI DWARF-based check.' - @echo ' rh-kabi-dw-check - Run DWARF-based kABI comparison of current binaries with the base' - @echo ' dataset.' + @echo ' dist-kabi - Create kABI whitelist files in redhat/kabi/kabi-rhel*/' + @echo ' and merge kABI checksums into redhat/kabi/Module.kabi_*.' + @echo ' dist-kabi-dup - Merge kABI checksums for Driver Update Program (DUP)' + @echo ' into redhat/kabi/Module.kabi_dup_*.' + @echo ' dist-check-kabi - Check for changes in kABI whitelisted symbols.' + @echo ' Requires a pre-compiled tree: run `make dist-configs`,' + @echo ' copy the relevant config file from redhat/configs/ to' + @echo ' .config, and run `make`.' + @echo ' dist-check-kabi-dup - Like dist-check-kabi but uses a DUP kABI whitelist.' + @echo ' dist-kabi-dw-base - Generate the base dataset for kABI DWARF-based check.' + @echo ' dist-kabi-dw-check - Run DWARF-based kABI comparison of current binaries' + @echo ' with the base dataset.' @echo '' @echo 'Configuration targets:' - @echo ' rh-configs - Creates config files for RHEL $(RHEL_MAJOR) architectures, cleans them' - @echo ' by running make nonint_oldconfig, and copies them to' - @echo ' redhat/configs/ directory. This is the target to use for a config!' - @echo ' Copy the config file you want from the redhat/configs/ directory' - @echo ' to .config.' - @echo ' rh-configs-arch - Same as rh-configs but for single architecture only.' + @echo ' dist-configs - Creates config files for RHEL $(RHEL_MAJOR) architectures,' + @echo ' cleans them by running make nonint_oldconfig, and copies' + @echo ' them to redhat/configs/ directory. This is the target to use' + @echo ' for a config! Copy the config file you want from the' + @echo ' redhat/configs/ directory to .config' + @echo ' dist-configs-arch - Same as dist-configs but for single architecture only.' @echo '' @echo 'Misc targets:' - @echo ' rh-get-latest - Returns the latest "known good" kernel from brew. This should not' - @echo ' be confused with the latest top-of-tree development tag.' - @echo ' rh-os-version - Displays the current Red Hat Enterprise Linux version target used' - @echo ' by the current branch/tree.' + @echo ' dist-get-latest - Returns the latest "known good" kernel from brew. This' + @echo ' should not be confused with the latest top-of-tree' + @echo ' development tag.' + @echo ' dist-os-version - Displays the current Red Hat Enterprise Linux versioni' + @echo ' target used by the current branch/tree.' @echo '' diff --git a/redhat/Makefile.cross b/redhat/Makefile.cross index b50d8fa4af3a..3a22d83670d3 100644 --- a/redhat/Makefile.cross +++ b/redhat/Makefile.cross @@ -16,7 +16,7 @@ CROSS_PACKAGE_LIST += binutils-powerpc64-linux-gnu gcc-powerpc64-linux-gnu CROSS_PACKAGE_LIST += binutils-s390x-linux-gnu gcc-s390x-linux-gnu endif -rh-cross-download: +dist-cross-download: @if [ "$(ARCHCONFIG)" != "X86_64" ]; then \ echo "$(ARCHCONFIG) ERROR: cross compile only enabled for x86_64"; \ exit 1; \ @@ -24,22 +24,22 @@ rh-cross-download: @ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) \ $(REDHAT)/scripts/download_cross.sh $(CROSS_PACKAGE_LIST) -rh-cross-aarch64-rpms: rh-cross-download rh-sources +dist-cross-aarch64-rpms: dist-cross-download dist-sources $(REDHAT)/scripts/x86_rngd.sh $(CROSS_RPMFLAGS) --target aarch64 --with cross -ba $(RPM)/SOURCES/$(PACKAGE_NAME).spec $(REDHAT)/scripts/generate-cross-report.sh "aarch64" -rh-cross-ppc64-rpms: rh-cross-download rh-sources +dist-cross-ppc64-rpms: dist-cross-download dist-sources $(REDHAT)/scripts/x86_rngd.sh $(CROSS_RPMFLAGS) --target ppc64 --with cross -ba $(RPM)/SOURCES/$(PACKAGE_NAME).spec $(REDHAT)/scripts/generate-cross-report.sh "ppc64" -rh-cross-s390x-rpms: rh-cross-download rh-sources +dist-cross-s390x-rpms: dist-cross-download dist-sources $(REDHAT)/scripts/x86_rngd.sh $(CROSS_RPMFLAGS) --target s390x --with cross -ba $(RPM)/SOURCES/$(PACKAGE_NAME).spec $(REDHAT)/scripts/generate-cross-report.sh "s390x" -rh-cross-all-rpms: rh-cross-download rh-sources +dist-cross-all-rpms: dist-cross-download dist-sources $(REDHAT)/scripts/x86_rngd.sh $(CROSS_RPMFLAGS) --target aarch64 --with cross -ba $(RPM)/SOURCES/$(PACKAGE_NAME).spec $(CROSS_RPMFLAGS) --target ppc64 --with cross -ba $(RPM)/SOURCES/$(PACKAGE_NAME).spec @@ -47,22 +47,22 @@ rh-cross-all-rpms: rh-cross-download rh-sources $(CROSS_RPMFLAGS) -ba $(RPM)/SOURCES/$(PACKAGE_NAME).spec $(REDHAT)/scripts/generate-cross-report.sh "aarch64 ppc64 s390x x86_64" -rh-cross-aarch64-build: rh-cross-download rh-sources +dist-cross-aarch64-build: dist-cross-download dist-sources $(REDHAT)/scripts/x86_rngd.sh $(CROSS_RPMFLAGS) --target aarch64 --with cross --without debuginfo -bc $(RPM)/SOURCES/$(PACKAGE_NAME).spec $(REDHAT)/scripts/generate-cross-report.sh "aarch64" -rh-cross-ppc64-build: rh-cross-download rh-sources +dist-cross-ppc64-build: dist-cross-download dist-sources $(REDHAT)/scripts/x86_rngd.sh $(CROSS_RPMFLAGS) --target ppc64 --with cross --without debuginfo -bc $(RPM)/SOURCES/$(PACKAGE_NAME).spec $(REDHAT)/scripts/generate-cross-report.sh "ppc64" -rh-cross-s390x-build: rh-cross-download rh-sources +dist-cross-s390x-build: dist-cross-download dist-sources $(REDHAT)/scripts/x86_rngd.sh $(CROSS_RPMFLAGS) --target s390x --with cross --without debuginfo -bc $(RPM)/SOURCES/$(PACKAGE_NAME).spec $(REDHAT)/scripts/generate-cross-report.sh "s390x" -rh-cross-all-builds: rh-cross-download rh-sources +dist-cross-all-builds: dist-cross-download dist-sources $(REDHAT)/scripts/x86_rngd.sh $(CROSS_RPMFLAGS) --target aarch64 --with cross --without debuginfo -bc $(RPM)/SOURCES/$(PACKAGE_NAME).spec $(CROSS_RPMFLAGS) --target ppc64 --with cross --without debuginfo -bc $(RPM)/SOURCES/$(PACKAGE_NAME).spec diff --git a/redhat/configs/README b/redhat/configs/README index 0d3c309da206..b07491a3445f 100644 --- a/redhat/configs/README +++ b/redhat/configs/README @@ -39,7 +39,7 @@ been reviewed by Fedora kernel maintainers. Since the Fedora kernel turns on more configuration options than ARK, there are often settings that are not set to default in pending-common. These settings are moved to the fedora/ configuration directory after community review. Options are populated with -"make FLAVOR=fedora rh-commit-configs". +"make FLAVOR=fedora dist-commit-configs". All the configuration options for each arch and variant can be found diff --git a/redhat/configs/editconfig b/redhat/configs/editconfig index 09ece06029c1..0261b0393d49 100755 --- a/redhat/configs/editconfig +++ b/redhat/configs/editconfig @@ -4,7 +4,7 @@ # # For help, run ./editconfig -h # -# TODO: Is there a way to verify the output? Maybe run 'make rh-configs' & +# TODO: Is there a way to verify the output? Maybe run 'make dist-configs' & # the process_configs.sh -c tool on the modified CONFIG? This would # require a modification to process_configs.sh to take a single # CONFIG option but is do-able. diff --git a/redhat/configs/evaluate_configs b/redhat/configs/evaluate_configs index 3835ca7421ba..5ed3e0407bca 100755 --- a/redhat/configs/evaluate_configs +++ b/redhat/configs/evaluate_configs @@ -499,7 +499,7 @@ fi # Find configs that are requested but do not exist in the final .configs # if [ "$FINDDEAD" ]; then - (cd ..; make rh-configs) + (cd ..; make dist-configs) awk ' /is not set/ { diff --git a/redhat/docs/index.rst b/redhat/docs/index.rst index 7d13aec5940f..36601ed011ca 100644 --- a/redhat/docs/index.rst +++ b/redhat/docs/index.rst @@ -40,7 +40,7 @@ Once GitLab finishes forking the repository (this can take a while): git checkout upstream/ark-latest # If you're on Fedora, you need to run: # ln -s /usr/bin/python3 /usr/libexec/platform-python - make rh-srpm + make dist-srpm sudo dnf builddep -y redhat/rpm/SPECS/kernel.spec @@ -60,8 +60,8 @@ patches) , a sub-system maintainer's tree, or your own creation. git merge -m "Merge branch 'os-build'" os-build # Fedora carries a patch to alter this setting, so we need to change the configuration to build a vanilla tree. sed -i 's/=13/=11/g' redhat/configs/fedora/generic/arm/aarch64/CONFIG_FORCE_MAX_ZONEORDER - # If you're targeting RHEL and have brew/rhpkg installed, use "make DIST=.elrdy rh-srpm" instead - make rh-srpm + # If you're targeting RHEL and have brew/rhpkg installed, use "make DIST=.elrdy dist-srpm" instead + make dist-srpm You can now build the SRPM however you like: @@ -73,7 +73,7 @@ You can now build the SRPM however you like: koji build --scratch rawhide redhat/rpm/SRPMS/kernel*src.rpm Want to add a patch? Just git-cherry-pick it or apply it with git-am and -re-run ``make rh-srpm``. Change configurations in ``redhat/configs/`` +re-run ``make dist-srpm``. Change configurations in ``redhat/configs/`` (consult the repository layout for details on this). diff --git a/redhat/docs/maintaining.rst b/redhat/docs/maintaining.rst index 3cfd8b6d2904..625884a7e154 100644 --- a/redhat/docs/maintaining.rst +++ b/redhat/docs/maintaining.rst @@ -156,8 +156,8 @@ Snapshot Release git merge -m "Merge configuration and build scripts" os-build # If there's a temporary fix you want in just this build, you can run git-cherry-pick here. touch localversion - make rh-release - make rh-release-tag + make dist-release + make dist-release-tag git push upstream $(git describe) git branch -D build-branch @@ -170,8 +170,8 @@ Upstream Release git checkout -b ark/"$UPSTREAM_REF" ark/patches/"$UPSTREAM_REF" git merge -m "Merge configuration and build scripts" os-build touch localversion - make rh-release - make rh-release-tag + make dist-release + make dist-release-tag git push $(git describe) ark/"$UPSTREAM_REF" ark/patches/"$UPSTREAM_REF" git checkout ark-latest && git reset --hard ark/"$UPSTREAM_REF" && git push -f upstream ark-latest @@ -200,7 +200,7 @@ From the release branch/tag, run: # localversion sets the buildid, releases should have an empty build id rm localversion touch localversion - make rh-dist-git + make dist-dist-git cd /tmp/RHEL*/kernel git commit -a -s -F ../changelog @@ -219,7 +219,7 @@ From the release branch/tag, run: # localversion sets the buildid, releases should have an empty build id rm localversion touch localversion - make DIST=.elrdy rh-dist-git + make DIST=.elrdy dist-dist-git cd /tmp/RHEL-8*/kernel git commit -a -s -F ../changelog git push diff --git a/redhat/koji/Makefile b/redhat/koji/Makefile index c75afa4d4782..079244c24552 100644 --- a/redhat/koji/Makefile +++ b/redhat/koji/Makefile @@ -27,7 +27,7 @@ buildid: notes sources: buildid echo $(BUILDID) > ../../localversion - $(MAKE) -C ../ rh-sources + $(MAKE) -C ../ dist-sources mv -f ../rpm/SOURCES/* . rm -f ./$(PACKAGE_NAME).spec mv ../rpm/SPECS/$(PACKAGE_NAME).spec . diff --git a/redhat/koji/kernel.spec b/redhat/koji/kernel.spec index 61c36ba8fb80..12f17a667b84 100644 --- a/redhat/koji/kernel.spec +++ b/redhat/koji/kernel.spec @@ -1,4 +1,4 @@ This is a dummy spec file. It will be replaced by the sources target of the Makefile in this directory. That target will replace this file with the real -kernel.spec file in ../rpm/SPECS as generated by make -C ../ rh-sources +kernel.spec file in ../rpm/SPECS as generated by make -C ../ dist-sources diff --git a/redhat/scripts/ci/ark-create-release.sh b/redhat/scripts/ci/ark-create-release.sh index fd57e533ddb4..8b3b414be953 100755 --- a/redhat/scripts/ci/ark-create-release.sh +++ b/redhat/scripts/ci/ark-create-release.sh @@ -27,8 +27,8 @@ fi if [ -n "$BASE_RELEASE" ]; then printf "There's already a release for %s (tagged as %s); if you're trying \ to create a new release check out that tag, apply any commits you \ - want, and then run \"touch localversion && make rh-release && make \ - rh-release-tag\".\n" "$UPSTREAM_REF" "$BASE_RELEASE" + want, and then run \"touch localversion && make dist-release && make \ + dist-release-tag\".\n" "$UPSTREAM_REF" "$BASE_RELEASE" exit 3 fi @@ -55,8 +55,8 @@ for patch_url in $MR_PATCHES; do done touch localversion -make rh-release -make rh-release-tag +make dist-release +make dist-release-tag RELEASE=$(git describe) git checkout ark-latest git reset --hard "$RELEASE" diff --git a/redhat/scripts/ci/ark-update-configs.sh b/redhat/scripts/ci/ark-update-configs.sh index 59a2fe9868f9..1669abe1ae89 100755 --- a/redhat/scripts/ci/ark-update-configs.sh +++ b/redhat/scripts/ci/ark-update-configs.sh @@ -47,8 +47,8 @@ if ! git merge -m "Merge '$UPSTREAM_REF' into 'os-build'" "$UPSTREAM_REF"; then exit 1 fi -make FLAVOR=fedora rh-configs-commit -make FLAVOR=rhel rh-configs-commit +make FLAVOR=fedora dist-configs-commit +make FLAVOR=rhel dist-configs-commit if git show -s --oneline HEAD | grep -q "AUTOMATIC: New configs"; then ./redhat/gen_config_patches.sh diff --git a/redhat/scripts/configdiff.sh b/redhat/scripts/configdiff.sh index 139efcb83c63..6c62a3412e94 100755 --- a/redhat/scripts/configdiff.sh +++ b/redhat/scripts/configdiff.sh @@ -18,7 +18,7 @@ get_configarch() # to the srcarch used in the $RHCP_RHEL/pending-common/generic path. file=$1 - # make rh-configs-prep uses <package-name>-<arch>-<variant>.config + # make dist-configs-prep uses <package-name>-<arch>-<variant>.config # the trick is to get the <package-name> and filter it out arch="$(echo "$file" | sed "s/$PACKAGE_NAME-\([^-]*\).*.config/\1/")" @@ -159,5 +159,5 @@ generate_rh_config() rm -rf $WORK } -make rh-configs-prep > /dev/null || die "Failed make rh-prep" +make dist-configs-prep > /dev/null || die "Failed make dist-prep" generate_rh_config diff --git a/redhat/scripts/download_cross.sh b/redhat/scripts/download_cross.sh index c674893f138a..2e2f719a43f8 100755 --- a/redhat/scripts/download_cross.sh +++ b/redhat/scripts/download_cross.sh @@ -26,7 +26,7 @@ fi # if we're not root, all we can do now is see what's installed if [ "$(whoami)" != "root" ]; then - echo "Checking for RHEL7 cross compile packages. If this fails, run \"make rh-cross-download\" as root." + echo "Checking for RHEL7 cross compile packages. If this fails, run \"make dist-cross-download\" as root." rpm -q $@ if [ $? == 0 ]; then echo "Compilers found." -- 2.26.2 _______________________________________________ kernel mailing list -- kernel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to kernel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/kernel@xxxxxxxxxxxxxxxxxxxxxxx