diff --git a/SOURCES/CENTOS-use-centos-syspurposes.patch b/SOURCES/CENTOS-use-centos-syspurposes.patch new file mode 100644 index 0000000..52d2e66 --- /dev/null +++ b/SOURCES/CENTOS-use-centos-syspurposes.patch @@ -0,0 +1,20 @@ +diff --git a/etc-conf/syspurpose/valid_fields.json b/etc-conf/syspurpose/valid_fields.json +index 1ac7ea0e..305ec4b9 100644 +--- a/etc-conf/syspurpose/valid_fields.json ++++ b/etc-conf/syspurpose/valid_fields.json +@@ -1,12 +1,10 @@ + { + "role": [ +- "Red Hat Enterprise Linux Server", +- "Red Hat Enterprise Linux Workstation", +- "Red Hat Enterprise Linux Compute Node" ++ "CentOS Linux Server", ++ "CentOS Linux Workstation", ++ "CentOS Linux Compute Node" + ], + "service_level_agreement": [ +- "Premium", +- "Standard", + "Self-Support" + ], + "usage": [ diff --git a/SOURCES/subscription-manager-centos-remove-redhat.repo.patch b/SOURCES/subscription-manager-centos-remove-redhat.repo.patch new file mode 100644 index 0000000..0001d86 --- /dev/null +++ b/SOURCES/subscription-manager-centos-remove-redhat.repo.patch @@ -0,0 +1,16 @@ +diff -Nurp subscription-manager-1.27.11.orig/src/subscription_manager/repofile.py subscription-manager-1.27.11/src/subscription_manager/repofile.py +--- subscription-manager-1.27.11.orig/src/subscription_manager/repofile.py 2020-07-28 11:06:10.000000000 -0500 ++++ subscription-manager-1.27.11/src/subscription_manager/repofile.py 2020-08-05 16:48:00.911709258 -0500 +@@ -368,11 +368,7 @@ class RepoFileBase(object): + Try to create new repo file. + :return: None + """ +- self.create_dir_path() +- if self.path_exists(self.path) or not self.manage_repos: +- return +- with open(self.path, 'w') as f: +- f.write(self.REPOFILE_HEADER) ++ pass + + def fix_content(self, content): + return content diff --git a/SPECS/subscription-manager.spec b/SPECS/subscription-manager.spec index d0d9d18..7f0c947 100644 --- a/SPECS/subscription-manager.spec +++ b/SPECS/subscription-manager.spec @@ -274,6 +274,9 @@ Source2: subscription-manager-rpmlintrc BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %endif +Patch100: CENTOS-use-centos-syspurposes.patch +Patch101: subscription-manager-centos-remove-redhat.repo.patch + # The following macro examples are preceeded by '%' to stop macro expansion # in the comments. (See https://bugzilla.redhat.com/show_bug.cgi?id=1224660 for # why this is necessary) @@ -585,9 +588,11 @@ Group: System Environment/Base Requires: rhsm-gtk = %{version}-%{release} Requires: initial-setup-gui >= 0.3.9.24-1 Obsoletes: subscription-manager-firstboot < 1.15.3-1 +%if %{undefined centos} %if (0%{?rhel} >= 8) Supplements: initial-setup-gui %endif +%endif %description -n subscription-manager-initial-setup-addon This package contains the initial-setup screens for subscription-manager. @@ -740,6 +745,8 @@ subscription-manager-initial-setup-addon, and subscription-manager-cockpit-plugi %prep %setup -q +%patch100 -p1 +%patch101 -p1 %build make -f Makefile VERSION=%{version}-%{release} CFLAGS="%{optflags}" \ @@ -824,7 +831,9 @@ desktop-file-validate %{buildroot}/usr/share/applications/subscription-manager-c # fake out the redhat.repo file %if %{use_yum} || %{use_dnf} mkdir %{buildroot}%{_sysconfdir}/yum.repos.d + %if %{undefined centos} touch %{buildroot}%{_sysconfdir}/yum.repos.d/redhat.repo + %endif %endif # fake out the certificate directories @@ -834,13 +843,19 @@ mkdir -p %{buildroot}%{_sysconfdir}/pki/entitlement %if %{use_container_plugin} # Setup cert directories for the container plugin: mkdir -p %{buildroot}%{_sysconfdir}/docker/certs.d/ +%if %{undefined centos} mkdir %{buildroot}%{_sysconfdir}/docker/certs.d/cdn.redhat.com install -m 644 %{_builddir}/%{buildsubdir}/etc-conf/redhat-entitlement-authority.pem %{buildroot}%{_sysconfdir}/docker/certs.d/cdn.redhat.com/redhat-entitlement-authority.crt %endif +%endif +%if %{undefined centos} mkdir -p %{buildroot}%{_sysconfdir}/etc/rhsm/ca install -m 644 %{_builddir}/%{buildsubdir}/etc-conf/redhat-entitlement-authority.pem %{buildroot}/%{_sysconfdir}/rhsm/ca/redhat-entitlement-authority.pem install -m 644 %{_builddir}/%{buildsubdir}/etc-conf/redhat-uep.pem %{buildroot}/%{_sysconfdir}/rhsm/ca/redhat-uep.pem +%else +rm %{buildroot}/%{_sysconfdir}/rhsm/ca/redhat-entitlement-authority.pem +%endif %if %use_cockpit # install cockpit dist targz @@ -866,6 +881,10 @@ find %{buildroot} -name \*.py* -exec touch -r %{SOURCE0} '{}' \; %endif %endif +%if %{defined centos} +sed -e '/^enabled=/ s/1/0/' -i %{buildroot}%{_sysconfdir}/dnf/plugins/subscription-manager.conf +%endif + # base/cli tools use the gettext domain 'rhsm', while the # gnome-help tools use domain 'subscription-manager' %files -f rhsm.lang @@ -1252,10 +1271,12 @@ find %{buildroot} -name \*.py* -exec touch -r %{SOURCE0} '{}' \; %endif %{python_sitearch}/subscription_manager/plugin/container/*.py* +%if %{undefined centos} # Copying Red Hat CA cert into each directory: %attr(755,root,root) %dir %{_sysconfdir}/docker/certs.d/cdn.redhat.com %attr(644,root,root) %{_sysconfdir}/docker/certs.d/cdn.redhat.com/redhat-entitlement-authority.crt %endif +%endif %if %has_ostree %files -n subscription-manager-plugin-ostree @@ -1310,8 +1331,10 @@ find %{buildroot} -name \*.py* -exec touch -r %{SOURCE0} '{}' \; %attr(755,root,root) %dir %{_sysconfdir}/rhsm %attr(755,root,root) %dir %{_sysconfdir}/rhsm/ca +%if %{undefined centos} %attr(644,root,root) %{_sysconfdir}/rhsm/ca/redhat-entitlement-authority.pem %attr(644,root,root) %{_sysconfdir}/rhsm/ca/redhat-uep.pem +%endif %if %use_cockpit %files -n subscription-manager-cockpit