[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