Ludwig Nussel 2020-07-14 12:34:49 +00:00 committed by Git OBS Bridge
parent 9785600c32
commit 00844c8d11
2 changed files with 377 additions and 0 deletions

View File

@ -0,0 +1,250 @@
#
# spec file for package openSUSE-MicroOS-release.spec
#
# Copyright (c) 2020 SUSE LLC
#
# 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: ___VERSION___
Release: 0
Summary: ___SUMMARY___ ___BETA_VERSION___
License: GPL-2.0-or-later
Group: System/Fhs
Source100: weakremovers.inc
BuildRequires: skelcd-openSUSE
# Make sure we are at SLES12 SP2 level
PreReq: glibc >= 2.19
# in rare cases, 'ln' is not found...
Requires(post): coreutils
Suggests: branding-openSUSE
Suggests: distribution-logos-openSUSE-MicroOS
Suggests: openSUSE-build-key
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
# Give zypp a hint that this product must be kept up-to-date using zypper dup, not up (boo#1061384)
Provides: product-update() = dup
# 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
# bnc#826592
Provides: weakremover(kernel-default) < 3.11
Provides: weakremover(kernel-desktop) < 4.2
Provides: weakremover(kernel-ec2) < 3.11
Provides: weakremover(kernel-pae) < 3.11
Provides: weakremover(kernel-vanilla) < 3.11
Provides: weakremover(kernel-xen) < 3.11
# migrated from MANUAL_OBSOLETES/packages
Provides: weakremover(boost-license1_56_0)
Provides: weakremover(boost-license1_59_0)
Provides: weakremover(gpg-pubkey-3d25d3d9-36e12d04)
Provides: weakremover(lib++dfb-1_7-6)
Provides: weakremover(libastro-qt5-1)
Provides: weakremover(libboost_atomic1_59_0)
Provides: weakremover(libboost_atomic1_60_0)
Provides: weakremover(libboost_atomic1_62_0)
Provides: weakremover(libboost_atomic1_63_0)
Provides: weakremover(libboost_chrono1_59_0)
Provides: weakremover(libboost_chrono1_60_0)
Provides: weakremover(libboost_chrono1_62_0)
Provides: weakremover(libboost_chrono1_63_0)
Provides: weakremover(libboost_container1_59_0)
Provides: weakremover(libboost_container1_60_0)
Provides: weakremover(libboost_container1_62_0)
Provides: weakremover(libboost_container1_63_0)
Provides: weakremover(libboost_context1_59_0)
Provides: weakremover(libboost_context1_60_0)
Provides: weakremover(libboost_context1_62_0)
Provides: weakremover(libboost_context1_63_0)
Provides: weakremover(libboost_coroutine1_59_0)
Provides: weakremover(libboost_coroutine1_60_0)
Provides: weakremover(libboost_coroutine1_62_0)
Provides: weakremover(libboost_coroutine1_63_0)
Provides: weakremover(libboost_date_time1_59_0)
Provides: weakremover(libboost_date_time1_60_0)
Provides: weakremover(libboost_date_time1_62_0)
Provides: weakremover(libboost_date_time1_63_0)
Provides: weakremover(libboost_filesystem1_59_0)
Provides: weakremover(libboost_filesystem1_60_0)
Provides: weakremover(libboost_filesystem1_62_0)
Provides: weakremover(libboost_filesystem1_63_0)
Provides: weakremover(libboost_graph1_59_0)
Provides: weakremover(libboost_graph1_60_0)
Provides: weakremover(libboost_graph1_62_0)
Provides: weakremover(libboost_graph1_63_0)
Provides: weakremover(libboost_iostreams1_59_0)
Provides: weakremover(libboost_locale1_59_0)
Provides: weakremover(libboost_log1_59_0)
Provides: weakremover(libboost_log1_60_0)
Provides: weakremover(libboost_log1_62_0)
Provides: weakremover(libboost_log1_63_0)
Provides: weakremover(libboost_math1_59_0)
Provides: weakremover(libboost_program_options1_59_0)
Provides: weakremover(libboost_python1_59_0)
Provides: weakremover(libboost_random1_59_0)
Provides: weakremover(libboost_regex1_59_0)
Provides: weakremover(libboost_regex1_60_0)
Provides: weakremover(libboost_regex1_62_0)
Provides: weakremover(libboost_regex1_63_0)
Provides: weakremover(libboost_serialization1_59_0)
Provides: weakremover(libboost_signals1_59_0)
Provides: weakremover(libboost_system1_56_0)
Provides: weakremover(libboost_system1_59_0)
Provides: weakremover(libboost_test1_59_0)
Provides: weakremover(libboost_thread1_56_0)
Provides: weakremover(libboost_thread1_59_0)
Provides: weakremover(libboost_timer1_59_0)
Provides: weakremover(libboost_wave1_59_0)
Provides: weakremover(libcamel-1_2-54)
Provides: weakremover(libdialog12)
Provides: weakremover(libdirectfb-1_7-6)
Provides: weakremover(libdns146)
Provides: weakremover(libdns160)
Provides: weakremover(libdns161)
Provides: weakremover(libgdict-1_0-9)
Provides: weakremover(libgit2-23)
Provides: weakremover(libgpaste4)
Provides: weakremover(libhdf5-11)
Provides: weakremover(libhdf5_hl11)
Provides: weakremover(libicu54_1)
Provides: weakremover(libicu54_1-ledata)
Provides: weakremover(libicu55_1)
Provides: weakremover(libicu55_1-ledata)
Provides: weakremover(libicu56_1)
Provides: weakremover(libicu56_1-ledata)
Provides: weakremover(libimobiledevice5)
Provides: weakremover(libisc142)
Provides: weakremover(libisc148)
Provides: weakremover(libisl13)
Provides: weakremover(libixion-0_10-0)
Provides: weakremover(liblmdb-0_9_16)
Provides: weakremover(libmicrohttpd11)
Provides: weakremover(libminiupnpc15)
Provides: weakremover(libnis1)
Provides: weakremover(libntfs-3g86)
Provides: weakremover(liborcus-0_10-0)
Provides: weakremover(libpoppler47)
Provides: weakremover(libpoppler48)
Provides: weakremover(libpoppler49)
Provides: weakremover(libpoppler50)
Provides: weakremover(libpoppler51)
Provides: weakremover(libpoppler52)
Provides: weakremover(libpoppler53)
Provides: weakremover(libpoppler54)
Provides: weakremover(libpoppler55)
Provides: weakremover(libpoppler56)
Provides: weakremover(libpoppler57)
Provides: weakremover(libpoppler58)
Provides: weakremover(libpoppler59)
Provides: weakremover(libpoppler61)
Provides: weakremover(libpoppler62)
Provides: weakremover(libpoppler63)
Provides: weakremover(libpoppler64)
Provides: weakremover(libpoppler65)
Provides: weakremover(libprocps4)
Provides: weakremover(libprocps5)
Provides: weakremover(libpsl0)
Provides: weakremover(libsgutils2-1_40-2)
Provides: weakremover(libsgutils2-1_41-2)
Provides: weakremover(libvpx2)
Provides: weakremover(libxtables11)
Provides: weakremover(libzip4)
Provides: weakremover(mt_st)
Provides: weakremover(openssl-debuginfo)
# this package should only be available for the "basearchs" of a product
ExclusiveArch: %ix86 x86_64 ppc64le s390x aarch64 %arm
%include %{SOURCE100}
___PRODUCT_PROVIDES___
___PRODUCT_DEPENDENCIES___
%description
___DESCRIPTION___
___FLAVOR_PACKAGES___
%prep
%build
%install
mkdir -p %{buildroot}%{_sysconfdir}
mkdir -p %{buildroot}%{_libexecdir}/issue.d
echo -e "\nWelcome to ___SUMMARY___ (%{_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 <<EOF
NAME="openSUSE MicroOS"
# VERSION="%{version}%{?betaversion: %{betaversion}}"
ID="opensuse-microos"
ID_LIKE="suse opensuse opensuse-tumbleweed"
VERSION_ID="$VERSION_ID"
PRETTY_NAME="openSUSE MicroOS"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:opensuse:microos:%{version}"
BUG_REPORT_URL="https://bugs.opensuse.org"
HOME_URL="https://www.opensuse.org/"
LOGO="distributor-logo"
EOF
ln -s ..%{_libexecdir}/os-release %{buildroot}%{_sysconfdir}/os-release
___CREATE_PRODUCT_FILES___
%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

