From 3122f1a1361d9b9bbc50ee6d1a6624a763457a1c6ea65ae49cd8df660b33fd48 Mon Sep 17 00:00:00 2001 From: Ludwig Nussel Date: Tue, 14 Jul 2020 12:32:28 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/home:lnussel:branches:home:lnussel:branches:devel:kubic:images/000package-groups?expand=0&rev=14 --- MicroOS-release.spec.in | 252 +++++++++++++++++++++++++++++++++++++++ MicroOS.product.in | 127 ++++++++++++++++++++ groups.yml | 31 ++--- openSUSE-release.spec.in | 26 ++-- 4 files changed, 405 insertions(+), 31 deletions(-) create mode 100644 MicroOS-release.spec.in create mode 100644 MicroOS.product.in diff --git a/MicroOS-release.spec.in b/MicroOS-release.spec.in new file mode 100644 index 0000000..5c7780b --- /dev/null +++ b/MicroOS-release.spec.in @@ -0,0 +1,252 @@ +# +# 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: 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 +Provides: openSUSE-MicroOS-release = %{version} +Obsoletes: openSUSE-MicroOS-release <= %{version} +# 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() = 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}%{_prefix}/lib/issue.d +echo -e "\nWelcome to ___SUMMARY___ (%{_target_cpu}) - Kernel \\\r (\\\l).\n" > %{buildroot}%{_prefix}/lib/issue.d/10-OS +echo -e "\n" > %{buildroot}%{_prefix}/lib/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 %{_prefix}/lib/skelcd/CD1/license.tar.gz ]; then + tar -xzf %{_prefix}/lib/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}%{_prefix}/lib/os-release < + + + + openSUSE + MicroOS + MicroOS-release + + + + 0 + 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/groups.yml b/groups.yml index 86c0ee6..00f38dd 100644 --- a/groups.yml +++ b/groups.yml @@ -27,7 +27,7 @@ dvd: - kernel-kvmsmall: [locked] - kernel-debug: [locked] - dummy-release: [locked] - - openSUSE-MicroOS-release: [locked] + - MicroOS-release: [locked] - patterns-microos-basesystem: [locked] - openSUSE-Tumbleweed-Kubic-release: [locked] - openSUSE-release-appliance: [locked] @@ -69,11 +69,16 @@ dvd: - patterns-base-apparmor: [suggested] - patterns-base-base: [suggested] - patterns-base-console: [suggested] + - patterns-devel-C-C++-devel_C_C++: [suggested] + - patterns-devel-base-devel_basis: [suggested] + - patterns-devel-osc-devel_osc_build: [suggested] + - patterns-devel-base-devel_rpm_build: [suggested] - patterns-server-dhcp_dns_server: [suggested] - patterns-server-directory_server: [suggested] - patterns-base-enhanced_base: [suggested] - patterns-server-file_server: [suggested] - patterns-fonts-fonts: [suggested] + - patterns-fonts-fonts_opt: [suggested] - patterns-games-games: [suggested] - patterns-server-lamp_server: [suggested] - patterns-desktop-laptop: [suggested] @@ -168,14 +173,17 @@ dvd: - cellwriter - clicfs - createrepo_c + - eekboard - git + # hylafax as requested by kkeil + - hylafax+ + - hylafax+-client # kdump+tools - kdump # all kernel flavors we want to have - kernel-default - kexec-tools - quota-nfs - - nvme-cli - patterns-media-rest_dvd: [suggested] # all loggers @@ -229,7 +237,6 @@ dvd: # trying to get a working DVD: [locked] - mono-devel: [locked] - - nodejs14-devel: [locked] - libqt5-qtdoc: [locked] - kde-l10n-fr-doc: [locked] - kde-l10n-pt_BR-doc: [locked] @@ -240,8 +247,6 @@ dvd: - blender: [locked] - calibre: [locked] - libLLVM7: [locked] - - libgnomecanvas-2-0: [locked] - - claws-mail: [locked] ## attemt to shrink the DVD - 20151115 by dimstar: [locked] - valgrind-devel: [locked] @@ -305,7 +310,6 @@ dvd: - bcm43xx-firmware - elilo - erofs-utils - - expect - f2fs-tools - fuse3 - icewm-config-upstream @@ -357,6 +361,7 @@ dvd: opensuse_microos: - dummy-release: [locked] - openSUSE-release: [locked] + - openSUSE-MicroOS-release: [locked] # FIXME: remove after dropped - patterns-base-basesystem: [locked] # we need a global flag, not there yet - kernel-vanilla-base: [locked] @@ -364,7 +369,7 @@ opensuse_microos: - kernel-vanilla: [locked] - kernel-kvmsmall: [locked] - kernel-debug: [locked] - - openSUSE-MicroOS-release + - MicroOS-release - kernel-default - patterns-microos-base: [aarch64,ppc64le,s390x,x86_64] - patterns-microos-defaults: [aarch64,ppc64le,s390x,x86_64] @@ -381,11 +386,6 @@ opensuse_microos: - patterns-containers-container_runtime: [aarch64,ppc64le,s390x,x86_64] - podman-cni-config: [aarch64,ppc64le,s390x,x86_64] - kernel-default-base: [aarch64,ppc64le,s390x,x86_64] - - grub2-x86_64-efi: [x86_64] - - grub2-i386-pc: [x86_64] - - grub2-arm64-efi: [aarch64] - - grub2-powerpc-ieee1275: [ppc64le] - - patterns-microos-basesystem: [ppc64le] - patterns-base-bootloader: [ppc64le] # Have a bootable system for RPi3/4 - boo#1172574 - raspberrypi-firmware: [aarch64] # bsc 1130015 @@ -393,6 +393,7 @@ opensuse_microos: - raspberrypi-firmware-dt: [aarch64] # bsc 1130015 - u-boot-rpiarm64: [aarch64] # bsc 1130015, jsc SLE-7276 / bsc 1164080 - u-boot-rpiarm64-doc: [aarch64] # jsc SLE-7276 / bsc 1164080 + - kdump # needed by yast when the option to enable it is selected opensuse_kubic: - patterns-microos-desktop-kde: [locked] @@ -404,9 +405,3 @@ opensuse_kubic: - patterns-containers-kubic_admin: [aarch64,ppc64le,s390x,x86_64] - patterns-containers-kubernetes_utilities: [aarch64,ppc64le,s390x,x86_64] - patterns-containers-kubic_loadbalancer: [aarch64,ppc64le,s390x,x86_64] - - grub2-x86_64-efi: [x86_64] - - grub2-i386-pc: [x86_64] - - grub2-arm64-efi: [aarch64] - - grub2-powerpc-ieee1275: [ppc64le] - - patterns-microos-basesystem: [ppc64le] - - patterns-base-bootloader: [ppc64le] diff --git a/openSUSE-release.spec.in b/openSUSE-release.spec.in index 6f4e42c..66f2238 100644 --- a/openSUSE-release.spec.in +++ b/openSUSE-release.spec.in @@ -188,23 +188,23 @@ ___FLAVOR_PACKAGES___ mkdir license if [ -f /CD1/license.tar.gz ]; then tar -C license -xzf /CD1/license.tar.gz -elif [ -f %{_libexecdir}/skelcd/CD1/license.tar.gz ]; then - tar -C license -xzf %{_libexecdir}/skelcd/CD1/license.tar.gz +elif [ -f %{_prefix}/lib/skelcd/CD1/license.tar.gz ]; then + tar -C license -xzf %{_prefix}/lib/skelcd/CD1/license.tar.gz fi %build %install -mkdir -p %{buildroot}%{_sysconfdir} %{buildroot}%{_libexecdir}/issue.d %{buildroot}/run +mkdir -p %{buildroot}%{_sysconfdir} %{buildroot}%{_prefix}/lib/issue.d %{buildroot}/run -echo -e 'Welcome to %{product} %{codename} %{version}%{?betaversion: %{betaversion}} - Kernel \\r (\\l).\n' > %{buildroot}%{_libexecdir}/issue.d/10-openSUSE.conf -echo -e "\n" > %{buildroot}%{_libexecdir}/issue.d/90-openSUSE.conf +echo -e 'Welcome to %{product} %{codename} %{version}%{?betaversion: %{betaversion}} - Kernel \\r (\\l).\n' > %{buildroot}%{_prefix}/lib/issue.d/10-openSUSE.conf +echo -e "\n" > %{buildroot}%{_prefix}/lib/issue.d/90-openSUSE.conf echo 'Welcome to %{product} %{codename} %{version}%{?betaversion: %{betaversion}} - Kernel %%r (%%t).' > %{buildroot}%{_sysconfdir}/issue.net 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 < %{buildroot}%{_prefix}/lib/os-release < %{buildroot}%{_sysconfdir}/motd # Bug 404141 - /etc/YaST/control.xml should be owned by some package @@ -225,8 +225,8 @@ mkdir -p %{buildroot}%{_sysconfdir}/YaST2/ echo %{buildroot} if [ -f /CD1/control.xml ]; then install -m 644 /CD1/control.xml %{buildroot}%{_sysconfdir}/YaST2/ -elif [ -f %{_libexecdir}/skelcd/CD1/control.xml ]; then - install -m 644 %{_libexecdir}/skelcd/CD1/control.xml %{buildroot}%{_sysconfdir}/YaST2/ +elif [ -f %{_prefix}/lib/skelcd/CD1/control.xml ]; then + install -m 644 %{_prefix}/lib/skelcd/CD1/control.xml %{buildroot}%{_sysconfdir}/YaST2/ fi # fate#319341, make openSUSE-release own YaST license files. TODO: @@ -258,14 +258,14 @@ fi %_defaultlicensedir/product/base %license license/* %{_sysconfdir}/os-release -%{_libexecdir}/os-release +%{_prefix}/lib/os-release # Bug 404141 - /etc/YaST/control.xml should be owned by some package %dir %{_sysconfdir}/YaST2/ %config %{_sysconfdir}/YaST2/control.xml %config(noreplace) %{_sysconfdir}/motd -%dir %{_libexecdir}/issue.d/ -%{_libexecdir}/issue.d/10-openSUSE.conf -%{_libexecdir}/issue.d/90-openSUSE.conf +%dir %{_prefix}/lib/issue.d/ +%{_prefix}/lib/issue.d/10-openSUSE.conf +%{_prefix}/lib/issue.d/90-openSUSE.conf %config(noreplace) %{_sysconfdir}/issue.net %{_sysconfdir}/products.d