Mohan Boddu b43ac9e
%define release_name Twenty Eight 
Mohan Boddu 710893c
%define dist_version 28
Mohan Boddu b43ac9e
%define bug_version 28
cd00143
c4ef43c
# All changes need to be submitted as pull requests in pagure
c4ef43c
# The package can only be built by a very small number of people
c4ef43c
# if you are not sure you can build it do not attempt to
c4ef43c
3c12aac
Summary:        Fedora release files
3c12aac
Name:           fedora-release
Mohan Boddu 710893c
Version:        28
ed3f431
Release:        7
cfe9724
License:        MIT
3c12aac
Group:          System Environment/Base
c4ef43c
URL:            https://pagure.io/fedora-release
3c12aac
Source:         %{name}-%{version}.tar.bz2
96290a7
Source1:        convert-to-edition.lua
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
Mohan Boddu 613e0b8
Requires:       fedora-repos(%{version}) >= 1
3c12aac
BuildArch:      noarch
1184e5b
1184e5b
%description
e32ddb6
Fedora release files such as various /etc/ files that define the release.
1184e5b
70f9218
%package atomichost
70f9218
Summary:        Base package for Fedora Atomic-specific default configurations
70f9218
Provides:       system-release-atomichost
70f9218
Provides:       system-release-atomichost(%{version})
70f9218
Provides:       system-release-product
70f9218
Requires:       fedora-release = %{version}-%{release}
70f9218
70f9218
%description atomichost
70f9218
Provides a base package for Fedora Atomic Host-specific configuration files to
70f9218
depend on.
70f9218
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
70f9218
Requires:       cockpit-bridge
70f9218
Requires:       cockpit-networkmanager
70f9218
Requires:       cockpit-shell
70f9218
Requires:       cockpit-storaged
70f9218
Requires:       cockpit-ws
70f9218
Requires:       openssh-server
46db970
Requires:       rolekit
Mohan Boddu 51b7cff
Recommends:     fedora-repos-modular
Mohan Boddu 51b7cff
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
e705caf
%package -n convert-to-edition
e705caf
Summary: Script for converting between Fedora Editions
0c17331
Requires: fedora-release = %{version}-%{release}
e705caf
e705caf
%description -n convert-to-edition
e705caf
Provides a script to convert the running system between Fedora Editions
e705caf
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
294e788
294e788
# Symlink the -release files
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}
1f4dad1
VERSION_CODENAME=""
Mohan Boddu 613e0b8
PLATFORM_ID="platform:f%{dist_version}"
031a744
PRETTY_NAME="Fedora %{dist_version} (%{release_name})"
d805ab1
ANSI_COLOR="0;34"
0c66e1c
LOGO=fedora-logo-icon
031a744
CPE_NAME="cpe:/o:fedoraproject:fedora:%{dist_version}"
3c12aac
HOME_URL="https://fedoraproject.org/"
Mohan Boddu ffa1145
SUPPORT_URL="https://fedoraproject.org/wiki/Communicating_and_getting_help"
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}
Mohan Boddu ffa1145
PRIVACY_POLICY_URL="https://fedoraproject.org/wiki/Legal:PrivacyPolicy"
c6a5416
EOF
c6a5416
294e788
# Create the common /etc/issue
294e788
echo "\S" > $RPM_BUILD_ROOT/usr/lib/os.release.d/issue-fedora
294e788
echo "Kernel \r on an \m (\l)" >> $RPM_BUILD_ROOT/usr/lib/os.release.d/issue-fedora
294e788
echo >> $RPM_BUILD_ROOT/usr/lib/os.release.d/issue-fedora
294e788
294e788
# Create /etc/issue.net
294e788
echo "\S" > $RPM_BUILD_ROOT/usr/lib/issue.net
294e788
echo "Kernel \r on an \m (\l)" >> $RPM_BUILD_ROOT/usr/lib/issue.net
294e788
ln -s ../usr/lib/issue.net $RPM_BUILD_ROOT/etc/issue.net
294e788
ed3f431
# Create /etc/issue.d
ed3f431
mkdir -p %{buildroot}%{_sysconfdir}/issue.d 
ed3f431
294e788
# Create os-release and issue files for the different editions
70f9218
70f9218
# Atomic Host - https://bugzilla.redhat.com/show_bug.cgi?id=1200122
70f9218
cp -p $RPM_BUILD_ROOT/usr/lib/os.release.d/os-release-fedora \
70f9218
      $RPM_BUILD_ROOT/usr/lib/os.release.d/os-release-atomichost
