[OS-BUILD PATCHv2] redhat: add initial support for centos stream dist-git sync on Makefiles

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Herton R. Krzesinski <herton@xxxxxxxxxx>

redhat: add initial support for centos stream dist-git sync on Makefiles

This change introduces some initial centos stream support, mainly what's
needed for a dist-git sync. The dist-git sync is initially proposed to
be a fork + merge request model, and thus we need some changes for the
Makefiles. I also dropped IS_FEDORA variable, and replace it with
DISTRO, which can have either "fedora" or "centos" (and could be set
later to "rhel" or anything else if needed through the code).

While at it, I also fixed the default RHPKG_BIN to rhpkg instead of
rhpkg-sha512 in the default RHEL case, the former was a wrapper for
the sha512 transition on dist-git at RHEL 8 time and is not needed
anymore, it is now deprecated and will be removed from rhpkg.

Example of a dist-git sync with new centos dist-git:
make DIST=".el9" GL_DISTGIT_USER=<gitlab user> BUILDID="" RHDISTGIT_BRANCH=c9s dist-git

Signed-off-by: Herton R. Krzesinski <herton@xxxxxxxxxx>

diff a/redhat/Makefile b/redhat/Makefile
--- a/redhat/Makefile
+++ b/redhat/Makefile
@@ -404,6 +404,12 @@ dist-git: dist-srpm $(KABI_TARBALL) $(KABIDW_TARBALL)
 ifeq ("$(RHDISTGIT_BRANCH)", "")
  $(error RHDISTGIT_BRANCH unset)
 endif
+	if [ "$(DISTRO)" == "centos" ]; then \
+	if [ -z "$(GL_DISTGIT_USER)" ]; then \
+		echo "Error: please Please provide your gitlab username with GL_DISTGIT_USER"; \
+		exit 1; \
+	fi; \
+	fi
 	$(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"
 
 dist-rtg: dist-release
diff a/redhat/Makefile.common b/redhat/Makefile.common
--- a/redhat/Makefile.common
+++ b/redhat/Makefile.common
@@ -29,14 +29,19 @@ else
   PREBUILD:=
 endif
 
-DIST ?=.fc33
-IS_FEDORA:=$(shell ! echo $(DIST) | grep -q fc; echo $$?)
+DIST ?= .fc33
+ifeq ("$(shell ! echo $(DIST) | grep -q fc; echo $$?)", "1")
+  DISTRO := fedora
+else
+  DISTRO ?= centos
+endif
+
 # If VERSION_ON_UPSTREAM is set, the versioning of the rpm package is based
 # on a branch tracking upstream. This allows for generating rpms
 # based on untagged releases.
 ifeq ("$(DIST)", ".elrdy")
   VERSION_ON_UPSTREAM:=1
-else ifeq ("$(IS_FEDORA)", "1")
+else ifeq ("$(DISTRO)", "fedora")
   VERSION_ON_UPSTREAM:=1
 else
   VERSION_ON_UPSTREAM:=0
@@ -90,7 +95,7 @@ ARCH_LIST=aarch64 ppc64le s390x x86_64
 # a diff in the spec file
 ifeq ("$(DIST)", ".elrdy")
   SINGLE_TARBALL:=0
-else ifeq ("$(IS_FEDORA)", "1")
+else ifeq ("$(DISTRO)", "fedora")
   SINGLE_TARBALL:=0
 else
   SINGLE_TARBALL:=1
@@ -139,16 +144,20 @@ CHANGELOG_PREV:=$(PACKAGE_NAME).changelog-$(RHEL_MAJOR).$(shell expr $(RHEL_MINO
 
 ifeq ("$(DIST)", ".elrdy")
   RHPRODUCT:=rhel-ready
-else ifeq ("$(IS_FEDORA)", "1")
+else ifeq ("$(DISTRO)", "fedora")
   RHPRODUCT:=rawhide
+else ifeq ("$(DISTRO)", "centos")
+  RHPRODUCT:=c$(RHEL_MAJOR)s
 else
   RHPRODUCT:=rhel-$(RHEL_MAJOR).$(RHEL_MINOR).0
 endif
 
 ifeq ("$(DIST)", ".elrdy")
   BUILD_SCRATCH_TARGET ?= temp-ark-rhel-8-test
-else ifeq ("$(IS_FEDORA)", "1")
+else ifeq ("$(DISTRO)", "fedora")
   BUILD_SCRATCH_TARGET ?= temp-ark-rhel-8-test
+else ifeq ("$(DISTRO)", "centos")
+  BUILD_SCRATCH_TARGET ?= c$(RHEL_MAJOR)s-candidate
 else
   BUILD_SCRATCH_TARGET ?= rhel-$(RHEL_MAJOR).$(RHEL_MINOR).0-test-pesign
 endif
diff a/redhat/Makefile.rhpkg b/redhat/Makefile.rhpkg
--- a/redhat/Makefile.rhpkg
+++ b/redhat/Makefile.rhpkg
@@ -2,10 +2,12 @@
 #
 
 # Command to invoke rhpkg
-ifeq ("$(IS_FEDORA)", "1")
+ifeq ("$(DISTRO)", "fedora")
 	RHPKG_BIN:=fedpkg
+else ifeq ("$(DISTRO)", "centos")
+	RHPKG_BIN:=centpkg
 else
-	RHPKG_BIN:=rhpkg-sha512
+	RHPKG_BIN:=rhpkg
 endif
 # Kerberos username for pkgs.devel.redhat.com
 RHDISTGIT_USER:="$(shell whoami)"
@@ -27,4 +29,13 @@ ifeq ("$(RHDISTGIT_CACHE)", "")
  endif
 endif
 
-RHDISTGIT:="ssh://$(RHDISTGIT_USER)@pkgs.devel.redhat.com/rpms/$(PACKAGE_NAME)"
+ifneq ("$(DISTRO)", "centos")
+	RHDISTGIT:="ssh://$(RHDISTGIT_USER)@pkgs.devel.redhat.com/rpms/$(PACKAGE_NAME)"
+else
+	# CentOS uses a fork + merge request based workflow with dist-git to
+	# handle changes, so you need to provide the gitlab username and we by
+	# default set the default user's fork path. The dist-git target in
+	# redhat/Makefile has a check to see if the variable is not set.
+	GL_FORK_PATH?=kernel.git
+	RHDISTGIT:=git@xxxxxxxxxx:$(GL_DISTGIT_USER)/$(GL_FORK_PATH)
+endif

--
https://gitlab.com/cki-project/kernel-ark/-/merge_requests/977
_______________________________________________
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
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure




[Index of Archives]     [Fedora General Discussion]     [Older Fedora Users Archive]     [Fedora Advisory Board]     [Fedora Security]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Mentors]     [Fedora Package Announce]     [Fedora Package Review]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Coolkey]     [Yum Users]     [Tux]     [Yosemite News]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [USB]     [Asterisk PBX]

  Powered by Linux