# # spec file for package openSUSE-MicroOS-release.spec # # Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: openSUSE-MicroOS-release Version: 20200229 Release: 0 Summary: openSUSE MicroOS License: GPL-2.0-or-later Group: System/Fhs BuildRequires: skelcd-openSUSE Requires: issue-generator # Make sure we are at SLES12 SP2 level PreReq: glibc >= 2.19 # in rare cases, 'ln' is not found... Requires(post): coreutils Recommends: branding-openSUSE Recommends: distribution-logos-openSUSE-MicroOS Conflicts: distribution-release Conflicts: kernel < 4.4 Provides: distribution-release # MicroOS-release replaces Tumbleweed-Kubic-release Provides: openSUSE-Tumbleweed-Kubic-release Obsoletes: openSUSE-Tumbleweed-Kubic-release <= 20190324 # With more than one product in the FTP tree, yast needs to know which products are installable # The name is referenced by the control file as well Provides: system-installation() = openSUSE-MicroOS # this package should only be available for the "basearchs" of a product ExclusiveArch: %ix86 x86_64 ppc64le s390x aarch64 %arm Provides: %name-%version Provides: product() = openSUSE-MicroOS Provides: product(openSUSE-MicroOS) = 20200229-0 Provides: product-label() = openSUSE%20MicroOS Provides: product-cpeid() = cpe%3A%2Fo%3Aopensuse%3Aopensuse%2Dmicroos%3A20200229 Provides: product-url(releasenotes) = http%3A%2F%2Fdoc.opensuse.org%2Frelease%2Dnotes%2Fx86_64%2FopenSUSE%2FTumbleweed%2Frelease%2Dnotes%2DopenSUSE.rpm Provides: product-endoflife() Requires: product_flavor(openSUSE-MicroOS) %description openSUSE MicroOS combines the benefits of a rolling OS with a read-only root filesystem with transactional updates. It is a modern Linux Operating System, designed for single-service installations, such as container hosts. It is optimized for large, clustered deployments. It inherits the benefits of openSUSE Tumbleweed while redefining the operating system into a small, efficient and reliable distribution. %package dvd License: BSD-3-Clause Group: System/Fhs Provides: product_flavor() Provides: flavor(dvd) Provides: product_flavor(openSUSE-MicroOS) = 20200229-0 Summary: openSUSE MicroOS%{?betaversion: %{betaversion}} %description dvd openSUSE MicroOS combines the benefits of a rolling OS with a read-only root filesystem with transactional updates. It is a modern Linux Operating System, designed for single-service installations, such as container hosts. It is optimized for large, clustered deployments. It inherits the benefits of openSUSE Tumbleweed while redefining the operating system into a small, efficient and reliable distribution. %files dvd %defattr(-,root,root) %doc %{_defaultdocdir}/openSUSE-MicroOS-release-dvd %package kubic-dvd License: BSD-3-Clause Group: System/Fhs Provides: product_flavor() Provides: flavor(kubic-dvd) Provides: product_flavor(openSUSE-MicroOS) = 20200229-0 Summary: openSUSE MicroOS%{?betaversion: %{betaversion}} %description kubic-dvd openSUSE MicroOS combines the benefits of a rolling OS with a read-only root filesystem with transactional updates. It is a modern Linux Operating System, designed for single-service installations, such as container hosts. It is optimized for large, clustered deployments. It inherits the benefits of openSUSE Tumbleweed while redefining the operating system into a small, efficient and reliable distribution. %files kubic-dvd %defattr(-,root,root) %doc %{_defaultdocdir}/openSUSE-MicroOS-release-kubic-dvd %package appliance License: BSD-3-Clause Group: System/Fhs Provides: product_flavor() Provides: flavor(appliance) Provides: product_flavor(openSUSE-MicroOS) = 20200229-0 Summary: openSUSE MicroOS%{?betaversion: %{betaversion}} %description appliance openSUSE MicroOS combines the benefits of a rolling OS with a read-only root filesystem with transactional updates. It is a modern Linux Operating System, designed for single-service installations, such as container hosts. It is optimized for large, clustered deployments. It inherits the benefits of openSUSE Tumbleweed while redefining the operating system into a small, efficient and reliable distribution. %files appliance %defattr(-,root,root) %doc %{_defaultdocdir}/openSUSE-MicroOS-release-appliance %package appliance-kubic License: BSD-3-Clause Group: System/Fhs Provides: product_flavor() Provides: flavor(appliance-kubic) Provides: product_flavor(openSUSE-MicroOS) = 20200229-0 Summary: openSUSE MicroOS%{?betaversion: %{betaversion}} %description appliance-kubic openSUSE MicroOS combines the benefits of a rolling OS with a read-only root filesystem with transactional updates. It is a modern Linux Operating System, designed for single-service installations, such as container hosts. It is optimized for large, clustered deployments. It inherits the benefits of openSUSE Tumbleweed while redefining the operating system into a small, efficient and reliable distribution. %files appliance-kubic %defattr(-,root,root) %doc %{_defaultdocdir}/openSUSE-MicroOS-release-appliance-kubic %prep %build %install mkdir -p %{buildroot}%{_sysconfdir} mkdir -p %{buildroot}%{_libexecdir}/issue.d echo -e "\nWelcome to openSUSE MicroOS (%{_target_cpu}) - Kernel \\\r (\\\l).\n" > %{buildroot}%{_libexecdir}/issue.d/10-OS echo -e "\n" > %{buildroot}%{_libexecdir}/issue.d/90-OS touch %{buildroot}%{_sysconfdir}/motd # Put EULA into correct place mkdir -p %{buildroot}/%{_sysconfdir}/YaST2/licenses/base cd %{buildroot}/%{_sysconfdir}/YaST2/licenses/base if [ -f /CD1/license.tar.gz ]; then tar -xzf /CD1/license.tar.gz elif [ -f %{_libexecdir}/skelcd/CD1/license.tar.gz ]; then tar -xzf %{_libexecdir}/skelcd/CD1/license.tar.gz fi VERSION_ID=`echo %{version}|tr '[:upper:]' '[:lower:]'|sed -e 's/ //g;'` # note: VERSION is an optional field and has no meaning other than informative on a rolling distro # We do thus not add it to the os-release file cat > %{buildroot}%{_libexecdir}/os-release <$RPM_BUILD_ROOT/etc/products.d/openSUSE-MicroOS.prod << EOF openSUSE openSUSE-MicroOS 20200229 0 %{_target_cpu} cpe:/o:opensuse:opensuse-microos:20200229 openSUSE-MicroOS openSUSE MicroOS openSUSE MicroOS openSUSE MicroOS combines the benefits of a rolling OS with a read-only root filesystem with transactional updates. It is a modern Linux Operating System, designed for single-service installations, such as container hosts. It is optimized for large, clustered deployments. It inherits the benefits of openSUSE Tumbleweed while redefining the operating system into a small, efficient and reliable distribution. en_US http://doc.opensuse.org/release-notes/x86_64/openSUSE/Tumbleweed/release-notes-openSUSE.rpm MicroOS true en_US suse suse/setup/descr openSUSE EOF mkdir -p $RPM_BUILD_ROOT/%{_defaultdocdir}/openSUSE-MicroOS-release-dvd cat >$RPM_BUILD_ROOT/%{_defaultdocdir}/openSUSE-MicroOS-release-dvd/README << EOF This package only exists for providing the product flavor 'dvd'. EOF mkdir -p $RPM_BUILD_ROOT/%{_defaultdocdir}/openSUSE-MicroOS-release-kubic-dvd cat >$RPM_BUILD_ROOT/%{_defaultdocdir}/openSUSE-MicroOS-release-kubic-dvd/README << EOF This package only exists for providing the product flavor 'kubic-dvd'. EOF mkdir -p $RPM_BUILD_ROOT/%{_defaultdocdir}/openSUSE-MicroOS-release-appliance cat >$RPM_BUILD_ROOT/%{_defaultdocdir}/openSUSE-MicroOS-release-appliance/README << EOF This package only exists for providing the product flavor 'appliance'. EOF mkdir -p $RPM_BUILD_ROOT/%{_defaultdocdir}/openSUSE-MicroOS-release-appliance-kubic cat >$RPM_BUILD_ROOT/%{_defaultdocdir}/openSUSE-MicroOS-release-appliance-kubic/README << EOF This package only exists for providing the product flavor 'appliance-kubic'. EOF %post # Update from openSUSE-Tumbleweed-Kubic to openSUSE-MicroOS # Fix the baseproduct symlink and make sure, it exists if [ -L %{_sysconfdir}/products.d/baseproduct ] ; then PRODLINK=$(basename $(readlink -f %{_sysconfdir}/products.d/baseproduct)) if [ "$PRODLINK" == "openSUSE-Tumbleweed-Kubic.prod" ]; then rm -f %{_sysconfdir}/products.d/baseproduct fi fi if [ ! -e %{_sysconfdir}/products.d/baseproduct ]; then ln -sf openSUSE-MicroOS.prod %{_sysconfdir}/products.d/baseproduct fi %files %defattr(644,root,root,755) %{_sysconfdir}/os-release %{_libexecdir}/os-release %dir %{_sysconfdir}/products.d %{_sysconfdir}/products.d/* %dir %{_sysconfdir}/YaST2/ %config(noreplace) %{_sysconfdir}/motd %dir %{_sysconfdir}/YaST2/licenses/ %dir %{_sysconfdir}/YaST2/licenses/base/ # no %doc here, or we will not install them %{_sysconfdir}/YaST2/licenses/base/license*txt %{_sysconfdir}/YaST2/licenses/base/no-acceptance-needed %dir %{_libexecdir}/issue.d %{_libexecdir}/issue.d/*-OS %changelog