70f9218
echo "VARIANT=\"Atomic Host\"" >> $RPM_BUILD_ROOT/usr/lib/os.release.d/os-release-atomichost
70f9218
echo "VARIANT_ID=atomic.host" >> $RPM_BUILD_ROOT/usr/lib/os.release.d/os-release-atomichost
70f9218
sed -i -e "s|(%{release_name})|(Atomic Host)|g" $RPM_BUILD_ROOT/usr/lib/os.release.d/os-release-atomichost
70f9218
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
513ca81
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
513ca81
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
294e788
cp -p $RPM_BUILD_ROOT/usr/lib/os.release.d/issue-fedora \
294e788
      $RPM_BUILD_ROOT/usr/lib/os.release.d/issue-server
e92a79d
echo "Admin Console: https://\4:9090/ or https://[\6]:9090/" >> $RPM_BUILD_ROOT/usr/lib/os.release.d/issue-server
294e788
echo >> $RPM_BUILD_ROOT/usr/lib/os.release.d/issue-server
294e788
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
513ca81
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
a3d90d6
# We don't create the /usr/lib/os-release symlink until %%post
a3d90d6
# so that we can ensure that the right one is referenced.
d875496
ln -s ../usr/lib/os-release $RPM_BUILD_ROOT/etc/os-release
818a66c
294e788
# Create the symlink for /etc/issue
a3d90d6
# We don't create the /usr/lib/os-release symlink until %%post
a3d90d6
# so that we can ensure that the right one is referenced.
294e788
ln -s ../usr/lib/issue $RPM_BUILD_ROOT/etc/issue
294e788
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}
567eaa2
%%dist                %{?distprefix}.fc%{dist_version}
3c12aac
%%fc%{dist_version}                1
d77301f
EOF
d77301f
e10a87b
# Add presets
f4f346f
mkdir -p $RPM_BUILD_ROOT/usr/lib/systemd/user-preset/
1837993
mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib/systemd/system-preset/
a3d90d6
mkdir -p $RPM_BUILD_ROOT/usr/lib/os.release.d/presets
a3d90d6
e10a87b
# Default system wide
1837993
install -m 0644 85-display-manager.preset $RPM_BUILD_ROOT%{_prefix}/lib/systemd/system-preset/
1837993
install -m 0644 90-default.preset $RPM_BUILD_ROOT%{_prefix}/lib/systemd/system-preset/
1837993
install -m 0644 99-default-disable.preset $RPM_BUILD_ROOT%{_prefix}/lib/systemd/system-preset/
5d8c374
# Fedora Server
a3d90d6
install -m 0644 80-server.preset $RPM_BUILD_ROOT%{_prefix}/lib/os.release.d/presets/
e7229b9
# Fedora Workstation
a3d90d6
install -m 0644 80-workstation.preset $RPM_BUILD_ROOT%{_prefix}/lib/os.release.d/presets/
5d8c374
4ca6c96
# Override the list of enabled gnome-shell extensions for Workstation
1837993
mkdir -p $RPM_BUILD_ROOT%{_datadir}/glib-2.0/schemas/
1837993
install -m 0644 org.gnome.shell.gschema.override $RPM_BUILD_ROOT%{_datadir}/glib-2.0/schemas/
Mohan Boddu 7a1b534
mkdir -p $RPM_BUILD_ROOT%{_datadir}/polkit-1/rules.d/
Mohan Boddu 7a1b534
install -m 0644 org.projectatomic.rpmostree1.rules $RPM_BUILD_ROOT%{_datadir}/polkit-1/rules.d/
4ca6c96
a3d90d6
# Copy the make_edition script to /usr/sbin
a3d90d6
mkdir -p $RPM_BUILD_ROOT/%{_prefix}/sbin/
849b78b
install -m 0755 convert-to-edition $RPM_BUILD_ROOT/%{_prefix}/sbin/
a3d90d6
70f9218
%post -p <lua>
96290a7
%include %{_sourcedir}/convert-to-edition.lua
70f9218
-- On initial installation, we'll at least temporarily put the non-product
70f9218
-- symlinks in place. It will be overridden by fedora-release-$EDITION
70f9218
-- %%post sections because we don't write the /usr/lib/variant file until
70f9218
-- %%posttrans to avoid trumping the fedora-release-$EDITION packages.
70f9218
-- This is necessary to avoid breaking systemctl scripts since they rely on
70f9218
-- /usr/lib/os-release being valid. We can't wait until %%posttrans to default
70f9218
-- to os-release-fedora.
70f9218
if arg[2] == "0" then
70f9218
    set_release(fedora)
