[generic-release] add products

Tom Callaway spot at fedoraproject.org
Tue Oct 21 18:50:23 UTC 2014


commit f5063fb987499c6ce18ffe38d09634b97be3d52f
Author: Tom Callaway <spot at fedoraproject.org>
Date:   Tue Oct 21 14:50:22 2014 -0400

    add products

 80-server.preset     |   10 +++++
 generic-release.spec |  110 +++++++++++++++++++++++++++++++++++++++++++++----
 2 files changed, 111 insertions(+), 9 deletions(-)
---
diff --git a/80-server.preset b/80-server.preset
new file mode 100644
index 0000000..bf2fc64
--- /dev/null
+++ b/80-server.preset
@@ -0,0 +1,10 @@
+#
+# Fedora Server
+#
+
+# The Cockpit web-based system management console
+enable cockpit.socket
+
+# The Fedora Server Role administration API
+enable rolekit.service
+
diff --git a/generic-release.spec b/generic-release.spec
index 5d84389..5224868 100644
--- a/generic-release.spec
+++ b/generic-release.spec
@@ -1,22 +1,25 @@
 %define release_name Generic
-%define dist_version 22
+%define dist_version 21
 
 Summary:	Generic release files
 Name:		generic-release
 Version:	22
-Release:	0.1
+Release:	0.2
 License:	MIT
 Group:		System Environment/Base
-Source1:        README.developers
-Source2:        README.Generic-Release-Notes
+Source0:	LICENSE
+Source1:	README.developers
+Source2:	README.Generic-Release-Notes
+Source3:	80-server.preset
 Obsoletes:	redhat-release
 Provides:	redhat-release
 Provides:	system-release
 Provides:	system-release(release) = %{version}
-# Comment this out if we're building for a non-rawhide target
-Requires:	fedora-repos-rawhide
-Requires:       fedora-repos
-Obsoletes:      generic-release-rawhide <= 21-5
+Requires:       system-release-product
+# Comment this next Requires out if we're building for a non-rawhide target
+# Requires:	fedora-repos-rawhide
+Requires:	fedora-repos
+Obsoletes:	generic-release-rawhide <= 21-5
 BuildArch:	noarch
 Conflicts:	fedora-release
 
@@ -26,6 +29,70 @@ define the release. This package explicitly is a replacement for the
 trademarked release package, if you are unable for any reason to abide by the 
 trademark restrictions on that release package.
 
+%package nonproduct
+Summary:        Base package for non-product-specific default configurations
+Provides:       system-release-nonproduct
+Provides:       system-release-nonproduct(%{version})
+Provides:       system-release-product
+# turned out to be a bad name
+Requires:       generic-release = %{version}-%{release}
+Conflicts:      generic-release-cloud
+Conflicts:      generic-release-server
+Conflicts:      generic-release-workstation
+
+%description nonproduct
+ITS NOT A PRODUCT. Er, em, what I meant to say was: This package 
+provides a base package for non-product-specific configuration files to
+depend on.
+
+%package cloud
+Summary:        Base package for Generic Cloud-specific default configurations
+Provides:       system-release-cloud
+Provides:       system-release-cloud(%{version})
+Provides:       system-release-product
+Requires:       generic-release = %{version}-%{release}
+Conflicts:      generic-release-server
+Conflicts:      generic-release-nonproduct
+Conflicts:      generic-release-workstation
+
+%description cloud
+Provides a base package for Generic Cloud-specific configuration files to
+depend on.
+
+%package server
+Summary:        Base package for Generic Server-specific default configurations
+Provides:       system-release-server
+Provides:       system-release-server(%{version})
+Provides:       system-release-product
+Requires:       generic-release = %{version}-%{release}
+#Inheriting Fedora's Requires. You don't like em? Make your own -release-server package.
+Requires:       systemd
+Requires:       cockpit
+Requires:       rolekit
+Requires(post): sed
+Requires(post): systemd
+Conflicts:      generic-release-cloud
+Conflicts:      generic-release-nonproduct
+Conflicts:      generic-release-workstation
+
+%description server
+Provides a base package for Generic Server-specific configuration files to
+depend on.
+
+%package workstation
+Summary:        Base package for Generic Workstation-specific default configurations
+Provides:       system-release-workstation
+Provides:       system-release-workstation(%{version})
+Provides:       system-release-product
+Requires:       generic-release = %{version}-%{release}
+Conflicts:      generic-release-cloud
+Conflicts:      generic-release-server
+Conflicts:      generic-release-nonproduct
+
+%description workstation
+Provides a base package for Generic Workstation-specific configuration files to
+depend on.
+
 %package notes
 Summary:	Release Notes
 License:	Open Publication
@@ -76,6 +143,11 @@ cat >> $RPM_BUILD_ROOT%{_rpmconfigdir}/macros.d/macros.dist << EOF
 %%fc%{dist_version}		1
 EOF
 
+# Add Product-specific presets
+mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-preset/
+# Fedora Server
+install -m 0644 %{SOURCE1} %{buildroot}%{_prefix}/lib/systemd/system-preset/80-server.preset
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -95,9 +167,29 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(-,root,root,-)
 %doc README.Generic-Release-Notes
 
+%files nonproduct
+%{!?_licensedir:%global license %%doc}
+%license LICENSE
+
+%files cloud
+%{!?_licensedir:%global license %%doc}
+%license LICENSE
+
+%files server
+%{!?_licensedir:%global license %%doc}
+%license LICENSE
+%{_prefix}/lib/systemd/system-preset/80-server.preset
+
+%files workstation
+%{!?_licensedir:%global license %%doc}
+%license LICENSE
+
 %changelog
+* Tue Oct 21 2014 Tom Callaway <spot at fedoraproject.org> - 22-0.2
+- add productization (it is the foooooture)
+
 * Thu Aug 07 2014 Dennis Gilmore <dennis at ausil.us> - 22-0.1
-- setup for f22, Require fedora-repos and no longer ship repo files
+- Require fedora-repos and no longer ship repo files
 
 * Sat Jun 07 2014 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 21-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild


More information about the scm-commits mailing list