Bill Nottingham b5779fa
%define release_name Rawhide
818a66c
%define dist_version 23
031a744
%define bug_version Rawhide
cd00143
3c12aac
Summary:        Fedora release files
3c12aac
Name:           fedora-release
818a66c
Version:        23
029ba74
Release:        0.10
cfe9724
License:        MIT
3c12aac
Group:          System Environment/Base
3c12aac
URL:            http://fedoraproject.org
3c12aac
Source:         %{name}-%{version}.tar.bz2
3c12aac
Obsoletes:      redhat-release
3c12aac
Provides:       redhat-release
beaa85a
Provides:       system-release
beaa85a
Provides:       system-release(%{version})
e7229b9
e7229b9
# Kill off the fedora-release-nonproduct package
e7229b9
Provides:       fedora-release-nonproduct = %{version}
e7229b9
Obsoletes:      fedora-release-nonproduct <= 23-0.3
e7229b9
Provides:       fedora-release-standard = 22-0.8
e7229b9
Obsoletes:      fedora-release-standard < 22-0.8
e7229b9
e7229b9
e32ddb6
Requires:       fedora-repos(%{version})
3c12aac
BuildArch:      noarch
1184e5b
1184e5b
%description
e32ddb6
Fedora release files such as various /etc/ files that define the release.
1184e5b
e32ddb6
%package cloud
e32ddb6
Summary:        Base package for Fedora Cloud-specific default configurations
e32ddb6
Provides:       system-release-cloud
e32ddb6
Provides:       system-release-cloud(%{version})
b34eee1
Provides:       system-release-product
e32ddb6
Requires:       fedora-release = %{version}-%{release}
e32ddb6
e32ddb6
%description cloud
e32ddb6
Provides a base package for Fedora Cloud-specific configuration files to
e32ddb6
depend on.
e32ddb6
e32ddb6
%package server
e32ddb6
Summary:        Base package for Fedora Server-specific default configurations
e32ddb6
Provides:       system-release-server
e32ddb6
Provides:       system-release-server(%{version})
b34eee1
Provides:       system-release-product
e32ddb6
Requires:       fedora-release = %{version}-%{release}
5d8c374
Requires:       systemd
5d8c374
Requires:       cockpit
46db970
Requires:       rolekit
e0d1fd9
Requires(post):	sed
e0d1fd9
Requires(post):	systemd
e32ddb6
e32ddb6
%description server
e32ddb6
Provides a base package for Fedora Server-specific configuration files to
e32ddb6
depend on.
e32ddb6
e32ddb6
%package workstation
e32ddb6
Summary:        Base package for Fedora Workstation-specific default configurations
e32ddb6
Provides:       system-release-workstation
e32ddb6
Provides:       system-release-workstation(%{version})
b34eee1
Provides:       system-release-product
e32ddb6
Requires:       fedora-release = %{version}-%{release}
8e95b90
# needed for captive portal support
8e95b90
Requires:       NetworkManager-config-connectivity-fedora
4ca6c96
Requires(post): /usr/bin/glib-compile-schemas
4ca6c96
Requires(postun): /usr/bin/glib-compile-schemas
3191855
e32ddb6
%description workstation
e32ddb6
Provides a base package for Fedora Workstation-specific configuration files to
e32ddb6
depend on.
3191855
1184e5b
%prep
145d4c7
%setup -q
db8d7ff
sed -i 's|@@VERSION@@|%{dist_version}|g' Fedora-Legal-README.txt
1184e5b
1184e5b
%build
1184e5b
1184e5b
%install
145d4c7
install -d $RPM_BUILD_ROOT/etc
46648cc
echo "Fedora release %{version} (%{release_name})" > $RPM_BUILD_ROOT/etc/fedora-release
2b6940c
echo "cpe:/o:fedoraproject:fedora:%{version}" > $RPM_BUILD_ROOT/etc/system-release-cpe
145d4c7
cp -p $RPM_BUILD_ROOT/etc/fedora-release $RPM_BUILD_ROOT/etc/issue
8e9f57e
echo "Kernel \r on an \m (\l)" >> $RPM_BUILD_ROOT/etc/issue
145d4c7
cp -p $RPM_BUILD_ROOT/etc/issue $RPM_BUILD_ROOT/etc/issue.net
1184e5b
echo >> $RPM_BUILD_ROOT/etc/issue
1184e5b
ln -s fedora-release $RPM_BUILD_ROOT/etc/redhat-release
e3ebaa6
ln -s fedora-release $RPM_BUILD_ROOT/etc/system-release
1184e5b
e7229b9
# Create the common os-release file
e7229b9
install -d $RPM_BUILD_ROOT/usr/lib/os.release.d/
e7229b9
cat << EOF >>$RPM_BUILD_ROOT/usr/lib/os.release.d/os-release-fedora
c6a5416
NAME=Fedora
031a744
VERSION="%{dist_version} (%{release_name})"
c6a5416
ID=fedora
031a744
VERSION_ID=%{dist_version}
031a744
PRETTY_NAME="Fedora %{dist_version} (%{release_name})"
d805ab1
ANSI_COLOR="0;34"
031a744
CPE_NAME="cpe:/o:fedoraproject:fedora:%{dist_version}"
3c12aac
HOME_URL="https://fedoraproject.org/"
3c12aac
BUG_REPORT_URL="https://bugzilla.redhat.com/"
031a744
REDHAT_BUGZILLA_PRODUCT="Fedora"
031a744
REDHAT_BUGZILLA_PRODUCT_VERSION=%{bug_version}
3f287c7
REDHAT_SUPPORT_PRODUCT="Fedora"
031a744
REDHAT_SUPPORT_PRODUCT_VERSION=%{bug_version}
818a66c
PRIVACY_POLICY=https://fedoraproject.org/wiki/Legal:PrivacyPolicy
c6a5416
EOF
c6a5416
e7229b9
# Create os-release files for the different editions
e7229b9
# Cloud
e7229b9
cp -p $RPM_BUILD_ROOT/usr/lib/os.release.d/os-release-fedora \
e7229b9
      $RPM_BUILD_ROOT/usr/lib/os.release.d/os-release-cloud