70f9218
    set_issue(fedora)
70f9218
end
70f9218
70f9218
-- We also want to forcibly set these paths on upgrade if we are explicitly
70f9218
-- set to "nonproduct"
70f9218
if read_variant() == "nonproduct" then
70f9218
    convert_to_edition("nonproduct", false)
70f9218
end
70f9218
70f9218
%posttrans -p <lua>
96290a7
%include %{_sourcedir}/convert-to-edition.lua
70f9218
-- If we get to %%posttrans and nothing created /usr/lib/variant, set it to
70f9218
-- nonproduct.
c974f93
install_edition("nonproduct")
70f9218
70f9218
%post atomichost -p <lua>
96290a7
%include %{_sourcedir}/convert-to-edition.lua
70f9218
install_edition("atomichost")
70f9218
70f9218
%preun atomichost -p <lua>
96290a7
%include %{_sourcedir}/convert-to-edition.lua
70f9218
uninstall_edition("atomichost")
70f9218
70f9218
%post cloud -p <lua>
96290a7
%include %{_sourcedir}/convert-to-edition.lua
70f9218
install_edition("cloud")
70f9218
70f9218
%preun cloud -p <lua>
96290a7
%include %{_sourcedir}/convert-to-edition.lua
70f9218
uninstall_edition("cloud")
70f9218
70f9218
%post server -p <lua>
96290a7
%include %{_sourcedir}/convert-to-edition.lua
70f9218
install_edition("server")
70f9218
70f9218
%preun server -p <lua>
96290a7
%include %{_sourcedir}/convert-to-edition.lua
70f9218
uninstall_edition("server")
70f9218
70f9218
%post workstation -p <lua>
96290a7
%include %{_sourcedir}/convert-to-edition.lua
70f9218
install_edition("workstation")
70f9218
70f9218
%preun workstation -p <lua>
96290a7
%include %{_sourcedir}/convert-to-edition.lua
70f9218
uninstall_edition("workstation")
e7229b9
4ca6c96
%postun workstation
4ca6c96
if [ $1 -eq 0 ] ; then
4ca6c96
    glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
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
a3d90d6
%ghost /usr/lib/variant
e7229b9
%dir /usr/lib/os.release.d
a3d90d6
%dir /usr/lib/os.release.d/presets
567eaa2
%attr(0644,root,root) /usr/lib/os.release.d/os-release-fedora
a3d90d6
%ghost /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
567eaa2
%attr(0644,root,root) /usr/lib/os.release.d/issue-fedora
a3d90d6
%ghost /usr/lib/issue
e92a79d
%config(noreplace) /etc/issue
567eaa2
%attr(0644,root,root) /usr/lib/issue.net
e92a79d
%config(noreplace) /etc/issue.net
ed3f431
%dir %{_sysconfdir}/issue.d
b1e9816
%attr(0644,root,root) %{_rpmconfigdir}/macros.d/macros.dist
f4f346f
%dir /usr/lib/systemd/user-preset/
1837993
%dir %{_prefix}/lib/systemd/system-preset/
e10a87b
%{_prefix}/lib/systemd/system-preset/85-display-manager.preset
e10a87b
%{_prefix}/lib/systemd/system-preset/90-default.preset
e10a87b
%{_prefix}/lib/systemd/system-preset/99-default-disable.preset
d5fe401
70f9218
70f9218
%files atomichost
70f9218
%{!?_licensedir:%global license %%doc}
70f9218
%license LICENSE
567eaa2
%attr(0644,root,root) /usr/lib/os.release.d/os-release-atomichost
70f9218
70f9218
e32ddb6
%files cloud
cf296ee
%{!?_licensedir:%global license %%doc}
cf296ee
%license LICENSE
567eaa2
%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
567eaa2
%attr(0644,root,root) /usr/lib/os.release.d/os-release-server
567eaa2
%attr(0644,root,root) /usr/lib/os.release.d/issue-server
a3d90d6
%ghost %{_prefix}/lib/systemd/system-preset/80-server.preset
567eaa2
%attr(0644,root,root) /usr/lib/os.release.d/presets/80-server.preset
e32ddb6
e32ddb6
%files workstation
cf296ee
%{!?_licensedir:%global license %%doc}
cf296ee
%license LICENSE
567eaa2
%attr(0644,root,root) /usr/lib/os.release.d/os-release-workstation
4ca6c96
%{_datadir}/glib-2.0/schemas/org.gnome.shell.gschema.override
a3d90d6
%ghost %{_prefix}/lib/systemd/system-preset/80-workstation.preset
567eaa2
%attr(0644,root,root) /usr/lib/os.release.d/presets/80-workstation.preset
Mohan Boddu 7a1b534
%attr(0644,root,root) /usr/share/polkit-1/rules.d/org.projectatomic.rpmostree1.rules
3191855
e705caf
%files -n convert-to-edition
e705caf
/usr/sbin/convert-to-edition
e705caf
d5fe401
%changelog
ed3f431
* Fri Jan 18 2019 Robert Fairley <rfairley@redhat.com> - 28-7
ed3f431
- Own /etc/issue.d directory.
ed3f431
ebf32b4
* Wed Dec 12 2018 Stephen Gallagher <sgallagh@redhat.com> - 28-6
ebf32b4
- Include empty VERSION_CODENAME= field in os-release
ebf32b4
3036ac1
* Tue Dec 11 2018 Mohan Boddu <mboddu@bhujji.com> - 28-5
3036ac1
- Use the icon logo for `LOGO` in os-release(5)
3036ac1
af98a82
* Mon Dec 03 2018 Mohan Boddu <mboddu@bhujji.com> - 28-4
af98a82
- Add 'LOGO' to os-release(5) for Fedora
af98a82
42bc017
* Mon Sep 24 2018 Mohan Boddu <mboddu@bhujji.com> - 28-3
42bc017
- Enable the stratis daemon for managing stratis storage
42bc017
Mohan Boddu 51b7cff
* Fri May 25 2018 Stephen Gallagher <sgallagh@redhat.com> - 28-2
Mohan Boddu 51b7cff
- Add fedora-repos-modular to Fedora Server installs
Mohan Boddu 51b7cff
Mohan Boddu 613e0b8
* Wed Apr 18 2018 Mohan Boddu <mboddu@redhat.com> - 28-1
Mohan Boddu 613e0b8
- Setup for F28 Final
Mohan Boddu 613e0b8
- Add PLATFORM_ID to /etc/os-release
Mohan Boddu 613e0b8
- Enable the virtualbox-guest-additions service (vboxservice.service)
Mohan Boddu 613e0b8
Mohan Boddu 7a1b534
* Thu Feb 22 2018 Matthias Clasen <mclasen@redhat.com> - 28-0.4
Mohan Boddu 7a1b534
- Add polkit rules to let gnome-software update Atomic Workstation
Mohan Boddu 7a1b534
Mohan Boddu b43ac9e
* Sat Feb 17 2018 Mohan Boddu <mboddu@redhat.com> - 28-0.3
Mohan Boddu b43ac9e
- Update for branching
Mohan Boddu b43ac9e
- Enable akmods.service in presets
Mohan Boddu b43ac9e
- Fix pattern-match in convert-to-edition.lua
Mohan Boddu b43ac9e
- Add %{?distprefix} to %{dist}
Mohan Boddu b43ac9e
567eaa2
* Thu Oct 26 2017 Stephen Gallagher <sgallagh@redhat.com> - 28-0.2
567eaa2
- Drop %%config from files in /usr
567eaa2
Mohan Boddu 710893c
* Tue Aug 15 2017 Mohan Boddu <mboddu@redhat.com> - 28-0.1
Mohan Boddu 710893c
- Setup for rawhide being f28