[generic-release/f21] add products, use fedora-repos

Tom Callaway spot at fedoraproject.org
Tue Oct 21 18:53:07 UTC 2014


commit d729bf33b428a9d84e9a1fc9d28473db29b36a7b
Author: Tom Callaway <spot at fedoraproject.org>
Date:   Tue Oct 21 14:53:02 2014 -0400

    add products, use fedora-repos

 80-server.preset             |   10 +++
 LICENSE                      |   20 ++++++
 README.Generic-Release-Notes |    6 ++
 README.developers            |   29 +++++++++
 README.license               |   16 +++++
 generic-release.spec         |  144 +++++++++++++++++++++++++++++-------------
 sources                      |    1 -
 7 files changed, 181 insertions(+), 45 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/LICENSE b/LICENSE
new file mode 100644
index 0000000..2ef182e
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,20 @@
+Copyright (c) 2014 Red Hat, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/README.Generic-Release-Notes b/README.Generic-Release-Notes
new file mode 100644
index 0000000..f4ef086
--- /dev/null
+++ b/README.Generic-Release-Notes
@@ -0,0 +1,6 @@
+README.Generic-Release-Notes
+=============================
+
+This is a placeholder. There are no useful release notes in here.
+
+Sorry bout that.
diff --git a/README.developers b/README.developers
new file mode 100644
index 0000000..953a7da
--- /dev/null
+++ b/README.developers
@@ -0,0 +1,29 @@
+This document provides information about where we are right now and where I'd 
+like to go. Eventually there will be information about how to make tarball 
+releases and update the generic-release packages.
+
+Currently I have just imported the (extracted) tarball from fedora 20. We 
+currently don't have a build for rawhide with a version of 21. This is 
+the top priority.
+
+fedora-release has some features that would be nice to get into 
+generic-release, in particular the arch mapping that associates the 
+correct keys for different architecures.
+
+The package version needs to match the fedora release (unless we switch 
+over to just relying on the system-release(release) provides, but that 
+seems to be premature now), but I'd like to allow multiple tarballs 
+for a single release (to add features or keys) with different versions. 
+My thought on this was to use a major.minor version, where major is the 
+fedora release version and would be used for the package version. Minor 
+would just end up in the package release.
+
+I don't want to build new tarballs to cover spec file changes that are 
+just configuration or changelog updates. I prefer to not keep changelog 
+updates in this repo, as changes to the spec file will be documented 
+in git. When changes are incorporated into packages, important notes 
+from the git log, can be added to the changelog.
+
+While there is currently just a master branch, the plan is to add a new 
+branch each time Fedora is branched. I don't think we'll go back and 
+add branches before f21.
diff --git a/README.license b/README.license
new file mode 100644
index 0000000..b619976
--- /dev/null
+++ b/README.license
@@ -0,0 +1,16 @@
+= License =
+
+Fedora is a compilation of software packages, each under its own
+license.  The compilation itself is released under the MIT license
+(see the file LICENSE). However, this compilation license does not
+supersede the licenses of code and content contained in Fedora, which
+conform to the legal guidelines described at
+https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing.
+
+If you're using generic-release, you're probably remixing the packages
+from Fedora into a release that is _NOT_ Fedora. The license of the 
+generic-release package is MIT, as described in LICENSE, or found here: 
+https://fedoraproject.org/wiki/Licensing:MIT#Modern_Style_with_sublicense 
+
+Red Hat does not claim any compilation copyright on any compilations of 
+software that we do not directly create and distribute.
diff --git a/generic-release.spec b/generic-release.spec
index d4b306e..9e93aef 100644
--- a/generic-release.spec
+++ b/generic-release.spec
@@ -4,16 +4,22 @@
 Summary:	Generic release files
 Name:		generic-release
 Version:	21
-Release:	5
+Release:	6
 License:	MIT
 Group:		System Environment/Base
-Source:		%{name}-%{version}.tar.gz
+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:	generic-release-rawhide = %{version}-%{release}
+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
 
@@ -23,13 +29,69 @@ 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 rawhide
-Summary:        Rawhide repo definitions
-Requires:	generic-release = %{version}-%{release}
-Conflicts:	fedora-release-rawhide
-
-%description rawhide
-This package provides the rawhide repo definitions.
+%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
@@ -46,8 +108,6 @@ package. Please note that there is no actual useful content here.
 
 
 %prep
-# Work around for incorrect prefix upstream
-%setup -q -n generic-21
 
 %build
 
@@ -73,29 +133,6 @@ ANSI_COLOR="0;34"
 CPE_NAME="cpe:/o:generic:generic:%{version}"
 EOF
 
-install -d -m 755 $RPM_BUILD_ROOT/etc/pki/rpm-gpg
-
-install -m 644 RPM-GPG-KEY* $RPM_BUILD_ROOT/etc/pki/rpm-gpg/
-
-# Install all the keys, link the primary keys to primary arch files
-# and to compat generic location
-pushd $RPM_BUILD_ROOT/etc/pki/rpm-gpg/
-for arch in i386 x86_64
-  do
-  ln -s RPM-GPG-KEY-fedora-%{dist_version}-primary RPM-GPG-KEY-fedora-$arch
-done
-ln -s RPM-GPG-KEY-fedora-%{dist_version}-primary RPM-GPG-KEY-fedora
-for arch in arm armhfp aarch64 ppc ppc64 s390 s390x
-  do
-  ln -s RPM-GPG-KEY-fedora-%{dist_version}-secondary RPM-GPG-KEY-fedora-$arch
-done
-popd
-
-install -d -m 755 $RPM_BUILD_ROOT/etc/yum.repos.d
-for file in fedora*repo ; do
-  install -m 644 $file $RPM_BUILD_ROOT/etc/yum.repos.d
-done
-
 # Set up the dist tag macros
 install -d -m 755 $RPM_BUILD_ROOT%{_rpmconfigdir}/macros.d
 cat >> $RPM_BUILD_ROOT%{_rpmconfigdir}/macros.d/macros.dist << EOF
@@ -106,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
 
@@ -117,24 +159,38 @@ rm -rf $RPM_BUILD_ROOT
 /etc/redhat-release
 /etc/system-release
 %config %attr(0644,root,root) /etc/system-release-cpe
-%dir /etc/yum.repos.d
-%config(noreplace) /etc/yum.repos.d/fedora.repo
-%config(noreplace) /etc/yum.repos.d/fedora-updates*.repo
 %config(noreplace) %attr(0644,root,root) /etc/issue
 %config(noreplace) %attr(0644,root,root) /etc/issue.net
 %attr(0644,root,root) %{_rpmconfigdir}/macros.d/macros.dist
-%dir /etc/pki/rpm-gpg
-/etc/pki/rpm-gpg/*
 
 %files notes
 %defattr(-,root,root,-)
 %doc README.Generic-Release-Notes
 
-%files rawhide
-%defattr(-,root,root,-)
-%config(noreplace) /etc/yum.repos.d/fedora-rawhide.repo
+%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> - 21-6
+- add productization (it is the foooooture)
+
+* Thu Aug 07 2014 Dennis Gilmore <dennis at ausil.us> 
+- 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
 
diff --git a/sources b/sources
index 8655947..e69de29 100644
--- a/sources
+++ b/sources
@@ -1 +0,0 @@
-0b740203f1a4646efe5a7b206373ae9a  generic-release-21.tar.gz


More information about the scm-commits mailing list