7771fa6
echo "VARIANT=Cloud Edition" >> $RPM_BUILD_ROOT/usr/lib/os.release.d/os-release-cloud
7771fa6
echo "VARIANT_ID=cloud" >> $RPM_BUILD_ROOT/usr/lib/os.release.d/os-release-cloud
ee0e81e
sed -i -e "s|(%{release_name})|(Cloud Edition)|g" $RPM_BUILD_ROOT/usr/lib/os.release.d/os-release-cloud
e7229b9
e7229b9
# Server
e7229b9
cp -p $RPM_BUILD_ROOT/usr/lib/os.release.d/os-release-fedora \
e7229b9
      $RPM_BUILD_ROOT/usr/lib/os.release.d/os-release-server
7771fa6
echo "VARIANT=Server Edition" >> $RPM_BUILD_ROOT/usr/lib/os.release.d/os-release-server
7771fa6
echo "VARIANT_ID=server" >> $RPM_BUILD_ROOT/usr/lib/os.release.d/os-release-server
ee0e81e
sed -i -e "s|(%{release_name})|(Server Edition)|g" $RPM_BUILD_ROOT/usr/lib/os.release.d/os-release-server
e7229b9
e7229b9
# Workstation
e7229b9
cp -p $RPM_BUILD_ROOT/usr/lib/os.release.d/os-release-fedora \
e7229b9
      $RPM_BUILD_ROOT/usr/lib/os.release.d/os-release-workstation
