1
0

Accepting request 625134 from home:simotek:branches:system:install:head

- Merge with the version from SLE/Leap 15 full changes now below
  in the changelog.
- xen patterns should be only available on x86_64 (BSC#1088175)
- remove 32bits patterns for XEN or KVM
- Replace openldap2 with 389-ds [bsc#1084789]
- add vim as a Recommends for XEN/KVM_tools patterns (BSC#1078908)
- version: 20180302
- Recommend php7 variants by the lamp pattern (boo#1081072).
- fix the order of sourced files to match other patterns saving copy paste errors
- correctly source the files for 32bit patterns
- Version: 20171206
- Add obsoletes across all patterns (bsc#1071761)
- remove duplicate description entry for kvm_tools patterns (BSC#1064239)
- bump version to 20171102
- add a requires on libvirt-client (bsc#1063246)
- add missing source: pattern-definition-32bit.txt
  create_32bit-patterns_file.pl pre_checkin.sh
- do not install qemu-kvm by default (legacy), but install the
  correct qemu based on arch detection
- Add 32bit support (remove some recommended 32bit packages)
- Changes to the following patterns to reflect what was in SLE
  * dhcp_dns_server
  * gateway_server
  * kvm_server
  * lamp_server
  * mail_server
  * printing
  * xen_server
- Add the following patterns from sle
  * kvm_tools
  * xen_tools
- print_server renammed to printing
- Fix spelling: e-mail -> email (boo#1040006).
- Compact %install routine; replace old RPM shell vars by macros.
- Create new package from old unified patterns package

OBS-URL: https://build.opensuse.org/request/show/625134
OBS-URL: https://build.opensuse.org/package/show/system:install:head/patterns-server?expand=0&rev=12
This commit is contained in:
Simon Lees 2018-10-04 05:55:24 +00:00 committed by Git OBS Bridge
parent 19aa0aeb1a
commit 3025aa2443
5 changed files with 679 additions and 91 deletions

View File

@ -0,0 +1,173 @@
#!/usr/bin/perl
use strict;
use warnings;
my $verbose = 0;
my $pat_ext = "32bit";
my $product = "";
my @skip_pat = ();
sub get_file {
my $file_to_get = shift;
my $content = "";
open FILE, "<$file_to_get" or return "\n";
while (defined (my $line = <FILE>)) {
next if ($line =~ m/^#/);
$content .= $line;
}
close FILE;
return $content;
}
sub print_usage {
print "$0 [-v] [-h]\n";
exit 0;
}
sub print_debug {
my ($txt, $lvl) = @_;
print (STDERR "DBG: ${txt}\n") if($verbose >= $lvl);
}
sub parse_line {
my $to_parse = shift;
my $tmp = "";
if ($to_parse =~ /%include/) {
# TBD
print "%include at unexpected position, exiting\n";
exit (1);
}
if ($to_parse =~ /Summary:/) {
return "$to_parse\n";
}
# XXX simplify me
if ($to_parse =~ /Recommends:\s*([^\s]*)\s*/) {
$tmp = "$1";
return "" if ($tmp =~ m/.*-64bit\s*$/);
$tmp = "${tmp}-32bit" if($tmp !~ m/.*-32bit/);
return "Recommends: ${tmp}\n";
}
if ($to_parse =~ /Requires:\s*([^\s]*)\s*/) {
$tmp = "$1";
return "" if ($tmp =~ m/pattern()/);
return "" if ($tmp =~ m/.*-64bit\s*$/);
$tmp = "${tmp}-32bit" if($tmp !~ m/.*-32bit/);
return "Recommends: ${tmp}\n";
}
return "";
}
sub parse_main_file {
my $main_file = shift;
my $spec_file = "";
my $cur_pattern = "";
my $skip_it = 1;
my %skip_pat_hash;
if(! open (MAIN_FILE, "<$main_file")) {
print STDERR "${main_file} not found, exiting\n";
exit 1;
}
while (defined (my $line = <MAIN_FILE>)) {
chomp($line);
next if ($line =~ m/^#/);
if ($line =~ m/\%package/) {
if(($line =~ m/32bit/) or
($line =~ m/64bit/)
) {
$skip_it = 1;
} else {
%skip_pat_hash = map { $_ => 1 } @skip_pat;
if($skip_it==0&&!exists($skip_pat_hash{$cur_pattern})) {
$spec_file .= ""
."Provides: pattern() = ${cur_pattern}%2d32bit\n"
."Group: Metapackages\n"
."Supplements: packageand(patterns-${product}-${pat_ext}:patterns-${product}-${cur_pattern})\n"
."\n"
."%files ${cur_pattern}-32bit\n"
."%defattr(-,root,root)\n"
."%dir /usr/share/doc/packages/patterns\n"
."/usr/share/doc/packages/patterns/${cur_pattern}-${pat_ext}.txt\n"
."\n"
."%description ${cur_pattern}-${pat_ext}\n"
."The ${pat_ext} pattern complementing ${cur_pattern}.\n"
."#\n"
."#-------------------------------------------------------------------\n"
."#\n";
}
$skip_it = 0 ;
$line =~ m/package\s*([^\s]*)\s*/;
$cur_pattern = $1;
if (!exists($skip_pat_hash{$cur_pattern})) {
$spec_file .= "%package ${cur_pattern}-32bit\n";
}
}
}
next if($skip_it == 1 );
if ($line =~ /%include/) {
my $file_to_check = ($line =~ m/%include.*?([^\/\s]*)$/)[0]; # beware the non-greedy '?'
next if($file_to_check =~ m/32bit/);
if( open TMP_FILE, "<$file_to_check") {
print_debug(" Checking INCLUDE: $file_to_check", 2);
while (defined (my $include_line = <TMP_FILE>)) {
if (!exists($skip_pat_hash{$cur_pattern})) {
$spec_file .= parse_line($include_line);
}
}
close TMP_FILE;
}
next;
}
if (!exists($skip_pat_hash{$cur_pattern})) {
$spec_file .= parse_line($line);
}
}
%skip_pat_hash = map { $_ => 1 } @skip_pat;
if (!exists($skip_pat_hash{$cur_pattern})) {
# I hate this, but need a fast workaround
$spec_file .= "Provides: pattern-invisible()\n"
."Provides: pattern() = ${cur_pattern}%2d${pat_ext}\n"
."Group: Metapackages\n"
."Supplements: packageand(patterns-${product}-${pat_ext}:patterns-${product}-${cur_pattern})\n"
."\n"
."%files ${cur_pattern}-32bit\n"
."%defattr(-,root,root)\n"
."%dir /usr/share/doc/packages/patterns\n"
."/usr/share/doc/packages/patterns/${cur_pattern}-${pat_ext}.txt\n"
."\n"
."%description ${cur_pattern}-${pat_ext}\n"
."The ${pat_ext} pattern complementing ${cur_pattern}.\n"
."\n";
}
close MAIN_FILE;
my $new_file = $spec_file;
return $new_file;
}
while ($ARGV[0] && $ARGV[0] =~ /^-/) {
my $arg = shift;
if ($arg =~ /-v/) {
$verbose += 1;
} elsif($arg =~ /-h/) {
print_usage();
exit();
} elsif($arg =~ /-p/) {
$product=shift;
} elsif($arg =~ /-e/) {
$pat_ext=shift;
} elsif($arg =~ /-s/) {
push @skip_pat, shift;
}
}
print_debug("product = ${product}\n pat_ext=${pat_ext}\n", 1);
my $result = parse_main_file("patterns-${product}.spec");
print "${result}\n";
exit 0;

View File

@ -0,0 +1,183 @@
%package dhcp_dns_server-32bit
Summary: DHCP and DNS Server
Recommends: bind-32bit
Recommends: dhcp-server-32bit
Recommends: bind-chrootenv-32bit
Recommends: bind-doc-32bit
Recommends: dhcp-32bit
Recommends: dhcp-relay-32bit
Recommends: dhcp-tools-32bit
Recommends: yast2-dhcp-server-32bit
Recommends: yast2-dns-server-32bit
Provides: pattern() = dhcp_dns_server%2d32bit
Group: Metapackages
Supplements: packageand(patterns-server-32bit:patterns-server-dhcp_dns_server)
%files dhcp_dns_server-32bit
%defattr(-,root,root)
%dir /usr/share/doc/packages/patterns
/usr/share/doc/packages/patterns/dhcp_dns_server-32bit.txt
%description dhcp_dns_server-32bit
The 32bit pattern complementing dhcp_dns_server.
#
#-------------------------------------------------------------------
#
%package directory_server-32bit
Summary: Directory Server (LDAP)
Recommends: 389-ds-32bit
Recommends: nss_ldap-32bit
Recommends: pam_ldap-32bit
Recommends: yast2-ldap-server-32bit
Provides: pattern() = directory_server%2d32bit
Group: Metapackages
Supplements: packageand(patterns-server-32bit:patterns-server-directory_server)
%files directory_server-32bit
%defattr(-,root,root)
%dir /usr/share/doc/packages/patterns
/usr/share/doc/packages/patterns/directory_server-32bit.txt
%description directory_server-32bit
The 32bit pattern complementing directory_server.
#
#-------------------------------------------------------------------
#
%package file_server-32bit
Summary: File Server
Recommends: nfs-kernel-server-32bit
Recommends: nfsidmap-32bit
Recommends: samba-32bit
Recommends: samba-client-32bit
Recommends: samba-winbind-32bit
Recommends: tftp-32bit
Recommends: vsftpd-32bit
Recommends: yast2-ftp-server-32bit
Recommends: yast2-nfs-server-32bit
Recommends: yast2-samba-server-32bit
Recommends: yast2-tftp-server-32bit
Provides: pattern() = file_server%2d32bit
Group: Metapackages
Supplements: packageand(patterns-server-32bit:patterns-server-file_server)
%files file_server-32bit
%defattr(-,root,root)
%dir /usr/share/doc/packages/patterns
/usr/share/doc/packages/patterns/file_server-32bit.txt
%description file_server-32bit
The 32bit pattern complementing file_server.
#
#-------------------------------------------------------------------
#
%package gateway_server-32bit
Summary: Internet Gateway
Recommends: wireshark-32bit
Recommends: arptables-32bit
Recommends: calamaris-32bit
Recommends: ddclient-32bit
Recommends: fetchmail-32bit
Recommends: fetchmailconf-32bit
Recommends: ipsec-tools-32bit
Recommends: quagga-32bit
Recommends: radvd-32bit
Recommends: rarpd-32bit
Recommends: squid-32bit
Recommends: whois-32bit
Recommends: wondershaper-32bit
Provides: pattern() = gateway_server%2d32bit
Group: Metapackages
Supplements: packageand(patterns-server-32bit:patterns-server-gateway_server)
%files gateway_server-32bit
%defattr(-,root,root)
%dir /usr/share/doc/packages/patterns
/usr/share/doc/packages/patterns/gateway_server-32bit.txt
%description gateway_server-32bit
The 32bit pattern complementing gateway_server.
#
#-------------------------------------------------------------------
#
%package lamp_server-32bit
Summary: Web and LAMP Server
Recommends: apache2-32bit
Recommends: yast2-http-server-32bit
Recommends: apache2-doc-32bit
Recommends: apache2-example-pages-32bit
Recommends: apache2-mod_php7-32bit
Recommends: apache2-mod_python-32bit
Recommends: apache2-prefork-32bit
Recommends: libapr-util1-32bit
Recommends: libapr1-32bit
Recommends: mariadb-32bit
Recommends: perl-32bit
Provides: pattern() = lamp_server%2d32bit
Group: Metapackages
Supplements: packageand(patterns-server-32bit:patterns-server-lamp_server)
%files lamp_server-32bit
%defattr(-,root,root)
%dir /usr/share/doc/packages/patterns
/usr/share/doc/packages/patterns/lamp_server-32bit.txt
%description lamp_server-32bit
The 32bit pattern complementing lamp_server.
#
#-------------------------------------------------------------------
#
%package mail_server-32bit
Summary: Mail and News Server
Recommends: vacation-32bit
Recommends: amavisd-new-32bit
Recommends: clamav-32bit
Recommends: cyrus-imapd-32bit
Recommends: inn-32bit
Recommends: mailman-32bit
Recommends: spamassassin-32bit
Provides: pattern() = mail_server%2d32bit
Group: Metapackages
Supplements: packageand(patterns-server-32bit:patterns-server-mail_server)
%files mail_server-32bit
%defattr(-,root,root)
%dir /usr/share/doc/packages/patterns
/usr/share/doc/packages/patterns/mail_server-32bit.txt
%description mail_server-32bit
The 32bit pattern complementing mail_server.
#
#-------------------------------------------------------------------
#
%package printing-32bit
Summary: Print Server
Recommends: cups-32bit
Recommends: cups-backends-32bit
Recommends: cups-filters-32bit
Recommends: cups-filters-cups-browsed-32bit
Recommends: cups-filters-foomatic-rip-32bit
Recommends: cups-filters-ghostscript-32bit
Recommends: epson-inkjet-printer-escpr-32bit
Recommends: gutenprint-32bit
Recommends: hplip-hpijs-32bit
Recommends: manufacturer-PPDs-32bit
Recommends: OpenPrintingPPDs-ghostscript-32bit
Recommends: OpenPrintingPPDs-hpijs-32bit
Recommends: OpenPrintingPPDs-postscript-32bit
Recommends: samba-32bit
Recommends: splix-32bit
Provides: pattern() = printing%2d32bit
Group: Metapackages
Supplements: packageand(patterns-server-32bit:patterns-server-printing)
%files printing-32bit
%defattr(-,root,root)
%dir /usr/share/doc/packages/patterns
/usr/share/doc/packages/patterns/printing-32bit.txt
%description printing-32bit
The 32bit pattern complementing printing.
#
#-------------------------------------------------------------------
#

View File

@ -1,8 +1,88 @@
-------------------------------------------------------------------
Thu Jul 19 12:07:25 UTC 2018 - sflees@suse.de
- Merge with the version from SLE/Leap 15 full changes now below
in the changelog.
-------------------------------------------------------------------
Fri Apr 13 11:04:15 UTC 2018 - aginies@suse.com
- xen patterns should be only available on x86_64 (BSC#1088175)
- remove 32bits patterns for XEN or KVM
-------------------------------------------------------------------
Wed Mar 14 13:17:39 CET 2018 - behlert@suse.de
- Replace openldap2 with 389-ds [bsc#1084789]
-------------------------------------------------------------------
Fri Mar 2 13:48:06 UTC 2018 - aginies@suse.com
- add vim as a Recommends for XEN/KVM_tools patterns (BSC#1078908)
- version: 20180302
------------------------------------------------------------------- -------------------------------------------------------------------
Thu Feb 15 08:09:57 UTC 2018 - dimstar@opensuse.org Thu Feb 15 08:09:57 UTC 2018 - dimstar@opensuse.org
- Recommend php7 variants by the lamp pattern (boo#1081072). - Recommend php7 variants by the lamp pattern (boo#1081072).
-------------------------------------------------------------------
Mon Dec 11 12:07:25 UTC 2017 - sflees@suse.de
- fix the order of sourced files to match other patterns saving copy paste errors
-------------------------------------------------------------------
Mon Dec 11 11:25:39 UTC 2017 - sflees@suse.de
- correctly source the files for 32bit patterns
-------------------------------------------------------------------
Fri Dec 8 06:59:55 UTC 2017 - sflees@suse.de
- Version: 20171206
- Add obsoletes across all patterns (bsc#1071761)
-------------------------------------------------------------------
Thu Nov 2 15:29:14 UTC 2017 - aginies@suse.com
- remove duplicate description entry for kvm_tools patterns (BSC#1064239)
- bump version to 20171102
-------------------------------------------------------------------
Mon Oct 16 08:16:17 UTC 2017 - aginies@suse.com
- add a requires on libvirt-client (bsc#1063246)
-------------------------------------------------------------------
Wed Oct 11 14:40:32 UTC 2017 - aginies@suse.com
- add missing source: pattern-definition-32bit.txt
create_32bit-patterns_file.pl pre_checkin.sh
-------------------------------------------------------------------
Wed Oct 11 08:16:23 UTC 2017 - aginies@suse.com
- do not install qemu-kvm by default (legacy), but install the
correct qemu based on arch detection
-------------------------------------------------------------------
Thu Sep 21 04:25:38 UTC 2017 - sflees@suse.de
- Add 32bit support (remove some recommended 32bit packages)
- Changes to the following patterns to reflect what was in SLE
* dhcp_dns_server
* gateway_server
* kvm_server
* lamp_server
* mail_server
* printing
* xen_server
- Add the following patterns from sle
* kvm_tools
* xen_tools
- print_server renammed to printing
------------------------------------------------------------------- -------------------------------------------------------------------
Tue May 23 11:19:08 UTC 2017 - dimstar@opensuse.org Tue May 23 11:19:08 UTC 2017 - dimstar@opensuse.org

View File

@ -19,13 +19,16 @@
%bcond_with betatest %bcond_with betatest
Name: patterns-server Name: patterns-server
Version: 20170319 Version: 20180718
Release: 0 Release: 0
Summary: Patterns for Installation (server patterns) Summary: Patterns for Installation (server patterns)
License: MIT License: MIT
Group: Metapackages Group: Metapackages
Url: https://github.com/openSUSE/patterns Url: https://github.com/openSUSE/patterns
Source0: %{name}-rpmlintrc Source0: %{name}-rpmlintrc
Source1: pattern-definition-32bit.txt
Source2: create_32bit-patterns_file.pl
Source3: pre_checkin.sh
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: patterns-rpm-macros BuildRequires: patterns-rpm-macros
@ -46,17 +49,24 @@ Provides: pattern() = dhcp_dns_server
Provides: pattern-icon() = yast-dns-server Provides: pattern-icon() = yast-dns-server
Provides: pattern-order() = 3040 Provides: pattern-order() = 3040
Provides: pattern-visible() Provides: pattern-visible()
%if 0%{?is_opensuse}
Provides: patterns-openSUSE-dhcp_dns_server = %{version} Provides: patterns-openSUSE-dhcp_dns_server = %{version}
Obsoletes: patterns-openSUSE-dhcp_dns_server < %{version} Obsoletes: patterns-openSUSE-dhcp_dns_server < %{version}
%else
Provides: patterns-sles-dhcp_dns_server = %{version}
Obsoletes: patterns-sles-dhcp_dns_server < %{version}
%endif
Requires: pattern() = basesystem Requires: pattern() = basesystem
Recommends: bind Requires: bind
Requires: dhcp-server
Recommends: bind-chrootenv
Recommends: bind-doc
Recommends: dhcp
Recommends: dhcp-relay Recommends: dhcp-relay
Recommends: dhcp-server
Recommends: dhcp-tools Recommends: dhcp-tools
Recommends: yast2-dhcp-server Recommends: yast2-dhcp-server
Recommends: yast2-dns-server Recommends: yast2-dns-server
Recommends: bind-doc
%description dhcp_dns_server %description dhcp_dns_server
Software to set up a server for the Dynamic Host Configuration Protocol (DHCP) and the Domain Name System (DNS) services. DHCP provides configuration parameters to client computers to integrate them into a network, whereas DNS delivers information associated with domain names, in particular, the IP address. Software to set up a server for the Dynamic Host Configuration Protocol (DHCP) and the Domain Name System (DNS) services. DHCP provides configuration parameters to client computers to integrate them into a network, whereas DNS delivers information associated with domain names, in particular, the IP address.
@ -75,18 +85,20 @@ Provides: pattern() = directory_server
Provides: pattern-icon() = yast-ldap-server Provides: pattern-icon() = yast-ldap-server
Provides: pattern-order() = 3060 Provides: pattern-order() = 3060
Provides: pattern-visible() Provides: pattern-visible()
%if 0%{?is_opensuse}
Provides: patterns-openSUSE-directory_server = %{version} Provides: patterns-openSUSE-directory_server = %{version}
Obsoletes: patterns-openSUSE-directory_server < %{version} Obsoletes: patterns-openSUSE-directory_server < %{version}
%else
Provides: patterns-sles-directory_server = %{version}
Obsoletes: patterns-sles-directory_server < %{version}
%endif
Requires: pattern() = basesystem Requires: pattern() = basesystem
# bsc#1084789
Recommends: 389-ds
Recommends: nss_ldap Recommends: nss_ldap
Recommends: openldap2
Recommends: pam_ldap Recommends: pam_ldap
Recommends: yast2-ldap-server Recommends: yast2-ldap-server
%ifarch x86_64
Recommends: nss_ldap-32bit
Recommends: pam_ldap-32bit
%endif
%description directory_server %description directory_server
Software to set up a directory server with OpenLDAP. The Lightweight Directory Access Protocol (LDAP) is used to access online directory services. Software to set up a directory server with OpenLDAP. The Lightweight Directory Access Protocol (LDAP) is used to access online directory services.
@ -105,22 +117,29 @@ Provides: pattern() = file_server
Provides: pattern-icon() = yast-nfs_server Provides: pattern-icon() = yast-nfs_server
Provides: pattern-order() = 2900 Provides: pattern-order() = 2900
Provides: pattern-visible() Provides: pattern-visible()
%if 0%{?is_opensuse}
Provides: patterns-openSUSE-file_server = %{version} Provides: patterns-openSUSE-file_server = %{version}
Obsoletes: patterns-openSUSE-file_server < %{version} Obsoletes: patterns-openSUSE-file_server < %{version}
%else
Provides: patterns-sles-file_server = %{version}
Obsoletes: patterns-sles-file_server < %{version}
%endif
Requires: pattern() = basesystem Requires: pattern() = basesystem
Requires: nfs-kernel-server
Recommends: nfsidmap Recommends: nfsidmap
Recommends: nfs-kernel-server
Recommends: samba Recommends: samba
Recommends: yast2-nfs-server
Recommends: yast2-samba-server
Recommends: vsftpd
Recommends: samba-client Recommends: samba-client
Recommends: samba-winbind Recommends: samba-winbind
Recommends: tftp Recommends: tftp
Recommends: vsftpd
%if 0%{?is_opensuse}
Recommends: yast2-ftp-server Recommends: yast2-ftp-server
Recommends: yast2-nfs-server
Recommends: yast2-samba-server
Recommends: yast2-tftp-server Recommends: yast2-tftp-server
Suggests: atftp Suggests: atftp
%endif
%description file_server %description file_server
File services to host files so that they may be accessed or retrieved by other computers on the same network. This includes the FTP, SMB, and NFS protocols. File services to host files so that they may be accessed or retrieved by other computers on the same network. This includes the FTP, SMB, and NFS protocols.
@ -139,21 +158,28 @@ Provides: pattern() = gateway_server
Provides: pattern-icon() = yast-dsl Provides: pattern-icon() = yast-dsl
Provides: pattern-order() = 3020 Provides: pattern-order() = 3020
Provides: pattern-visible() Provides: pattern-visible()
%if 0%{?is_opensuse}
Provides: patterns-openSUSE-gateway_server = %{version} Provides: patterns-openSUSE-gateway_server = %{version}
Obsoletes: patterns-openSUSE-gateway_server < %{version} Obsoletes: patterns-openSUSE-gateway_server < %{version}
%else
Provides: patterns-sles-gateway_server = %{version}
Obsoletes: patterns-sles-gateway_server < %{version}
%endif
Requires: pattern() = basesystem Requires: pattern() = basesystem
Recommends: wireshark Requires: wireshark
Recommends: arptables
Recommends: calamaris
Recommends: ddclient Recommends: ddclient
Recommends: fetchmail Recommends: fetchmail
Recommends: fetchmailconf
Recommends: ipsec-tools Recommends: ipsec-tools
Recommends: quagga Recommends: quagga
Recommends: radvd Recommends: radvd
Recommends: rarpd Recommends: rarpd
Recommends: squid3 Recommends: squid
Recommends: squidGuard Recommends: whois
Suggests: wwwoffle Recommends: wondershaper
Suggests: mirror
%description gateway_server %description gateway_server
Software to set up a proxy, firewall, and gateway server, including a virtual private network (VPN) gateway. Software to set up a proxy, firewall, and gateway server, including a virtual private network (VPN) gateway.
@ -172,26 +198,35 @@ Provides: pattern() = kvm_server
Provides: pattern-icon() = yast-uml Provides: pattern-icon() = yast-uml
Provides: pattern-order() = 3099 Provides: pattern-order() = 3099
Provides: pattern-visible() Provides: pattern-visible()
%if 0%{?is_opensuse}
Provides: patterns-openSUSE-kvm_server = %{version} Provides: patterns-openSUSE-kvm_server = %{version}
Obsoletes: patterns-openSUSE-kvm_server < %{version} Obsoletes: patterns-openSUSE-kvm_server < %{version}
%else
Provides: patterns-sles-kvm_server = %{version}
Obsoletes: patterns-sles-kvm_server < %{version}
%endif
Requires: pattern() = basesystem Requires: pattern() = basesystem
Recommends: qemu-kvm # fix issue because qemu-kvm is not present on all arch and
Recommends: vm-install # we would like to deprecate it for the futur (will be only
Recommends: tigervnc # updated if already installed on the system)
Recommends: fontconfig %ifarch %ix86 x86_64
Recommends: fonts-config Requires: qemu-x86
Recommends: xorg-x11-fonts %endif
Recommends: efont-unicode-bitmap-fonts %ifarch ppc ppc64 ppc64le
Recommends: xauth Requires: qemu-ppc
Recommends: bridge-utils %endif
Recommends: tftp %ifarch s390x
Recommends: agfa-fonts Requires: qemu-s390
Recommends: virt-viewer %endif
Recommends: virt-manager %ifarch %arm
Requires: qemu-arm
%endif
Requires: tftp
Recommends: libvirt-daemon-qemu Recommends: libvirt-daemon-qemu
Suggests: libvirt Recommends: tigervnc
Suggests: libvirt-daemon-lxc Recommends: virt-install
Recommends: vm-install
%description kvm_server %description kvm_server
Software to set up a server for configuring, managing, and monitoring virtual machines on a single physical machine. Software to set up a server for configuring, managing, and monitoring virtual machines on a single physical machine.
@ -202,6 +237,51 @@ Software to set up a server for configuring, managing, and monitoring virtual ma
################################################################################ ################################################################################
%package kvm_tools
%pattern_basetechnologies
Summary: KVM Virtualization Host and tools
Group: Metapackages
Provides: pattern() = kvm_tools
Provides: pattern-icon() = yast-uml
Provides: pattern-order() = 1090
Provides: pattern-visible()
%if !0%{?is_opensuse}
Provides: patterns-sles-kvm_tools = %{version}
Obsoletes: patterns-sles-kvm_tools < %{version}
%endif
Requires: pattern() = basesystem
Requires: pattern() = kvm_server
Requires: libvirt-client
Requires: libvirt-daemon-qemu
Requires: libvirt-daemon-config-network
Requires: tigervnc
Requires: vm-install
# bnc#868542
Requires: virt-manager
Recommends: openssh
Recommends: yast2-control-center
Recommends: yast2-ncurses
Recommends: yast2-ncurses-pkg
Recommends: yast2-vm
Recommends: xorg-x11-xauth
Recommends: virt-install
Recommends: virt-viewer
Recommends: virt-v2v
# BSC#1078908
Recommends: vim
%description kvm_tools
This will provide all minimal system to get a running KVM Hypervisor
and be able to configure, manage, and monitor virtual machines on a
single physical machine.
%files kvm_tools
%dir /usr/share/doc/packages/patterns
/usr/share/doc/packages/patterns/kvm_tools.txt
################################################################################
%package lamp_server %package lamp_server
%pattern_serverfunctions %pattern_serverfunctions
Summary: Web and LAMP Server Summary: Web and LAMP Server
@ -210,31 +290,26 @@ Provides: pattern() = lamp_server
Provides: pattern-icon() = yast-http-server Provides: pattern-icon() = yast-http-server
Provides: pattern-order() = 3000 Provides: pattern-order() = 3000
Provides: pattern-visible() Provides: pattern-visible()
%if 0%{?is_opensuse}
Provides: patterns-openSUSE-lamp_server = %{version} Provides: patterns-openSUSE-lamp_server = %{version}
Obsoletes: patterns-openSUSE-lamp_server < %{version} Obsoletes: patterns-openSUSE-lamp_server < %{version}
%else
Provides: patterns-sles-lamp_server = %{version}
Obsoletes: patterns-sles-lamp_server < %{version}
%endif
Requires: pattern() = basesystem Requires: pattern() = basesystem
Recommends: apache2 Requires: apache2
Recommends: yast2-http-server Recommends: yast2-http-server
Recommends: apache2-doc Recommends: apache2-doc
Recommends: apache2-example-pages Recommends: apache2-example-pages
Recommends: apache2-mod_perl
Recommends: apache2-mod_php7 Recommends: apache2-mod_php7
Recommends: apache2-mod_python Recommends: apache2-mod_python
Recommends: apache2-prefork Recommends: apache2-prefork
Recommends: libapr-util1
Recommends: libapr1
Recommends: mariadb Recommends: mariadb
Recommends: php7-ctype Recommends: perl
Recommends: php7-dom
Recommends: php7-iconv
Recommends: php7-mysql
Suggests: php7-gd
Suggests: php7-mbstring
Suggests: php7-zlib
Suggests: php7-zip
# slightly out of place I admit
Suggests: postgresql
Suggests: postgresql-contrib
Suggests: postgresql-server
%description lamp_server %description lamp_server
Software to set up a Web server that is able to serve static, dynamic, and interactive content (like a Web shop). This includes Apache HTTP Server, the database management system MySQL, and scripting languages such as PHP, Python, Ruby on Rails, or Perl. Software to set up a Web server that is able to serve static, dynamic, and interactive content (like a Web shop). This includes Apache HTTP Server, the database management system MySQL, and scripting languages such as PHP, Python, Ruby on Rails, or Perl.
@ -253,27 +328,22 @@ Provides: pattern() = mail_server
Provides: pattern-icon() = yast-mail-server Provides: pattern-icon() = yast-mail-server
Provides: pattern-order() = 2980 Provides: pattern-order() = 2980
Provides: pattern-visible() Provides: pattern-visible()
%if 0%{?is_opensuse}
Provides: patterns-openSUSE-mail_server = %{version} Provides: patterns-openSUSE-mail_server = %{version}
Obsoletes: patterns-openSUSE-mail_server < %{version} Obsoletes: patterns-openSUSE-mail_server < %{version}
%else
Provides: patterns-sles-mail_server = %{version}
Obsoletes: patterns-sles-mail_server < %{version}
%endif
Requires: pattern() = basesystem Requires: pattern() = basesystem
Recommends: cyrus-imapd Requires: vacation
Recommends: amavisd-new Recommends: amavisd-new
Recommends: mailman
Recommends: clamav Recommends: clamav
Recommends: fetchmail Recommends: cyrus-imapd
Recommends: postfix
Recommends: procmail
Recommends: spamassassin
Recommends: inn Recommends: inn
Recommends: vacation Recommends: mailman
Suggests: dovecot12 Recommends: spamassassin
Suggests: mlmmj
Suggests: sendmail
Suggests: bogofilter-db
# this duplicates the recommend, but works around a problem with the solver
# as everything is weak required, it needs one more hint for postfix
Suggests: postfix
%description mail_server %description mail_server
Software to set up electronic mail and message services to handle email, mailing, and news lists, including a virus scanner to scan messages at the server level. Software to set up electronic mail and message services to handle email, mailing, and news lists, including a virus scanner to scan messages at the server level.
@ -284,7 +354,7 @@ Software to set up electronic mail and message services to handle email, mailing
################################################################################ ################################################################################
%package print_server %package printing
%pattern_serverfunctions %pattern_serverfunctions
Summary: Print Server Summary: Print Server
Group: Metapackages Group: Metapackages
@ -292,35 +362,44 @@ Provides: pattern() = print_server
Provides: pattern-icon() = yast-printer Provides: pattern-icon() = yast-printer
Provides: pattern-order() = 2960 Provides: pattern-order() = 2960
Provides: pattern-visible() Provides: pattern-visible()
%if 0%{?is_opensuse}
Provides: patterns-openSUSE-print_server = %{version} Provides: patterns-openSUSE-print_server = %{version}
Obsoletes: patterns-openSUSE-print_server < %{version} Obsoletes: patterns-openSUSE-print_server < %{version}
%else
Provides: patterns-sles-printing = %{version}
Obsoletes: patterns-sles-printing < %{version}
%endif
Requires: pattern() = basesystem Requires: pattern() = basesystem
Recommends: cups Requires: cups
Recommends: cups-backends Recommends: cups-backends
Recommends: cups-filters-foomatic-rip Recommends: cups-filters
Recommends: OpenPrintingPPDs Recommends: cups-filters-cups-browsed
Recommends: m2300w Recommends: cups-filters-foomatic-rip
Recommends: splix Recommends: cups-filters-ghostscript
Recommends: epson-inkjet-printer-escpr
Recommends: gutenprint Recommends: gutenprint
Recommends: hplip Recommends: hplip-hpijs
Recommends: manufacturer-PPDs Recommends: manufacturer-PPDs
Recommends: OpenPrintingPPDs-ghostscript
Recommends: OpenPrintingPPDs-hpijs
Recommends: OpenPrintingPPDs-postscript
Recommends: samba Recommends: samba
Suggests: udev-configure-printer Recommends: splix
Suggests: poster
# print to bluetooth
Suggests: bluez-cups
Suggests: pbm2l7k
%description print_server %description printing
Software used to host print queues so that they may be accessed by other computers on the same network. LPD, CUPS, and SMB print servers and queues are supported. This pattern provides all packages necessary for printing. It provides all
needed packages for printing to a locally connected printer, printing using a
remote print server and for setting up a print server.
%files print_server %files printing
%dir /usr/share/doc/packages/patterns %dir /usr/share/doc/packages/patterns
/usr/share/doc/packages/patterns/print_server.txt /usr/share/doc/packages/patterns/printing.txt
################################################################################ ################################################################################
# BSC#1088175
%ifarch x86_64
%package xen_server %package xen_server
%pattern_serverfunctions %pattern_serverfunctions
Summary: Xen Virtual Machine Host Server Summary: Xen Virtual Machine Host Server
@ -329,25 +408,25 @@ Provides: pattern() = xen_server
Provides: pattern-icon() = yast-uml Provides: pattern-icon() = yast-uml
Provides: pattern-order() = 3080 Provides: pattern-order() = 3080
Provides: pattern-visible() Provides: pattern-visible()
%if 0%{?is_opensuse}
Provides: patterns-openSUSE-xen_server = %{version} Provides: patterns-openSUSE-xen_server = %{version}
Obsoletes: patterns-openSUSE-xen_server < %{version} Obsoletes: patterns-openSUSE-xen_server < %{version}
%else
Provides: patterns-sles-xen_server = %{version}
Obsoletes: patterns-sles-xen_server < %{version}
%endif
Requires: pattern() = basesystem Requires: pattern() = basesystem
Recommends: bridge-utils Requires: kernel-xen
Recommends: vm-install Requires: tftp
Recommends: xen Requires: xen
Recommends: xen-libs Requires: xen-libs
Recommends: xen-tools Requires: xen-tools
Recommends: virt-manager
Recommends: xen-doc-html
Recommends: xterm
Recommends: yast2-vm
Recommends: virt-viewer
Recommends: libvirt-daemon-xen Recommends: libvirt-daemon-xen
# #382423 # #382423
Suggests: install-initrd Recommends: virt-install
Suggests: libvirt Recommends: vm-install
Suggests: libvirt-daemon-lxc Recommends: tigervnc
%description xen_server %description xen_server
Software to set up a server for configuring, managing, and monitoring virtual machines on a single physical machine. Software to set up a server for configuring, managing, and monitoring virtual machines on a single physical machine.
@ -355,6 +434,55 @@ Software to set up a server for configuring, managing, and monitoring virtual ma
%files xen_server %files xen_server
%dir /usr/share/doc/packages/patterns %dir /usr/share/doc/packages/patterns
/usr/share/doc/packages/patterns/xen_server.txt /usr/share/doc/packages/patterns/xen_server.txt
%endif
################################################################################
# BSC#1088175
%ifarch x86_64
%package xen_tools
%pattern_basetechnologies
Summary: XEN Virtualization Host and tools
Group: Metapackages
Provides: pattern() = xen_tools
Provides: pattern-icon() = yast-uml
Provides: pattern-order() = 1080
Provides: pattern-visible()
%if !0%{?is_opensuse}
Provides: patterns-sles-xen_tools = %{version}
Obsoletes: patterns-sles-xen_tools < %{version}
%endif
Requires: pattern() = basesystem
Requires: pattern() = xen_server
Requires: libvirt-client
Requires: libvirt-daemon-xen
Requires: libvirt-daemon-config-network
Requires: tigervnc
Requires: vm-install
# bnc#868542
Requires: virt-manager
Recommends: openssh
#Recommends: sles-xen_en-pdf
Recommends: xen-doc-html
Recommends: yast2-control-center
Recommends: yast2-ncurses
Recommends: yast2-ncurses-pkg
Recommends: yast2-vm
Recommends: xorg-x11-xauth
Recommends: virt-install
Recommends: virt-viewer
# BSC#1078908
Recommends: vim
%description xen_tools
This will provide all minimal system to get a running XEN Hypervisor
and be able to configure, manage, and monitor virtual machines on a
single physical machine.
%files xen_tools
%dir /usr/share/doc/packages/patterns
/usr/share/doc/packages/patterns/xen_tools.txt
%endif
################################################################################ ################################################################################
@ -365,9 +493,30 @@ Software to set up a server for configuring, managing, and monitoring virtual ma
%install %install
mkdir -p "%{buildroot}/usr/share/doc/packages/patterns" mkdir -p "%{buildroot}/usr/share/doc/packages/patterns"
for i in dhcp_dns_server directory_server file_server gateway_server \ for i in dhcp_dns_server directory_server file_server gateway_server \
kvm_server lamp_server mail_server print_server xen_server; do lamp_server mail_server printing
do
echo "This file marks the pattern $i to be installed." \ echo "This file marks the pattern $i to be installed." \
>"%{buildroot}/usr/share/doc/packages/patterns/$i.txt" >"%{buildroot}/usr/share/doc/packages/patterns/$i.txt"
echo "This file marks the pattern $i-32bit to be installed." \
>"%{buildroot}/usr/share/doc/packages/patterns/$i-32bit.txt"
done done
# NO 32bits pattern for KVM or XEN
for i in kvm_tools kvm_server
do
echo "This file marks the pattern $i to be installed." \
> "%{buildroot}/usr/share/doc/packages/patterns/$i.txt"
done
# XEN is only available on x86_64
%ifarch x86_64
for i in xen_server xen_tools; do
echo "This file marks the pattern $i to be installed." \
>"%{buildroot}/usr/share/doc/packages/patterns/$i.txt"
done
%endif
#
# This file is created at check-in time. Sorry for the inconsistent workflow :(
#
%include %{SOURCE1}
%changelog %changelog

3
pre_checkin.sh Normal file
View File

@ -0,0 +1,3 @@
#!/bin/sh
./create_32bit-patterns_file.pl -p server -s kvm_server -s kvm_tools -s xen_server -s xen_tools > pattern-definition-32bit.txt