127
openSUSE-MicroOS.product.in Normal file
View File

@ -0,0 +1,127 @@
<?xml version="1.0" encoding="UTF-8"?>
<productdefinition xmlns:xi="http://www.w3.org/2001/XInclude">
<products>
<product>
<vendor>openSUSE</vendor>
<name>openSUSE-MicroOS</name>
<releasepkgname>openSUSE-MicroOS-release</releasepkgname>
<endoflife/>
<version></version>
<!-- release is no longer optional -->
<release>0</release>
<productline>openSUSE-MicroOS</productline>
<summary>openSUSE MicroOS</summary>
<shortsummary>openSUSE MicroOS</shortsummary>
<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.
</description>
<linguas>
<language>en_US</language>
</linguas>
<urls>
<url name="releasenotes">http://doc.opensuse.org/release-notes/x86_64/openSUSE/Tumbleweed/release-notes-openSUSE.rpm</url>
</urls>
<buildconfig>
<!-- This section is needed to generate the installation media -->
<producttheme>MicroOS</producttheme>
<create_flavors>true</create_flavors>
</buildconfig>
<installconfig>
<!-- All flags needed during installation -->
<defaultlang>en_US</defaultlang>
<datadir>suse</datadir>
<descriptiondir>suse/setup/descr</descriptiondir>
<distribution>openSUSE</distribution>
</installconfig>
<!-- All Flags needed in the running system -->
<runtimeconfig/>
</product>
</products>
<!-- Default conditionals, repositories and archsets get imported -->
<xi:include href="defaults-conditionals.include"/>
<xi:include href="defaults-archsets.include"/>
<xi:include href="defaults-repositories.include"/>
<mediasets>
<media
type="dvd5"
flavor="dvd"
name="openSUSE-MicroOS-DVD"
sourcemedia="0"
firmware="uefi"
mediastyle="tumbleweed"
run_hybridiso="true"
run_media_check="true"
use_undecided="false"
create_pattern="false"
use_required="true"
use_recommended="true"
use_suggested="false">
<archsets>
<archset ref="x86_64"/>
</archsets>
<metadata>
<package name="skelcd-installer-MicroOS"/>
<!--package name="skelcd-control-MicroOS"/-->
<package name="skelcd-openSUSE"/>
</metadata>
<use group="opensuse_microos" create_pattern="false"/>
<use group="opensuse_microos.x86_64" create_pattern="false"/>
</media>
<!-- BEWARE: do not touch the naming here without adapting ftp upload scripts ! -->
<media
type="dvd5"
flavor="kubic-dvd"
name="openSUSE-Kubic-DVD"
sourcemedia="0"
firmware="uefi"
mediastyle="tumbleweed"
run_hybridiso="true"
run_media_check="true"
use_undecided="false"
create_pattern="false"
use_required="true"
use_recommended="true"
use_suggested="false">
<archsets>
<archset ref="x86_64"/>
</archsets>
<metadata>
<package name="skelcd-installer-Kubic"/>
<!--package name="skelcd-control-Kubic"/-->
<package name="skelcd-openSUSE"/>
</metadata>
<use group="opensuse_kubic" create_pattern="false"/>
<use group="opensuse_kubic.x86_64" create_pattern="false"/>
</media>
<media type="image"
flavor="appliance"
mediastyle="tumbleweed"
name="openSUSE-MicroOS-appliance" >
<!-- Create no product media, but a flavor release subpackage -->
</media>
<media type="image"
flavor="appliance-kubic"
mediastyle="tumbleweed"
name="openSUSE-Kubic-appliance" >
<!-- Create no product media, but a flavor release subpackage -->
</media>
</mediasets>
<xi:include href="opensuse_microos.group"/>
<xi:include href="opensuse_kubic.group"/>
</productdefinition>