7771fa6
echo "VARIANT=Workstation Edition" >> $RPM_BUILD_ROOT/usr/lib/os.release.d/os-release-workstation
7771fa6
echo "VARIANT_ID=workstation" >> $RPM_BUILD_ROOT/usr/lib/os.release.d/os-release-workstation
ee0e81e
sed -i -e "s|(%{release_name})|(Workstation Edition)|g" $RPM_BUILD_ROOT/usr/lib/os.release.d/os-release-workstation
e7229b9
e7229b9
# Create the symlink for /etc/os-release
96d9560
# This will be standard until %post when the
e7229b9
# release packages will link the appropriate one into
e7229b9
# /usr/lib/os-release
d875496
ln -s ../usr/lib/os-release $RPM_BUILD_ROOT/etc/os-release
96d9560
ln -s os.release.d/os-release-fedora $RPM_BUILD_ROOT/usr/lib/os-release
818a66c
d77301f
# Set up the dist tag macros
b1e9816
install -d -m 755 $RPM_BUILD_ROOT%{_rpmconfigdir}/macros.d
b1e9816
cat >> $RPM_BUILD_ROOT%{_rpmconfigdir}/macros.d/macros.dist << EOF
d77301f
# dist macros.
d77301f
3c12aac
%%fedora                %{dist_version}
3c12aac
%%dist                .fc%{dist_version}
3c12aac
%%fc%{dist_version}                1
d77301f
EOF
d77301f
5d8c374
# Add Product-specific presets
5d8c374
mkdir -p %{buildroot}%{_prefix}/lib/systemd/system-preset/
5d8c374
# Fedora Server
5d8c374
install -m 0644 80-server.preset %{buildroot}%{_prefix}/lib/systemd/system-preset/
e7229b9
# Fedora Workstation
e7229b9
install -m 0644 80-workstation.preset %{buildroot}%{_prefix}/lib/systemd/system-preset/
5d8c374
4ca6c96
# Override the list of enabled gnome-shell extensions for Workstation
4ca6c96
mkdir -p %{buildroot}%{_datadir}/glib-2.0/schemas/
4ca6c96
install -m 0644 org.gnome.shell.gschema.override %{buildroot}%{_datadir}/glib-2.0/schemas/
4ca6c96
e7229b9
%posttrans
e7229b9
# Only on installation
e7229b9
if [ $1 = 0 ]; then
e7229b9
    # If no fedora-release-$edition subpackage was installed,
e7229b9
    # make sure to link /etc/os-release to the standard version
e7229b9
    test -e /usr/lib/os-release || \
bf87f04
        ln -sf ./os-release.d/os-release-fedora /usr/lib/os-release
e7229b9
fi
e7229b9
e7229b9
%post cloud
7771fa6
# Run every time
e7229b9
    # If there is no link to os-release yet from some other
e7229b9
    # release package, create it
e7229b9
    test -e /usr/lib/os-release || \
bf87f04
        ln -sf ./os.release.d/os-release-cloud /usr/lib/os-release
e7229b9
bf87f04
    # If os-release isn't a link or it exists but it points to a
bf87f04
    # non-productized version, replace it with this one
bf87f04
    if [ \! -h /usr/lib/os-release -o "x$(readlink /usr/lib/os-release)" = "xos.release.d/os-release-fedora" ]; then
bf87f04
        ln -sf ./os.release.d/os-release-cloud /usr/lib/os-release || :
bf87f04
    fi
e7229b9
e7229b9
%postun cloud
e7229b9
# Uninstall
e7229b9
if [ $1 = 0 ]; then
e7229b9
    # If os-release is now a broken symlink or missing replace it
e7229b9
    # with a symlink to basic version
e7229b9
    test -e /usr/lib/os-release || \
bf87f04
        ln -sf ./os.release.d/os-release-fedora /usr/lib/os-release || :
e7229b9
fi
e7229b9
e7229b9
e0d1fd9
%post server
7771fa6
# Run every time
e7229b9
    # If there is no link to os-release yet from some other
e7229b9
    # release package, create it
