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
- 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

View File

@ -19,13 +19,16 @@
%bcond_with betatest
Name: patterns-server
Version: 20170319
Version: 20180718
Release: 0
Summary: Patterns for Installation (server patterns)
License: MIT
Group: Metapackages
Url: https://github.com/openSUSE/patterns
Source0: %{name}-rpmlintrc
Source1: pattern-definition-32bit.txt
Source2: create_32bit-patterns_file.pl
Source3: pre_checkin.sh
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: patterns-rpm-macros
@ -46,17 +49,24 @@ Provides: pattern() = dhcp_dns_server
Provides: pattern-icon() = yast-dns-server
Provides: pattern-order() = 3040
Provides: pattern-visible()
%if 0%{?is_opensuse}
Provides: 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
Recommends: bind
Requires: bind
Requires: dhcp-server
Recommends: bind-chrootenv
Recommends: bind-doc
Recommends: dhcp
Recommends: dhcp-relay
Recommends: dhcp-server
Recommends: dhcp-tools
Recommends: yast2-dhcp-server
Recommends: yast2-dns-server
Recommends: bind-doc
%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.
@ -75,18 +85,20 @@ Provides: pattern() = directory_server
Provides: pattern-icon() = yast-ldap-server
Provides: pattern-order() = 3060
Provides: pattern-visible()
%if 0%{?is_opensuse}
Provides: 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
# bsc#1084789
Recommends: 389-ds
Recommends: nss_ldap
Recommends: openldap2
Recommends: pam_ldap
Recommends: yast2-ldap-server
%ifarch x86_64
Recommends: nss_ldap-32bit
Recommends: pam_ldap-32bit
%endif
%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.
@ -105,22 +117,29 @@ Provides: pattern() = file_server
Provides: pattern-icon() = yast-nfs_server
Provides: pattern-order() = 2900
Provides: pattern-visible()
%if 0%{?is_opensuse}
Provides: 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: nfs-kernel-server
Recommends: nfsidmap
Recommends: nfs-kernel-server
Recommends: samba
Recommends: yast2-nfs-server
Recommends: yast2-samba-server
Recommends: vsftpd
Recommends: samba-client
Recommends: samba-winbind
Recommends: tftp
Recommends: vsftpd
%if 0%{?is_opensuse}
Recommends: yast2-ftp-server
Recommends: yast2-nfs-server
Recommends: yast2-samba-server
Recommends: yast2-tftp-server
Suggests: atftp
%endif
%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.
@ -139,21 +158,28 @@ Provides: pattern() = gateway_server
Provides: pattern-icon() = yast-dsl
Provides: pattern-order() = 3020
Provides: pattern-visible()
%if 0%{?is_opensuse}
Provides: 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
Recommends: wireshark
Requires: wireshark
Recommends: arptables
Recommends: calamaris
Recommends: ddclient
Recommends: fetchmail
Recommends: fetchmailconf
Recommends: ipsec-tools
Recommends: quagga
Recommends: radvd
Recommends: rarpd
Recommends: squid3
Recommends: squidGuard
Suggests: wwwoffle
Suggests: mirror
Recommends: squid
Recommends: whois
Recommends: wondershaper
%description gateway_server
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-order() = 3099
Provides: pattern-visible()
%if 0%{?is_opensuse}
Provides: 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
Recommends: qemu-kvm
Recommends: vm-install
Recommends: tigervnc
Recommends: fontconfig
Recommends: fonts-config
Recommends: xorg-x11-fonts
Recommends: efont-unicode-bitmap-fonts
Recommends: xauth
Recommends: bridge-utils
Recommends: tftp
Recommends: agfa-fonts
Recommends: virt-viewer
Recommends: virt-manager
# fix issue because qemu-kvm is not present on all arch and
# we would like to deprecate it for the futur (will be only
# updated if already installed on the system)
%ifarch %ix86 x86_64
Requires: qemu-x86
%endif
%ifarch ppc ppc64 ppc64le
Requires: qemu-ppc
%endif
%ifarch s390x
Requires: qemu-s390
%endif
%ifarch %arm
Requires: qemu-arm
%endif
Requires: tftp
Recommends: libvirt-daemon-qemu
Suggests: libvirt
Suggests: libvirt-daemon-lxc
Recommends: tigervnc
Recommends: virt-install
Recommends: vm-install
%description kvm_server
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
%pattern_serverfunctions
Summary: Web and LAMP Server
@ -210,31 +290,26 @@ Provides: pattern() = lamp_server
Provides: pattern-icon() = yast-http-server
Provides: pattern-order() = 3000
Provides: pattern-visible()
%if 0%{?is_opensuse}
Provides: 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
Recommends: apache2
Requires: apache2
Recommends: yast2-http-server
Recommends: apache2-doc
Recommends: apache2-example-pages
Recommends: apache2-mod_perl
Recommends: apache2-mod_php7
Recommends: apache2-mod_python
Recommends: apache2-prefork
Recommends: libapr-util1
Recommends: libapr1
Recommends: mariadb
Recommends: php7-ctype
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
Recommends: perl
%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.
@ -253,27 +328,22 @@ Provides: pattern() = mail_server
Provides: pattern-icon() = yast-mail-server
Provides: pattern-order() = 2980
Provides: pattern-visible()
%if 0%{?is_opensuse}
Provides: 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
Recommends: cyrus-imapd
Requires: vacation
Recommends: amavisd-new
Recommends: mailman
Recommends: clamav
Recommends: fetchmail
Recommends: postfix
Recommends: procmail
Recommends: spamassassin
Recommends: cyrus-imapd
Recommends: inn
Recommends: vacation
Suggests: dovecot12
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
Recommends: mailman
Recommends: spamassassin
%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.
@ -284,7 +354,7 @@ Software to set up electronic mail and message services to handle email, mailing
################################################################################
%package print_server
%package printing
%pattern_serverfunctions
Summary: Print Server
Group: Metapackages
@ -292,35 +362,44 @@ Provides: pattern() = print_server
Provides: pattern-icon() = yast-printer
Provides: pattern-order() = 2960
Provides: pattern-visible()
%if 0%{?is_opensuse}
Provides: 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
Recommends: cups
Requires: cups
Recommends: cups-backends
Recommends: cups-filters
Recommends: cups-filters-cups-browsed
Recommends: cups-filters-foomatic-rip
Recommends: OpenPrintingPPDs
Recommends: m2300w
Recommends: splix
Recommends: cups-filters-ghostscript
Recommends: epson-inkjet-printer-escpr
Recommends: gutenprint
Recommends: hplip
Recommends: hplip-hpijs
Recommends: manufacturer-PPDs
Recommends: OpenPrintingPPDs-ghostscript
Recommends: OpenPrintingPPDs-hpijs
Recommends: OpenPrintingPPDs-postscript
Recommends: samba
Suggests: udev-configure-printer
Suggests: poster
# print to bluetooth
Suggests: bluez-cups
Suggests: pbm2l7k
Recommends: splix
%description print_server
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.
%description printing
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
/usr/share/doc/packages/patterns/print_server.txt
/usr/share/doc/packages/patterns/printing.txt
################################################################################
# BSC#1088175
%ifarch x86_64
%package xen_server
%pattern_serverfunctions
Summary: Xen Virtual Machine Host Server
@ -329,25 +408,25 @@ Provides: pattern() = xen_server
Provides: pattern-icon() = yast-uml
Provides: pattern-order() = 3080
Provides: pattern-visible()
%if 0%{?is_opensuse}
Provides: 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
Recommends: bridge-utils
Recommends: vm-install
Recommends: xen
Recommends: xen-libs
Recommends: xen-tools
Recommends: virt-manager
Recommends: xen-doc-html
Recommends: xterm
Recommends: yast2-vm
Recommends: virt-viewer
Requires: kernel-xen
Requires: tftp
Requires: xen
Requires: xen-libs
Requires: xen-tools
Recommends: libvirt-daemon-xen
# #382423
Suggests: install-initrd
Suggests: libvirt
Suggests: libvirt-daemon-lxc
Recommends: virt-install
Recommends: vm-install
Recommends: tigervnc
%description xen_server
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
%dir /usr/share/doc/packages/patterns
/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
mkdir -p "%{buildroot}/usr/share/doc/packages/patterns"
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." \
>"%{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
# 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

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