e7229b9
    test -e /usr/lib/os-release || \
bf87f04
        ln -sf ./os.release.d/os-release-server /usr/lib/os-release
e7229b9
bf87f04
    # If os-release isn't a link or it exists but it points to a
bf87f04
    # non-productized version, replace it with this one
bf87f04
    if [ \! -h /usr/lib/os-release -o "x$(readlink /usr/lib/os-release)" = "xos.release.d/os-release-fedora" ]; then
bf87f04
        ln -sf ./os.release.d/os-release-server /usr/lib/os-release || :
bf87f04
    fi
e7229b9
7771fa6
if [ $1 -eq 1 ] ; then
7771fa6
    # Initial installation
7771fa6
e7229b9
    # fix up after %%systemd_post in packages
e7229b9
    # possibly installed before our preset file was added
e7229b9
    units=$(sed -n 's/^enable//p' \
e7229b9
        < %{_prefix}/lib/systemd/system-preset/80-server.preset)
e0d1fd9
        /usr/bin/systemctl preset $units >/dev/null 2>&1 || :
e0d1fd9
fi
e0d1fd9
e7229b9
%postun server
e7229b9
# Uninstall
e7229b9
if [ $1 = 0 ]; then
e7229b9
    # If os-release is now a broken symlink or missing replace it
e7229b9
    # with a symlink to basic version
e7229b9
    test -e /usr/lib/os-release || \
bf87f04
        ln -sf ./os.release.d/os-release-fedora /usr/lib/os-release || :
e7229b9
fi
e7229b9
e7229b9
%post workstation
7771fa6
# Run every time
e7229b9
    # If there is no link to os-release yet from some other
e7229b9
    # release package, create it
e7229b9
    test -e /usr/lib/os-release || \
bf87f04
        ln -sf ./os.release.d/os-release-workstation /usr/lib/os-release
e7229b9
bf87f04
    # If os-release isn't a link or it exists but it points to a
bf87f04
    # non-productized version, replace it with this one
bf87f04
    if [ \! -h /usr/lib/os-release -o "x$(readlink /usr/lib/os-release)" = "xos.release.d/os-release-fedora" ]; then
bf87f04
        ln -sf ./os.release.d/os-release-workstation /usr/lib/os-release || :
bf87f04
    fi
e7229b9
7771fa6
if [ $1 -eq 1 ] ; then
7771fa6
    # Initial installation
7771fa6
e7229b9
    # fix up after %%systemd_post in packages
e7229b9
    # possibly installed before our preset file was added
e7229b9
    units=$(sed -n 's/^disable//p' \
e7229b9
        < %{_prefix}/lib/systemd/system-preset/80-workstation.preset)
e7229b9
    /usr/bin/systemctl preset $units >/dev/null 2>&1 || :
e7229b9
fi
e7229b9
4ca6c96
%postun workstation
4ca6c96
if [ $1 -eq 0 ] ; then
4ca6c96
    glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
e7229b9
e7229b9
    # If os-release is now a broken symlink or missing replace it
e7229b9
    # with a symlink to basic version
e7229b9
    test -e /usr/lib/os-release || \
bf87f04
        ln -sf ./os.release.d/os-release-fedora /usr/lib/os-release || :
4ca6c96
fi
4ca6c96
4ca6c96
%posttrans workstation
4ca6c96
glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
4ca6c96
1184e5b
1184e5b
%files
145d4c7
%defattr(-,root,root,-)
cf296ee
%{!?_licensedir:%global license %%doc}
cf296ee
%license LICENSE Fedora-Legal-README.txt
e7229b9
%dir /usr/lib/os.release.d
e7229b9
%config %attr(0644,root,root) /usr/lib/os.release.d/os-release-fedora
96d9560
/usr/lib/os-release
a85fc88
/etc/os-release
d397f93
%config %attr(0644,root,root) /etc/fedora-release
1184e5b
/etc/redhat-release
e3ebaa6
/etc/system-release
f13ec77
%config %attr(0644,root,root) /etc/system-release-cpe
364af55
%config(noreplace) %attr(0644,root,root) /etc/issue
364af55
%config(noreplace) %attr(0644,root,root) /etc/issue.net
b1e9816
%attr(0644,root,root) %{_rpmconfigdir}/macros.d/macros.dist
d5fe401
e32ddb6
%files cloud
cf296ee
%{!?_licensedir:%global license %%doc}
cf296ee
%license LICENSE
e7229b9
%config %attr(0644,root,root) /usr/lib/os.release.d/os-release-cloud
e7229b9
e32ddb6
e32ddb6
%files server
cf296ee
%{!?_licensedir:%global license %%doc}
cf296ee
%license LICENSE
e7229b9
%config %attr(0644,root,root) /usr/lib/os.release.d/os-release-server
5d8c374
%{_prefix}/lib/systemd/system-preset/80-server.preset
e32ddb6
e32ddb6
%files workstation
cf296ee
%{!?_licensedir:%global license %%doc}
cf296ee
%license LICENSE
e7229b9
%config %attr(0644,root,root) /usr/lib/os.release.d/os-release-workstation
4ca6c96
%{_datadir}/glib-2.0/schemas/org.gnome.shell.gschema.override
e7229b9
%{_prefix}/lib/systemd/system-preset/80-workstation.preset
3191855
d5fe401
%changelog
ee0e81e
* Fri May 08 2015 Dennis Gilmore <dennis@ausil.us> - 23-0.10
ee0e81e
- use infor about the Edition instead of the release name in
ee0e81e
- os-release for productised installs
ee0e81e
7771fa6
* Tue May 05 2015 Stephen Gallagher <sgallagh@redhat.com> 23-0.9
7771fa6
- Follow systemd upstream guidelines for VARIANT and VARIANT_ID
7771fa6
7771fa6
* Thu Mar 19 2015 Stephen Gallagher <sgallagh@redhat.com> 23-0.8
7771fa6
- Handle os-release upgrades from existing productized installations
7771fa6
bf87f04
* Tue Mar 17 2015 Dennis Gilmore <dennis@ausil.us> - 23-0.7
bf87f04
- make the os-release sysmlinks all relative
bf87f04
bf87f04
* Fri Mar 13 2015 Stephen Gallagher <sgallagh@redhat.com> 23-0.6
bf87f04
- Fix incorrect comparisons in fedora-release-* subpackages
bf87f04
e7229b9
* Fri Mar 13 2015 Dennis Gilmore <dennis@ausil.us> - 23-0.4
96d9560
- unbreak installs getting a broken symlink at /etc/os-release
96d9560
96d9560
* Fri Mar 13 2015 Dennis Gilmore <dennis@ausil.us> - 23-0.4
e7229b9
- add preset file for workstation to disable sshd
e7229b9
e7229b9
* Thu Mar 12 2015 Stephen Gallagher <sgallagh@redhat.com> 23-0.3.1
e7229b9
- Generate os-release based on product subpackages
e7229b9
- Remove the -nonproduct subpackage
e7229b9
- Eliminate Conflicts between subpackages
e7229b9
d875496
* Tue Feb 24 2015 Dennis Gilmore <dennis@ausil.us> - 23-0.3
d875496
- make the /etc/os-release symlink relative rhbz#1192276 
d875496
c7e5d87
* Tue Feb 10 2015 Dennis Gilmore <dennis@ausil.us> 23-0.2
e1faab7
- bump
e1faab7
818a66c
* Tue Feb 10 2015 Peter Robinson <pbrobinson@fedoraproject.org> 23-0.1
818a66c
- Setup for rawhide targetting f23
818a66c
- Add PRIVACY_POLICY_URL to os-release (rhbz#1182635)
818a66c
- Move os-release to /usr/lib and symlink to etc (rhbz#1149568)